{"packageName":"@cedros/trade-react","packageRoot":"workspace/react","entryPath":"workspace/react/dist/web/register.js","surfaceEntryPaths":{"web":"workspace/react/dist/web/register.js"},"surfaceFilePaths":{"web":["workspace/react/dist/cedros-extension.manifest-Dqn5Guvt.js","workspace/react/dist/lightweight-charts.production-YBpnU30V.js","workspace/react/dist/portfolio-CSi-hzZM.js","workspace/react/dist/runtimeStyles-B9yeV1b6.js","workspace/react/dist/style.css","workspace/react/dist/Tabs-C-5A_i9z.js","workspace/react/dist/web/register.js"]},"files":[{"path":"workspace/react/dist/cedros-extension.manifest-Dqn5Guvt.js","kind":"module","text":"var e = {\n\tschemaVersion: 1,\n\textensionId: \"cedros-trade\",\n\tdisplayName: \"Cedros Trade\",\n\tversion: \"3.1.9\",\n\tdescription: \"Solana quote previews and owner-enabled Jupiter swaps with visitor-approved external wallets.\",\n\tplatformApiVersion: \"1\",\n\tcompatibility: {\n\t\tplatformApiVersion: \"1\",\n\t\twitChecksum: \"2bb16879743cfd2748b7deefefcb82204c16b55a1c1a70385f4e9707a83d48f9\"\n\t},\n\tpackageFamily: {\n\t\tserver: {\n\t\t\tpackageName: \"cedros-trade-extension\",\n\t\t\tversion: \"3.1.9\",\n\t\t\trequired: !0\n\t\t},\n\t\treact: {\n\t\t\tpackageName: \"@cedros/trade-react\",\n\t\t\tversion: \"3.1.9\",\n\t\t\trequired: !0\n\t\t},\n\t\treactNative: {\n\t\t\tpackageName: \"@cedros/trade-react-native\",\n\t\t\tversion: \"3.1.9\",\n\t\t\trequired: !0\n\t\t}\n\t},\n\tdependencies: {\n\t\tservices: [],\n\t\tcapabilities: [\n\t\t\t{\n\t\t\t\tcapabilityId: \"cedros-login:user-context\",\n\t\t\t\trequired: !1,\n\t\t\t\treason: \"Optional authenticated visitor context for preserved wallet-dependent compatibility surfaces; the public quote preview is anonymous and verified wallet ownership remains fail-closed without a separate published contract.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tcapabilityId: \"cedros-login:admin-auth\",\n\t\t\t\trequired: !0,\n\t\t\t\treason: \"Required to enforce admin/operator authorization for Cedros Trade admin surfaces and API routes.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tcapabilityId: \"cedros-data:extension-storage-cas-v1\",\n\t\t\t\trequired: !0,\n\t\t\t\treason: \"Required by the published compare-and-set import used to purge resolved pending-action records safely under concurrent updates.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tcapabilityId: \"cedros-wallet:account-read-transaction-sign\",\n\t\t\t\trequired: !1,\n\t\t\t\treason: \"Optional published Cedros Wallet Tokenization contract for its documented transfer approval and Wallet-owned submission path; it does not provide a general swap or order signing contract.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tcapabilityId: \"cedros-notifications:route-write\",\n\t\t\t\trequired: !1,\n\t\t\t\treason: \"Optional published Cedros Notifications binding that materializes Cedros Trade team notification routes for declared server events.\"\n\t\t\t}\n\t\t],\n\t\textensions: [\n\t\t\t{\n\t\t\t\textensionId: \"cedros-login\",\n\t\t\t\tminVersion: \"0.0.55\",\n\t\t\t\trequired: !0,\n\t\t\t\treason: \"Provides admin auth required for operator surfaces and optional user context for preserved authenticated compatibility surfaces.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\textensionId: \"cedros-wallet\",\n\t\t\t\tminVersion: \"0.0.2\",\n\t\t\t\trequired: !1,\n\t\t\t\treason: \"Optionally supports the documented Tokenization transfer contract. General swap and order signing remain host-coordinated until Cedros publishes a compatible public integration.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\textensionId: \"cedros-notifications\",\n\t\t\t\tminVersion: \"0.1.9\",\n\t\t\t\trequired: !1,\n\t\t\t\treason: \"Optional first-party notification route/template provisioning for Cedros Trade server events.\"\n\t\t\t}\n\t\t]\n\t},\n\trequiredServices: [],\n\trequiredCapabilities: [\"cedros-login:admin-auth\", \"cedros-data:extension-storage-cas-v1\"],\n\tsurfaces: {\n\t\tserver: {\n\t\t\tpackageRef: \"server\",\n\t\t\trequired: !0,\n\t\t\troutes: [\n\t\t\t\t\"cedros-trade:health\",\n\t\t\t\t\"cedros-trade:tokens\",\n\t\t\t\t\"cedros-trade:prices\",\n\t\t\t\t\"cedros-trade:swap\",\n\t\t\t\t\"cedros-trade:transfers\",\n\t\t\t\t\"cedros-trade:orders\",\n\t\t\t\t\"cedros-trade:actions\",\n\t\t\t\t\"cedros-trade:positions\",\n\t\t\t\t\"cedros-trade:orderbook\",\n\t\t\t\t\"cedros-trade:admin-api\",\n\t\t\t\t\"cedros-trade:metrics\",\n\t\t\t\t\"cedros-trade:ai-discovery\"\n\t\t\t],\n\t\t\tjobs: [\"cedros-trade:price-monitor\"],\n\t\t\tevents: [\n\t\t\t\t\"cedros-trade:quote-previewed\",\n\t\t\t\t\"cedros-trade:swap-built\",\n\t\t\t\t\"cedros-trade:swap-build-failed\",\n\t\t\t\t\"cedros-trade:swap-execution-recorded\",\n\t\t\t\t\"cedros-trade:trade-workflow-blocked\",\n\t\t\t\t\"cedros-trade:admin-action-completed\",\n\t\t\t\t\"cedros-trade:monitor-run-recorded\"\n\t\t\t],\n\t\t\tmigrations: [\"cedros-trade:trade-runtime-v1\"],\n\t\t\tsettingsSchemas: [\"cedros-trade:runtime-settings\"],\n\t\t\tcontentModels: [\n\t\t\t\t\"cedros-trade:monitored-orders\",\n\t\t\t\t\"cedros-trade:execution-records\",\n\t\t\t\t\"cedros-trade:pending-actions\"\n\t\t\t]\n\t\t},\n\t\tadmin: {\n\t\t\tpackageRef: \"react\",\n\t\t\trequired: !0,\n\t\t\tmoduleIds: [\"cedros-trade:admin\"],\n\t\t\tslotIds: [],\n\t\t\teditorSurfaceIds: []\n\t\t},\n\t\tweb: {\n\t\t\tpackageRef: \"react\",\n\t\t\trequired: !0,\n\t\t\trouteIds: [\n\t\t\t\t\"cedros-trade:quote-page\",\n\t\t\t\t\"cedros-trade:swap-page\",\n\t\t\t\t\"cedros-trade:transfer-page\",\n\t\t\t\t\"cedros-trade:trading-page\",\n\t\t\t\t\"cedros-trade:portfolio-page\"\n\t\t\t],\n\t\t\tblockTypes: [\"cedros-trade:trade-surface\"],\n\t\t\ttemplateIds: [\n\t\t\t\t\"cedros-trade:quote-template\",\n\t\t\t\t\"cedros-trade:swap-template\",\n\t\t\t\t\"cedros-trade:transfer-template\",\n\t\t\t\t\"cedros-trade:trading-template\",\n\t\t\t\t\"cedros-trade:portfolio-template\"\n\t\t\t],\n\t\t\tauthoredSurfaceIds: [\"cedros-trade:trade-pages\"],\n\t\t\ttemplateUtilityIds: [\"cedros-trade:trade-page-set\"]\n\t\t},\n\t\tnative: {\n\t\t\tpackageRef: \"reactNative\",\n\t\t\trequired: !0,\n\t\t\tscreenIds: [],\n\t\t\tstackIds: [],\n\t\t\tproviderIds: []\n\t\t},\n\t\tai: {\n\t\t\tpackageRef: \"server\",\n\t\t\tskills: [\n\t\t\t\t{\n\t\t\t\t\tid: \"cedros-trade:swap-skill\",\n\t\t\t\t\tname: \"Swap\",\n\t\t\t\t\tdescription: \"Discover swap quote, build, and execute routes for Solana token swaps.\",\n\t\t\t\t\tcategory: \"trading\",\n\t\t\t\t\ttags: [\"swap\", \"solana\"],\n\t\t\t\t\tvisibility: \"authenticated\",\n\t\t\t\t\tdocs: { markdown: \"Skill-only discovery for public swap quote workflows. The current Cedros public block runtime does not supply verified wallet ownership or general signing. Build and execute operations remain fail-closed until Cedros publishes compatible contracts; this is not an executable AI capability.\" }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"cedros-trade:transfers-skill\",\n\t\t\t\t\tname: \"Transfers\",\n\t\t\t\t\tdescription: \"Discover transfer resolve, build, and execute routes for SOL and SPL transfers.\",\n\t\t\t\t\tcategory: \"trading\",\n\t\t\t\t\ttags: [\"transfer\", \"solana\"],\n\t\t\t\t\tvisibility: \"authenticated\",\n\t\t\t\t\tdocs: { markdown: \"Skill-only discovery for SOL and SPL transfer routes. Wallet-scoped build and execute operations remain fail-closed until Cedros publishes verified wallet-owner context and a general signing contract or documented public Wallet wrapper. Do not include raw recipients, signatures, or transactions in AI logs or site-brain records.\" }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"cedros-trade:orders-skill\",\n\t\t\t\t\tname: \"Orders\",\n\t\t\t\t\tdescription: \"Discover smart order routes for limit, stop-loss, take-profit, DCA, OCO, bracket, and trailing-stop workflows.\",\n\t\t\t\t\tcategory: \"trading\",\n\t\t\t\t\ttags: [\"orders\", \"automation\"],\n\t\t\t\t\tvisibility: \"authenticated\",\n\t\t\t\t\tdocs: { markdown: \"Skill-only discovery for limit, stop-loss, take-profit, DCA, OCO, bracket, and trailing-stop workflows. Smart order actions require verified wallet-owner context, a general signing contract, database/provider bindings, explicit approval, idempotency, and redacted logs. This is not an executable AI capability.\" }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"cedros-trade:positions-skill\",\n\t\t\t\t\tname: \"Positions\",\n\t\t\t\t\tdescription: \"Discover portfolio, P&L, and trade history routes.\",\n\t\t\t\t\tcategory: \"portfolio\",\n\t\t\t\t\ttags: [\"portfolio\", \"history\"],\n\t\t\t\t\tvisibility: \"authenticated\",\n\t\t\t\t\tdocs: { markdown: \"Skill-only discovery for portfolio balances, P&L, and trade history. Wallet-scoped reads remain fail-closed until Cedros publishes verified wallet-owner request context. P&L and history also require an approved host indexer binding.\" }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"cedros-trade:orderbook-skill\",\n\t\t\t\t\tname: \"Orderbook\",\n\t\t\t\t\tdescription: \"Discover Manifest orderbook routes and WebSocket metadata.\",\n\t\t\t\t\tcategory: \"trading\",\n\t\t\t\t\ttags: [\"orderbook\", \"manifest\"],\n\t\t\t\t\tvisibility: \"authenticated\",\n\t\t\t\t\tdocs: { markdown: \"Skill-only discovery for Manifest orderbook reads, streams, and order transaction builds. Behavior remains disabled until the host provides approved Manifest market configuration, verified wallet-owner context, a general signing contract, and required route/provider bindings.\" }\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"cedros-trade:admin-skill\",\n\t\t\t\t\tname: \"Admin\",\n\t\t\t\t\tdescription: \"Discover admin operations for providers, tokens, settings, monitor controls, and readiness.\",\n\t\t\t\t\tcategory: \"admin\",\n\t\t\t\t\ttags: [\"admin\", \"operators\"],\n\t\t\t\t\tvisibility: \"admin\",\n\t\t\t\t\tdocs: { markdown: \"Skill-only discovery for provider, token registry, runtime settings, monitor readiness, and launch-readiness operations. Admin behavior requires Cedros admin auth, `manage_extensions` or narrower published permissions, host settings and secret storage, and server-side enforcement. Hiding UI sections is not authorization, and admin mutations should emit redacted site-brain records through the Wasm telemetry seam.\" }\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t},\n\tregistration: {\n\t\tserver: { entrypoint: \"cedros_trade_extension::register_extension_family\" },\n\t\tadmin: { entrypoint: \"@cedros/trade-react/admin/register\" },\n\t\tweb: { entrypoint: \"@cedros/trade-react/web/register\" },\n\t\tnative: { entrypoint: \"@cedros/trade-react-native/register\" }\n\t},\n\tadminModules: [{\n\t\tmoduleId: \"cedros-trade:admin\",\n\t\textensionId: \"cedros-trade\",\n\t\tdisplayName: \"Cedros Trade\",\n\t\tversion: \"3.1.9\",\n\t\tpackageName: \"@cedros/trade-react\",\n\t\tpackageSubpath: \"./admin/register\",\n\t\trequiredServices: [],\n\t\trequiredCapabilities: [\"cedros-login:admin-auth\"],\n\t\tsectionIds: [\"cedros-trade:overview\", \"cedros-trade:settings\"],\n\t\tslots: [],\n\t\tcontributions: { dashboardCards: [{\n\t\t\tid: \"cedros-trade:status-card\",\n\t\t\tdisplayName: \"Quote preview\",\n\t\t\tdescription: \"Shows whether the visitor quote journey is ready to publish.\",\n\t\t\torder: 20,\n\t\t\trequiredPermission: \"manage_extensions\"\n\t\t}] },\n\t\tsectionIcons: {\n\t\t\t\"cedros-trade:overview\": \"analytics\",\n\t\t\t\"cedros-trade:settings\": \"extensions\"\n\t\t},\n\t\tnavigation: { sections: [{\n\t\t\tid: \"cedros-trade:overview\",\n\t\t\tlabel: \"Overview\",\n\t\t\tgroup: \"Tools\",\n\t\t\torder: 0,\n\t\t\tlabelKey: \"admin.nav.overview\",\n\t\t\tgroupKey: \"admin.group.tools\",\n\t\t\trequiredPermission: \"manage_extensions\"\n\t\t}, {\n\t\t\tid: \"cedros-trade:settings\",\n\t\t\tlabel: \"Trade settings\",\n\t\t\tgroup: \"Extension Settings\",\n\t\t\torder: 0,\n\t\t\tlabelKey: \"admin.nav.settings\",\n\t\t\tgroupKey: \"admin.group.extensionSettings\",\n\t\t\trequiredPermission: \"manage_extensions\",\n\t\t\treplacesSectionIds: [\n\t\t\t\t\"cedros-trade:providers\",\n\t\t\t\t\"cedros-trade:tokens\",\n\t\t\t\t\"cedros-trade:monitor\"\n\t\t\t]\n\t\t}] }\n\t}],\n\tpageSeeds: [\n\t\t{\n\t\t\tid: \"cedros-trade:quote-page\",\n\t\t\tdisplayName: \"Solana Quote Preview\",\n\t\t\ttitle: \"Conversion estimate\",\n\t\t\troutePath: \"/trade/quote\",\n\t\t\tdescription: \"Extension-owned public page that compares approved Solana providers and explains the best current conversion estimate without moving funds.\",\n\t\t\tslug: \"trade-quote\",\n\t\t\tautoCreateOnEnable: !0,\n\t\t\tpublishOnEnable: !1,\n\t\t\ttemplateId: \"cedros-trade:quote-template\",\n\t\t\tseo: {\n\t\t\t\ttitle: \"Solana Conversion Quote\",\n\t\t\t\tdescription: \"Compare owner-approved Solana providers and understand the best current conversion estimate, price impact, protection, and freshness.\",\n\t\t\t\tnoindex: !1,\n\t\t\t\tcanonicalPath: \"/trade/quote\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:swap-page\",\n\t\t\tdisplayName: \"Solana Quote Preview\",\n\t\t\ttitle: \"Quote preview\",\n\t\t\troutePath: \"/trade/swap\",\n\t\t\tdescription: \"Extension-owned public page that compares approved Solana providers and explains the best current conversion estimate without moving funds.\",\n\t\t\tslug: \"trade-swap\",\n\t\t\tautoCreateOnEnable: !1,\n\t\t\tpublishOnEnable: !1,\n\t\t\ttemplateId: \"cedros-trade:swap-template\",\n\t\t\tseo: {\n\t\t\t\ttitle: \"Solana Conversion Quote\",\n\t\t\t\tdescription: \"Compare owner-approved Solana providers and understand the best current conversion estimate, price impact, protection, and freshness.\",\n\t\t\t\tnoindex: !1,\n\t\t\t\tcanonicalPath: \"/trade/swap\"\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:transfer-page\",\n\t\t\tdisplayName: \"Transfer Setup (Requires Host)\",\n\t\t\ttitle: \"Transfer\",\n\t\t\troutePath: \"/trade/transfer\",\n\t\t\tdescription: \"Compatibility page retained for existing authored content; it stays unavailable until Cedros supplies verified wallet identity and signing.\",\n\t\t\tslug: \"trade-transfer\",\n\t\t\tautoCreateOnEnable: !1,\n\t\t\tpublishOnEnable: !1,\n\t\t\ttemplateId: \"cedros-trade:transfer-template\",\n\t\t\tseo: {\n\t\t\t\ttitle: \"Trade Transfer\",\n\t\t\t\tdescription: \"Prepare wallet-scoped SOL or SPL token transfers with explicit signing review.\",\n\t\t\t\tnoindex: !0\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:trading-page\",\n\t\t\tdisplayName: \"Trading Setup (Requires Host)\",\n\t\t\ttitle: \"Trading\",\n\t\t\troutePath: \"/trade\",\n\t\t\tdescription: \"Compatibility page retained for existing authored content; order actions stay unavailable without verified wallet identity and signing.\",\n\t\t\tslug: \"trade\",\n\t\t\tautoCreateOnEnable: !1,\n\t\t\tpublishOnEnable: !1,\n\t\t\ttemplateId: \"cedros-trade:trading-template\",\n\t\t\tseo: {\n\t\t\t\ttitle: \"Trading Workspace\",\n\t\t\t\tdescription: \"Review charts, order tickets, positions, and orderbooks for an authenticated wallet.\",\n\t\t\t\tnoindex: !0\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:portfolio-page\",\n\t\t\tdisplayName: \"Portfolio Setup (Requires Host)\",\n\t\t\ttitle: \"Portfolio\",\n\t\t\troutePath: \"/trade/portfolio\",\n\t\t\tdescription: \"Compatibility page retained for existing authored content; wallet-scoped data stays unavailable without verified wallet identity.\",\n\t\t\tslug: \"trade-portfolio\",\n\t\t\tautoCreateOnEnable: !1,\n\t\t\tpublishOnEnable: !1,\n\t\t\ttemplateId: \"cedros-trade:portfolio-template\",\n\t\t\tseo: {\n\t\t\t\ttitle: \"Trade Portfolio\",\n\t\t\t\tdescription: \"Review wallet-scoped balances, positions, P&L, and trade history.\",\n\t\t\t\tnoindex: !0\n\t\t\t}\n\t\t}\n\t],\n\tproviderAccess: [{\n\t\tid: \"cedros-trade:blockchain-config\",\n\t\tprovider: \"blockchain\",\n\t\tdisplayName: \"Blockchain configuration\",\n\t\tdescription: \"Reads site-owned Solana wallet and RPC readiness through the Cedros blockchain provider before RPC-backed trade routes run.\",\n\t\tscopes: [\"blockchain.config.read\"],\n\t\ttags: [\n\t\t\t\"trading\",\n\t\t\t\"solana\",\n\t\t\t\"readiness\"\n\t\t]\n\t}],\n\tdatabaseAccess: [{\n\t\tid: \"cedros-trade:trade-db\",\n\t\tdisplayName: \"Cedros Trade Data\",\n\t\tdescription: \"Host-mediated storage for monitored orders, execution records, and pending wallet actions.\",\n\t\tcontentModels: [\n\t\t\t\"cedros-trade:monitored-orders\",\n\t\t\t\"cedros-trade:execution-records\",\n\t\t\t\"cedros-trade:pending-actions\"\n\t\t],\n\t\tmigrations: [\"cedros-trade:trade-runtime-v1\"],\n\t\ttags: [\"trading\", \"orders\"],\n\t\tscopes: [\n\t\t\t{\n\t\t\t\tverb: \"read\",\n\t\t\t\tresource: \"trade monitored orders, execution records, and pending wallet actions\",\n\t\t\t\tsummary: \"Read Cedros Trade runtime records for user workflows and admin views.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"count\",\n\t\t\t\tresource: \"trade monitored orders, execution records, and pending wallet actions\",\n\t\t\t\tsummary: \"Aggregate counts of Cedros Trade runtime records for admin metrics.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"write\",\n\t\t\t\tresource: \"trade monitored orders, execution records, and pending wallet actions\",\n\t\t\t\tsummary: \"Write Cedros Trade runtime records through host-bound routes and jobs.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"delete\",\n\t\t\t\tresource: \"trade pending wallet actions\",\n\t\t\t\tsummary: \"Purge resolved (dismissed/completed) pending actions through admin maintenance.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"migrate\",\n\t\t\t\tresource: \"Cedros Trade database schema\",\n\t\t\t\tsummary: \"Apply reviewed Cedros Trade schema changes through the host migration process.\"\n\t\t\t}\n\t\t]\n\t}],\n\tcontentBlocks: [{\n\t\ttype: \"cedros-trade:trade-surface\",\n\t\tdisplayName: \"Solana Quote Preview\",\n\t\tdescription: \"Owner-editable multi-provider conversion estimate, with preserved compatibility modes for host-integrated wallet surfaces.\",\n\t\tcategory: \"trading\",\n\t\torder: 10\n\t}],\n\tcontentTemplates: [\n\t\t{\n\t\t\tid: \"cedros-trade:quote-template\",\n\t\t\tdisplayName: \"Solana Quote Preview\",\n\t\t\tdescription: \"Recommended public page for comparing approved Solana providers and interpreting a current conversion estimate.\",\n\t\t\torder: 5,\n\t\t\tcontentTypes: [\"page\"],\n\t\t\tsurfaceId: \"cedros-trade:trade-pages\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:swap-template\",\n\t\t\tdisplayName: \"Solana Quote Preview\",\n\t\t\tdescription: \"Recommended public page for comparing approved Solana providers and interpreting a current conversion estimate.\",\n\t\t\torder: 10,\n\t\t\tcontentTypes: [\"page\"],\n\t\t\tsurfaceId: \"cedros-trade:trade-pages\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:transfer-template\",\n\t\t\tdisplayName: \"Transfer Setup (Requires Host)\",\n\t\t\tdescription: \"Compatibility template retained for existing content; it remains a setup state without documented wallet identity and signing.\",\n\t\t\torder: 900,\n\t\t\tcontentTypes: [\"page\"],\n\t\t\tsurfaceId: \"cedros-trade:trade-pages\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:trading-template\",\n\t\t\tdisplayName: \"Trading Setup (Requires Host)\",\n\t\t\tdescription: \"Compatibility template retained for existing content; order actions remain unavailable without documented wallet identity and signing.\",\n\t\t\torder: 910,\n\t\t\tcontentTypes: [\"page\"],\n\t\t\tsurfaceId: \"cedros-trade:trade-pages\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:portfolio-template\",\n\t\t\tdisplayName: \"Portfolio Setup (Requires Host)\",\n\t\t\tdescription: \"Compatibility template retained for existing content; wallet-scoped data remains unavailable without documented wallet identity.\",\n\t\t\torder: 920,\n\t\t\tcontentTypes: [\"page\"],\n\t\t\tsurfaceId: \"cedros-trade:trade-pages\"\n\t\t}\n\t],\n\tauthoredSurfaces: [{\n\t\tid: \"cedros-trade:trade-pages\",\n\t\tdisplayName: \"Trade Pages (Compatibility Set)\",\n\t\tdescription: \"The primary quote preview plus preserved setup-state pages for existing wallet-dependent Trade content.\",\n\t\teyebrow: \"Trade\",\n\t\ttemplateIds: [\n\t\t\t\"cedros-trade:quote-template\",\n\t\t\t\"cedros-trade:swap-template\",\n\t\t\t\"cedros-trade:transfer-template\",\n\t\t\t\"cedros-trade:trading-template\",\n\t\t\t\"cedros-trade:portfolio-template\"\n\t\t]\n\t}],\n\tauthoredTemplateUtilities: [{\n\t\tid: \"cedros-trade:trade-page-set\",\n\t\tdisplayName: \"Legacy Trade Page Set\",\n\t\tdescription: \"Preserves the released four-page set for existing content; new sites should create only the Solana Quote Preview.\",\n\t\torder: 900,\n\t\ttemplateIds: [\n\t\t\t\"cedros-trade:swap-template\",\n\t\t\t\"cedros-trade:transfer-template\",\n\t\t\t\"cedros-trade:trading-template\",\n\t\t\t\"cedros-trade:portfolio-template\"\n\t\t],\n\t\tcontentTypes: [\"page\"],\n\t\tsurfaceIds: [\"cedros-trade:trade-pages\"],\n\t\tsuggestedBlockTypes: [\"cedros-trade:trade-surface\"]\n\t}],\n\tformTemplates: [{\n\t\tid: \"cedros-trade:trade-support-request\",\n\t\tdisplayName: \"Quote Preview Support\",\n\t\ttitle: \"Quote Preview Support\",\n\t\tdescription: \"Owner-editable form for visitors who cannot obtain or understand a Cedros Trade conversion estimate.\",\n\t\tdefaultKey: \"trade-support-request\",\n\t\tstatus: \"active\",\n\t\tautoCreateOnEnable: !0,\n\t\tscope: \"other\",\n\t\tsubmitLabel: \"Send request\",\n\t\tsuccessTitle: \"Request received\",\n\t\tsuccessMessage: \"Your request has been sent. The site owner will review it and follow up if more information is needed.\",\n\t\tfields: [\n\t\t\t{\n\t\t\t\tkey: \"name\",\n\t\t\t\tlabel: \"Name\",\n\t\t\t\ttype: \"text\",\n\t\t\t\trequired: !1,\n\t\t\t\tplaceholder: \"Your name\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"email\",\n\t\t\t\tlabel: \"Email\",\n\t\t\t\ttype: \"email\",\n\t\t\t\trequired: !0,\n\t\t\t\tplaceholder: \"you@example.com\",\n\t\t\t\thelpText: \"Used only to respond to this support request.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"issue_type\",\n\t\t\t\tlabel: \"Issue type\",\n\t\t\t\ttype: \"select\",\n\t\t\t\trequired: !0,\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: \"Quote did not load\",\n\t\t\t\t\t\tvalue: \"quote_missing\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: \"Amount or rate looks wrong\",\n\t\t\t\t\t\tvalue: \"unexpected_amount\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: \"Token is unavailable\",\n\t\t\t\t\t\tvalue: \"token_unavailable\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: \"Quote details are unclear\",\n\t\t\t\t\t\tvalue: \"quote_unclear\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: \"Other\",\n\t\t\t\t\t\tvalue: \"other\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"message\",\n\t\t\t\tlabel: \"Message\",\n\t\t\t\ttype: \"textarea\",\n\t\t\t\trequired: !0,\n\t\t\t\tplaceholder: \"Include the token symbols, approximate amount, and what you expected. Do not include private wallet credentials.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"contact_consent\",\n\t\t\t\tlabel: \"I consent to being contacted about this support request.\",\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\trequired: !0,\n\t\t\t\thelpText: \"The site owner may use the submitted email address only to respond to this request.\"\n\t\t\t}\n\t\t]\n\t}],\n\tdocsArticles: [{\n\t\tid: \"cedros-trade:getting-started\",\n\t\tdisplayName: \"Understanding Your Solana Quote\",\n\t\ttitle: \"Understanding Your Solana Quote\",\n\t\tslug: \"cedros-trade-getting-started\",\n\t\troutePath: \"/docs/cedros-trade/getting-started\",\n\t\texcerpt: \"How to request, interpret, refresh, and troubleshoot a Cedros Trade conversion estimate.\",\n\t\tbodyMarkdown: \"# Understanding Your Solana Quote\\n\\nCedros Trade compares current estimates from the Solana providers approved by this site. A quote helps you understand a possible conversion; it does not move funds or request a wallet signature.\\n\\n## Get An Estimate\\n\\n1. Choose the token you would provide and the token you want to receive.\\n2. Enter an amount.\\n3. Wait for the available providers to return estimates.\\n\\nThe page selects the estimate with the highest received amount from the providers that responded. If an approved route is missing, the page labels the result as best available and names the missing provider so you can refresh before relying on it.\\n\\n## Read The Result\\n\\n- **Rate** shows the estimated conversion for one input token.\\n- **Price impact** estimates how much the conversion may move the market price.\\n- **Minimum received** reflects the quote protection selected by the site.\\n- **Available routes** lets you compare the responding providers.\\n- **Updated** tells you when the estimate was received.\\n\\nQuotes can change quickly. Refresh the estimate before using it to make a decision.\\n\\n## If A Quote Does Not Load\\n\\nCheck the amount and token pair, then retry. A provider may be temporarily unavailable even when another provider is working. If no provider returns an estimate, use the Quote Preview Support form and include the token symbols and approximate amount. Never send a seed phrase, private key, password, one-time code, or API key.\\n\",\n\t\tcategory: \"trading\",\n\t\ttags: [\n\t\t\t\"trade\",\n\t\t\t\"wallet\",\n\t\t\t\"setup\"\n\t\t],\n\t\tproductSlug: \"cedros-trade\",\n\t\tproductLabel: \"Cedros Trade\",\n\t\tsectionKey: \"cedros-trade\",\n\t\tsectionLabel: \"Cedros Trade\",\n\t\tsectionOrder: 10,\n\t\tnavLabel: \"Understanding Quotes\",\n\t\treadingMinutes: 2,\n\t\torder: 10,\n\t\tinternal: !1,\n\t\taliases: [\"/docs/trade/getting-started\"],\n\t\tseo: {\n\t\t\ttitle: \"Understanding Your Solana Quote\",\n\t\t\tdescription: \"How to request, interpret, refresh, and troubleshoot a Cedros Trade conversion estimate.\",\n\t\t\tcanonicalPath: \"/docs/cedros-trade/getting-started\",\n\t\t\tnoindex: !1\n\t\t}\n\t}, {\n\t\tid: \"cedros-trade:wallet-safety\",\n\t\tdisplayName: \"Wallet Safety For Future Trade Actions\",\n\t\ttitle: \"Wallet Safety For Future Trade Actions\",\n\t\tslug: \"cedros-trade-wallet-safety\",\n\t\troutePath: \"/docs/cedros-trade/wallet-safety\",\n\t\texcerpt: \"Internal compatibility guidance for a future documented wallet-signing integration.\",\n\t\tbodyMarkdown: \"# Wallet Safety For Future Trade Actions\\n\\nThis internal compatibility guide applies only if this site later connects a documented wallet identity and signing integration. The current public Cedros Trade quote preview does not move funds or request a signature.\\n\\n## Never Share\\n\\n- Seed phrases\\n- Private keys\\n- Passwords\\n- One-time codes\\n- API keys\\n- Card numbers or wallet recovery material\\n\\n## Review Before Signing\\n\\n- The connected wallet is the intended wallet.\\n- The token mint and symbol match what you expect.\\n- The amount, slippage, and recipient are correct.\\n- The transaction source is trusted by your site.\\n\\n## Support Notes\\n\\nA public wallet address or transaction signature may help authorized support investigate a future transaction issue. Never send private credentials through forms, chat, email, or docs comments.\\n\",\n\t\tcategory: \"trading\",\n\t\ttags: [\n\t\t\t\"wallet\",\n\t\t\t\"safety\",\n\t\t\t\"support\"\n\t\t],\n\t\tproductSlug: \"cedros-trade\",\n\t\tproductLabel: \"Cedros Trade\",\n\t\tsectionKey: \"cedros-trade\",\n\t\tsectionLabel: \"Cedros Trade\",\n\t\tsectionOrder: 10,\n\t\tnavLabel: \"Wallet Safety\",\n\t\treadingMinutes: 2,\n\t\torder: 20,\n\t\tinternal: !0,\n\t\taliases: [\"/docs/trade/wallet-safety\"],\n\t\tseo: {\n\t\t\ttitle: \"Wallet Safety For Future Trade Actions\",\n\t\t\tdescription: \"Internal compatibility guidance for a future documented wallet-signing integration.\",\n\t\t\tnoindex: !0\n\t\t}\n\t}],\n\tonboardingPages: [\n\t\t{\n\t\t\tid: \"cedros-trade:review-readiness\",\n\t\t\tmoduleId: \"cedros-trade:admin\",\n\t\t\tsectionId: \"cedros-trade:overview\",\n\t\t\tdisplayName: \"Check quote readiness\",\n\t\t\tdescription: \"Confirm that the public runtime, token policy, and every enabled provider can complete the same real comparison quote.\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:configure-providers\",\n\t\t\tmoduleId: \"cedros-trade:admin\",\n\t\t\tsectionId: \"cedros-trade:settings\",\n\t\t\tdisplayName: \"Review quote providers\",\n\t\t\tdescription: \"Keep only approved provider routes enabled and resolve any upstream access failure.\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:review-token-registry\",\n\t\t\tmoduleId: \"cedros-trade:admin\",\n\t\t\tsectionId: \"cedros-trade:settings\",\n\t\t\tdisplayName: \"Review quote tokens\",\n\t\t\tdescription: \"Confirm the token pairs visitors may compare on the public quote page.\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:configure-settings\",\n\t\t\tmoduleId: \"cedros-trade:admin\",\n\t\t\tsectionId: \"cedros-trade:settings\",\n\t\t\tdisplayName: \"Review quote protection\",\n\t\t\tdescription: \"Accept the 30 bps default or choose a site-specific exception before publishing.\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:verify-monitor\",\n\t\t\tmoduleId: \"cedros-trade:admin\",\n\t\t\tsectionId: \"cedros-trade:settings\",\n\t\t\tdisplayName: \"Optional: review future automation\",\n\t\t\tdescription: \"Inspect the preserved dry-run monitor only when evaluating a future documented wallet-signing integration; it is not required for quote launch.\"\n\t\t}\n\t],\n\tanalytics: { events: [\n\t\t{\n\t\t\tid: \"cedros-trade:quote-previewed\",\n\t\t\tdisplayName: \"Quote Previewed\",\n\t\t\tdescription: \"Counts completed public quote comparisons using redacted token, amount, slippage, and provider metadata.\",\n\t\t\tcategory: \"trade\",\n\t\t\tvisibility: \"public\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:swap-built\",\n\t\t\tdisplayName: \"Swap Built\",\n\t\t\tdescription: \"Counts successful swap transaction builds before host wallet signing.\",\n\t\t\tcategory: \"trade\",\n\t\t\tvisibility: \"authenticated\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:swap-build-failed\",\n\t\t\tdisplayName: \"Swap Build Failed\",\n\t\t\tdescription: \"Counts failed swap transaction build attempts using redacted provider and bucket metadata.\",\n\t\t\tcategory: \"trade\",\n\t\t\tvisibility: \"authenticated\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:swap-execution-recorded\",\n\t\t\tdisplayName: \"Swap Execution Recorded\",\n\t\t\tdescription: \"Counts submitted, confirmed, or failed swap execution outcomes without signatures.\",\n\t\t\tcategory: \"trade\",\n\t\t\tvisibility: \"authenticated\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:transfer-built\",\n\t\t\tdisplayName: \"Transfer Built\",\n\t\t\tdescription: \"Counts successful SOL or SPL transfer transaction builds before host wallet signing.\",\n\t\t\tcategory: \"trade\",\n\t\t\tvisibility: \"authenticated\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:order-submitted\",\n\t\t\tdisplayName: \"Order Submitted\",\n\t\t\tdescription: \"Counts accepted smart or monitored order submissions after validation.\",\n\t\t\tcategory: \"orders\",\n\t\t\tvisibility: \"authenticated\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:trade-workflow-blocked\",\n\t\t\tdisplayName: \"Trade Workflow Blocked\",\n\t\t\tdescription: \"Counts transfer, order, or orderbook workflows blocked by missing host contracts.\",\n\t\t\tcategory: \"runtime\",\n\t\t\tvisibility: \"admin\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:admin-action-completed\",\n\t\t\tdisplayName: \"Admin Action Completed\",\n\t\t\tdescription: \"Counts completed provider, token registry, settings, and monitor actions in the admin module.\",\n\t\t\tcategory: \"admin\",\n\t\t\tvisibility: \"admin\"\n\t\t},\n\t\t{\n\t\t\tid: \"cedros-trade:monitor-run-recorded\",\n\t\t\tdisplayName: \"Monitor Run Recorded\",\n\t\t\tdescription: \"Counts price monitor job run outcomes using redacted aggregate status metadata.\",\n\t\t\tcategory: \"automation\",\n\t\t\tvisibility: \"admin\"\n\t\t}\n\t] },\n\tcapabilities: [{\n\t\tid: \"cedros-trade:site-brain-records\",\n\t\tdisplayName: \"Cedros Trade Site Brain Records\",\n\t\tdescription: \"Write redacted setup, content, security, automation, database, and runtime records that explain Cedros Trade runtime changes and monitor runs.\",\n\t\tcategory: \"runtime\",\n\t\trequestedScopes: [\n\t\t\t{\n\t\t\t\tverb: \"write\",\n\t\t\t\tresource: \"site-brain-record:setup\",\n\t\t\t\tsummary: \"Record redacted setup/settings changes without secret values.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"write\",\n\t\t\t\tresource: \"site-brain-record:content\",\n\t\t\t\tsummary: \"Record redacted token/content metadata changes without wallet or row payloads.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"write\",\n\t\t\t\tresource: \"site-brain-record:security\",\n\t\t\t\tsummary: \"Record redacted secret lifecycle state without secret values.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"write\",\n\t\t\t\tresource: \"site-brain-record:automation\",\n\t\t\t\tsummary: \"Record redacted price monitor dry-run outcomes and aggregate counts.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"write\",\n\t\t\t\tresource: \"site-brain-record:database\",\n\t\t\t\tsummary: \"Record redacted database migration or forward-fix outcomes without row payloads.\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tverb: \"write\",\n\t\t\t\tresource: \"site-brain-record:runtime\",\n\t\t\t\tsummary: \"Record redacted runtime binding degradation and recovery context.\"\n\t\t\t}\n\t\t]\n\t}],\n\tjobSchedules: [{\n\t\tid: \"cedros-trade:price-monitor-dry-run-schedule\",\n\t\tjobId: \"cedros-trade:price-monitor\",\n\t\tlabel: \"Price Monitor Dry Run\",\n\t\tcron: \"*/5 * * * *\",\n\t\ttimezone: \"America/Los_Angeles\",\n\t\tenabled: !1,\n\t\ttimeoutSeconds: 30,\n\t\tchannelIds: [],\n\t\tautoCreateOnEnable: !0\n\t}],\n\tsetupSeeds: { notifications: [{\n\t\tid: \"cedros-trade:admin-action-notification\",\n\t\tdisplayName: \"Trade Admin Action Notification\",\n\t\ttitle: \"Trade admin action completed\",\n\t\tdescription: \"Team notification route for Cedros Trade admin actions that affect runtime setup or monitor state.\",\n\t\teventId: \"cedros-trade:admin-action-completed\",\n\t\taudience: \"team\",\n\t\tseverity: \"info\",\n\t\tdefaultChannels: [\"email\"],\n\t\tsubjectTemplate: \"Cedros Trade admin action completed\",\n\t\tbodyTemplate: \"A Cedros Trade admin action completed. Review the Cedros Trade admin pages if this was unexpected.\",\n\t\ttags: [\n\t\t\t\"cedros-trade\",\n\t\t\t\"admin\",\n\t\t\t\"setup\"\n\t\t],\n\t\tlifecycle: {\n\t\t\tinstallMode: \"createIfMissing\",\n\t\t\tupdatePolicy: \"preserveOperatorEdits\",\n\t\t\tdisablePolicy: \"leaveCreated\"\n\t\t}\n\t}, {\n\t\tid: \"cedros-trade:monitor-run-notification\",\n\t\tdisplayName: \"Price Monitor Notification\",\n\t\ttitle: \"Price monitor run recorded\",\n\t\tdescription: \"Team notification route for Cedros Trade price monitor outcomes with summary-only redaction.\",\n\t\teventId: \"cedros-trade:monitor-run-recorded\",\n\t\taudience: \"team\",\n\t\tseverity: \"warning\",\n\t\tdefaultChannels: [\"email\"],\n\t\tsubjectTemplate: \"Cedros Trade price monitor run recorded\",\n\t\tbodyTemplate: \"Cedros Trade recorded a price monitor run. Review the Trade Monitor admin page when the outcome is failed or retryable.\",\n\t\ttags: [\n\t\t\t\"cedros-trade\",\n\t\t\t\"automation\",\n\t\t\t\"monitor\"\n\t\t],\n\t\tlifecycle: {\n\t\t\tinstallMode: \"createIfMissing\",\n\t\t\tupdatePolicy: \"preserveOperatorEdits\",\n\t\t\tdisablePolicy: \"leaveCreated\"\n\t\t}\n\t}] },\n\ti18nCatalogs: [{\n\t\tlocale: \"en-US\",\n\t\tnamespace: \"cedros-trade\",\n\t\tcatalog: {\n\t\t\t\"jupiter.enable\": \"Allow swaps signed by visitors in their existing Solana wallets\",\n\t\t\t\"jupiter.policyLoading\": \"Checking swap availability…\",\n\t\t\t\"jupiter.policyUnavailable\": \"Swap availability could not be checked. Retry before connecting your wallet.\",\n\t\t\t\"jupiter.reviewValidity\": \"This quote is valid for up to one minute. If it expires, review a fresh quote before signing.\",\n\t\t\t\"jupiter.reviewExpired\": \"This quote expired. Review a fresh quote to continue. No swap was submitted.\",\n\t\t\t\"jupiter.eyebrow\": \"Solana trading\",\n\t\t\t\"jupiter.title\": \"Swap tokens\",\n\t\t\t\"jupiter.description\": \"Connect your Solana wallet, compare the current exchange rate, and review your swap with Jupiter.\",\n\t\t\t\"jupiter.approval\": \"Your wallet asks you to approve each swap. Review the tokens, amount, fees, and minimum received before signing.\",\n\t\t\t\"jupiter.connect\": \"Connect your Solana wallet\",\n\t\t\t\"jupiter.disconnect\": \"Disconnect from this page\",\n\t\t\t\"jupiter.noWallet\": \"Open this page in your Phantom or Solflare wallet browser, or enable a compatible Solana wallet extension.\",\n\t\t\t\"jupiter.connectFailed\": \"The wallet connection was not completed. Try again in your wallet.\",\n\t\t\t\"jupiter.orderFailed\": \"No executable quote is available. Check your amount and wallet balance, then try again.\",\n\t\t\t\"jupiter.disabled\": \"Swaps are currently unavailable on this site. No new swap was submitted. Try again after the site owner enables them.\",\n\t\t\t\"jupiter.signFailed\": \"The swap was not submitted. Wallet approval was declined, the quote expired, or the wallet changed. Review a fresh quote to continue.\",\n\t\t\t\"jupiter.unknown\": \"The swap status is not confirmed yet. Check the same transaction before starting another swap.\",\n\t\t\t\"jupiter.walletRecovery\": \"You can also check your wallet activity. Leaving this page does not cancel a submitted transaction. After returning, check its status here or verify the outcome in your wallet.\",\n\t\t\t\"jupiter.acknowledge\": \"I verified the outcome in my wallet — stop tracking here\",\n\t\t\t\"jupiter.recoveryUnavailable\": \"This browser cannot save recovery information. Keep this page open until the transaction status is known.\",\n\t\t\t\"jupiter.pay\": \"You pay\",\n\t\t\t\"jupiter.amount\": \"Amount\",\n\t\t\t\"jupiter.receive\": \"You receive\",\n\t\t\t\"jupiter.review\": \"Review swap\",\n\t\t\t\"jupiter.working\": \"Working…\",\n\t\t\t\"jupiter.reviewTitle\": \"Review your swap\",\n\t\t\t\"jupiter.minimum\": \"Minimum received\",\n\t\t\t\"jupiter.impact\": \"Price impact\",\n\t\t\t\"jupiter.fee\": \"Swap fee\",\n\t\t\t\"jupiter.network\": \"Estimated network and account fees\",\n\t\t\t\"jupiter.approve\": \"Approve in wallet\",\n\t\t\t\"jupiter.checkStatus\": \"Check transaction status\",\n\t\t\t\"jupiter.confirmed\": \"Swap confirmed.\",\n\t\t\t\"jupiter.failed\": \"The swap failed. Network fees may still apply. Review a new quote before trying again.\",\n\t\t\t\"jupiter.explorer\": \"View transaction\",\n\t\t\t\"common.loading\": \"Loading...\",\n\t\t\t\"common.close\": \"Close\",\n\t\t\t\"common.dismiss\": \"Dismiss\",\n\t\t\t\"common.remove\": \"Remove\",\n\t\t\t\"common.cancel\": \"Cancel\",\n\t\t\t\"common.save\": \"Save\",\n\t\t\t\"common.create\": \"Create\",\n\t\t\t\"common.refresh\": \"Refresh\",\n\t\t\t\"common.retry\": \"Retry\",\n\t\t\t\"common.updated\": \"Updated {time}\",\n\t\t\t\"common.actions\": \"Actions\",\n\t\t\t\"common.status\": \"Status\",\n\t\t\t\"common.ready\": \"Ready\",\n\t\t\t\"common.unknown\": \"unknown\",\n\t\t\t\"common.none\": \"none\",\n\t\t\t\"common.notSet\": \"not set\",\n\t\t\t\"common.optional\": \"optional\",\n\t\t\t\"common.defaultLimit\": \"default limit\",\n\t\t\t\"common.unavailable\": \"Unavailable\",\n\t\t\t\"common.milliseconds\": \"{value} ms\",\n\t\t\t\"common.minutesShort\": \"{value} min\",\n\t\t\t\"common.secondsShort\": \"{value} s\",\n\t\t\t\"errors.requestFailed\": \"The request did not go through. Check your connection and try again.\",\n\t\t\t\"errors.unauthorized\": \"You do not have permission to perform this action.\",\n\t\t\t\"errors.rateLimited\": \"Too many requests. Wait a moment and try again.\",\n\t\t\t\"errors.invalidMint\": \"Enter a valid token address.\",\n\t\t\t\"errors.invalidAmount\": \"Enter a valid amount.\",\n\t\t\t\"errors.tokenNotFound\": \"That token could not be found.\",\n\t\t\t\"errors.noProviders\": \"No swap providers are available right now. Try again later or contact the site owner.\",\n\t\t\t\"errors.indexerNotConfigured\": \"Portfolio data is not connected for this site yet.\",\n\t\t\t\"errors.badRequest\": \"The request was rejected. Review your input and try again.\",\n\t\t\t\"errors.provider\": \"A trading service is temporarily unavailable. Try again in a moment.\",\n\t\t\t\"errors.rpc\": \"Could not reach the Solana network. Try again shortly.\",\n\t\t\t\"errors.config\": \"Cedros Trade is not fully set up yet. Contact the site owner.\",\n\t\t\t\"errors.upstreamTimeout\": \"A service took too long to respond. Try again shortly.\",\n\t\t\t\"autosave.unsaved\": \"Unsaved changes\",\n\t\t\t\"autosave.saving\": \"Saving...\",\n\t\t\t\"autosave.saved\": \"Saved just now\",\n\t\t\t\"autosave.idle\": \"Saved\",\n\t\t\t\"autosave.offline\": \"Offline - changes will sync\",\n\t\t\t\"autosave.conflict\": \"Conflict - review changes\",\n\t\t\t\"autosave.failed\": \"Save failed - retry\",\n\t\t\t\"autosave.review\": \"Review\",\n\t\t\t\"autosave.discard\": \"Discard local changes\",\n\t\t\t\"admin.group.tools\": \"Tools\",\n\t\t\t\"admin.group.settings\": \"Settings\",\n\t\t\t\"admin.group.extensionSettings\": \"Extension Settings\",\n\t\t\t\"admin.nav.overview\": \"Overview\",\n\t\t\t\"admin.nav.providers\": \"Quote routes\",\n\t\t\t\"admin.nav.tokens\": \"Token registry\",\n\t\t\t\"admin.nav.monitor\": \"Future automation\",\n\t\t\t\"admin.nav.settings\": \"Trade settings\",\n\t\t\t\"admin.overview.title\": \"Quote preview\",\n\t\t\t\"admin.overview.totalQuotes\": \"Total quotes\",\n\t\t\t\"admin.overview.totalSwaps\": \"Total swaps\",\n\t\t\t\"admin.overview.monitorMode\": \"Monitor mode\",\n\t\t\t\"admin.overview.serviceStatus\": \"Service status\",\n\t\t\t\"admin.overview.executionsSucceeded\": \"Executions succeeded\",\n\t\t\t\"admin.overview.executionsFailed\": \"Executions failed\",\n\t\t\t\"admin.overview.executionFailureRate\": \"Execution failure rate\",\n\t\t\t\"admin.overview.description\": \"Confirm that visitors can receive a current, owner-approved Solana conversion estimate before publishing the quote page.\",\n\t\t\t\"admin.overview.activityTitle\": \"Future transaction diagnostics\",\n\t\t\t\"admin.overview.activityBody\": \"These dry-run order and execution counts are retained for future wallet integration. They are not required to publish the quote preview.\",\n\t\t\t\"admin.overview.emptyTitle\": \"Runtime data unavailable\",\n\t\t\t\"admin.overview.emptyBody\": \"Bind the Cedros Trade server routes to populate health and metric summaries.\",\n\t\t\t\"admin.readiness.title\": \"Launch readiness\",\n\t\t\t\"admin.readiness.description\": \"Verify the same runtime, token policy, and provider comparison that visitors use on the quote page.\",\n\t\t\t\"admin.readiness.quoteReady\": \"Quote preview ready\",\n\t\t\t\"admin.readiness.needsAttention\": \"Quote preview needs attention\",\n\t\t\t\"admin.readiness.ready\": \"Ready\",\n\t\t\t\"admin.readiness.blocked\": \"Blocked\",\n\t\t\t\"admin.readiness.notChecked\": \"Not checked\",\n\t\t\t\"admin.readiness.runtime\": \"Trade runtime\",\n\t\t\t\"admin.readiness.runtimeReady\": \"The packaged Wasm route is responding.\",\n\t\t\t\"admin.readiness.runtimeBlocked\": \"The packaged Wasm route is not responding.\",\n\t\t\t\"admin.readiness.provider\": \"Launch-pair routes\",\n\t\t\t\"admin.readiness.providerReady\": \"All {responded} of {expected} approved routes returned a quote for the launch pair, {pair}.\",\n\t\t\t\"admin.readiness.providerPartial\": \"{responded} of {expected} approved routes returned a quote for the launch pair, {pair}. Missing: {providers}. Retry or disable a route the site does not intend to offer.\",\n\t\t\t\"admin.readiness.providerUnknown\": \"The approved route policy could not be loaded, so complete coverage cannot be verified. Retry before publishing.\",\n\t\t\t\"admin.readiness.providerBlocked\": \"No enabled provider returned a quote for the launch pair, {pair}. Review quote-route access and try again.\",\n\t\t\t\"admin.readiness.providerWaiting\": \"The launch-pair quote will be checked after the token policy is available and includes a compatible pair.\",\n\t\t\t\"admin.readiness.defaultPair\": \"Launch pair unavailable\",\n\t\t\t\"admin.readiness.sampleReady\": \"What a visitor would see now\",\n\t\t\t\"admin.readiness.samplePartial\": \"Best estimate from responding routes\",\n\t\t\t\"admin.readiness.sampleEstimate\": \"{input} {inputSymbol} → {output} {outputSymbol} via {provider}\",\n\t\t\t\"admin.readiness.sampleImpact\": \"Price impact {impact}\",\n\t\t\t\"admin.readiness.sampleMinimum\": \"Minimum received {amount} {symbol}\",\n\t\t\t\"admin.readiness.scope\": \"This check uses one unit of the displayed launch pair. Other approved pairs and amounts are quoted when visitors enter them; this is a current estimate, not a guarantee or a transaction.\",\n\t\t\t\"admin.readiness.tokens\": \"Token policy\",\n\t\t\t\"admin.readiness.tokenCount\": \"{count} reviewed tokens are available.\",\n\t\t\t\"admin.readiness.tokensUnavailable\": \"The approved token policy could not be loaded. Retry before publishing.\",\n\t\t\t\"admin.readiness.tokensIncomplete\": \"Only {count} reviewed token entries are available. Add at least two compatible tokens before publishing.\",\n\t\t\t\"admin.readiness.transactions\": \"Wallet transactions\",\n\t\t\t\"admin.readiness.transactionsBlocked\": \"General swap and order signing are not available through a documented Cedros public-block contract. Keep transactional pages unpublished; quote preview can still be used when the checks above pass.\",\n\t\t\t\"admin.readiness.hostHandoff\": \"Host handoff required\",\n\t\t\t\"admin.readiness.publishNext\": \"The quote path is ready. In Cedros Pages, review the unpublished Solana Quote Preview draft and publish it when it is right for this site.\",\n\t\t\t\"admin.readiness.recheck\": \"Run check again\",\n\t\t\t\"admin.readiness.checking\": \"Checking…\",\n\t\t\t\"admin.readiness.checkedAt\": \"Checked {time}\",\n\t\t\t\"admin.integrations.title\": \"Integration boundaries\",\n\t\t\t\"admin.integrations.description\": \"Review the official Cedros contracts that own identity, CRM, checkout, subscriptions, and payment rails before enabling production traffic.\",\n\t\t\t\"admin.integrations.loginUser\": \"Cedros Login user context\",\n\t\t\t\"admin.integrations.loginAdmin\": \"Cedros Login admin auth\",\n\t\t\t\"admin.integrations.crmProfile\": \"CRM profiles and tags\",\n\t\t\t\"admin.integrations.payBoundary\": \"Cedros Pay checkout boundary\",\n\t\t\t\"admin.integrations.available\": \"Available\",\n\t\t\t\"admin.integrations.missing\": \"Missing\",\n\t\t\t\"admin.integrations.hostOwned\": \"Host-owned\",\n\t\t\t\"admin.integrations.notConsumed\": \"Not consumed\",\n\t\t\t\"admin.integrations.audited\": \"Audited\",\n\t\t\t\"admin.integrations.paySummary\": \"Cedros Trade does not create checkout, subscription, x402, Stripe, refund, dispute, or paid-access flows. Any future commerce or entitlement gate must depend on Cedros Pay 2.0 contracts and fail closed when Pay state is missing, pending, failed, refunded, disputed, stale, or unavailable.\",\n\t\t\t\"admin.providers.title\": \"Quote routes\",\n\t\t\t\"admin.providers.description\": \"Choose which approved providers visitors compare, and keep unavailable routes disabled until host access is configured.\",\n\t\t\t\"admin.providers.healthy\": \"Healthy\",\n\t\t\t\"admin.providers.unhealthy\": \"Unhealthy\",\n\t\t\t\"admin.providers.notChecked\": \"Not checked\",\n\t\t\t\"admin.providers.notCheckedBody\": \"This provider has no lightweight health probe. Launch readiness verifies it with a real comparison quote.\",\n\t\t\t\"admin.providers.dflowCredentialMissing\": \"DFlow is unavailable until the host stores its API credential.\",\n\t\t\t\"admin.providers.configureDflowFirst\": \"Configure the host-managed dflowApiKey secret before enabling DFlow.\",\n\t\t\t\"admin.providers.gasless\": \"Gasless\",\n\t\t\t\"admin.providers.mevProtected\": \"MEV-protected\",\n\t\t\t\"admin.providers.enabled\": \"Enabled\",\n\t\t\t\"admin.providers.disabled\": \"Disabled\",\n\t\t\t\"admin.providers.enable\": \"Enable\",\n\t\t\t\"admin.providers.disable\": \"Disable\",\n\t\t\t\"admin.providers.enabling\": \"Enabling…\",\n\t\t\t\"admin.providers.disabling\": \"Disabling…\",\n\t\t\t\"admin.providers.enabledSuccess\": \"{provider} enabled for visitor quotes.\",\n\t\t\t\"admin.providers.disabledSuccess\": \"{provider} disabled for visitor quotes.\",\n\t\t\t\"admin.providers.toggleError\": \"Could not update providers. No change was saved — try again.\",\n\t\t\t\"admin.providers.keepOne\": \"Keep at least one provider enabled so visitors can request quotes.\",\n\t\t\t\"admin.providers.emptyTitle\": \"No providers returned\",\n\t\t\t\"admin.providers.emptyBody\": \"Provider records appear after the server route and approved upstream bindings are available.\",\n\t\t\t\"admin.tokens.title\": \"Token registry\",\n\t\t\t\"admin.tokens.description\": \"Review which tokens visitors can select in the public quote preview.\",\n\t\t\t\"admin.tokens.count\": \"{count} tokens\",\n\t\t\t\"admin.tokens.count.one\": \"{count} token\",\n\t\t\t\"admin.tokens.add\": \"Add token\",\n\t\t\t\"admin.tokens.addTitle\": \"Add token\",\n\t\t\t\"admin.tokens.editTitle\": \"Edit {symbol}\",\n\t\t\t\"admin.tokens.saveChanges\": \"Save changes\",\n\t\t\t\"admin.tokens.search\": \"Filter tokens…\",\n\t\t\t\"admin.tokens.mintPlaceholder\": \"Mint address\",\n\t\t\t\"admin.tokens.symbolPlaceholder\": \"Symbol (e.g. SOL)\",\n\t\t\t\"admin.tokens.namePlaceholder\": \"Name (e.g. Solana)\",\n\t\t\t\"admin.tokens.decimalsPlaceholder\": \"Decimals\",\n\t\t\t\"admin.tokens.logoUrlPlaceholder\": \"Logo URL\",\n\t\t\t\"admin.tokens.coingeckoIdPlaceholder\": \"CoinGecko ID\",\n\t\t\t\"admin.tokens.tradingviewSymbolPlaceholder\": \"TradingView symbol\",\n\t\t\t\"admin.tokens.categoriesPlaceholder\": \"Categories (comma-separated)\",\n\t\t\t\"admin.tokens.tableToken\": \"Token\",\n\t\t\t\"admin.tokens.tableMint\": \"Mint\",\n\t\t\t\"admin.tokens.tableDecimals\": \"Dec\",\n\t\t\t\"admin.tokens.tableCategories\": \"Categories\",\n\t\t\t\"admin.tokens.edit\": \"Edit\",\n\t\t\t\"admin.tokens.delete\": \"Delete token\",\n\t\t\t\"admin.tokens.moreActions\": \"More actions for {symbol}\",\n\t\t\t\"admin.tokens.clearSearch\": \"Clear search\",\n\t\t\t\"admin.tokens.confirmDelete\": \"Delete {symbol} token?\",\n\t\t\t\"admin.tokens.added\": \"Token added.\",\n\t\t\t\"admin.tokens.updated\": \"Token updated.\",\n\t\t\t\"admin.tokens.removed\": \"Token removed.\",\n\t\t\t\"admin.tokens.restored\": \"Default tokens restored.\",\n\t\t\t\"admin.tokens.restoreDefaults\": \"Restore default tokens\",\n\t\t\t\"admin.tokens.registryChanged\": \"The token registry changed. Review the refreshed tokens before saving again. Your draft is still here.\",\n\t\t\t\"admin.tokens.errorMissing\": \"This token is no longer in the registry. Cancel this edit to return to the current tokens.\",\n\t\t\t\"admin.tokens.failed\": \"Could not save token registry\",\n\t\t\t\"admin.tokens.emptyTitle\": \"No tokens yet\",\n\t\t\t\"admin.tokens.emptyBody\": \"Add at least two approved tokens so visitors can request a conversion estimate. New tokens save once the token registry route is bound.\",\n\t\t\t\"admin.tokens.noSearchResultsTitle\": \"No tokens match your search\",\n\t\t\t\"admin.tokens.noSearchResultsBody\": \"No registered token matches “{term}”. Clear the search to see all tokens.\",\n\t\t\t\"admin.tokens.deletePendingTitle\": \"Confirm token removal\",\n\t\t\t\"admin.tokens.deletePendingBody\": \"This removes mint {mint} from the registry and can make the public quote page hide or reject it. This cannot be undone.\",\n\t\t\t\"admin.tokens.errorRequired\": \"Mint, symbol, name, and decimals are required.\",\n\t\t\t\"admin.tokens.errorDecimals\": \"Decimals must be an integer from 0 to 18.\",\n\t\t\t\"admin.tokens.errorDuplicateMint\": \"A token with that mint already exists.\",\n\t\t\t\"admin.tokens.errorMinimum\": \"Keep at least two approved assets so visitors can compare a conversion.\",\n\t\t\t\"admin.tokens.errorLimit\": \"The token registry supports at most 100 approved assets.\",\n\t\t\t\"admin.tokens.errorMetadataLength\": \"Symbol and token metadata are too long.\",\n\t\t\t\"admin.tokens.errorLogoUrl\": \"Logo URL must be a valid HTTPS URL.\",\n\t\t\t\"admin.tokens.errorCategories\": \"Use at most 16 categories, with no more than 32 characters per category.\",\n\t\t\t\"admin.monitor.title\": \"Price monitor\",\n\t\t\t\"admin.monitor.description\": \"Inspect monitored-order volume, poll cadence, execution totals, and dry-run status before automation is enabled.\",\n\t\t\t\"admin.monitor.resume\": \"Resume\",\n\t\t\t\"admin.monitor.pause\": \"Pause\",\n\t\t\t\"admin.monitor.activeOrders\": \"Active orders\",\n\t\t\t\"admin.monitor.pollInterval\": \"Poll interval\",\n\t\t\t\"admin.monitor.totalExecutions\": \"Total executions\",\n\t\t\t\"admin.monitor.paused\": \"Paused\",\n\t\t\t\"admin.monitor.running\": \"Running\",\n\t\t\t\"admin.monitor.dryRun\": \"Test mode\",\n\t\t\t\"admin.monitor.dryRunNoticeTitle\": \"Running in test mode\",\n\t\t\t\"admin.monitor.dryRunNoticeBody\": \"The price monitor evaluates orders and records what it would do, but does not place or sign real trades. Live execution stays off until Cedros publishes a general signing contract.\",\n\t\t\t\"admin.monitor.emptyTitle\": \"Monitor status unavailable\",\n\t\t\t\"admin.monitor.emptyBody\": \"Metrics will appear after the price-monitor job and metrics route are bound.\",\n\t\t\t\"admin.settings.title\": \"Trade settings\",\n\t\t\t\"admin.settings.description\": \"Choose which quote routes visitors can use and the protection applied by default.\",\n\t\t\t\"admin.settings.tabs\": \"Quote settings sections\",\n\t\t\t\"admin.settings.runtimeConfig\": \"Quote protection\",\n\t\t\t\"admin.settings.runtimeSummary\": \"Quote runtime\",\n\t\t\t\"admin.settings.futureAutomationTitle\": \"Future automation\",\n\t\t\t\"admin.settings.futureAutomationBody\": \"Optional compatibility diagnostics for monitored orders. Live execution remains unavailable until Cedros publishes verified wallet ownership and a general signing contract.\",\n\t\t\t\"admin.settings.saved\": \"Trade settings saved.\",\n\t\t\t\"admin.settings.network\": \"Network\",\n\t\t\t\"admin.settings.rpcUrl\": \"RPC URL\",\n\t\t\t\"admin.settings.jupiterPreview\": \"Jupiter quote preview\",\n\t\t\t\"admin.settings.jupiterCompatibility\": \"Jupiter transaction compatibility\",\n\t\t\t\"admin.settings.jupiterPrice\": \"Jupiter price\",\n\t\t\t\"admin.settings.jupiterKey\": \"Jupiter key\",\n\t\t\t\"admin.settings.ultra\": \"Ultra\",\n\t\t\t\"admin.settings.dflow\": \"DFlow\",\n\t\t\t\"admin.settings.dflowKey\": \"DFlow key\",\n\t\t\t\"admin.settings.coingecko\": \"CoinGecko\",\n\t\t\t\"admin.settings.coingeckoKey\": \"CoinGecko key\",\n\t\t\t\"admin.settings.slippage\": \"Quote protection\",\n\t\t\t\"admin.settings.slippageHint\": \"Maximum price movement allowed by the estimate. Keep 0.3% unless this site needs a deliberate exception. Range 0–50%.\",\n\t\t\t\"admin.settings.saveSlippage\": \"Save protection\",\n\t\t\t\"admin.settings.enabledProviders\": \"Enabled providers: {providers}\",\n\t\t\t\"admin.settings.enabledProviderCount\": \"Enabled quote routes\",\n\t\t\t\"admin.settings.connectionDetails\": \"Connection details\",\n\t\t\t\"admin.settings.errorSlippageRange\": \"Enter a percentage from 0 to 50 with no more than two decimal places.\",\n\t\t\t\"admin.settings.secretRedacted\": \"Stored as a secret; value is redacted.\",\n\t\t\t\"admin.settings.secretConfigured\": \"Configured; value is redacted.\",\n\t\t\t\"admin.status.loadingTitle\": \"Loading\",\n\t\t\t\"admin.status.loadingSummary\": \"Checking Cedros Trade status.\",\n\t\t\t\"admin.status.permissionTitle\": \"Permission required\",\n\t\t\t\"admin.status.permissionSummary\": \"Manage extensions permission is required.\",\n\t\t\t\"admin.status.serverUnboundTitle\": \"Server unbound\",\n\t\t\t\"admin.status.serverUnboundSummary\": \"Cedros Trade server routes are not configured.\",\n\t\t\t\"admin.status.statsUnavailableTitle\": \"Stats unavailable\",\n\t\t\t\"admin.status.statsUnavailableSummary\": \"Analytics data is unavailable; route checks still run separately.\",\n\t\t\t\"admin.status.analyticsError\": \"Analytics error\",\n\t\t\t\"admin.status.statusUnavailableTitle\": \"Status unavailable\",\n\t\t\t\"admin.status.retryLater\": \"Retry later\",\n\t\t\t\"admin.status.noRuntimeTitle\": \"No runtime data\",\n\t\t\t\"admin.status.noRuntimeSummary\": \"Bind the Cedros Trade server routes, then open settings to review providers and tokens.\",\n\t\t\t\"admin.status.noData\": \"No data\",\n\t\t\t\"admin.status.tradeTitle\": \"Trade status\",\n\t\t\t\"admin.status.tradeSummary\": \"Service {serviceStatus}; monitor {monitorStatus}.\",\n\t\t\t\"admin.status.quoteTitle\": \"Quote preview\",\n\t\t\t\"admin.status.quoteReadySummary\": \"The public quote path is responding through {providerCount} provider routes.\",\n\t\t\t\"admin.status.quotePartialSummary\": \"The public quote path is degraded: {responded} of {expected} approved routes responded.\",\n\t\t\t\"admin.status.quoteAttentionSummary\": \"The public quote path needs attention. Review runtime, provider access, and token policy before publishing.\",\n\t\t\t\"admin.status.runtimeAttentionSummary\": \"The trade runtime is not healthy. Recheck it before publishing the quote page.\",\n\t\t\t\"admin.status.tokenPolicyUnavailableSummary\": \"The approved token policy could not be loaded. Retry before publishing the quote page.\",\n\t\t\t\"admin.status.tokenPolicyIncompleteSummary\": \"Only {count} reviewed token entries are available. Add a compatible pair before publishing.\",\n\t\t\t\"admin.status.providerPolicyUnavailableSummary\": \"The approved route policy could not be loaded, so quote coverage is unknown.\",\n\t\t\t\"admin.status.quoteUnavailableSummary\": \"No enabled provider returned a quote for the launch pair. Review quote-route access and retry.\",\n\t\t\t\"admin.status.providersQuoted\": \"Routes compared\",\n\t\t\t\"admin.status.pairTested\": \"Launch pair\",\n\t\t\t\"admin.status.lastChecked\": \"Last checked\",\n\t\t\t\"admin.status.activeOrders\": \"Active orders\",\n\t\t\t\"admin.status.pendingActions\": \"Pending actions\",\n\t\t\t\"admin.status.state\": \"State\",\n\t\t\t\"admin.status.openMonitor\": \"Open monitor\",\n\t\t\t\"admin.status.unbound\": \"Unbound\",\n\t\t\t\"admin.metrics.notMeasured\": \"Not measured yet\",\n\t\t\t\"admin.status.service.healthy\": \"Healthy\",\n\t\t\t\"admin.status.service.degraded\": \"Degraded\",\n\t\t\t\"admin.status.service.ok\": \"OK\",\n\t\t\t\"admin.status.service.down\": \"Down\",\n\t\t\t\"admin.status.service.unknown\": \"Unknown\",\n\t\t\t\"swap.title\": \"Swap\",\n\t\t\t\"swap.previewTitle\": \"Conversion estimate\",\n\t\t\t\"swap.youPay\": \"You pay\",\n\t\t\t\"swap.youReceive\": \"You receive\",\n\t\t\t\"swap.switchTokens\": \"Switch tokens\",\n\t\t\t\"swap.provider\": \"Provider\",\n\t\t\t\"swap.gasless\": \"gasless\",\n\t\t\t\"swap.priceImpact\": \"Price impact\",\n\t\t\t\"swap.rate\": \"1 {inputSymbol} = {rate} {outputSymbol}\",\n\t\t\t\"swap.minReceived\": \"Min received\",\n\t\t\t\"swap.connectWallet\": \"Connect Wallet\",\n\t\t\t\"swap.previewOnly\": \"Wallet signing unavailable\",\n\t\t\t\"swap.signing\": \"Confirm in your wallet…\",\n\t\t\t\"swap.complete\": \"Swap Complete\",\n\t\t\t\"swap.fetchingQuote\": \"Fetching Quote...\",\n\t\t\t\"swap.enterAmount\": \"Enter Amount\",\n\t\t\t\"swap.submitAction\": \"Swap {inputAmount} {inputSymbol} → {outputAmount} {outputSymbol}\",\n\t\t\t\"swap.selectToken\": \"Select Token\",\n\t\t\t\"swap.searchToken\": \"Search by name, symbol, or mint...\",\n\t\t\t\"swap.noTokensFound\": \"No tokens found\",\n\t\t\t\"swap.favoriteToken\": \"Favorite {symbol}\",\n\t\t\t\"swap.unfavoriteToken\": \"Remove {symbol} from favorites\",\n\t\t\t\"swap.slippage\": \"Slippage\",\n\t\t\t\"swap.slippageRange\": \"Enter a slippage between 0% and 50%.\",\n\t\t\t\"swap.custom\": \"Custom\",\n\t\t\t\"swap.providerComparison\": \"Provider comparison\",\n\t\t\t\"swap.best\": \"Best\",\n\t\t\t\"swap.bestAvailable\": \"Best available\",\n\t\t\t\"swap.alternatives\": \"Available routes\",\n\t\t\t\"swap.bestAdvantage\": \"The best route returns {amount} {outputSymbol} more than the next available route.\",\n\t\t\t\"swap.coverageComplete\": \"All {count} approved routes were compared.\",\n\t\t\t\"swap.coverageComplete.one\": \"The approved route was compared.\",\n\t\t\t\"swap.coveragePartial\": \"Comparison incomplete: {responded} of {expected} approved routes responded. Missing: {providers}. This is the best available estimate; refresh before relying on it.\",\n\t\t\t\"swap.coverageUnknown\": \"The approved route list could not be verified. This estimate is still usable, but refresh before relying on it.\",\n\t\t\t\"swap.quoteSettings\": \"Quote settings\",\n\t\t\t\"swap.quoteReady\": \"Quote ready\",\n\t\t\t\"swap.quoteReadyBody\": \"Every approved route responded. This current estimate completes the preview and does not move funds.\",\n\t\t\t\"swap.quotePartialBody\": \"This is the best estimate from the routes that responded, not a complete comparison.\",\n\t\t\t\"swap.refreshRequired\": \"Refresh required\",\n\t\t\t\"swap.quoteStaleBody\": \"Market estimates change quickly. Refresh this result before using it to make a decision.\",\n\t\t\t\"swap.refreshQuote\": \"Refresh quote\",\n\t\t\t\"swap.loadingTokenPolicy\": \"Loading the site’s approved tokens…\",\n\t\t\t\"swap.tokenPolicyUnavailable\": \"Approved tokens are unavailable right now. Retry before requesting a quote. If this continues, contact the site owner.\",\n\t\t\t\"swap.tokenPolicyIncomplete\": \"Quote preview is unavailable because this site does not have two compatible approved tokens. Contact the site owner.\",\n\t\t\t\"swap.supportRecovery\": \"Still unavailable? Contact the site owner and include the token pair and approximate amount. Never share wallet credentials.\",\n\t\t\t\"transfer.title\": \"Send\",\n\t\t\t\"transfer.recipient\": \"Recipient\",\n\t\t\t\"transfer.recipientPlaceholder\": \"Wallet address or name.sol\",\n\t\t\t\"transfer.resolving\": \"Looking up name…\",\n\t\t\t\"transfer.resolvesTo\": \"Resolves to: {address}\",\n\t\t\t\"transfer.resolveFailed\": \"Could not resolve this .sol name. Check the spelling or paste a wallet address.\",\n\t\t\t\"transfer.errorEnterValidAmount\": \"Enter a valid amount.\",\n\t\t\t\"transfer.ataWarning\": \"This will create a token account for the recipient ({rent} rent).\",\n\t\t\t\"transfer.sent\": \"Sent!\",\n\t\t\t\"transfer.unavailable\": \"Wallet signing unavailable\",\n\t\t\t\"transaction.action.swap\": \"Swap\",\n\t\t\t\"transaction.action.transfer\": \"Transfer\",\n\t\t\t\"transaction.submitted\": \"{action} submitted\",\n\t\t\t\"transaction.confirmed\": \"{action} confirmed\",\n\t\t\t\"transaction.submittedBody\": \"The network has received the transaction. It may still take a moment to confirm.\",\n\t\t\t\"transaction.confirmedBody\": \"The network confirmed this transaction.\",\n\t\t\t\"transaction.viewExplorer\": \"View on explorer\",\n\t\t\t\"transaction.failed\": \"The transaction was not accepted. Review the wallet or provider message and try again.\",\n\t\t\t\"public.badge.ownerReviewed\": \"Owner-reviewed page\",\n\t\t\t\"public.badge.walletRequired\": \"Wallet required\",\n\t\t\t\"public.badge.hostSigned\": \"Host-signed actions\",\n\t\t\t\"public.badge.privateDataSafe\": \"Private data hidden\",\n\t\t\t\"public.badge.quotePreview\": \"Quote preview\",\n\t\t\t\"public.badge.transactionReady\": \"Transaction ready\",\n\t\t\t\"public.badge.walletConnected\": \"Wallet connected\",\n\t\t\t\"public.badge.unavailable\": \"Setup required\",\n\t\t\t\"public.quoteOnly.title\": \"Quotes are available; transactions are not\",\n\t\t\t\"public.quoteOnly.body\": \"You can review current rates and price impact. This page cannot request a wallet signature until the site connects a documented Cedros wallet signing experience.\",\n\t\t\t\"public.transactionUnavailable.title\": \"Transfers are not connected yet\",\n\t\t\t\"public.transactionUnavailable.body\": \"This site has not connected the authenticated wallet and signing experience required to prepare and approve a transfer. No transaction can be created from this page.\",\n\t\t\t\"public.tradingUnavailable.title\": \"Trading actions are not connected yet\",\n\t\t\t\"public.tradingUnavailable.body\": \"Orders and wallet-scoped activity stay unavailable until the site connects a documented wallet identity and signing experience. The extension will not infer wallet ownership from page input.\",\n\t\t\t\"public.portfolioUnavailable.title\": \"Portfolio access is not connected yet\",\n\t\t\t\"public.portfolioUnavailable.body\": \"This page needs a verified wallet identity from the Cedros host before it can request balances or trading activity. Public page input is not treated as wallet ownership.\",\n\t\t\t\"public.notice.walletTitle\": \"Wallet context required\",\n\t\t\t\"public.notice.walletBody\": \"Trading data and signing controls stay disabled until Cedros Login and the host wallet context identify the visitor.\",\n\t\t\t\"public.notice.signingTitle\": \"Signing is explicit\",\n\t\t\t\"public.notice.signingBody\": \"Cedros Trade builds transactions, then hands them to Cedros Wallet or the host wallet signing flow. Private keys and seed phrases are never requested here.\",\n\t\t\t\"public.notice.providerTitle\": \"Provider readiness\",\n\t\t\t\"public.notice.providerBody\": \"Quotes and market data depend on the site owner enabling approved provider routes before publishing this page.\",\n\t\t\t\"public.notice.indexerTitle\": \"Portfolio scope\",\n\t\t\t\"public.notice.indexerBody\": \"Balances are wallet scoped. P&L and history appear only when an approved indexer binding is available.\",\n\t\t\t\"public.integration.statusLabel\": \"Integration status\",\n\t\t\t\"public.integration.login.label\": \"Cedros Login\",\n\t\t\t\"public.integration.login.required\": \"Required\",\n\t\t\t\"public.integration.login.summary\": \"Signed-out, stale-session, deleted-user, missing-profile, and permission-denied states keep wallet-scoped data and signing controls disabled.\",\n\t\t\t\"public.integration.pay.label\": \"Cedros Pay\",\n\t\t\t\"public.integration.pay.notUsed\": \"No checkout here\",\n\t\t\t\"public.integration.pay.summary\": \"Stripe card, Solana x402 stablecoin, subscription, refund, dispute, and paid-access states belong to Cedros Pay surfaces, not Cedros Trade pages.\",\n\t\t\t\"public.empty.walletTitle\": \"Connect a wallet to continue\",\n\t\t\t\"public.empty.walletBody\": \"This section only shows wallet-scoped balances, orders, and history after the host provides authenticated wallet context.\",\n\t\t\t\"trading.tab.positions\": \"Positions\",\n\t\t\t\"trading.tab.orders\": \"Orders\",\n\t\t\t\"trading.tab.pnl\": \"P&L\",\n\t\t\t\"trading.tab.history\": \"History\",\n\t\t\t\"trading.tab.monitored\": \"Monitored\",\n\t\t\t\"trading.tab.orderbook\": \"Orderbook\",\n\t\t\t\"trading.tab.group\": \"Trading activity\",\n\t\t\t\"trading.buy\": \"Buy\",\n\t\t\t\"trading.sell\": \"Sell\",\n\t\t\t\"trading.orderSide\": \"Order side\",\n\t\t\t\"trading.limit\": \"Limit\",\n\t\t\t\"trading.stopLoss\": \"Stop Loss\",\n\t\t\t\"trading.takeProfit\": \"Take Profit\",\n\t\t\t\"trading.trailing\": \"Trailing\",\n\t\t\t\"trading.oco\": \"OCO\",\n\t\t\t\"trading.bracket\": \"Bracket\",\n\t\t\t\"trading.dca\": \"DCA\",\n\t\t\t\"trading.auto\": \"Auto\",\n\t\t\t\"trading.orderType\": \"Order type\",\n\t\t\t\"trading.limitPrice\": \"Limit Price\",\n\t\t\t\"trading.triggerPrice\": \"Trigger Price\",\n\t\t\t\"trading.markPrice\": \"Mark\",\n\t\t\t\"trading.amount\": \"Amount\",\n\t\t\t\"trading.cycles\": \"Cycles\",\n\t\t\t\"trading.interval\": \"Interval\",\n\t\t\t\"trading.hourly\": \"Hourly\",\n\t\t\t\"trading.daily\": \"Daily\",\n\t\t\t\"trading.weekly\": \"Weekly\",\n\t\t\t\"trading.trailPercentage\": \"Trail Percentage\",\n\t\t\t\"trading.percentBelowPeak\": \"% below peak\",\n\t\t\t\"trading.stopLossPrice\": \"Stop Loss Price\",\n\t\t\t\"trading.takeProfitPrice\": \"Take Profit Price\",\n\t\t\t\"trading.stopLossPercent\": \"Stop Loss %\",\n\t\t\t\"trading.takeProfitPercent\": \"Take Profit %\",\n\t\t\t\"trading.submit\": \"{side} {symbol}\",\n\t\t\t\"trading.errorWalletSigningRequired\": \"Wallet signing is required\",\n\t\t\t\"trading.errorEnterPrice\": \"Enter a price\",\n\t\t\t\"trading.errorEnterValidAmountPrice\": \"Enter a valid amount and price\",\n\t\t\t\"trading.errorEnterTriggerPrice\": \"Enter a trigger price\",\n\t\t\t\"trading.errorEnterValidAmount\": \"Enter a valid amount\",\n\t\t\t\"trading.errorEmbeddedWalletTrailing\": \"Embedded wallet required for trailing stops\",\n\t\t\t\"trading.errorEmbeddedWalletBracket\": \"Embedded wallet required for bracket orders\",\n\t\t\t\"trading.errorOcoPrices\": \"Enter both stop-loss and take-profit prices\",\n\t\t\t\"trading.errorEnableAutoFeature\": \"Enable at least one auto feature\",\n\t\t\t\"trading.errorValidCycleCount\": \"Enter a valid cycle count\",\n\t\t\t\"trading.auto.priceTargets\": \"Price Targets\",\n\t\t\t\"trading.auto.priceTargetsDesc\": \"Set multiple price targets to auto-sell portions\",\n\t\t\t\"trading.auto.profitProtection\": \"Profit Protection\",\n\t\t\t\"trading.auto.profitProtectionDesc\": \"Auto-sell if price drops from peak\",\n\t\t\t\"trading.auto.stopLossDesc\": \"Auto-sell if price drops below threshold\",\n\t\t\t\"trading.auto.trailingStop\": \"Trailing Stop\",\n\t\t\t\"trading.auto.trailingStopDesc\": \"Stop-loss that follows price upward\",\n\t\t\t\"trading.auto.pricePlaceholder\": \"Price\",\n\t\t\t\"trading.auto.dropPercentPlaceholder\": \"Drop %\",\n\t\t\t\"trading.auto.activateAbovePlaceholder\": \"Activate above\",\n\t\t\t\"trading.auto.stopPricePlaceholder\": \"Stop price\",\n\t\t\t\"trading.auto.trailPercentPlaceholder\": \"Trail %\",\n\t\t\t\"trading.auto.priceSuffix\": \"price\",\n\t\t\t\"trading.auto.triggerSuffix\": \"trigger\",\n\t\t\t\"trading.auto.addTarget\": \"+ Add Target\",\n\t\t\t\"trading.auto.removeTarget\": \"Remove target {index}\",\n\t\t\t\"trading.auto.summaryTakeProfit\": \"Take-profit at {price}\",\n\t\t\t\"trading.auto.summaryStopLoss\": \"Stop-loss at {price}\",\n\t\t\t\"trading.auto.summaryTrailing\": \"Trailing stop {percent}\",\n\t\t\t\"trading.chart.emptyTitle\": \"Chart data unavailable\",\n\t\t\t\"trading.chart.emptyBody\": \"Connect a market data route or switch to a hosted chart provider before publishing this trading page.\",\n\t\t\t\"orders.noOpenOrders\": \"No open orders\",\n\t\t\t\"orders.type\": \"Type\",\n\t\t\t\"orders.pair\": \"Pair\",\n\t\t\t\"orders.trigger\": \"Trigger\",\n\t\t\t\"orders.cancel\": \"Cancel\",\n\t\t\t\"orders.cancelConfirm\": \"Confirm cancel\",\n\t\t\t\"orders.cancelKeep\": \"Keep order\",\n\t\t\t\"orders.cancelling\": \"Cancelling...\",\n\t\t\t\"orders.cancelFailed\": \"Could not cancel the order. It is still active — try again.\",\n\t\t\t\"orders.dcaSchedules\": \"DCA Schedules\",\n\t\t\t\"orders.cycles\": \"{completed}/{total} cycles\",\n\t\t\t\"orders.cycles.one\": \"{completed}/{total} cycle\",\n\t\t\t\"orders.next\": \"Next: {date}\",\n\t\t\t\"orders.noMonitored\": \"No monitored orders\",\n\t\t\t\"orders.triggerPrice\": \"Trigger: {price}\",\n\t\t\t\"orders.peakPrice\": \"Peak: {price}\",\n\t\t\t\"orders.filledAt\": \"Filled @ {price}\",\n\t\t\t\"orders.pendingActions\": \"Pending Actions ({count})\",\n\t\t\t\"orders.pendingActions.one\": \"Pending Action ({count})\",\n\t\t\t\"orders.expires\": \"Expires {time}\",\n\t\t\t\"orders.sign\": \"Sign\",\n\t\t\t\"orders.actionTriggered\": \"{type} triggered — sign to execute\",\n\t\t\t\"orders.type.limit\": \"Limit\",\n\t\t\t\"orders.type.stopLoss\": \"Stop Loss\",\n\t\t\t\"orders.type.takeProfit\": \"Take Profit\",\n\t\t\t\"orders.type.trailingStop\": \"Trailing Stop\",\n\t\t\t\"orders.type.oco\": \"OCO\",\n\t\t\t\"orders.type.ocoSl\": \"OCO Stop Loss\",\n\t\t\t\"orders.type.ocoTpWatcher\": \"OCO Take Profit\",\n\t\t\t\"orders.type.bracket\": \"Bracket\",\n\t\t\t\"orders.type.dca\": \"DCA\",\n\t\t\t\"orders.status.open\": \"Open\",\n\t\t\t\"orders.status.filled\": \"Filled\",\n\t\t\t\"orders.status.monitoring\": \"Monitoring\",\n\t\t\t\"orders.status.executed\": \"Executed\",\n\t\t\t\"orders.status.cancelled\": \"Cancelled\",\n\t\t\t\"orders.status.failed\": \"Failed\",\n\t\t\t\"orders.status.actionPending\": \"Action Pending\",\n\t\t\t\"orders.status.independent\": \"Independent\",\n\t\t\t\"orders.status.pendingEntry\": \"Pending Entry\",\n\t\t\t\"orders.status.active\": \"Active\",\n\t\t\t\"orders.status.completed\": \"Completed\",\n\t\t\t\"orders.status.expired\": \"Expired\",\n\t\t\t\"trades.type.swap\": \"Swap\",\n\t\t\t\"trades.type.buy\": \"Buy\",\n\t\t\t\"trades.type.sell\": \"Sell\",\n\t\t\t\"trades.type.transfer\": \"Transfer\",\n\t\t\t\"portfolio.title\": \"Portfolio\",\n\t\t\t\"portfolio.connectWallet\": \"Connect a wallet to view your portfolio\",\n\t\t\t\"portfolio.totalValue\": \"Total Value\",\n\t\t\t\"portfolio.openOrders\": \"Open Orders\",\n\t\t\t\"portfolio.noHoldings\": \"No holdings\",\n\t\t\t\"portfolio.degradedBalances\": \"Token balances are unavailable right now. Showing SOL balance only.\",\n\t\t\t\"portfolio.token\": \"Token\",\n\t\t\t\"portfolio.balance\": \"Balance\",\n\t\t\t\"portfolio.price\": \"Price\",\n\t\t\t\"portfolio.value\": \"Value\",\n\t\t\t\"portfolio.pnlUnavailable\": \"P&L unavailable - indexer not configured\",\n\t\t\t\"portfolio.tradeHistoryUnavailable\": \"Trade history unavailable - indexer not configured\",\n\t\t\t\"portfolio.noTradeHistory\": \"No trade history\",\n\t\t\t\"portfolio.costBasis\": \"Cost Basis\",\n\t\t\t\"portfolio.pnl\": \"P&L\",\n\t\t\t\"portfolio.entry\": \"Entry\",\n\t\t\t\"portfolio.current\": \"Current\",\n\t\t\t\"portfolio.date\": \"Date\",\n\t\t\t\"portfolio.type\": \"Type\",\n\t\t\t\"portfolio.in\": \"In\",\n\t\t\t\"portfolio.out\": \"Out\",\n\t\t\t\"portfolio.source\": \"Source\",\n\t\t\t\"orderbook.noData\": \"No orderbook data\",\n\t\t\t\"orderbook.noDataHint\": \"This market has no live orderbook yet. It appears once a market data route is connected for this pair.\",\n\t\t\t\"orderbook.title\": \"Orderbook\",\n\t\t\t\"orderbook.live\": \"Live\",\n\t\t\t\"orderbook.liveTooltip\": \"Connected to a live market data feed.\",\n\t\t\t\"orderbook.polling\": \"Polling\",\n\t\t\t\"orderbook.pollingTooltip\": \"Refreshing on a timer. Live updates resume when the data feed reconnects.\",\n\t\t\t\"orderbook.selectLevel\": \"Use price {price} for a {side} order\",\n\t\t\t\"orderbook.price\": \"Price\",\n\t\t\t\"orderbook.size\": \"Size\",\n\t\t\t\"orderbook.total\": \"Total\",\n\t\t\t\"orderbook.spread\": \"Spread\",\n\t\t\t\"orderbook.mid\": \"Mid: {price}\",\n\t\t\t\"metadata.extension.description\": \"Owner-governed Solana conversion previews that compare approved providers while wallet-dependent compatibility surfaces remain secondary and fail-closed.\",\n\t\t\t\"metadata.dashboard.status.description\": \"Shows whether the visitor quote journey is ready to publish.\",\n\t\t\t\"metadata.block.tradeSurface.displayName\": \"Solana Quote Preview\",\n\t\t\t\"metadata.block.tradeSurface.description\": \"Owner-editable multi-provider conversion estimate, with preserved compatibility modes for host-integrated wallet surfaces.\",\n\t\t\t\"metadata.block.tradeSurface.nativeFallback\": \"Open this Cedros Trade page in the web experience.\",\n\t\t\t\"metadata.authoredSurface.tradePages.displayName\": \"Trade Pages (Compatibility Set)\",\n\t\t\t\"metadata.authoredSurface.tradePages.description\": \"The primary quote preview plus preserved setup-state pages for existing wallet-dependent Trade content.\",\n\t\t\t\"metadata.authoredSurface.tradePages.eyebrow\": \"Trade\",\n\t\t\t\"metadata.authoredUtility.tradePageSet.displayName\": \"Legacy Trade Page Set\",\n\t\t\t\"metadata.authoredUtility.tradePageSet.description\": \"Preserves the released four-page set for existing content; new sites should create only the Solana Quote Preview.\",\n\t\t\t\"metadata.template.swap.displayName\": \"Solana Quote Preview\",\n\t\t\t\"metadata.template.transfer.displayName\": \"Transfer Setup (Requires Host)\",\n\t\t\t\"metadata.template.trading.displayName\": \"Trading Setup (Requires Host)\",\n\t\t\t\"metadata.template.portfolio.displayName\": \"Portfolio Setup (Requires Host)\",\n\t\t\t\"metadata.page.swap.displayName\": \"Solana Quote Preview\",\n\t\t\t\"metadata.page.transfer.displayName\": \"Transfer Setup (Requires Host)\",\n\t\t\t\"metadata.page.trading.displayName\": \"Trading Setup (Requires Host)\",\n\t\t\t\"metadata.page.portfolio.displayName\": \"Portfolio Setup (Requires Host)\",\n\t\t\t\"metadata.page.swap.description\": \"Extension-owned public page that compares approved Solana providers and explains the best current conversion estimate without moving funds.\",\n\t\t\t\"metadata.page.transfer.description\": \"Compatibility page retained for existing authored content; it stays unavailable until Cedros supplies verified wallet identity and signing.\",\n\t\t\t\"metadata.page.trading.description\": \"Compatibility page retained for existing authored content; order actions stay unavailable without verified wallet identity and signing.\",\n\t\t\t\"metadata.page.portfolio.description\": \"Compatibility page retained for existing authored content; wallet-scoped data stays unavailable without verified wallet identity.\",\n\t\t\t\"metadata.surface.swap.body\": \"Compare approved Solana routes and understand the best current conversion estimate.\",\n\t\t\t\"metadata.surface.transfer.body\": \"Prepare a SOL or SPL transfer only after a documented authenticated wallet and signing integration is connected.\",\n\t\t\t\"metadata.surface.trading.body\": \"Manage smart Solana orders only after a documented verified-wallet signing integration is connected.\",\n\t\t\t\"metadata.surface.portfolio.body\": \"Review balances and activity only after the host supplies verified wallet identity.\",\n\t\t\t\"metadata.template.swapFallback\": \"Swap page unavailable in this export. Open the Cedros Trade web page.\",\n\t\t\t\"metadata.template.transferFallback\": \"Transfer page unavailable in this export. Open the Cedros Trade web page.\",\n\t\t\t\"metadata.template.tradingFallback\": \"Trading page unavailable in this export. Open the Cedros Trade web page.\",\n\t\t\t\"metadata.template.portfolioFallback\": \"Portfolio page unavailable in this export. Open the Cedros Trade web page.\",\n\t\t\t\"metadata.form.tradeSupport.title\": \"Quote Preview Support\",\n\t\t\t\"metadata.form.tradeSupport.description\": \"Owner-editable form for visitors who cannot obtain or understand a Cedros Trade conversion estimate.\",\n\t\t\t\"metadata.form.tradeSupport.submit\": \"Send request\",\n\t\t\t\"metadata.form.tradeSupport.successTitle\": \"Request received\",\n\t\t\t\"metadata.form.tradeSupport.successMessage\": \"Your request has been sent. The site owner will review it and follow up if more information is needed.\",\n\t\t\t\"metadata.form.name.label\": \"Name\",\n\t\t\t\"metadata.form.name.placeholder\": \"Your name\",\n\t\t\t\"metadata.form.email.label\": \"Email\",\n\t\t\t\"metadata.form.email.placeholder\": \"you@example.com\",\n\t\t\t\"metadata.form.email.help\": \"Used only to respond to this support request.\",\n\t\t\t\"metadata.form.issueType.label\": \"Issue type\",\n\t\t\t\"metadata.form.issue.swap\": \"Quote did not load\",\n\t\t\t\"metadata.form.issue.transfer\": \"Amount or rate looks wrong\",\n\t\t\t\"metadata.form.issue.order\": \"Token is unavailable\",\n\t\t\t\"metadata.form.issue.portfolio\": \"Quote details are unclear\",\n\t\t\t\"metadata.form.issue.other\": \"Other\",\n\t\t\t\"metadata.form.message.label\": \"Message\",\n\t\t\t\"metadata.form.message.placeholder\": \"Include the token symbols, approximate amount, and what you expected. Do not include private wallet credentials.\",\n\t\t\t\"metadata.form.consent.label\": \"I consent to being contacted about this support request.\",\n\t\t\t\"metadata.form.consent.help\": \"The site owner may use the submitted email address only to respond to this request.\",\n\t\t\t\"metadata.docs.gettingStarted.displayName\": \"Understanding Your Solana Quote\",\n\t\t\t\"metadata.docs.gettingStarted.title\": \"Understanding Your Solana Quote\",\n\t\t\t\"metadata.docs.gettingStarted.excerpt\": \"How to request, interpret, refresh, and troubleshoot a Cedros Trade conversion estimate.\",\n\t\t\t\"metadata.docs.gettingStarted.navLabel\": \"Understanding Quotes\",\n\t\t\t\"metadata.docs.gettingStarted.bodyMarkdown\": \"# Understanding Your Solana Quote\\n\\nCedros Trade compares current estimates from the Solana providers approved by this site. A quote helps you understand a possible conversion; it does not move funds or request a wallet signature.\\n\\n## Get An Estimate\\n\\n1. Choose the token you would provide and the token you want to receive.\\n2. Enter an amount.\\n3. Wait for the available providers to return estimates.\\n\\nThe page selects the estimate with the highest received amount from the providers that responded. If an approved route is missing, the page labels the result as best available and names the missing provider so you can refresh before relying on it.\\n\\n## Read The Result\\n\\n- **Rate** shows the estimated conversion for one input token.\\n- **Price impact** estimates how much the conversion may move the market price.\\n- **Minimum received** reflects the quote protection selected by the site.\\n- **Available routes** lets you compare the responding providers.\\n- **Updated** tells you when the estimate was received.\\n\\nQuotes can change quickly. Refresh the estimate before using it to make a decision.\\n\\n## If A Quote Does Not Load\\n\\nCheck the amount and token pair, then retry. A provider may be temporarily unavailable even when another provider is working. If no provider returns an estimate, use the Quote Preview Support form and include the token symbols and approximate amount. Never send a seed phrase, private key, password, one-time code, or API key.\\n\",\n\t\t\t\"metadata.docs.walletSafety.displayName\": \"Wallet Safety For Future Trade Actions\",\n\t\t\t\"metadata.docs.walletSafety.title\": \"Wallet Safety For Future Trade Actions\",\n\t\t\t\"metadata.docs.walletSafety.excerpt\": \"Internal compatibility guidance for a future documented wallet-signing integration.\",\n\t\t\t\"metadata.docs.walletSafety.navLabel\": \"Wallet Safety\",\n\t\t\t\"metadata.docs.walletSafety.bodyMarkdown\": \"# Wallet Safety For Future Trade Actions\\n\\nThis internal compatibility guide applies only if this site later connects a documented wallet identity and signing integration. The current public Cedros Trade quote preview does not move funds or request a signature.\\n\\n## Never Share\\n\\n- Seed phrases\\n- Private keys\\n- Passwords\\n- One-time codes\\n- API keys\\n- Card numbers or wallet recovery material\\n\\n## Review Before Signing\\n\\n- The connected wallet is the intended wallet.\\n- The token mint and symbol match what you expect.\\n- The amount, slippage, and recipient are correct.\\n- The transaction source is trusted by your site.\\n\\n## Support Notes\\n\\nA public wallet address or transaction signature may help authorized support investigate a future transaction issue. Never send private credentials through forms, chat, email, or docs comments.\\n\",\n\t\t\t\"metadata.onboarding.reviewReadiness.displayName\": \"Check quote readiness\",\n\t\t\t\"metadata.onboarding.reviewReadiness.description\": \"Confirm that the public runtime, token policy, and every enabled provider can complete the same real comparison quote.\",\n\t\t\t\"metadata.onboarding.configureProviders.displayName\": \"Review quote providers\",\n\t\t\t\"metadata.onboarding.configureProviders.description\": \"Keep only approved provider routes enabled and resolve any upstream access failure.\",\n\t\t\t\"metadata.onboarding.reviewTokenRegistry.displayName\": \"Review quote tokens\",\n\t\t\t\"metadata.onboarding.reviewTokenRegistry.description\": \"Confirm the token pairs visitors may compare on the public quote page.\",\n\t\t\t\"metadata.onboarding.configureSettings.displayName\": \"Review quote protection\",\n\t\t\t\"metadata.onboarding.configureSettings.description\": \"Accept the 0.3% default or choose a site-specific exception before publishing.\",\n\t\t\t\"metadata.onboarding.verifyMonitor.displayName\": \"Optional: review future automation\",\n\t\t\t\"metadata.onboarding.verifyMonitor.description\": \"Inspect the preserved dry-run monitor only when evaluating a future documented wallet-signing integration; it is not required for quote launch.\",\n\t\t\t\"metadata.analytics.swapBuilt.displayName\": \"Swap Built\",\n\t\t\t\"metadata.analytics.swapBuilt.description\": \"Counts successful swap transaction builds before a documented wallet signing handoff.\",\n\t\t\t\"metadata.analytics.quotePreviewed.displayName\": \"Quote Previewed\",\n\t\t\t\"metadata.analytics.quotePreviewed.description\": \"Counts completed public quote comparisons using redacted token, amount, slippage, and provider metadata.\",\n\t\t\t\"metadata.analytics.swapBuildFailed.displayName\": \"Swap Build Failed\",\n\t\t\t\"metadata.analytics.swapBuildFailed.description\": \"Counts failed swap transaction build attempts using redacted provider and bucket metadata.\",\n\t\t\t\"metadata.analytics.swapExecutionRecorded.displayName\": \"Swap Execution Recorded\",\n\t\t\t\"metadata.analytics.swapExecutionRecorded.description\": \"Counts submitted, confirmed, or failed swap execution outcomes without signatures.\",\n\t\t\t\"metadata.analytics.transferBuilt.displayName\": \"Transfer Built\",\n\t\t\t\"metadata.analytics.transferBuilt.description\": \"Counts successful SOL or SPL transfer transaction builds before a documented wallet signing handoff.\",\n\t\t\t\"metadata.analytics.orderSubmitted.displayName\": \"Order Submitted\",\n\t\t\t\"metadata.analytics.orderSubmitted.description\": \"Counts accepted smart or monitored order submissions after validation.\",\n\t\t\t\"metadata.analytics.tradeWorkflowBlocked.displayName\": \"Trade Workflow Blocked\",\n\t\t\t\"metadata.analytics.tradeWorkflowBlocked.description\": \"Counts transfer, order, or orderbook workflows blocked by missing host contracts.\",\n\t\t\t\"metadata.analytics.adminActionCompleted.displayName\": \"Admin Action Completed\",\n\t\t\t\"metadata.analytics.adminActionCompleted.description\": \"Counts completed provider, token registry, settings, and monitor actions in the admin module.\",\n\t\t\t\"metadata.analytics.monitorRunRecorded.displayName\": \"Monitor Run Recorded\",\n\t\t\t\"metadata.analytics.monitorRunRecorded.description\": \"Counts price monitor job run outcomes using redacted aggregate status metadata.\"\n\t\t}\n\t}],\n\tpolicies: [],\n\tpwaShortcuts: [],\n\tcustomerTagAccess: []\n};\n//#endregion\nexport { e as t };\n","imports":[],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/lightweight-charts.production-YBpnU30V.js","kind":"module","text":"//#region node_modules/fancy-canvas/size.mjs\nfunction e(e) {\n\tvar t = e.width, n = e.height;\n\tif (t < 0) throw Error(\"Negative width is not allowed for Size\");\n\tif (n < 0) throw Error(\"Negative height is not allowed for Size\");\n\treturn {\n\t\twidth: t,\n\t\theight: n\n\t};\n}\nfunction t(e, t) {\n\treturn e.width === t.width && e.height === t.height;\n}\n//#endregion\n//#region node_modules/fancy-canvas/device-pixel-ratio.mjs\nvar n = function() {\n\tfunction e(e) {\n\t\tvar t = this;\n\t\tthis._resolutionListener = function() {\n\t\t\treturn t._onResolutionChanged();\n\t\t}, this._resolutionMediaQueryList = null, this._observers = [], this._window = e, this._installResolutionListener();\n\t}\n\treturn e.prototype.dispose = function() {\n\t\tthis._uninstallResolutionListener(), this._window = null;\n\t}, Object.defineProperty(e.prototype, \"value\", {\n\t\tget: function() {\n\t\t\treturn this._window.devicePixelRatio;\n\t\t},\n\t\tenumerable: !1,\n\t\tconfigurable: !0\n\t}), e.prototype.subscribe = function(e) {\n\t\tvar t = this, n = { next: e };\n\t\treturn this._observers.push(n), { unsubscribe: function() {\n\t\t\tt._observers = t._observers.filter(function(e) {\n\t\t\t\treturn e !== n;\n\t\t\t});\n\t\t} };\n\t}, e.prototype._installResolutionListener = function() {\n\t\tif (this._resolutionMediaQueryList !== null) throw Error(\"Resolution listener is already installed\");\n\t\tvar e = this._window.devicePixelRatio;\n\t\tthis._resolutionMediaQueryList = this._window.matchMedia(`all and (resolution: ${e}dppx)`), this._resolutionMediaQueryList.addListener(this._resolutionListener);\n\t}, e.prototype._uninstallResolutionListener = function() {\n\t\tthis._resolutionMediaQueryList !== null && (this._resolutionMediaQueryList.removeListener(this._resolutionListener), this._resolutionMediaQueryList = null);\n\t}, e.prototype._reinstallResolutionListener = function() {\n\t\tthis._uninstallResolutionListener(), this._installResolutionListener();\n\t}, e.prototype._onResolutionChanged = function() {\n\t\tvar e = this;\n\t\tthis._observers.forEach(function(t) {\n\t\t\treturn t.next(e._window.devicePixelRatio);\n\t\t}), this._reinstallResolutionListener();\n\t}, e;\n}();\nfunction r(e) {\n\treturn new n(e);\n}\n//#endregion\n//#region node_modules/fancy-canvas/canvas-element-bitmap-size.mjs\nvar i = function() {\n\tfunction n(t, n, r) {\n\t\tthis._canvasElement = null, this._bitmapSizeChangedListeners = [], this._suggestedBitmapSize = null, this._suggestedBitmapSizeChangedListeners = [], this._devicePixelRatioObservable = null, this._canvasElementResizeObserver = null, this._canvasElement = t, this._canvasElementClientSize = e({\n\t\t\twidth: this._canvasElement.clientWidth,\n\t\t\theight: this._canvasElement.clientHeight\n\t\t}), this._transformBitmapSize = n ?? (function(e) {\n\t\t\treturn e;\n\t\t}), this._allowResizeObserver = r?.allowResizeObserver ?? !0, this._chooseAndInitObserver();\n\t}\n\treturn n.prototype.dispose = function() {\n\t\tvar e, t;\n\t\tif (this._canvasElement === null) throw Error(\"Object is disposed\");\n\t\t(e = this._canvasElementResizeObserver) == null || e.disconnect(), this._canvasElementResizeObserver = null, (t = this._devicePixelRatioObservable) == null || t.dispose(), this._devicePixelRatioObservable = null, this._suggestedBitmapSizeChangedListeners.length = 0, this._bitmapSizeChangedListeners.length = 0, this._canvasElement = null;\n\t}, Object.defineProperty(n.prototype, \"canvasElement\", {\n\t\tget: function() {\n\t\t\tif (this._canvasElement === null) throw Error(\"Object is disposed\");\n\t\t\treturn this._canvasElement;\n\t\t},\n\t\tenumerable: !1,\n\t\tconfigurable: !0\n\t}), Object.defineProperty(n.prototype, \"canvasElementClientSize\", {\n\t\tget: function() {\n\t\t\treturn this._canvasElementClientSize;\n\t\t},\n\t\tenumerable: !1,\n\t\tconfigurable: !0\n\t}), Object.defineProperty(n.prototype, \"bitmapSize\", {\n\t\tget: function() {\n\t\t\treturn e({\n\t\t\t\twidth: this.canvasElement.width,\n\t\t\t\theight: this.canvasElement.height\n\t\t\t});\n\t\t},\n\t\tenumerable: !1,\n\t\tconfigurable: !0\n\t}), n.prototype.resizeCanvasElement = function(t) {\n\t\tthis._canvasElementClientSize = e(t), this.canvasElement.style.width = `${this._canvasElementClientSize.width}px`, this.canvasElement.style.height = `${this._canvasElementClientSize.height}px`, this._invalidateBitmapSize();\n\t}, n.prototype.subscribeBitmapSizeChanged = function(e) {\n\t\tthis._bitmapSizeChangedListeners.push(e);\n\t}, n.prototype.unsubscribeBitmapSizeChanged = function(e) {\n\t\tthis._bitmapSizeChangedListeners = this._bitmapSizeChangedListeners.filter(function(t) {\n\t\t\treturn t !== e;\n\t\t});\n\t}, Object.defineProperty(n.prototype, \"suggestedBitmapSize\", {\n\t\tget: function() {\n\t\t\treturn this._suggestedBitmapSize;\n\t\t},\n\t\tenumerable: !1,\n\t\tconfigurable: !0\n\t}), n.prototype.subscribeSuggestedBitmapSizeChanged = function(e) {\n\t\tthis._suggestedBitmapSizeChangedListeners.push(e);\n\t}, n.prototype.unsubscribeSuggestedBitmapSizeChanged = function(e) {\n\t\tthis._suggestedBitmapSizeChangedListeners = this._suggestedBitmapSizeChangedListeners.filter(function(t) {\n\t\t\treturn t !== e;\n\t\t});\n\t}, n.prototype.applySuggestedBitmapSize = function() {\n\t\tif (this._suggestedBitmapSize !== null) {\n\t\t\tvar e = this._suggestedBitmapSize;\n\t\t\tthis._suggestedBitmapSize = null, this._resizeBitmap(e), this._emitSuggestedBitmapSizeChanged(e, this._suggestedBitmapSize);\n\t\t}\n\t}, n.prototype._resizeBitmap = function(e) {\n\t\tvar n = this.bitmapSize;\n\t\tt(n, e) || (this.canvasElement.width = e.width, this.canvasElement.height = e.height, this._emitBitmapSizeChanged(n, e));\n\t}, n.prototype._emitBitmapSizeChanged = function(e, t) {\n\t\tvar n = this;\n\t\tthis._bitmapSizeChangedListeners.forEach(function(r) {\n\t\t\treturn r.call(n, e, t);\n\t\t});\n\t}, n.prototype._suggestNewBitmapSize = function(n) {\n\t\tvar r = this._suggestedBitmapSize, i = e(this._transformBitmapSize(n, this._canvasElementClientSize)), a = t(this.bitmapSize, i) ? null : i;\n\t\tr === null && a === null || r !== null && a !== null && t(r, a) || (this._suggestedBitmapSize = a, this._emitSuggestedBitmapSizeChanged(r, a));\n\t}, n.prototype._emitSuggestedBitmapSizeChanged = function(e, t) {\n\t\tvar n = this;\n\t\tthis._suggestedBitmapSizeChangedListeners.forEach(function(r) {\n\t\t\treturn r.call(n, e, t);\n\t\t});\n\t}, n.prototype._chooseAndInitObserver = function() {\n\t\tvar e = this;\n\t\tif (!this._allowResizeObserver) {\n\t\t\tthis._initDevicePixelRatioObservable();\n\t\t\treturn;\n\t\t}\n\t\ts().then(function(t) {\n\t\t\treturn t ? e._initResizeObserver() : e._initDevicePixelRatioObservable();\n\t\t});\n\t}, n.prototype._initDevicePixelRatioObservable = function() {\n\t\tvar e = this;\n\t\tif (this._canvasElement !== null) {\n\t\t\tvar t = o(this._canvasElement);\n\t\t\tif (t === null) throw Error(\"No window is associated with the canvas\");\n\t\t\tthis._devicePixelRatioObservable = r(t), this._devicePixelRatioObservable.subscribe(function() {\n\t\t\t\treturn e._invalidateBitmapSize();\n\t\t\t}), this._invalidateBitmapSize();\n\t\t}\n\t}, n.prototype._invalidateBitmapSize = function() {\n\t\tif (this._canvasElement !== null) {\n\t\t\tvar t = o(this._canvasElement);\n\t\t\tif (t !== null) {\n\t\t\t\tvar n = this._devicePixelRatioObservable?.value ?? t.devicePixelRatio, r = this._canvasElement.getClientRects(), i = r[0] === void 0 ? e({\n\t\t\t\t\twidth: this._canvasElementClientSize.width * n,\n\t\t\t\t\theight: this._canvasElementClientSize.height * n\n\t\t\t\t}) : c(r[0], n);\n\t\t\t\tthis._suggestNewBitmapSize(i);\n\t\t\t}\n\t\t}\n\t}, n.prototype._initResizeObserver = function() {\n\t\tvar t = this;\n\t\tthis._canvasElement !== null && (this._canvasElementResizeObserver = new ResizeObserver(function(n) {\n\t\t\tvar r = n.find(function(e) {\n\t\t\t\treturn e.target === t._canvasElement;\n\t\t\t});\n\t\t\tif (!(!r || !r.devicePixelContentBoxSize || !r.devicePixelContentBoxSize[0])) {\n\t\t\t\tvar i = r.devicePixelContentBoxSize[0], a = e({\n\t\t\t\t\twidth: i.inlineSize,\n\t\t\t\t\theight: i.blockSize\n\t\t\t\t});\n\t\t\t\tt._suggestNewBitmapSize(a);\n\t\t\t}\n\t\t}), this._canvasElementResizeObserver.observe(this._canvasElement, { box: \"device-pixel-content-box\" }));\n\t}, n;\n}();\nfunction a(e, t) {\n\tif (t.type === \"device-pixel-content-box\") return new i(e, t.transform, t.options);\n\tthrow Error(\"Unsupported binding target\");\n}\nfunction o(e) {\n\treturn e.ownerDocument.defaultView;\n}\nfunction s() {\n\treturn new Promise(function(e) {\n\t\tvar t = new ResizeObserver(function(n) {\n\t\t\te(n.every(function(e) {\n\t\t\t\treturn \"devicePixelContentBoxSize\" in e;\n\t\t\t})), t.disconnect();\n\t\t});\n\t\tt.observe(document.body, { box: \"device-pixel-content-box\" });\n\t}).catch(function() {\n\t\treturn !1;\n\t});\n}\nfunction c(t, n) {\n\treturn e({\n\t\twidth: Math.round(t.left * n + t.width * n) - Math.round(t.left * n),\n\t\theight: Math.round(t.top * n + t.height * n) - Math.round(t.top * n)\n\t});\n}\n//#endregion\n//#region node_modules/fancy-canvas/canvas-rendering-target.mjs\nvar l = function() {\n\tfunction e(e, t, n) {\n\t\tif (t.width === 0 || t.height === 0) throw TypeError(\"Rendering target could only be created on a media with positive width and height\");\n\t\tif (this._mediaSize = t, n.width === 0 || n.height === 0) throw TypeError(\"Rendering target could only be created using a bitmap with positive integer width and height\");\n\t\tthis._bitmapSize = n, this._context = e;\n\t}\n\treturn e.prototype.useMediaCoordinateSpace = function(e) {\n\t\ttry {\n\t\t\treturn this._context.save(), this._context.setTransform(1, 0, 0, 1, 0, 0), this._context.scale(this._horizontalPixelRatio, this._verticalPixelRatio), e({\n\t\t\t\tcontext: this._context,\n\t\t\t\tmediaSize: this._mediaSize\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._context.restore();\n\t\t}\n\t}, e.prototype.useBitmapCoordinateSpace = function(e) {\n\t\ttry {\n\t\t\treturn this._context.save(), this._context.setTransform(1, 0, 0, 1, 0, 0), e({\n\t\t\t\tcontext: this._context,\n\t\t\t\tmediaSize: this._mediaSize,\n\t\t\t\tbitmapSize: this._bitmapSize,\n\t\t\t\thorizontalPixelRatio: this._horizontalPixelRatio,\n\t\t\t\tverticalPixelRatio: this._verticalPixelRatio\n\t\t\t});\n\t\t} finally {\n\t\t\tthis._context.restore();\n\t\t}\n\t}, Object.defineProperty(e.prototype, \"_horizontalPixelRatio\", {\n\t\tget: function() {\n\t\t\treturn this._bitmapSize.width / this._mediaSize.width;\n\t\t},\n\t\tenumerable: !1,\n\t\tconfigurable: !0\n\t}), Object.defineProperty(e.prototype, \"_verticalPixelRatio\", {\n\t\tget: function() {\n\t\t\treturn this._bitmapSize.height / this._mediaSize.height;\n\t\t},\n\t\tenumerable: !1,\n\t\tconfigurable: !0\n\t}), e;\n}();\nfunction u(e, t) {\n\tvar n = e.canvasElementClientSize;\n\tif (n.width === 0 || n.height === 0) return null;\n\tvar r = e.bitmapSize;\n\tif (r.width === 0 || r.height === 0) return null;\n\tvar i = e.canvasElement.getContext(\"2d\", t);\n\treturn i === null ? null : new l(i, n, r);\n}\n//#endregion\n//#region node_modules/lightweight-charts/dist/lightweight-charts.production.mjs\nvar d = {\n\tupColor: \"#26a69a\",\n\tdownColor: \"#ef5350\",\n\twickVisible: !0,\n\tborderVisible: !0,\n\tborderColor: \"#378658\",\n\tborderUpColor: \"#26a69a\",\n\tborderDownColor: \"#ef5350\",\n\twickColor: \"#737375\",\n\twickUpColor: \"#26a69a\",\n\twickDownColor: \"#ef5350\"\n}, f = {\n\tupColor: \"#26a69a\",\n\tdownColor: \"#ef5350\",\n\topenVisible: !0,\n\tthinBars: !0\n}, p = {\n\tcolor: \"#2196f3\",\n\tlineStyle: 0,\n\tlineWidth: 3,\n\tlineType: 0,\n\tlineVisible: !0,\n\tcrosshairMarkerVisible: !0,\n\tcrosshairMarkerRadius: 4,\n\tcrosshairMarkerBorderColor: \"\",\n\tcrosshairMarkerBorderWidth: 2,\n\tcrosshairMarkerBackgroundColor: \"\",\n\tlastPriceAnimation: 0,\n\tpointMarkersVisible: !1\n}, m = {\n\ttopColor: \"rgba( 46, 220, 135, 0.4)\",\n\tbottomColor: \"rgba( 40, 221, 100, 0)\",\n\tinvertFilledArea: !1,\n\tlineColor: \"#33D778\",\n\tlineStyle: 0,\n\tlineWidth: 3,\n\tlineType: 0,\n\tlineVisible: !0,\n\tcrosshairMarkerVisible: !0,\n\tcrosshairMarkerRadius: 4,\n\tcrosshairMarkerBorderColor: \"\",\n\tcrosshairMarkerBorderWidth: 2,\n\tcrosshairMarkerBackgroundColor: \"\",\n\tlastPriceAnimation: 0,\n\tpointMarkersVisible: !1\n}, h = {\n\tbaseValue: {\n\t\ttype: \"price\",\n\t\tprice: 0\n\t},\n\ttopFillColor1: \"rgba(38, 166, 154, 0.28)\",\n\ttopFillColor2: \"rgba(38, 166, 154, 0.05)\",\n\ttopLineColor: \"rgba(38, 166, 154, 1)\",\n\tbottomFillColor1: \"rgba(239, 83, 80, 0.05)\",\n\tbottomFillColor2: \"rgba(239, 83, 80, 0.28)\",\n\tbottomLineColor: \"rgba(239, 83, 80, 1)\",\n\tlineWidth: 3,\n\tlineStyle: 0,\n\tlineType: 0,\n\tlineVisible: !0,\n\tcrosshairMarkerVisible: !0,\n\tcrosshairMarkerRadius: 4,\n\tcrosshairMarkerBorderColor: \"\",\n\tcrosshairMarkerBorderWidth: 2,\n\tcrosshairMarkerBackgroundColor: \"\",\n\tlastPriceAnimation: 0,\n\tpointMarkersVisible: !1\n}, g = {\n\tcolor: \"#26a69a\",\n\tbase: 0\n}, _ = { color: \"#2196f3\" }, ee = {\n\ttitle: \"\",\n\tvisible: !0,\n\tlastValueVisible: !0,\n\tpriceLineVisible: !0,\n\tpriceLineSource: 0,\n\tpriceLineWidth: 1,\n\tpriceLineColor: \"\",\n\tpriceLineStyle: 2,\n\tbaseLineVisible: !0,\n\tbaseLineWidth: 1,\n\tbaseLineColor: \"#B2B5BE\",\n\tbaseLineStyle: 0,\n\tpriceFormat: {\n\t\ttype: \"price\",\n\t\tprecision: 2,\n\t\tminMove: .01\n\t}\n}, te, ne;\nfunction v(e, t) {\n\tlet n = {\n\t\t0: [],\n\t\t1: [e.lineWidth, e.lineWidth],\n\t\t2: [2 * e.lineWidth, 2 * e.lineWidth],\n\t\t3: [6 * e.lineWidth, 6 * e.lineWidth],\n\t\t4: [e.lineWidth, 4 * e.lineWidth]\n\t}[t];\n\te.setLineDash(n);\n}\nfunction y(e, t, n, r) {\n\te.beginPath();\n\tlet i = e.lineWidth % 2 ? .5 : 0;\n\te.moveTo(n, t + i), e.lineTo(r, t + i), e.stroke();\n}\nfunction b(e, t) {\n\tif (!e) throw Error(\"Assertion failed\" + (t ? \": \" + t : \"\"));\n}\nfunction x(e) {\n\tif (e === void 0) throw Error(\"Value is undefined\");\n\treturn e;\n}\nfunction S(e) {\n\tif (e === null) throw Error(\"Value is null\");\n\treturn e;\n}\nfunction C(e) {\n\treturn S(x(e));\n}\n(function(e) {\n\te[e.Simple = 0] = \"Simple\", e[e.WithSteps = 1] = \"WithSteps\", e[e.Curved = 2] = \"Curved\";\n})(te ||= {}), function(e) {\n\te[e.Solid = 0] = \"Solid\", e[e.Dotted = 1] = \"Dotted\", e[e.Dashed = 2] = \"Dashed\", e[e.LargeDashed = 3] = \"LargeDashed\", e[e.SparseDotted = 4] = \"SparseDotted\";\n}(ne ||= {});\nvar re = {\n\tkhaki: \"#f0e68c\",\n\tazure: \"#f0ffff\",\n\taliceblue: \"#f0f8ff\",\n\tghostwhite: \"#f8f8ff\",\n\tgold: \"#ffd700\",\n\tgoldenrod: \"#daa520\",\n\tgainsboro: \"#dcdcdc\",\n\tgray: \"#808080\",\n\tgreen: \"#008000\",\n\thoneydew: \"#f0fff0\",\n\tfloralwhite: \"#fffaf0\",\n\tlightblue: \"#add8e6\",\n\tlightcoral: \"#f08080\",\n\tlemonchiffon: \"#fffacd\",\n\thotpink: \"#ff69b4\",\n\tlightyellow: \"#ffffe0\",\n\tgreenyellow: \"#adff2f\",\n\tlightgoldenrodyellow: \"#fafad2\",\n\tlimegreen: \"#32cd32\",\n\tlinen: \"#faf0e6\",\n\tlightcyan: \"#e0ffff\",\n\tmagenta: \"#f0f\",\n\tmaroon: \"#800000\",\n\tolive: \"#808000\",\n\torange: \"#ffa500\",\n\toldlace: \"#fdf5e6\",\n\tmediumblue: \"#0000cd\",\n\ttransparent: \"#0000\",\n\tlime: \"#0f0\",\n\tlightpink: \"#ffb6c1\",\n\tmistyrose: \"#ffe4e1\",\n\tmoccasin: \"#ffe4b5\",\n\tmidnightblue: \"#191970\",\n\torchid: \"#da70d6\",\n\tmediumorchid: \"#ba55d3\",\n\tmediumturquoise: \"#48d1cc\",\n\torangered: \"#ff4500\",\n\troyalblue: \"#4169e1\",\n\tpowderblue: \"#b0e0e6\",\n\tred: \"#f00\",\n\tcoral: \"#ff7f50\",\n\tturquoise: \"#40e0d0\",\n\twhite: \"#fff\",\n\twhitesmoke: \"#f5f5f5\",\n\twheat: \"#f5deb3\",\n\tteal: \"#008080\",\n\tsteelblue: \"#4682b4\",\n\tbisque: \"#ffe4c4\",\n\taquamarine: \"#7fffd4\",\n\taqua: \"#0ff\",\n\tsienna: \"#a0522d\",\n\tsilver: \"#c0c0c0\",\n\tspringgreen: \"#00ff7f\",\n\tantiquewhite: \"#faebd7\",\n\tburlywood: \"#deb887\",\n\tbrown: \"#a52a2a\",\n\tbeige: \"#f5f5dc\",\n\tchocolate: \"#d2691e\",\n\tchartreuse: \"#7fff00\",\n\tcornflowerblue: \"#6495ed\",\n\tcornsilk: \"#fff8dc\",\n\tcrimson: \"#dc143c\",\n\tcadetblue: \"#5f9ea0\",\n\ttomato: \"#ff6347\",\n\tfuchsia: \"#f0f\",\n\tblue: \"#00f\",\n\tsalmon: \"#fa8072\",\n\tblanchedalmond: \"#ffebcd\",\n\tslateblue: \"#6a5acd\",\n\tslategray: \"#708090\",\n\tthistle: \"#d8bfd8\",\n\ttan: \"#d2b48c\",\n\tcyan: \"#0ff\",\n\tdarkblue: \"#00008b\",\n\tdarkcyan: \"#008b8b\",\n\tdarkgoldenrod: \"#b8860b\",\n\tdarkgray: \"#a9a9a9\",\n\tblueviolet: \"#8a2be2\",\n\tblack: \"#000\",\n\tdarkmagenta: \"#8b008b\",\n\tdarkslateblue: \"#483d8b\",\n\tdarkkhaki: \"#bdb76b\",\n\tdarkorchid: \"#9932cc\",\n\tdarkorange: \"#ff8c00\",\n\tdarkgreen: \"#006400\",\n\tdarkred: \"#8b0000\",\n\tdodgerblue: \"#1e90ff\",\n\tdarkslategray: \"#2f4f4f\",\n\tdimgray: \"#696969\",\n\tdeepskyblue: \"#00bfff\",\n\tfirebrick: \"#b22222\",\n\tforestgreen: \"#228b22\",\n\tindigo: \"#4b0082\",\n\tivory: \"#fffff0\",\n\tlavenderblush: \"#fff0f5\",\n\tfeldspar: \"#d19275\",\n\tindianred: \"#cd5c5c\",\n\tlightgreen: \"#90ee90\",\n\tlightgrey: \"#d3d3d3\",\n\tlightskyblue: \"#87cefa\",\n\tlightslategray: \"#789\",\n\tlightslateblue: \"#8470ff\",\n\tsnow: \"#fffafa\",\n\tlightseagreen: \"#20b2aa\",\n\tlightsalmon: \"#ffa07a\",\n\tdarksalmon: \"#e9967a\",\n\tdarkviolet: \"#9400d3\",\n\tmediumpurple: \"#9370d8\",\n\tmediumaquamarine: \"#66cdaa\",\n\tskyblue: \"#87ceeb\",\n\tlavender: \"#e6e6fa\",\n\tlightsteelblue: \"#b0c4de\",\n\tmediumvioletred: \"#c71585\",\n\tmintcream: \"#f5fffa\",\n\tnavajowhite: \"#ffdead\",\n\tnavy: \"#000080\",\n\tolivedrab: \"#6b8e23\",\n\tpalevioletred: \"#d87093\",\n\tvioletred: \"#d02090\",\n\tyellow: \"#ff0\",\n\tyellowgreen: \"#9acd32\",\n\tlawngreen: \"#7cfc00\",\n\tpink: \"#ffc0cb\",\n\tpaleturquoise: \"#afeeee\",\n\tpalegoldenrod: \"#eee8aa\",\n\tdarkolivegreen: \"#556b2f\",\n\tdarkseagreen: \"#8fbc8f\",\n\tdarkturquoise: \"#00ced1\",\n\tpeachpuff: \"#ffdab9\",\n\tdeeppink: \"#ff1493\",\n\tviolet: \"#ee82ee\",\n\tpalegreen: \"#98fb98\",\n\tmediumseagreen: \"#3cb371\",\n\tperu: \"#cd853f\",\n\tsaddlebrown: \"#8b4513\",\n\tsandybrown: \"#f4a460\",\n\trosybrown: \"#bc8f8f\",\n\tpurple: \"#800080\",\n\tseagreen: \"#2e8b57\",\n\tseashell: \"#fff5ee\",\n\tpapayawhip: \"#ffefd5\",\n\tmediumslateblue: \"#7b68ee\",\n\tplum: \"#dda0dd\",\n\tmediumspringgreen: \"#00fa9a\"\n};\nfunction w(e) {\n\treturn e < 0 ? 0 : e > 255 ? 255 : Math.round(e) || 0;\n}\nfunction ie(e) {\n\treturn e <= 0 || e > 1 ? Math.min(Math.max(e, 0), 1) : Math.round(1e4 * e) / 1e4;\n}\nvar T = /^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i, ae = /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i, E = /^rgb\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*\\)$/, oe = /^rgba\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d*\\.?\\d+)\\s*\\)$/;\nfunction D(e) {\n\t(e = e.toLowerCase()) in re && (e = re[e]);\n\t{\n\t\tlet t = oe.exec(e) || E.exec(e);\n\t\tif (t) return [\n\t\t\tw(parseInt(t[1], 10)),\n\t\t\tw(parseInt(t[2], 10)),\n\t\t\tw(parseInt(t[3], 10)),\n\t\t\tie(t.length < 5 ? 1 : parseFloat(t[4]))\n\t\t];\n\t}\n\t{\n\t\tlet t = ae.exec(e);\n\t\tif (t) return [\n\t\t\tw(parseInt(t[1], 16)),\n\t\t\tw(parseInt(t[2], 16)),\n\t\t\tw(parseInt(t[3], 16)),\n\t\t\t1\n\t\t];\n\t}\n\t{\n\t\tlet t = T.exec(e);\n\t\tif (t) return [\n\t\t\tw(17 * parseInt(t[1], 16)),\n\t\t\tw(17 * parseInt(t[2], 16)),\n\t\t\tw(17 * parseInt(t[3], 16)),\n\t\t\t1\n\t\t];\n\t}\n\tthrow Error(`Cannot parse color: ${e}`);\n}\nfunction O(e) {\n\treturn .199 * e[0] + .687 * e[1] + .114 * e[2];\n}\nfunction se(e) {\n\tlet t = D(e);\n\treturn {\n\t\tt: `rgb(${t[0]}, ${t[1]}, ${t[2]})`,\n\t\ti: O(t) > 160 ? \"black\" : \"white\"\n\t};\n}\nvar k = class {\n\tconstructor() {\n\t\tthis.h = [];\n\t}\n\tl(e, t, n) {\n\t\tlet r = {\n\t\t\to: e,\n\t\t\t_: t,\n\t\t\tu: !0 === n\n\t\t};\n\t\tthis.h.push(r);\n\t}\n\tv(e) {\n\t\tlet t = this.h.findIndex(((t) => e === t.o));\n\t\tt > -1 && this.h.splice(t, 1);\n\t}\n\tp(e) {\n\t\tthis.h = this.h.filter(((t) => t._ !== e));\n\t}\n\tm(e, t, n) {\n\t\tlet r = [...this.h];\n\t\tthis.h = this.h.filter(((e) => !e.u)), r.forEach(((r) => r.o(e, t, n)));\n\t}\n\tM() {\n\t\treturn this.h.length > 0;\n\t}\n\tS() {\n\t\tthis.h = [];\n\t}\n};\nfunction A(e, ...t) {\n\tfor (let n of t) for (let t in n) n[t] !== void 0 && Object.prototype.hasOwnProperty.call(n, t) && ![\n\t\t\"__proto__\",\n\t\t\"constructor\",\n\t\t\"prototype\"\n\t].includes(t) && (typeof n[t] != \"object\" || e[t] === void 0 || Array.isArray(n[t]) ? e[t] = n[t] : A(e[t], n[t]));\n\treturn e;\n}\nfunction j(e) {\n\treturn typeof e == \"number\" && isFinite(e);\n}\nfunction ce(e) {\n\treturn typeof e == \"number\" && e % 1 == 0;\n}\nfunction le(e) {\n\treturn typeof e == \"string\";\n}\nfunction ue(e) {\n\treturn typeof e == \"boolean\";\n}\nfunction M(e) {\n\tlet t = e;\n\tif (!t || typeof t != \"object\") return t;\n\tlet n, r, i;\n\tfor (r in n = Array.isArray(t) ? [] : {}, t) t.hasOwnProperty(r) && (i = t[r], n[r] = i && typeof i == \"object\" ? M(i) : i);\n\treturn n;\n}\nfunction de(e) {\n\treturn e !== null;\n}\nfunction fe(e) {\n\treturn e === null ? void 0 : e;\n}\nvar pe = \"-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif\";\nfunction N(e, t, n) {\n\treturn t === void 0 && (t = pe), `${n = n === void 0 ? \"\" : `${n} `}${e}px ${t}`;\n}\nvar me = class {\n\tconstructor(e) {\n\t\tthis.k = {\n\t\t\tC: 1,\n\t\t\tT: 5,\n\t\t\tP: NaN,\n\t\t\tR: \"\",\n\t\t\tD: \"\",\n\t\t\tV: \"\",\n\t\t\tO: \"\",\n\t\t\tB: 0,\n\t\t\tA: 0,\n\t\t\tI: 0,\n\t\t\tL: 0,\n\t\t\tN: 0\n\t\t}, this.F = e;\n\t}\n\tW() {\n\t\tlet e = this.k, t = this.j(), n = this.H();\n\t\treturn e.P === t && e.D === n || (e.P = t, e.D = n, e.R = N(t, n), e.L = 2.5 / 12 * t, e.B = e.L, e.A = t / 12 * e.T, e.I = t / 12 * e.T, e.N = 0), e.V = this.$(), e.O = this.U(), this.k;\n\t}\n\t$() {\n\t\treturn this.F.W().layout.textColor;\n\t}\n\tU() {\n\t\treturn this.F.q();\n\t}\n\tj() {\n\t\treturn this.F.W().layout.fontSize;\n\t}\n\tH() {\n\t\treturn this.F.W().layout.fontFamily;\n\t}\n}, he = class {\n\tconstructor() {\n\t\tthis.Y = [];\n\t}\n\tZ(e) {\n\t\tthis.Y = e;\n\t}\n\tX(e, t, n) {\n\t\tthis.Y.forEach(((r) => {\n\t\t\tr.X(e, t, n);\n\t\t}));\n\t}\n}, P = class {\n\tX(e, t, n) {\n\t\te.useBitmapCoordinateSpace(((e) => this.K(e, t, n)));\n\t}\n}, ge = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.G = null;\n\t}\n\tJ(e) {\n\t\tthis.G = e;\n\t}\n\tK({ context: e, horizontalPixelRatio: t, verticalPixelRatio: n }) {\n\t\tif (this.G === null || this.G.tt === null) return;\n\t\tlet r = this.G.tt, i = this.G, a = Math.max(1, Math.floor(t)) % 2 / 2, o = (o) => {\n\t\t\te.beginPath();\n\t\t\tfor (let s = r.to - 1; s >= r.from; --s) {\n\t\t\t\tlet r = i.it[s], c = Math.round(r.nt * t) + a, l = r.st * n, u = o * n + a;\n\t\t\t\te.moveTo(c, l), e.arc(c, l, u, 0, 2 * Math.PI);\n\t\t\t}\n\t\t\te.fill();\n\t\t};\n\t\ti.et > 0 && (e.fillStyle = i.rt, o(i.ht + i.et)), e.fillStyle = i.lt, o(i.ht);\n\t}\n};\nfunction _e() {\n\treturn {\n\t\tit: [{\n\t\t\tnt: 0,\n\t\t\tst: 0,\n\t\t\tot: 0,\n\t\t\t_t: 0\n\t\t}],\n\t\tlt: \"\",\n\t\trt: \"\",\n\t\tht: 0,\n\t\tet: 0,\n\t\ttt: null\n\t};\n}\nvar ve = {\n\tfrom: 0,\n\tto: 1\n}, ye = class {\n\tconstructor(e, t) {\n\t\tthis.ut = new he(), this.ct = [], this.dt = [], this.ft = !0, this.F = e, this.vt = t, this.ut.Z(this.ct);\n\t}\n\tbt(e) {\n\t\tlet t = this.F.wt();\n\t\tt.length !== this.ct.length && (this.dt = t.map(_e), this.ct = this.dt.map(((e) => {\n\t\t\tlet t = new ge();\n\t\t\treturn t.J(e), t;\n\t\t})), this.ut.Z(this.ct)), this.ft = !0;\n\t}\n\tgt() {\n\t\treturn this.ft &&= (this.Mt(), !1), this.ut;\n\t}\n\tMt() {\n\t\tlet e = this.vt.W().mode === 2, t = this.F.wt(), n = this.vt.xt(), r = this.F.St();\n\t\tt.forEach(((t, i) => {\n\t\t\tlet a = this.dt[i], o = t.kt(n);\n\t\t\tif (e || o === null || !t.yt()) return void (a.tt = null);\n\t\t\tlet s = S(t.Ct());\n\t\t\ta.lt = o.Tt, a.ht = o.ht, a.et = o.Pt, a.it[0]._t = o._t, a.it[0].st = t.Dt().Rt(o._t, s.Vt), a.rt = o.Ot ?? this.F.Bt(a.it[0].st / t.Dt().At()), a.it[0].ot = n, a.it[0].nt = r.It(n), a.tt = ve;\n\t\t}));\n\t}\n}, be = class extends P {\n\tconstructor(e) {\n\t\tsuper(), this.zt = e;\n\t}\n\tK({ context: e, bitmapSize: t, horizontalPixelRatio: n, verticalPixelRatio: r }) {\n\t\tif (this.zt === null) return;\n\t\tlet i = this.zt.Lt.yt, a = this.zt.Et.yt;\n\t\tif (!i && !a) return;\n\t\tlet o = Math.round(this.zt.nt * n), s = Math.round(this.zt.st * r);\n\t\te.lineCap = \"butt\", i && o >= 0 && (e.lineWidth = Math.floor(this.zt.Lt.et * n), e.strokeStyle = this.zt.Lt.V, e.fillStyle = this.zt.Lt.V, v(e, this.zt.Lt.Nt), function(e, t, n, r) {\n\t\t\te.beginPath();\n\t\t\tlet i = e.lineWidth % 2 ? .5 : 0;\n\t\t\te.moveTo(t + i, n), e.lineTo(t + i, r), e.stroke();\n\t\t}(e, o, 0, t.height)), a && s >= 0 && (e.lineWidth = Math.floor(this.zt.Et.et * r), e.strokeStyle = this.zt.Et.V, e.fillStyle = this.zt.Et.V, v(e, this.zt.Et.Nt), y(e, s, 0, t.width));\n\t}\n}, xe = class {\n\tconstructor(e) {\n\t\tthis.ft = !0, this.Ft = {\n\t\t\tLt: {\n\t\t\t\tet: 1,\n\t\t\t\tNt: 0,\n\t\t\t\tV: \"\",\n\t\t\t\tyt: !1\n\t\t\t},\n\t\t\tEt: {\n\t\t\t\tet: 1,\n\t\t\t\tNt: 0,\n\t\t\t\tV: \"\",\n\t\t\t\tyt: !1\n\t\t\t},\n\t\t\tnt: 0,\n\t\t\tst: 0\n\t\t}, this.Wt = new be(this.Ft), this.jt = e;\n\t}\n\tbt() {\n\t\tthis.ft = !0;\n\t}\n\tgt() {\n\t\treturn this.ft &&= (this.Mt(), !1), this.Wt;\n\t}\n\tMt() {\n\t\tlet e = this.jt.yt(), t = S(this.jt.Ht()), n = t.$t().W().crosshair, r = this.Ft;\n\t\tif (n.mode === 2) return r.Et.yt = !1, void (r.Lt.yt = !1);\n\t\tr.Et.yt = e && this.jt.Ut(t), r.Lt.yt = e && this.jt.qt(), r.Et.et = n.horzLine.width, r.Et.Nt = n.horzLine.style, r.Et.V = n.horzLine.color, r.Lt.et = n.vertLine.width, r.Lt.Nt = n.vertLine.style, r.Lt.V = n.vertLine.color, r.nt = this.jt.Yt(), r.st = this.jt.Zt();\n\t}\n};\nfunction Se(e, t, n, r, i, a) {\n\te.fillRect(t + a, n, r - 2 * a, a), e.fillRect(t + a, n + i - a, r - 2 * a, a), e.fillRect(t, n, a, i), e.fillRect(t + r - a, n, a, i);\n}\nfunction Ce(e, t, n, r, i, a) {\n\te.save(), e.globalCompositeOperation = \"copy\", e.fillStyle = a, e.fillRect(t, n, r, i), e.restore();\n}\nfunction we(e, t, n, r, i, a) {\n\te.beginPath(), e.roundRect ? e.roundRect(t, n, r, i, a) : (e.lineTo(t + r - a[1], n), a[1] !== 0 && e.arcTo(t + r, n, t + r, n + a[1], a[1]), e.lineTo(t + r, n + i - a[2]), a[2] !== 0 && e.arcTo(t + r, n + i, t + r - a[2], n + i, a[2]), e.lineTo(t + a[3], n + i), a[3] !== 0 && e.arcTo(t, n + i, t, n + i - a[3], a[3]), e.lineTo(t, n + a[0]), a[0] !== 0 && e.arcTo(t, n, t + a[0], n, a[0]));\n}\nfunction Te(e, t, n, r, i, a, o = 0, s = [\n\t0,\n\t0,\n\t0,\n\t0\n], c = \"\") {\n\tif (e.save(), !o || !c || c === a) return we(e, t, n, r, i, s), e.fillStyle = a, e.fill(), void e.restore();\n\tlet l = o / 2;\n\tvar u;\n\twe(e, t + l, n + l, r - o, i - o, (u = -l, s.map(((e) => e === 0 ? e : e + u)))), a !== \"transparent\" && (e.fillStyle = a, e.fill()), c !== \"transparent\" && (e.lineWidth = o, e.strokeStyle = c, e.closePath(), e.stroke()), e.restore();\n}\nfunction Ee(e, t, n, r, i, a, o) {\n\te.save(), e.globalCompositeOperation = \"copy\";\n\tlet s = e.createLinearGradient(0, 0, 0, i);\n\ts.addColorStop(0, a), s.addColorStop(1, o), e.fillStyle = s, e.fillRect(t, n, r, i), e.restore();\n}\nvar De = class {\n\tconstructor(e, t) {\n\t\tthis.J(e, t);\n\t}\n\tJ(e, t) {\n\t\tthis.zt = e, this.Xt = t;\n\t}\n\tAt(e, t) {\n\t\treturn this.zt.yt ? e.P + e.L + e.B : 0;\n\t}\n\tX(e, t, n, r) {\n\t\tif (!this.zt.yt || this.zt.Kt.length === 0) return;\n\t\tlet i = this.zt.V, a = this.Xt.t, o = e.useBitmapCoordinateSpace(((e) => {\n\t\t\tlet o = e.context;\n\t\t\to.font = t.R;\n\t\t\tlet s = this.Gt(e, t, n, r), c = s.Jt;\n\t\t\treturn s.Qt ? Te(o, c.ti, c.ii, c.ni, c.si, a, c.ei, [\n\t\t\t\tc.ht,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tc.ht\n\t\t\t], a) : Te(o, c.ri, c.ii, c.ni, c.si, a, c.ei, [\n\t\t\t\t0,\n\t\t\t\tc.ht,\n\t\t\t\tc.ht,\n\t\t\t\t0\n\t\t\t], a), this.zt.hi && (o.fillStyle = i, o.fillRect(c.ri, c.li, c.ai - c.ri, c.oi)), this.zt._i && (o.fillStyle = t.O, o.fillRect(s.Qt ? c.ui - c.ei : 0, c.ii, c.ei, c.ci - c.ii)), s;\n\t\t}));\n\t\te.useMediaCoordinateSpace((({ context: e }) => {\n\t\t\tlet n = o.di;\n\t\t\te.font = t.R, e.textAlign = o.Qt ? \"right\" : \"left\", e.textBaseline = \"middle\", e.fillStyle = i, e.fillText(this.zt.Kt, n.fi, (n.ii + n.ci) / 2 + n.pi);\n\t\t}));\n\t}\n\tGt(e, t, n, r) {\n\t\tlet { context: i, bitmapSize: a, mediaSize: o, horizontalPixelRatio: s, verticalPixelRatio: c } = e, l = this.zt.hi || !this.zt.mi ? t.T : 0, u = this.zt.bi ? t.C : 0, d = t.L + this.Xt.wi, f = t.B + this.Xt.gi, p = t.A, m = t.I, h = this.zt.Kt, g = t.P, _ = n.Mi(i, h), ee = Math.ceil(n.xi(i, h)), te = g + d + f, ne = t.C + p + m + ee + l, v = Math.max(1, Math.floor(c)), y = Math.round(te * c);\n\t\ty % 2 != v % 2 && (y += 1);\n\t\tlet b = u > 0 ? Math.max(1, Math.floor(u * s)) : 0, x = Math.round(ne * s), S = Math.round(l * s), C = this.Xt.Si ?? this.Xt.ki, re = Math.round(C * c) - Math.floor(.5 * c), w = Math.floor(re + v / 2 - y / 2), ie = w + y, T = r === \"right\", ae = T ? o.width - u : u, E = T ? a.width - b : b, oe, D, O;\n\t\treturn T ? (oe = E - x, D = E - S, O = ae - l - p - u) : (oe = E + x, D = E + S, O = ae + l + p), {\n\t\t\tQt: T,\n\t\t\tJt: {\n\t\t\t\tii: w,\n\t\t\t\tli: re,\n\t\t\t\tci: ie,\n\t\t\t\tni: x,\n\t\t\t\tsi: y,\n\t\t\t\tht: 2 * s,\n\t\t\t\tei: b,\n\t\t\t\tti: oe,\n\t\t\t\tri: E,\n\t\t\t\tai: D,\n\t\t\t\toi: v,\n\t\t\t\tui: a.width\n\t\t\t},\n\t\t\tdi: {\n\t\t\t\tii: w / c,\n\t\t\t\tci: ie / c,\n\t\t\t\tfi: O,\n\t\t\t\tpi: _\n\t\t\t}\n\t\t};\n\t}\n}, Oe = class {\n\tconstructor(e) {\n\t\tthis.yi = {\n\t\t\tki: 0,\n\t\t\tt: \"#000\",\n\t\t\tgi: 0,\n\t\t\twi: 0\n\t\t}, this.Ci = {\n\t\t\tKt: \"\",\n\t\t\tyt: !1,\n\t\t\thi: !0,\n\t\t\tmi: !1,\n\t\t\tOt: \"\",\n\t\t\tV: \"#FFF\",\n\t\t\t_i: !1,\n\t\t\tbi: !1\n\t\t}, this.Ti = {\n\t\t\tKt: \"\",\n\t\t\tyt: !1,\n\t\t\thi: !1,\n\t\t\tmi: !0,\n\t\t\tOt: \"\",\n\t\t\tV: \"#FFF\",\n\t\t\t_i: !0,\n\t\t\tbi: !0\n\t\t}, this.ft = !0, this.Pi = new (e || De)(this.Ci, this.yi), this.Ri = new (e || De)(this.Ti, this.yi);\n\t}\n\tKt() {\n\t\treturn this.Di(), this.Ci.Kt;\n\t}\n\tki() {\n\t\treturn this.Di(), this.yi.ki;\n\t}\n\tbt() {\n\t\tthis.ft = !0;\n\t}\n\tAt(e, t = !1) {\n\t\treturn Math.max(this.Pi.At(e, t), this.Ri.At(e, t));\n\t}\n\tVi() {\n\t\treturn this.yi.Si || 0;\n\t}\n\tOi(e) {\n\t\tthis.yi.Si = e;\n\t}\n\tBi() {\n\t\treturn this.Di(), this.Ci.yt || this.Ti.yt;\n\t}\n\tAi() {\n\t\treturn this.Di(), this.Ci.yt;\n\t}\n\tgt(e) {\n\t\treturn this.Di(), this.Ci.hi = this.Ci.hi && e.W().ticksVisible, this.Ti.hi = this.Ti.hi && e.W().ticksVisible, this.Pi.J(this.Ci, this.yi), this.Ri.J(this.Ti, this.yi), this.Pi;\n\t}\n\tIi() {\n\t\treturn this.Di(), this.Pi.J(this.Ci, this.yi), this.Ri.J(this.Ti, this.yi), this.Ri;\n\t}\n\tDi() {\n\t\tthis.ft && (this.Ci.hi = !0, this.Ti.hi = !1, this.zi(this.Ci, this.Ti, this.yi));\n\t}\n}, ke = class extends Oe {\n\tconstructor(e, t, n) {\n\t\tsuper(), this.jt = e, this.Li = t, this.Ei = n;\n\t}\n\tzi(e, t, n) {\n\t\tif (e.yt = !1, this.jt.W().mode === 2) return;\n\t\tlet r = this.jt.W().horzLine;\n\t\tif (!r.labelVisible) return;\n\t\tlet i = this.Li.Ct();\n\t\tif (!this.jt.yt() || this.Li.Ni() || i === null) return;\n\t\tlet a = se(r.labelBackgroundColor);\n\t\tn.t = a.t, e.V = a.i;\n\t\tlet o = 2 / 12 * this.Li.P();\n\t\tn.wi = o, n.gi = o;\n\t\tlet s = this.Ei(this.Li);\n\t\tn.ki = s.ki, e.Kt = this.Li.Fi(s._t, i), e.yt = !0;\n\t}\n}, Ae = /[1-9]/g, je = class {\n\tconstructor() {\n\t\tthis.zt = null;\n\t}\n\tJ(e) {\n\t\tthis.zt = e;\n\t}\n\tX(e, t) {\n\t\tif (this.zt === null || !1 === this.zt.yt || this.zt.Kt.length === 0) return;\n\t\tlet n = e.useMediaCoordinateSpace((({ context: e }) => (e.font = t.R, Math.round(t.Wi.xi(e, S(this.zt).Kt, Ae)))));\n\t\tif (n <= 0) return;\n\t\tlet r = t.ji, i = n + 2 * r, a = i / 2, o = this.zt.Hi, s = this.zt.ki, c = Math.floor(s - a) + .5;\n\t\tc < 0 ? (s += Math.abs(0 - c), c = Math.floor(s - a) + .5) : c + i > o && (s -= Math.abs(o - (c + i)), c = Math.floor(s - a) + .5);\n\t\tlet l = c + i, u = Math.ceil(0 + t.C + t.T + t.L + t.P + t.B);\n\t\te.useBitmapCoordinateSpace((({ context: e, horizontalPixelRatio: n, verticalPixelRatio: r }) => {\n\t\t\tlet i = S(this.zt);\n\t\t\te.fillStyle = i.t;\n\t\t\tlet a = Math.round(c * n), o = Math.round(0 * r), s = Math.round(l * n), d = Math.round(u * r), f = Math.round(2 * n);\n\t\t\tif (e.beginPath(), e.moveTo(a, o), e.lineTo(a, d - f), e.arcTo(a, d, a + f, d, f), e.lineTo(s - f, d), e.arcTo(s, d, s, d - f, f), e.lineTo(s, o), e.fill(), i.hi) {\n\t\t\t\tlet a = Math.round(i.ki * n), s = o, c = Math.round((s + t.T) * r);\n\t\t\t\te.fillStyle = i.V;\n\t\t\t\tlet l = Math.max(1, Math.floor(n)), u = Math.floor(.5 * n);\n\t\t\t\te.fillRect(a - u, s, l, c - s);\n\t\t\t}\n\t\t})), e.useMediaCoordinateSpace((({ context: e }) => {\n\t\t\tlet n = S(this.zt), i = 0 + t.C + t.T + t.L + t.P / 2;\n\t\t\te.font = t.R, e.textAlign = \"left\", e.textBaseline = \"middle\", e.fillStyle = n.V;\n\t\t\tlet a = t.Wi.Mi(e, \"Apr0\");\n\t\t\te.translate(c + r, i + a), e.fillText(n.Kt, 0, 0);\n\t\t}));\n\t}\n}, Me = class {\n\tconstructor(e, t, n) {\n\t\tthis.ft = !0, this.Wt = new je(), this.Ft = {\n\t\t\tyt: !1,\n\t\t\tt: \"#4c525e\",\n\t\t\tV: \"white\",\n\t\t\tKt: \"\",\n\t\t\tHi: 0,\n\t\t\tki: NaN,\n\t\t\thi: !0\n\t\t}, this.vt = e, this.$i = t, this.Ei = n;\n\t}\n\tbt() {\n\t\tthis.ft = !0;\n\t}\n\tgt() {\n\t\treturn this.ft &&= (this.Mt(), !1), this.Wt.J(this.Ft), this.Wt;\n\t}\n\tMt() {\n\t\tlet e = this.Ft;\n\t\tif (e.yt = !1, this.vt.W().mode === 2) return;\n\t\tlet t = this.vt.W().vertLine;\n\t\tif (!t.labelVisible) return;\n\t\tlet n = this.$i.St();\n\t\tif (n.Ni()) return;\n\t\te.Hi = n.Hi();\n\t\tlet r = this.Ei();\n\t\tif (r === null) return;\n\t\te.ki = r.ki;\n\t\tlet i = n.Ui(this.vt.xt());\n\t\te.Kt = n.qi(S(i)), e.yt = !0;\n\t\tlet a = se(t.labelBackgroundColor);\n\t\te.t = a.t, e.V = a.i, e.hi = n.W().ticksVisible;\n\t}\n}, Ne = class {\n\tconstructor() {\n\t\tthis.Yi = null, this.Zi = 0;\n\t}\n\tXi() {\n\t\treturn this.Zi;\n\t}\n\tKi(e) {\n\t\tthis.Zi = e;\n\t}\n\tDt() {\n\t\treturn this.Yi;\n\t}\n\tGi(e) {\n\t\tthis.Yi = e;\n\t}\n\tJi(e) {\n\t\treturn [];\n\t}\n\tQi() {\n\t\treturn [];\n\t}\n\tyt() {\n\t\treturn !0;\n\t}\n}, Pe;\n(function(e) {\n\te[e.Normal = 0] = \"Normal\", e[e.Magnet = 1] = \"Magnet\", e[e.Hidden = 2] = \"Hidden\";\n})(Pe ||= {});\nvar Fe = class extends Ne {\n\tconstructor(e, t) {\n\t\tsuper(), this.tn = null, this.nn = NaN, this.sn = 0, this.en = !0, this.rn = /* @__PURE__ */ new Map(), this.hn = !1, this.ln = NaN, this.an = NaN, this._n = NaN, this.un = NaN, this.$i = e, this.cn = t, this.dn = new ye(e, this), this.fn = ((e, t) => (n) => {\n\t\t\tlet r = t(), i = e();\n\t\t\tif (n === S(this.tn).vn()) return {\n\t\t\t\t_t: i,\n\t\t\t\tki: r\n\t\t\t};\n\t\t\t{\n\t\t\t\tlet e = S(n.Ct());\n\t\t\t\treturn {\n\t\t\t\t\t_t: n.pn(r, e),\n\t\t\t\t\tki: r\n\t\t\t\t};\n\t\t\t}\n\t\t})((() => this.nn), (() => this.an));\n\t\tlet n = ((e, t) => () => {\n\t\t\tlet n = this.$i.St().mn(e()), r = t();\n\t\t\treturn n && Number.isFinite(r) ? {\n\t\t\t\tot: n,\n\t\t\t\tki: r\n\t\t\t} : null;\n\t\t})((() => this.sn), (() => this.Yt()));\n\t\tthis.bn = new Me(this, e, n), this.wn = new xe(this);\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\tgn(e, t) {\n\t\tthis._n = e, this.un = t;\n\t}\n\tMn() {\n\t\tthis._n = NaN, this.un = NaN;\n\t}\n\txn() {\n\t\treturn this._n;\n\t}\n\tSn() {\n\t\treturn this.un;\n\t}\n\tkn(e, t, n) {\n\t\tthis.hn ||= !0, this.en = !0, this.yn(e, t, n);\n\t}\n\txt() {\n\t\treturn this.sn;\n\t}\n\tYt() {\n\t\treturn this.ln;\n\t}\n\tZt() {\n\t\treturn this.an;\n\t}\n\tyt() {\n\t\treturn this.en;\n\t}\n\tCn() {\n\t\tthis.en = !1, this.Tn(), this.nn = NaN, this.ln = NaN, this.an = NaN, this.tn = null, this.Mn();\n\t}\n\tPn(e) {\n\t\treturn this.tn === null ? [] : [this.wn, this.dn];\n\t}\n\tUt(e) {\n\t\treturn e === this.tn && this.cn.horzLine.visible;\n\t}\n\tqt() {\n\t\treturn this.cn.vertLine.visible;\n\t}\n\tRn(e, t) {\n\t\tthis.en && this.tn === e || this.rn.clear();\n\t\tlet n = [];\n\t\treturn this.tn === e && n.push(this.Dn(this.rn, t, this.fn)), n;\n\t}\n\tQi() {\n\t\treturn this.en ? [this.bn] : [];\n\t}\n\tHt() {\n\t\treturn this.tn;\n\t}\n\tVn() {\n\t\tthis.wn.bt(), this.rn.forEach(((e) => e.bt())), this.bn.bt(), this.dn.bt();\n\t}\n\tOn(e) {\n\t\treturn e && !e.vn().Ni() ? e.vn() : null;\n\t}\n\tyn(e, t, n) {\n\t\tthis.Bn(e, t, n) && this.Vn();\n\t}\n\tBn(e, t, n) {\n\t\tlet r = this.ln, i = this.an, a = this.nn, o = this.sn, s = this.tn, c = this.On(n);\n\t\tthis.sn = e, this.ln = isNaN(e) ? NaN : this.$i.St().It(e), this.tn = n;\n\t\tlet l = c === null ? null : c.Ct();\n\t\treturn c !== null && l !== null ? (this.nn = t, this.an = c.Rt(t, l)) : (this.nn = NaN, this.an = NaN), r !== this.ln || i !== this.an || o !== this.sn || a !== this.nn || s !== this.tn;\n\t}\n\tTn() {\n\t\tlet e = this.$i.wt().map(((e) => e.In().An())).filter(de), t = e.length === 0 ? null : Math.max(...e);\n\t\tthis.sn = t === null ? NaN : t;\n\t}\n\tDn(e, t, n) {\n\t\tlet r = e.get(t);\n\t\treturn r === void 0 && (r = new ke(this, t, n), e.set(t, r)), r;\n\t}\n};\nfunction Ie(e) {\n\treturn e === \"left\" || e === \"right\";\n}\nvar F = class e {\n\tconstructor(e) {\n\t\tthis.zn = /* @__PURE__ */ new Map(), this.Ln = [], this.En = e;\n\t}\n\tNn(e, t) {\n\t\tlet n = function(e, t) {\n\t\t\treturn e === void 0 ? t : {\n\t\t\t\tFn: Math.max(e.Fn, t.Fn),\n\t\t\t\tWn: e.Wn || t.Wn\n\t\t\t};\n\t\t}(this.zn.get(e), t);\n\t\tthis.zn.set(e, n);\n\t}\n\tjn() {\n\t\treturn this.En;\n\t}\n\tHn(e) {\n\t\tlet t = this.zn.get(e);\n\t\treturn t === void 0 ? { Fn: this.En } : {\n\t\t\tFn: Math.max(this.En, t.Fn),\n\t\t\tWn: t.Wn\n\t\t};\n\t}\n\t$n() {\n\t\tthis.Un(), this.Ln = [{ qn: 0 }];\n\t}\n\tYn(e) {\n\t\tthis.Un(), this.Ln = [{\n\t\t\tqn: 1,\n\t\t\tVt: e\n\t\t}];\n\t}\n\tZn(e) {\n\t\tthis.Xn(), this.Ln.push({\n\t\t\tqn: 5,\n\t\t\tVt: e\n\t\t});\n\t}\n\tUn() {\n\t\tthis.Xn(), this.Ln.push({ qn: 6 });\n\t}\n\tKn() {\n\t\tthis.Un(), this.Ln = [{ qn: 4 }];\n\t}\n\tGn(e) {\n\t\tthis.Un(), this.Ln.push({\n\t\t\tqn: 2,\n\t\t\tVt: e\n\t\t});\n\t}\n\tJn(e) {\n\t\tthis.Un(), this.Ln.push({\n\t\t\tqn: 3,\n\t\t\tVt: e\n\t\t});\n\t}\n\tQn() {\n\t\treturn this.Ln;\n\t}\n\tts(e) {\n\t\tfor (let t of e.Ln) this.ns(t);\n\t\tthis.En = Math.max(this.En, e.En), e.zn.forEach(((e, t) => {\n\t\t\tthis.Nn(t, e);\n\t\t}));\n\t}\n\tstatic ss() {\n\t\treturn new e(2);\n\t}\n\tstatic es() {\n\t\treturn new e(3);\n\t}\n\tns(e) {\n\t\tswitch (e.qn) {\n\t\t\tcase 0:\n\t\t\t\tthis.$n();\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tthis.Yn(e.Vt);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tthis.Gn(e.Vt);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tthis.Jn(e.Vt);\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tthis.Kn();\n\t\t\t\tbreak;\n\t\t\tcase 5:\n\t\t\t\tthis.Zn(e.Vt);\n\t\t\t\tbreak;\n\t\t\tcase 6: this.Xn();\n\t\t}\n\t}\n\tXn() {\n\t\tlet e = this.Ln.findIndex(((e) => e.qn === 5));\n\t\te !== -1 && this.Ln.splice(e, 1);\n\t}\n}, Le = \".\";\nfunction I(e, t) {\n\tif (!j(e)) return \"n/a\";\n\tif (!ce(t) || t < 0 || t > 16) throw TypeError(\"invalid length\");\n\treturn t === 0 ? e.toString() : (\"0000000000000000\" + e.toString()).slice(-t);\n}\nvar Re = class {\n\tconstructor(e, t) {\n\t\tif (t ||= 1, j(e) && ce(e) || (e = 100), e < 0) throw TypeError(\"invalid base\");\n\t\tthis.Li = e, this.rs = t, this.hs();\n\t}\n\tformat(e) {\n\t\tlet t = e < 0 ? \"−\" : \"\";\n\t\treturn e = Math.abs(e), t + this.ls(e);\n\t}\n\ths() {\n\t\tif (this._s = 0, this.Li > 0 && this.rs > 0) {\n\t\t\tlet e = this.Li;\n\t\t\tfor (; e > 1;) e /= 10, this._s++;\n\t\t}\n\t}\n\tls(e) {\n\t\tlet t = this.Li / this.rs, n = Math.floor(e), r = \"\", i = this._s === void 0 ? NaN : this._s;\n\t\tif (t > 1) {\n\t\t\tlet a = +(Math.round(e * t) - n * t).toFixed(this._s);\n\t\t\ta >= t && (a -= t, n += 1), r = Le + I(+a.toFixed(this._s) * this.rs, i);\n\t\t} else n = Math.round(n * t) / t, i > 0 && (r = Le + I(0, i));\n\t\treturn n.toFixed(0) + r;\n\t}\n}, ze = class extends Re {\n\tconstructor(e = 100) {\n\t\tsuper(e);\n\t}\n\tformat(e) {\n\t\treturn `${super.format(e)}%`;\n\t}\n}, Be = class {\n\tconstructor(e) {\n\t\tthis.us = e;\n\t}\n\tformat(e) {\n\t\tlet t = \"\";\n\t\treturn e < 0 && (t = \"-\", e = -e), e < 995 ? t + this.cs(e) : e < 999995 ? t + this.cs(e / 1e3) + \"K\" : e < 999999995 ? (e = 1e3 * Math.round(e / 1e3), t + this.cs(e / 1e6) + \"M\") : (e = 1e6 * Math.round(e / 1e6), t + this.cs(e / 1e9) + \"B\");\n\t}\n\tcs(e) {\n\t\tlet t, n = 10 ** this.us;\n\t\treturn t = (e = Math.round(e * n) / n) >= 1e-15 && e < 1 ? e.toFixed(this.us).replace(/\\.?0+$/, \"\") : String(e), t.replace(/(\\.[1-9]*)0+$/, ((e, t) => t));\n\t}\n};\nfunction Ve(e, t, n, r, i, a, o) {\n\tif (t.length === 0 || r.from >= t.length || r.to <= 0) return;\n\tlet { context: s, horizontalPixelRatio: c, verticalPixelRatio: l } = e, u = t[r.from], d = a(e, u), f = u;\n\tif (r.to - r.from < 2) {\n\t\tlet t = i / 2;\n\t\ts.beginPath();\n\t\tlet n = {\n\t\t\tnt: u.nt - t,\n\t\t\tst: u.st\n\t\t}, r = {\n\t\t\tnt: u.nt + t,\n\t\t\tst: u.st\n\t\t};\n\t\ts.moveTo(n.nt * c, n.st * l), s.lineTo(r.nt * c, r.st * l), o(e, d, n, r);\n\t} else {\n\t\tlet i = (t, n) => {\n\t\t\to(e, d, f, n), s.beginPath(), d = t, f = n;\n\t\t}, p = f;\n\t\ts.beginPath(), s.moveTo(u.nt * c, u.st * l);\n\t\tfor (let o = r.from + 1; o < r.to; ++o) {\n\t\t\tp = t[o];\n\t\t\tlet r = a(e, p);\n\t\t\tswitch (n) {\n\t\t\t\tcase 0:\n\t\t\t\t\ts.lineTo(p.nt * c, p.st * l);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\ts.lineTo(p.nt * c, t[o - 1].st * l), r !== d && (i(r, p), s.lineTo(p.nt * c, t[o - 1].st * l)), s.lineTo(p.nt * c, p.st * l);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2: {\n\t\t\t\t\tlet [e, n] = Ge(t, o - 1, o);\n\t\t\t\t\ts.bezierCurveTo(e.nt * c, e.st * l, n.nt * c, n.st * l, p.nt * c, p.st * l);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tn !== 1 && r !== d && (i(r, p), s.moveTo(p.nt * c, p.st * l));\n\t\t}\n\t\t(f !== p || f === p && n === 1) && o(e, d, f, p);\n\t}\n}\nvar He = 6;\nfunction Ue(e, t) {\n\treturn {\n\t\tnt: e.nt - t.nt,\n\t\tst: e.st - t.st\n\t};\n}\nfunction We(e, t) {\n\treturn {\n\t\tnt: e.nt / t,\n\t\tst: e.st / t\n\t};\n}\nfunction Ge(e, t, n) {\n\tlet r = Math.max(0, t - 1), i = Math.min(e.length - 1, n + 1);\n\tvar a, o;\n\treturn [(a = e[t], o = We(Ue(e[n], e[r]), He), {\n\t\tnt: a.nt + o.nt,\n\t\tst: a.st + o.st\n\t}), Ue(e[n], We(Ue(e[i], e[t]), He))];\n}\nfunction Ke(e, t, n, r, i) {\n\tlet { context: a, horizontalPixelRatio: o, verticalPixelRatio: s } = t;\n\ta.lineTo(i.nt * o, e * s), a.lineTo(r.nt * o, e * s), a.closePath(), a.fillStyle = n, a.fill();\n}\nvar qe = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.G = null;\n\t}\n\tJ(e) {\n\t\tthis.G = e;\n\t}\n\tK(e) {\n\t\tif (this.G === null) return;\n\t\tlet { it: t, tt: n, ds: r, et: i, Nt: a, fs: o } = this.G, s = this.G.vs ?? (this.G.ps ? 0 : e.mediaSize.height);\n\t\tif (n === null) return;\n\t\tlet c = e.context;\n\t\tc.lineCap = \"butt\", c.lineJoin = \"round\", c.lineWidth = i, v(c, a), c.lineWidth = 1, Ve(e, t, o, n, r, this.bs.bind(this), Ke.bind(null, s));\n\t}\n};\nfunction Je(e, t, n) {\n\treturn Math.min(Math.max(e, t), n);\n}\nfunction Ye(e, t, n) {\n\treturn t - e <= n;\n}\nfunction Xe(e) {\n\tlet t = Math.ceil(e);\n\treturn t % 2 == 0 ? t - 1 : t;\n}\nvar Ze = class {\n\tws(e, t) {\n\t\tlet n = this.gs, { Ms: r, xs: i, Ss: a, ks: o, ys: s, vs: c } = t;\n\t\tif (this.Cs === void 0 || n === void 0 || n.Ms !== r || n.xs !== i || n.Ss !== a || n.ks !== o || n.vs !== c || n.ys !== s) {\n\t\t\tlet n = e.context.createLinearGradient(0, 0, 0, s);\n\t\t\tif (n.addColorStop(0, r), c != null) {\n\t\t\t\tlet t = Je(c * e.verticalPixelRatio / s, 0, 1);\n\t\t\t\tn.addColorStop(t, i), n.addColorStop(t, a);\n\t\t\t}\n\t\t\tn.addColorStop(1, o), this.Cs = n, this.gs = t;\n\t\t}\n\t\treturn this.Cs;\n\t}\n}, Qe = class extends qe {\n\tconstructor() {\n\t\tsuper(...arguments), this.Ts = new Ze();\n\t}\n\tbs(e, t) {\n\t\treturn this.Ts.ws(e, {\n\t\t\tMs: t.Ps,\n\t\t\txs: \"\",\n\t\t\tSs: \"\",\n\t\t\tks: t.Rs,\n\t\t\tys: e.bitmapSize.height\n\t\t});\n\t}\n};\nfunction $e(e, t) {\n\tlet n = e.context;\n\tn.strokeStyle = t, n.stroke();\n}\nvar et = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.G = null;\n\t}\n\tJ(e) {\n\t\tthis.G = e;\n\t}\n\tK(e) {\n\t\tif (this.G === null) return;\n\t\tlet { it: t, tt: n, ds: r, fs: i, et: a, Nt: o, Ds: s } = this.G;\n\t\tif (n === null) return;\n\t\tlet c = e.context;\n\t\tc.lineCap = \"butt\", c.lineWidth = a * e.verticalPixelRatio, v(c, o), c.lineJoin = \"round\";\n\t\tlet l = this.Vs.bind(this);\n\t\ti !== void 0 && Ve(e, t, i, n, r, l, $e), s && function(e, t, n, r, i) {\n\t\t\tlet { horizontalPixelRatio: a, verticalPixelRatio: o, context: s } = e, c = null, l = Math.max(1, Math.floor(a)) % 2 / 2, u = n * o + l;\n\t\t\tfor (let n = r.to - 1; n >= r.from; --n) {\n\t\t\t\tlet r = t[n];\n\t\t\t\tif (r) {\n\t\t\t\t\tlet t = i(e, r);\n\t\t\t\t\tt !== c && (s.beginPath(), c !== null && s.fill(), s.fillStyle = t, c = t);\n\t\t\t\t\tlet n = Math.round(r.nt * a) + l, d = r.st * o;\n\t\t\t\t\ts.moveTo(n, d), s.arc(n, d, u, 0, 2 * Math.PI);\n\t\t\t\t}\n\t\t\t}\n\t\t\ts.fill();\n\t\t}(e, t, s, n, l);\n\t}\n}, tt = class extends et {\n\tVs(e, t) {\n\t\treturn t.lt;\n\t}\n};\nfunction nt(e, t, n, r, i = 0, a = t.length) {\n\tlet o = a - i;\n\tfor (; 0 < o;) {\n\t\tlet a = o >> 1, s = i + a;\n\t\tr(t[s], n) === e ? (i = s + 1, o -= a + 1) : o = a;\n\t}\n\treturn i;\n}\nvar L = nt.bind(null, !0), rt = nt.bind(null, !1);\nfunction it(e, t) {\n\treturn e.ot < t;\n}\nfunction at(e, t) {\n\treturn t < e.ot;\n}\nfunction ot(e, t, n) {\n\tlet r = t.Os(), i = t.ui(), a = L(e, r, it), o = rt(e, i, at);\n\tif (!n) return {\n\t\tfrom: a,\n\t\tto: o\n\t};\n\tlet s = a, c = o;\n\treturn a > 0 && a < e.length && e[a].ot >= r && (s = a - 1), o > 0 && o < e.length && e[o - 1].ot <= i && (c = o + 1), {\n\t\tfrom: s,\n\t\tto: c\n\t};\n}\nvar st = class {\n\tconstructor(e, t, n) {\n\t\tthis.Bs = !0, this.As = !0, this.Is = !0, this.zs = [], this.Ls = null, this.Es = e, this.Ns = t, this.Fs = n;\n\t}\n\tbt(e) {\n\t\tthis.Bs = !0, e === \"data\" && (this.As = !0), e === \"options\" && (this.Is = !0);\n\t}\n\tgt() {\n\t\treturn this.Es.yt() ? (this.Ws(), this.Ls === null ? null : this.js) : null;\n\t}\n\tHs() {\n\t\tthis.zs = this.zs.map(((e) => Object.assign(Object.assign({}, e), this.Es.Us().$s(e.ot))));\n\t}\n\tqs() {\n\t\tthis.Ls = null;\n\t}\n\tWs() {\n\t\tthis.As &&= (this.Ys(), !1), this.Is &&= (this.Hs(), !1), this.Bs &&= (this.Zs(), !1);\n\t}\n\tZs() {\n\t\tlet e = this.Es.Dt(), t = this.Ns.St();\n\t\tif (this.qs(), t.Ni() || e.Ni()) return;\n\t\tlet n = t.Xs();\n\t\tif (n === null || this.Es.In().Ks() === 0) return;\n\t\tlet r = this.Es.Ct();\n\t\tr !== null && (this.Ls = ot(this.zs, n, this.Fs), this.Gs(e, t, r.Vt), this.Js());\n\t}\n}, ct = class extends st {\n\tconstructor(e, t) {\n\t\tsuper(e, t, !0);\n\t}\n\tGs(e, t, n) {\n\t\tt.Qs(this.zs, fe(this.Ls)), e.te(this.zs, n, fe(this.Ls));\n\t}\n\tie(e, t) {\n\t\treturn {\n\t\t\tot: e,\n\t\t\t_t: t,\n\t\t\tnt: NaN,\n\t\t\tst: NaN\n\t\t};\n\t}\n\tYs() {\n\t\tlet e = this.Es.Us();\n\t\tthis.zs = this.Es.In().ne().map(((t) => {\n\t\t\tlet n = t.Vt[3];\n\t\t\treturn this.se(t.ee, n, e);\n\t\t}));\n\t}\n}, lt = class extends ct {\n\tconstructor(e, t) {\n\t\tsuper(e, t), this.js = new he(), this.re = new Qe(), this.he = new tt(), this.js.Z([this.re, this.he]);\n\t}\n\tse(e, t, n) {\n\t\treturn Object.assign(Object.assign({}, this.ie(e, t)), n.$s(e));\n\t}\n\tJs() {\n\t\tlet e = this.Es.W();\n\t\tthis.re.J({\n\t\t\tfs: e.lineType,\n\t\t\tit: this.zs,\n\t\t\tNt: e.lineStyle,\n\t\t\tet: e.lineWidth,\n\t\t\tvs: null,\n\t\t\tps: e.invertFilledArea,\n\t\t\ttt: this.Ls,\n\t\t\tds: this.Ns.St().le()\n\t\t}), this.he.J({\n\t\t\tfs: e.lineVisible ? e.lineType : void 0,\n\t\t\tit: this.zs,\n\t\t\tNt: e.lineStyle,\n\t\t\tet: e.lineWidth,\n\t\t\ttt: this.Ls,\n\t\t\tds: this.Ns.St().le(),\n\t\t\tDs: e.pointMarkersVisible ? e.pointMarkersRadius || e.lineWidth / 2 + 2 : void 0\n\t\t});\n\t}\n}, ut = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.zt = null, this.ae = 0, this.oe = 0;\n\t}\n\tJ(e) {\n\t\tthis.zt = e;\n\t}\n\tK({ context: e, horizontalPixelRatio: t, verticalPixelRatio: n }) {\n\t\tif (this.zt === null || this.zt.In.length === 0 || this.zt.tt === null) return;\n\t\tthis.ae = this._e(t), this.ae >= 2 && Math.max(1, Math.floor(t)) % 2 != this.ae % 2 && this.ae--, this.oe = this.zt.ue ? Math.min(this.ae, Math.floor(t)) : this.ae;\n\t\tlet r = null, i = this.oe <= this.ae && this.zt.le >= Math.floor(1.5 * t);\n\t\tfor (let a = this.zt.tt.from; a < this.zt.tt.to; ++a) {\n\t\t\tlet o = this.zt.In[a];\n\t\t\tr !== o.ce && (e.fillStyle = o.ce, r = o.ce);\n\t\t\tlet s = Math.floor(.5 * this.oe), c = Math.round(o.nt * t), l = c - s, u = this.oe, d = l + u - 1, f = Math.min(o.de, o.fe), p = Math.max(o.de, o.fe), m = Math.round(f * n) - s, h = Math.round(p * n) + s, g = Math.max(h - m, this.oe);\n\t\t\te.fillRect(l, m, u, g);\n\t\t\tlet _ = Math.ceil(1.5 * this.ae);\n\t\t\tif (i) {\n\t\t\t\tif (this.zt.ve) {\n\t\t\t\t\tlet t = c - _, r = Math.max(m, Math.round(o.pe * n) - s), i = r + u - 1;\n\t\t\t\t\ti > m + g - 1 && (i = m + g - 1, r = i - u + 1), e.fillRect(t, r, l - t, i - r + 1);\n\t\t\t\t}\n\t\t\t\tlet t = c + _, r = Math.max(m, Math.round(o.me * n) - s), i = r + u - 1;\n\t\t\t\ti > m + g - 1 && (i = m + g - 1, r = i - u + 1), e.fillRect(d + 1, r, t - d, i - r + 1);\n\t\t\t}\n\t\t}\n\t}\n\t_e(e) {\n\t\treturn Math.max(Math.floor(e), Math.floor(function(e, t) {\n\t\t\treturn Math.floor(.3 * e * t);\n\t\t}(S(this.zt).le, e)));\n\t}\n}, dt = class extends st {\n\tconstructor(e, t) {\n\t\tsuper(e, t, !1);\n\t}\n\tGs(e, t, n) {\n\t\tt.Qs(this.zs, fe(this.Ls)), e.be(this.zs, n, fe(this.Ls));\n\t}\n\twe(e, t, n) {\n\t\treturn {\n\t\t\tot: e,\n\t\t\tge: t.Vt[0],\n\t\t\tMe: t.Vt[1],\n\t\t\txe: t.Vt[2],\n\t\t\tSe: t.Vt[3],\n\t\t\tnt: NaN,\n\t\t\tpe: NaN,\n\t\t\tde: NaN,\n\t\t\tfe: NaN,\n\t\t\tme: NaN\n\t\t};\n\t}\n\tYs() {\n\t\tlet e = this.Es.Us();\n\t\tthis.zs = this.Es.In().ne().map(((t) => this.se(t.ee, t, e)));\n\t}\n}, ft = class extends dt {\n\tconstructor() {\n\t\tsuper(...arguments), this.js = new ut();\n\t}\n\tse(e, t, n) {\n\t\treturn Object.assign(Object.assign({}, this.we(e, t, n)), n.$s(e));\n\t}\n\tJs() {\n\t\tlet e = this.Es.W();\n\t\tthis.js.J({\n\t\t\tIn: this.zs,\n\t\t\tle: this.Ns.St().le(),\n\t\t\tve: e.openVisible,\n\t\t\tue: e.thinBars,\n\t\t\ttt: this.Ls\n\t\t});\n\t}\n}, pt = class extends qe {\n\tconstructor() {\n\t\tsuper(...arguments), this.Ts = new Ze();\n\t}\n\tbs(e, t) {\n\t\tlet n = this.G;\n\t\treturn this.Ts.ws(e, {\n\t\t\tMs: t.ke,\n\t\t\txs: t.ye,\n\t\t\tSs: t.Ce,\n\t\t\tks: t.Te,\n\t\t\tys: e.bitmapSize.height,\n\t\t\tvs: n.vs\n\t\t});\n\t}\n}, mt = class extends et {\n\tconstructor() {\n\t\tsuper(...arguments), this.Pe = new Ze();\n\t}\n\tVs(e, t) {\n\t\tlet n = this.G;\n\t\treturn this.Pe.ws(e, {\n\t\t\tMs: t.Re,\n\t\t\txs: t.Re,\n\t\t\tSs: t.De,\n\t\t\tks: t.De,\n\t\t\tys: e.bitmapSize.height,\n\t\t\tvs: n.vs\n\t\t});\n\t}\n}, ht = class extends ct {\n\tconstructor(e, t) {\n\t\tsuper(e, t), this.js = new he(), this.Ve = new pt(), this.Oe = new mt(), this.js.Z([this.Ve, this.Oe]);\n\t}\n\tse(e, t, n) {\n\t\treturn Object.assign(Object.assign({}, this.ie(e, t)), n.$s(e));\n\t}\n\tJs() {\n\t\tlet e = this.Es.Ct();\n\t\tif (e === null) return;\n\t\tlet t = this.Es.W(), n = this.Es.Dt().Rt(t.baseValue.price, e.Vt), r = this.Ns.St().le();\n\t\tthis.Ve.J({\n\t\t\tit: this.zs,\n\t\t\tet: t.lineWidth,\n\t\t\tNt: t.lineStyle,\n\t\t\tfs: t.lineType,\n\t\t\tvs: n,\n\t\t\tps: !1,\n\t\t\ttt: this.Ls,\n\t\t\tds: r\n\t\t}), this.Oe.J({\n\t\t\tit: this.zs,\n\t\t\tet: t.lineWidth,\n\t\t\tNt: t.lineStyle,\n\t\t\tfs: t.lineVisible ? t.lineType : void 0,\n\t\t\tDs: t.pointMarkersVisible ? t.pointMarkersRadius || t.lineWidth / 2 + 2 : void 0,\n\t\t\tvs: n,\n\t\t\ttt: this.Ls,\n\t\t\tds: r\n\t\t});\n\t}\n}, gt = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.zt = null, this.ae = 0;\n\t}\n\tJ(e) {\n\t\tthis.zt = e;\n\t}\n\tK(e) {\n\t\tif (this.zt === null || this.zt.In.length === 0 || this.zt.tt === null) return;\n\t\tlet { horizontalPixelRatio: t } = e;\n\t\tthis.ae = function(e, t) {\n\t\t\tif (e >= 2.5 && e <= 4) return Math.floor(3 * t);\n\t\t\tlet n = 1 - .2 * Math.atan(Math.max(4, e) - 4) / (.5 * Math.PI), r = Math.floor(e * n * t), i = Math.floor(e * t);\n\t\t\treturn Math.max(Math.floor(t), Math.min(r, i));\n\t\t}(this.zt.le, t), this.ae >= 2 && Math.floor(t) % 2 != this.ae % 2 && this.ae--;\n\t\tlet n = this.zt.In;\n\t\tthis.zt.Be && this.Ae(e, n, this.zt.tt), this.zt._i && this.Ie(e, n, this.zt.tt);\n\t\tlet r = this.ze(t);\n\t\t(!this.zt._i || this.ae > 2 * r) && this.Le(e, n, this.zt.tt);\n\t}\n\tAe(e, t, n) {\n\t\tif (this.zt === null) return;\n\t\tlet { context: r, horizontalPixelRatio: i, verticalPixelRatio: a } = e, o = \"\", s = Math.min(Math.floor(i), Math.floor(this.zt.le * i));\n\t\ts = Math.max(Math.floor(i), Math.min(s, this.ae));\n\t\tlet c = Math.floor(.5 * s), l = null;\n\t\tfor (let e = n.from; e < n.to; e++) {\n\t\t\tlet n = t[e];\n\t\t\tn.Ee !== o && (r.fillStyle = n.Ee, o = n.Ee);\n\t\t\tlet u = Math.round(Math.min(n.pe, n.me) * a), d = Math.round(Math.max(n.pe, n.me) * a), f = Math.round(n.de * a), p = Math.round(n.fe * a), m = Math.round(i * n.nt) - c, h = m + s - 1;\n\t\t\tl !== null && (m = Math.max(l + 1, m), m = Math.min(m, h));\n\t\t\tlet g = h - m + 1;\n\t\t\tr.fillRect(m, f, g, u - f), r.fillRect(m, d + 1, g, p - d), l = h;\n\t\t}\n\t}\n\tze(e) {\n\t\tlet t = Math.floor(1 * e);\n\t\tthis.ae <= 2 * t && (t = Math.floor(.5 * (this.ae - 1)));\n\t\tlet n = Math.max(Math.floor(e), t);\n\t\treturn this.ae <= 2 * n ? Math.max(Math.floor(e), Math.floor(1 * e)) : n;\n\t}\n\tIe(e, t, n) {\n\t\tif (this.zt === null) return;\n\t\tlet { context: r, horizontalPixelRatio: i, verticalPixelRatio: a } = e, o = \"\", s = this.ze(i), c = null;\n\t\tfor (let e = n.from; e < n.to; e++) {\n\t\t\tlet n = t[e];\n\t\t\tn.Ne !== o && (r.fillStyle = n.Ne, o = n.Ne);\n\t\t\tlet l = Math.round(n.nt * i) - Math.floor(.5 * this.ae), u = l + this.ae - 1, d = Math.round(Math.min(n.pe, n.me) * a), f = Math.round(Math.max(n.pe, n.me) * a);\n\t\t\tif (c !== null && (l = Math.max(c + 1, l), l = Math.min(l, u)), this.zt.le * i > 2 * s) Se(r, l, d, u - l + 1, f - d + 1, s);\n\t\t\telse {\n\t\t\t\tlet e = u - l + 1;\n\t\t\t\tr.fillRect(l, d, e, f - d + 1);\n\t\t\t}\n\t\t\tc = u;\n\t\t}\n\t}\n\tLe(e, t, n) {\n\t\tif (this.zt === null) return;\n\t\tlet { context: r, horizontalPixelRatio: i, verticalPixelRatio: a } = e, o = \"\", s = this.ze(i);\n\t\tfor (let e = n.from; e < n.to; e++) {\n\t\t\tlet n = t[e], c = Math.round(Math.min(n.pe, n.me) * a), l = Math.round(Math.max(n.pe, n.me) * a), u = Math.round(n.nt * i) - Math.floor(.5 * this.ae), d = u + this.ae - 1;\n\t\t\tif (n.ce !== o) {\n\t\t\t\tlet e = n.ce;\n\t\t\t\tr.fillStyle = e, o = e;\n\t\t\t}\n\t\t\tthis.zt._i && (u += s, c += s, d -= s, l -= s), c > l || r.fillRect(u, c, d - u + 1, l - c + 1);\n\t\t}\n\t}\n}, _t = class extends dt {\n\tconstructor() {\n\t\tsuper(...arguments), this.js = new gt();\n\t}\n\tse(e, t, n) {\n\t\treturn Object.assign(Object.assign({}, this.we(e, t, n)), n.$s(e));\n\t}\n\tJs() {\n\t\tlet e = this.Es.W();\n\t\tthis.js.J({\n\t\t\tIn: this.zs,\n\t\t\tle: this.Ns.St().le(),\n\t\t\tBe: e.wickVisible,\n\t\t\t_i: e.borderVisible,\n\t\t\ttt: this.Ls\n\t\t});\n\t}\n}, vt = class {\n\tconstructor(e, t) {\n\t\tthis.Fe = e, this.Li = t;\n\t}\n\tX(e, t, n) {\n\t\tthis.Fe.draw(e, this.Li, t, n);\n\t}\n}, yt = class extends st {\n\tconstructor(e, t, n) {\n\t\tsuper(e, t, !1), this.wn = n, this.js = new vt(this.wn.renderer(), ((t) => {\n\t\t\tlet n = e.Ct();\n\t\t\treturn n === null ? null : e.Dt().Rt(t, n.Vt);\n\t\t}));\n\t}\n\tWe(e) {\n\t\treturn this.wn.priceValueBuilder(e);\n\t}\n\tje(e) {\n\t\treturn this.wn.isWhitespace(e);\n\t}\n\tYs() {\n\t\tlet e = this.Es.Us();\n\t\tthis.zs = this.Es.In().ne().map(((t) => Object.assign(Object.assign({\n\t\t\tot: t.ee,\n\t\t\tnt: NaN\n\t\t}, e.$s(t.ee)), { He: t.$e })));\n\t}\n\tGs(e, t) {\n\t\tt.Qs(this.zs, fe(this.Ls));\n\t}\n\tJs() {\n\t\tthis.wn.update({\n\t\t\tbars: this.zs.map(bt),\n\t\t\tbarSpacing: this.Ns.St().le(),\n\t\t\tvisibleRange: this.Ls\n\t\t}, this.Es.W());\n\t}\n};\nfunction bt(e) {\n\treturn {\n\t\tx: e.nt,\n\t\ttime: e.ot,\n\t\toriginalData: e.He,\n\t\tbarColor: e.ce\n\t};\n}\nvar xt = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.zt = null, this.Ue = [];\n\t}\n\tJ(e) {\n\t\tthis.zt = e, this.Ue = [];\n\t}\n\tK({ context: e, horizontalPixelRatio: t, verticalPixelRatio: n }) {\n\t\tif (this.zt === null || this.zt.it.length === 0 || this.zt.tt === null) return;\n\t\tthis.Ue.length || this.qe(t);\n\t\tlet r = Math.max(1, Math.floor(n)), i = Math.round(this.zt.Ye * n) - Math.floor(r / 2), a = i + r;\n\t\tfor (let t = this.zt.tt.from; t < this.zt.tt.to; t++) {\n\t\t\tlet o = this.zt.it[t], s = this.Ue[t - this.zt.tt.from], c = Math.round(o.st * n), l, u;\n\t\t\te.fillStyle = o.ce, c <= i ? (l = c, u = a) : (l = i, u = c - Math.floor(r / 2) + r), e.fillRect(s.Os, l, s.ui - s.Os + 1, u - l);\n\t\t}\n\t}\n\tqe(e) {\n\t\tif (this.zt === null || this.zt.it.length === 0 || this.zt.tt === null) return void (this.Ue = []);\n\t\tlet t = Math.ceil(this.zt.le * e) <= 1 ? 0 : Math.max(1, Math.floor(e)), n = Math.round(this.zt.le * e) - t;\n\t\tthis.Ue = Array(this.zt.tt.to - this.zt.tt.from);\n\t\tfor (let t = this.zt.tt.from; t < this.zt.tt.to; t++) {\n\t\t\tlet r = this.zt.it[t], i = Math.round(r.nt * e), a, o;\n\t\t\tif (n % 2) {\n\t\t\t\tlet e = (n - 1) / 2;\n\t\t\t\ta = i - e, o = i + e;\n\t\t\t} else {\n\t\t\t\tlet e = n / 2;\n\t\t\t\ta = i - e, o = i + e - 1;\n\t\t\t}\n\t\t\tthis.Ue[t - this.zt.tt.from] = {\n\t\t\t\tOs: a,\n\t\t\t\tui: o,\n\t\t\t\tZe: i,\n\t\t\t\tXe: r.nt * e,\n\t\t\t\tot: r.ot\n\t\t\t};\n\t\t}\n\t\tfor (let e = this.zt.tt.from + 1; e < this.zt.tt.to; e++) {\n\t\t\tlet n = this.Ue[e - this.zt.tt.from], r = this.Ue[e - this.zt.tt.from - 1];\n\t\t\tn.ot === r.ot + 1 && n.Os - r.ui !== t + 1 && (r.Ze > r.Xe ? r.ui = n.Os - t - 1 : n.Os = r.ui + t + 1);\n\t\t}\n\t\tlet r = Math.ceil(this.zt.le * e);\n\t\tfor (let e = this.zt.tt.from; e < this.zt.tt.to; e++) {\n\t\t\tlet t = this.Ue[e - this.zt.tt.from];\n\t\t\tt.ui < t.Os && (t.ui = t.Os);\n\t\t\tlet n = t.ui - t.Os + 1;\n\t\t\tr = Math.min(n, r);\n\t\t}\n\t\tif (t > 0 && r < 4) for (let e = this.zt.tt.from; e < this.zt.tt.to; e++) {\n\t\t\tlet t = this.Ue[e - this.zt.tt.from];\n\t\t\tt.ui - t.Os + 1 > r && (t.Ze > t.Xe ? --t.ui : t.Os += 1);\n\t\t}\n\t}\n}, St = class extends ct {\n\tconstructor() {\n\t\tsuper(...arguments), this.js = new xt();\n\t}\n\tse(e, t, n) {\n\t\treturn Object.assign(Object.assign({}, this.ie(e, t)), n.$s(e));\n\t}\n\tJs() {\n\t\tlet e = {\n\t\t\tit: this.zs,\n\t\t\tle: this.Ns.St().le(),\n\t\t\ttt: this.Ls,\n\t\t\tYe: this.Es.Dt().Rt(this.Es.W().base, S(this.Es.Ct()).Vt)\n\t\t};\n\t\tthis.js.J(e);\n\t}\n}, Ct = class extends ct {\n\tconstructor() {\n\t\tsuper(...arguments), this.js = new tt();\n\t}\n\tse(e, t, n) {\n\t\treturn Object.assign(Object.assign({}, this.ie(e, t)), n.$s(e));\n\t}\n\tJs() {\n\t\tlet e = this.Es.W(), t = {\n\t\t\tit: this.zs,\n\t\t\tNt: e.lineStyle,\n\t\t\tfs: e.lineVisible ? e.lineType : void 0,\n\t\t\tet: e.lineWidth,\n\t\t\tDs: e.pointMarkersVisible ? e.pointMarkersRadius || e.lineWidth / 2 + 2 : void 0,\n\t\t\ttt: this.Ls,\n\t\t\tds: this.Ns.St().le()\n\t\t};\n\t\tthis.js.J(t);\n\t}\n}, wt = /[2-9]/g, R = class {\n\tconstructor(e = 50) {\n\t\tthis.Ke = 0, this.Ge = 1, this.Je = 1, this.Qe = {}, this.tr = /* @__PURE__ */ new Map(), this.ir = e;\n\t}\n\tnr() {\n\t\tthis.Ke = 0, this.tr.clear(), this.Ge = 1, this.Je = 1, this.Qe = {};\n\t}\n\txi(e, t, n) {\n\t\treturn this.sr(e, t, n).width;\n\t}\n\tMi(e, t, n) {\n\t\tlet r = this.sr(e, t, n);\n\t\treturn ((r.actualBoundingBoxAscent || 0) - (r.actualBoundingBoxDescent || 0)) / 2;\n\t}\n\tsr(e, t, n) {\n\t\tlet r = n || wt, i = String(t).replace(r, \"0\");\n\t\tif (this.tr.has(i)) return x(this.tr.get(i)).er;\n\t\tif (this.Ke === this.ir) {\n\t\t\tlet e = this.Qe[this.Je];\n\t\t\tdelete this.Qe[this.Je], this.tr.delete(e), this.Je++, this.Ke--;\n\t\t}\n\t\te.save(), e.textBaseline = \"middle\";\n\t\tlet a = e.measureText(i);\n\t\treturn e.restore(), a.width === 0 && t.length || (this.tr.set(i, {\n\t\t\ter: a,\n\t\t\trr: this.Ge\n\t\t}), this.Qe[this.Ge] = i, this.Ke++, this.Ge++), a;\n\t}\n}, Tt = class {\n\tconstructor(e) {\n\t\tthis.hr = null, this.k = null, this.lr = \"right\", this.ar = e;\n\t}\n\t_r(e, t, n) {\n\t\tthis.hr = e, this.k = t, this.lr = n;\n\t}\n\tX(e) {\n\t\tthis.k !== null && this.hr !== null && this.hr.X(e, this.k, this.ar, this.lr);\n\t}\n}, Et = class {\n\tconstructor(e, t, n) {\n\t\tthis.ur = e, this.ar = new R(50), this.cr = t, this.F = n, this.j = -1, this.Wt = new Tt(this.ar);\n\t}\n\tgt() {\n\t\tlet e = this.F.dr(this.cr);\n\t\tif (e === null) return null;\n\t\tlet t = e.vr(this.cr) ? e.pr() : this.cr.Dt();\n\t\tif (t === null) return null;\n\t\tlet n = e.mr(t);\n\t\tif (n === \"overlay\") return null;\n\t\tlet r = this.F.br();\n\t\treturn r.P !== this.j && (this.j = r.P, this.ar.nr()), this.Wt._r(this.ur.Ii(), r, n), this.Wt;\n\t}\n}, Dt = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.zt = null;\n\t}\n\tJ(e) {\n\t\tthis.zt = e;\n\t}\n\twr(e, t) {\n\t\tif (!this.zt?.yt) return null;\n\t\tlet { st: n, et: r, gr: i } = this.zt;\n\t\treturn t >= n - r - 7 && t <= n + r + 7 ? {\n\t\t\tMr: this.zt,\n\t\t\tgr: i\n\t\t} : null;\n\t}\n\tK({ context: e, bitmapSize: t, horizontalPixelRatio: n, verticalPixelRatio: r }) {\n\t\tif (this.zt === null || !1 === this.zt.yt) return;\n\t\tlet i = Math.round(this.zt.st * r);\n\t\ti < 0 || i > t.height || (e.lineCap = \"butt\", e.strokeStyle = this.zt.V, e.lineWidth = Math.floor(this.zt.et * n), v(e, this.zt.Nt), y(e, i, 0, t.width));\n\t}\n}, Ot = class {\n\tconstructor(e) {\n\t\tthis.Sr = {\n\t\t\tst: 0,\n\t\t\tV: \"rgba(0, 0, 0, 0)\",\n\t\t\tet: 1,\n\t\t\tNt: 0,\n\t\t\tyt: !1\n\t\t}, this.kr = new Dt(), this.ft = !0, this.Es = e, this.Ns = e.$t(), this.kr.J(this.Sr);\n\t}\n\tbt() {\n\t\tthis.ft = !0;\n\t}\n\tgt() {\n\t\treturn this.Es.yt() ? (this.ft &&= (this.yr(), !1), this.kr) : null;\n\t}\n}, kt = class extends Ot {\n\tconstructor(e) {\n\t\tsuper(e);\n\t}\n\tyr() {\n\t\tthis.Sr.yt = !1;\n\t\tlet e = this.Es.Dt(), t = e.Cr().Cr;\n\t\tif (t !== 2 && t !== 3) return;\n\t\tlet n = this.Es.W();\n\t\tif (!n.baseLineVisible || !this.Es.yt()) return;\n\t\tlet r = this.Es.Ct();\n\t\tr !== null && (this.Sr.yt = !0, this.Sr.st = e.Rt(r.Vt, r.Vt), this.Sr.V = n.baseLineColor, this.Sr.et = n.baseLineWidth, this.Sr.Nt = n.baseLineStyle);\n\t}\n}, At = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.zt = null;\n\t}\n\tJ(e) {\n\t\tthis.zt = e;\n\t}\n\t$e() {\n\t\treturn this.zt;\n\t}\n\tK({ context: e, horizontalPixelRatio: t, verticalPixelRatio: n }) {\n\t\tlet r = this.zt;\n\t\tif (r === null) return;\n\t\tlet i = Math.max(1, Math.floor(t)), a = i % 2 / 2, o = Math.round(r.Xe.x * t) + a, s = r.Xe.y * n;\n\t\te.fillStyle = r.Tr, e.beginPath();\n\t\tlet c = Math.max(2, 1.5 * r.Pr) * t;\n\t\te.arc(o, s, c, 0, 2 * Math.PI, !1), e.fill(), e.fillStyle = r.Rr, e.beginPath(), e.arc(o, s, r.ht * t, 0, 2 * Math.PI, !1), e.fill(), e.lineWidth = i, e.strokeStyle = r.Dr, e.beginPath(), e.arc(o, s, r.ht * t + i / 2, 0, 2 * Math.PI, !1), e.stroke();\n\t}\n}, jt = [\n\t{\n\t\tVr: 0,\n\t\tOr: .25,\n\t\tBr: 4,\n\t\tAr: 10,\n\t\tIr: .25,\n\t\tzr: 0,\n\t\tLr: .4,\n\t\tEr: .8\n\t},\n\t{\n\t\tVr: .25,\n\t\tOr: .525,\n\t\tBr: 10,\n\t\tAr: 14,\n\t\tIr: 0,\n\t\tzr: 0,\n\t\tLr: .8,\n\t\tEr: 0\n\t},\n\t{\n\t\tVr: .525,\n\t\tOr: 1,\n\t\tBr: 14,\n\t\tAr: 14,\n\t\tIr: 0,\n\t\tzr: 0,\n\t\tLr: 0,\n\t\tEr: 0\n\t}\n];\nfunction Mt(e, t, n, r) {\n\treturn function(e, t) {\n\t\tif (e === \"transparent\") return e;\n\t\tlet n = D(e), r = n[3];\n\t\treturn `rgba(${n[0]}, ${n[1]}, ${n[2]}, ${t * r})`;\n\t}(e, n + (r - n) * t);\n}\nfunction Nt(e, t) {\n\tlet n = e % 2600 / 2600, r;\n\tfor (let e of jt) if (n >= e.Vr && n <= e.Or) {\n\t\tr = e;\n\t\tbreak;\n\t}\n\tb(r !== void 0, \"Last price animation internal logic error\");\n\tlet i = (n - r.Vr) / (r.Or - r.Vr);\n\treturn {\n\t\tRr: Mt(t, i, r.Ir, r.zr),\n\t\tDr: Mt(t, i, r.Lr, r.Er),\n\t\tht: (a = i, o = r.Br, s = r.Ar, o + (s - o) * a)\n\t};\n\tvar a, o, s;\n}\nvar Pt = class {\n\tconstructor(e) {\n\t\tthis.Wt = new At(), this.ft = !0, this.Nr = !0, this.Fr = performance.now(), this.Wr = this.Fr - 1, this.jr = e;\n\t}\n\tHr() {\n\t\tthis.Wr = this.Fr - 1, this.bt();\n\t}\n\t$r() {\n\t\tif (this.bt(), this.jr.W().lastPriceAnimation === 2) {\n\t\t\tlet e = performance.now(), t = this.Wr - e;\n\t\t\tif (t > 0) return void (t < 650 && (this.Wr += 2600));\n\t\t\tthis.Fr = e, this.Wr = e + 2600;\n\t\t}\n\t}\n\tbt() {\n\t\tthis.ft = !0;\n\t}\n\tUr() {\n\t\tthis.Nr = !0;\n\t}\n\tyt() {\n\t\treturn this.jr.W().lastPriceAnimation !== 0;\n\t}\n\tqr() {\n\t\tswitch (this.jr.W().lastPriceAnimation) {\n\t\t\tcase 0: return !1;\n\t\t\tcase 1: return !0;\n\t\t\tcase 2: return performance.now() <= this.Wr;\n\t\t}\n\t}\n\tgt() {\n\t\treturn this.ft ? (this.Mt(), this.ft = !1, this.Nr = !1) : this.Nr &&= (this.Yr(), !1), this.Wt;\n\t}\n\tMt() {\n\t\tthis.Wt.J(null);\n\t\tlet e = this.jr.$t().St(), t = e.Xs(), n = this.jr.Ct();\n\t\tif (t === null || n === null) return;\n\t\tlet r = this.jr.Zr(!0);\n\t\tif (r.Xr || !t.Kr(r.ee)) return;\n\t\tlet i = {\n\t\t\tx: e.It(r.ee),\n\t\t\ty: this.jr.Dt().Rt(r._t, n.Vt)\n\t\t}, a = r.V, o = this.jr.W().lineWidth, s = Nt(this.Gr(), a);\n\t\tthis.Wt.J({\n\t\t\tTr: a,\n\t\t\tPr: o,\n\t\t\tRr: s.Rr,\n\t\t\tDr: s.Dr,\n\t\t\tht: s.ht,\n\t\t\tXe: i\n\t\t});\n\t}\n\tYr() {\n\t\tlet e = this.Wt.$e();\n\t\tif (e !== null) {\n\t\t\tlet t = Nt(this.Gr(), e.Tr);\n\t\t\te.Rr = t.Rr, e.Dr = t.Dr, e.ht = t.ht;\n\t\t}\n\t}\n\tGr() {\n\t\treturn this.qr() ? performance.now() - this.Fr : 2599;\n\t}\n};\nfunction z(e, t) {\n\treturn Xe(Math.min(Math.max(e, 12), 30) * t);\n}\nfunction B(e, t) {\n\tswitch (e) {\n\t\tcase \"arrowDown\":\n\t\tcase \"arrowUp\": return z(t, 1);\n\t\tcase \"circle\": return z(t, .8);\n\t\tcase \"square\": return z(t, .7);\n\t}\n}\nfunction Ft(e) {\n\treturn function(e) {\n\t\tlet t = Math.ceil(e);\n\t\treturn t % 2 == 0 ? t : t - 1;\n\t}(z(e, 1));\n}\nfunction It(e) {\n\treturn Math.max(z(e, .1), 3);\n}\nfunction Lt(e, t, n) {\n\treturn t ? e : n ? Math.ceil(e / 2) : 0;\n}\nfunction Rt(e, t, n, r, i) {\n\tlet a = B(\"square\", n), o = (a - 1) / 2, s = e - o, c = t - o;\n\treturn r >= s && r <= s + a && i >= c && i <= c + a;\n}\nfunction zt(e, t, n, r) {\n\tlet i = (B(\"arrowUp\", r) - 1) / 2 * n.Jr, a = (Xe(r / 2) - 1) / 2 * n.Jr;\n\tt.beginPath(), e ? (t.moveTo(n.nt - i, n.st), t.lineTo(n.nt, n.st - i), t.lineTo(n.nt + i, n.st), t.lineTo(n.nt + a, n.st), t.lineTo(n.nt + a, n.st + i), t.lineTo(n.nt - a, n.st + i), t.lineTo(n.nt - a, n.st)) : (t.moveTo(n.nt - i, n.st), t.lineTo(n.nt, n.st + i), t.lineTo(n.nt + i, n.st), t.lineTo(n.nt + a, n.st), t.lineTo(n.nt + a, n.st - i), t.lineTo(n.nt - a, n.st - i), t.lineTo(n.nt - a, n.st)), t.fill();\n}\nfunction Bt(e, t, n, r, i, a) {\n\treturn Rt(t, n, r, i, a);\n}\nvar Vt = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.zt = null, this.ar = new R(), this.j = -1, this.H = \"\", this.Qr = \"\";\n\t}\n\tJ(e) {\n\t\tthis.zt = e;\n\t}\n\t_r(e, t) {\n\t\tthis.j === e && this.H === t || (this.j = e, this.H = t, this.Qr = N(e, t), this.ar.nr());\n\t}\n\twr(e, t) {\n\t\tif (this.zt === null || this.zt.tt === null) return null;\n\t\tfor (let n = this.zt.tt.from; n < this.zt.tt.to; n++) {\n\t\t\tlet r = this.zt.it[n];\n\t\t\tif (Ut(r, e, t)) return {\n\t\t\t\tMr: r.th,\n\t\t\t\tgr: r.gr\n\t\t\t};\n\t\t}\n\t\treturn null;\n\t}\n\tK({ context: e, horizontalPixelRatio: t, verticalPixelRatio: n }, r, i) {\n\t\tif (this.zt !== null && this.zt.tt !== null) {\n\t\t\te.textBaseline = \"middle\", e.font = this.Qr;\n\t\t\tfor (let r = this.zt.tt.from; r < this.zt.tt.to; r++) {\n\t\t\t\tlet i = this.zt.it[r];\n\t\t\t\ti.Kt !== void 0 && (i.Kt.Hi = this.ar.xi(e, i.Kt.ih), i.Kt.At = this.j, i.Kt.nt = i.nt - i.Kt.Hi / 2), Ht(i, e, t, n);\n\t\t\t}\n\t\t}\n\t}\n};\nfunction Ht(e, t, n, r) {\n\tt.fillStyle = e.V, e.Kt !== void 0 && function(e, t, n, r, i, a) {\n\t\te.save(), e.scale(i, a), e.fillText(t, n, r), e.restore();\n\t}(t, e.Kt.ih, e.Kt.nt, e.Kt.st, n, r), function(e, t, n) {\n\t\tif (e.Ks !== 0) {\n\t\t\tswitch (e.nh) {\n\t\t\t\tcase \"arrowDown\":\n\t\t\t\t\tzt(!1, t, n, e.Ks);\n\t\t\t\t\treturn;\n\t\t\t\tcase \"arrowUp\":\n\t\t\t\t\tzt(!0, t, n, e.Ks);\n\t\t\t\t\treturn;\n\t\t\t\tcase \"circle\":\n\t\t\t\t\t(function(e, t, n) {\n\t\t\t\t\t\tlet r = (B(\"circle\", n) - 1) / 2;\n\t\t\t\t\t\te.beginPath(), e.arc(t.nt, t.st, r * t.Jr, 0, 2 * Math.PI, !1), e.fill();\n\t\t\t\t\t})(t, n, e.Ks);\n\t\t\t\t\treturn;\n\t\t\t\tcase \"square\":\n\t\t\t\t\t(function(e, t, n) {\n\t\t\t\t\t\tlet r = B(\"square\", n), i = (r - 1) * t.Jr / 2, a = t.nt - i, o = t.st - i;\n\t\t\t\t\t\te.fillRect(a, o, r * t.Jr, r * t.Jr);\n\t\t\t\t\t})(t, n, e.Ks);\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t\te.nh;\n\t\t}\n\t}(e, t, function(e, t, n) {\n\t\tlet r = Math.max(1, Math.floor(t)) % 2 / 2;\n\t\treturn {\n\t\t\tnt: Math.round(e.nt * t) + r,\n\t\t\tst: e.st * n,\n\t\t\tJr: t\n\t\t};\n\t}(e, n, r));\n}\nfunction Ut(e, t, n) {\n\treturn !(e.Kt === void 0 || !function(e, t, n, r, i, a) {\n\t\tlet o = r / 2;\n\t\treturn i >= e && i <= e + n && a >= t - o && a <= t + o;\n\t}(e.Kt.nt, e.Kt.st, e.Kt.Hi, e.Kt.At, t, n)) || function(e, t, n) {\n\t\tif (e.Ks === 0) return !1;\n\t\tswitch (e.nh) {\n\t\t\tcase \"arrowDown\":\n\t\t\tcase \"arrowUp\": return Bt(0, e.nt, e.st, e.Ks, t, n);\n\t\t\tcase \"circle\": return function(e, t, n, r, i) {\n\t\t\t\tlet a = 2 + B(\"circle\", n) / 2, o = e - r, s = t - i;\n\t\t\t\treturn Math.sqrt(o * o + s * s) <= a;\n\t\t\t}(e.nt, e.st, e.Ks, t, n);\n\t\t\tcase \"square\": return Rt(e.nt, e.st, e.Ks, t, n);\n\t\t}\n\t}(e, t, n);\n}\nfunction Wt(e, t, n, r, i, a, o, s, c) {\n\tlet l = j(n) ? n : n.Se, u = j(n) ? n : n.Me, d = j(n) ? n : n.xe, f = j(t.size) ? Math.max(t.size, 0) : 1, p = Ft(s.le()) * f, m = p / 2;\n\tswitch (e.Ks = p, t.position) {\n\t\tcase \"inBar\":\n\t\t\te.st = o.Rt(l, c), e.Kt !== void 0 && (e.Kt.st = e.st + m + a + .6 * i);\n\t\t\treturn;\n\t\tcase \"aboveBar\":\n\t\t\te.st = o.Rt(u, c) - m - r.sh, e.Kt !== void 0 && (e.Kt.st = e.st - m - .6 * i, r.sh += 1.2 * i), r.sh += p + a;\n\t\t\treturn;\n\t\tcase \"belowBar\":\n\t\t\te.st = o.Rt(d, c) + m + r.eh, e.Kt !== void 0 && (e.Kt.st = e.st + m + a + .6 * i, r.eh += 1.2 * i), r.eh += p + a;\n\t\t\treturn;\n\t}\n\tt.position;\n}\nvar Gt = class {\n\tconstructor(e, t) {\n\t\tthis.ft = !0, this.rh = !0, this.hh = !0, this.ah = null, this.oh = null, this.Wt = new Vt(), this.jr = e, this.$i = t, this.zt = {\n\t\t\tit: [],\n\t\t\ttt: null\n\t\t};\n\t}\n\tbt(e) {\n\t\tthis.ft = !0, this.hh = !0, e === \"data\" && (this.rh = !0, this.oh = null);\n\t}\n\tgt(e) {\n\t\tif (!this.jr.yt()) return null;\n\t\tthis.ft && this._h();\n\t\tlet t = this.$i.W().layout;\n\t\treturn this.Wt._r(t.fontSize, t.fontFamily), this.Wt.J(this.zt), this.Wt;\n\t}\n\tuh() {\n\t\tif (this.hh) {\n\t\t\tif (this.jr.dh().length > 0) {\n\t\t\t\tlet e = this.$i.St().le(), t = It(e), n = 1.5 * Ft(e) + 2 * t, r = this.fh();\n\t\t\t\tthis.ah = {\n\t\t\t\t\tabove: Lt(n, r.aboveBar, r.inBar),\n\t\t\t\t\tbelow: Lt(n, r.belowBar, r.inBar)\n\t\t\t\t};\n\t\t\t} else this.ah = null;\n\t\t\tthis.hh = !1;\n\t\t}\n\t\treturn this.ah;\n\t}\n\tfh() {\n\t\treturn this.oh === null && (this.oh = this.jr.dh().reduce(((e, t) => (e[t.position] || (e[t.position] = !0), e)), {\n\t\t\tinBar: !1,\n\t\t\taboveBar: !1,\n\t\t\tbelowBar: !1\n\t\t})), this.oh;\n\t}\n\t_h() {\n\t\tlet e = this.jr.Dt(), t = this.$i.St(), n = this.jr.dh();\n\t\tthis.rh &&= (this.zt.it = n.map(((e) => ({\n\t\t\tot: e.time,\n\t\t\tnt: 0,\n\t\t\tst: 0,\n\t\t\tKs: 0,\n\t\t\tnh: e.shape,\n\t\t\tV: e.color,\n\t\t\tth: e.th,\n\t\t\tgr: e.id,\n\t\t\tKt: void 0\n\t\t}))), !1);\n\t\tlet r = this.$i.W().layout;\n\t\tthis.zt.tt = null;\n\t\tlet i = t.Xs();\n\t\tif (i === null) return;\n\t\tlet a = this.jr.Ct();\n\t\tif (a === null || this.zt.it.length === 0) return;\n\t\tlet o = NaN, s = It(t.le()), c = {\n\t\t\tsh: s,\n\t\t\teh: s\n\t\t};\n\t\tthis.zt.tt = ot(this.zt.it, i, !0);\n\t\tfor (let i = this.zt.tt.from; i < this.zt.tt.to; i++) {\n\t\t\tlet l = n[i];\n\t\t\tl.time !== o && (c.sh = s, c.eh = s, o = l.time);\n\t\t\tlet u = this.zt.it[i];\n\t\t\tu.nt = t.It(l.time), l.text !== void 0 && l.text.length > 0 && (u.Kt = {\n\t\t\t\tih: l.text,\n\t\t\t\tnt: 0,\n\t\t\t\tst: 0,\n\t\t\t\tHi: 0,\n\t\t\t\tAt: 0\n\t\t\t});\n\t\t\tlet d = this.jr.ph(l.time);\n\t\t\td !== null && Wt(u, l, d, c, r.fontSize, s, e, t, a.Vt);\n\t\t}\n\t\tthis.ft = !1;\n\t}\n}, Kt = class extends Ot {\n\tconstructor(e) {\n\t\tsuper(e);\n\t}\n\tyr() {\n\t\tlet e = this.Sr;\n\t\te.yt = !1;\n\t\tlet t = this.Es.W();\n\t\tif (!t.priceLineVisible || !this.Es.yt()) return;\n\t\tlet n = this.Es.Zr(t.priceLineSource === 0);\n\t\tn.Xr || (e.yt = !0, e.st = n.ki, e.V = this.Es.mh(n.V), e.et = t.priceLineWidth, e.Nt = t.priceLineStyle);\n\t}\n}, qt = class extends Oe {\n\tconstructor(e) {\n\t\tsuper(), this.jt = e;\n\t}\n\tzi(e, t, n) {\n\t\te.yt = !1, t.yt = !1;\n\t\tlet r = this.jt;\n\t\tif (!r.yt()) return;\n\t\tlet i = r.W(), a = i.lastValueVisible, o = r.bh() !== \"\", s = i.seriesLastValueMode === 0, c = r.Zr(!1);\n\t\tif (c.Xr) return;\n\t\ta && (e.Kt = this.wh(c, a, s), e.yt = e.Kt.length !== 0), (o || s) && (t.Kt = this.gh(c, a, o, s), t.yt = t.Kt.length > 0);\n\t\tlet l = r.mh(c.V), u = se(l);\n\t\tn.t = u.t, n.ki = c.ki, t.Ot = r.$t().Bt(c.ki / r.Dt().At()), e.Ot = l, e.V = u.i, t.V = u.i;\n\t}\n\tgh(e, t, n, r) {\n\t\tlet i = \"\", a = this.jt.bh();\n\t\treturn n && a.length !== 0 && (i += `${a} `), t && r && (i += this.jt.Dt().Mh() ? e.xh : e.Sh), i.trim();\n\t}\n\twh(e, t, n) {\n\t\treturn t ? n ? this.jt.Dt().Mh() ? e.Sh : e.xh : e.Kt : \"\";\n\t}\n};\nfunction Jt(e, t, n, r) {\n\tlet i = Number.isFinite(t), a = Number.isFinite(n);\n\treturn i && a ? e(t, n) : i || a ? i ? t : n : r;\n}\nvar V = class e {\n\tconstructor(e, t) {\n\t\tthis.kh = e, this.yh = t;\n\t}\n\tCh(e) {\n\t\treturn e !== null && this.kh === e.kh && this.yh === e.yh;\n\t}\n\tTh() {\n\t\treturn new e(this.kh, this.yh);\n\t}\n\tPh() {\n\t\treturn this.kh;\n\t}\n\tRh() {\n\t\treturn this.yh;\n\t}\n\tDh() {\n\t\treturn this.yh - this.kh;\n\t}\n\tNi() {\n\t\treturn this.yh === this.kh || Number.isNaN(this.yh) || Number.isNaN(this.kh);\n\t}\n\tts(t) {\n\t\treturn t === null ? this : new e(Jt(Math.min, this.Ph(), t.Ph(), -Infinity), Jt(Math.max, this.Rh(), t.Rh(), Infinity));\n\t}\n\tVh(e) {\n\t\tif (!j(e) || this.yh - this.kh === 0) return;\n\t\tlet t = .5 * (this.yh + this.kh), n = this.yh - t, r = this.kh - t;\n\t\tn *= e, r *= e, this.yh = t + n, this.kh = t + r;\n\t}\n\tOh(e) {\n\t\tj(e) && (this.yh += e, this.kh += e);\n\t}\n\tBh() {\n\t\treturn {\n\t\t\tminValue: this.kh,\n\t\t\tmaxValue: this.yh\n\t\t};\n\t}\n\tstatic Ah(t) {\n\t\treturn t === null ? null : new e(t.minValue, t.maxValue);\n\t}\n}, Yt = class e {\n\tconstructor(e, t) {\n\t\tthis.Ih = e, this.zh = t || null;\n\t}\n\tLh() {\n\t\treturn this.Ih;\n\t}\n\tEh() {\n\t\treturn this.zh;\n\t}\n\tBh() {\n\t\treturn this.Ih === null ? null : {\n\t\t\tpriceRange: this.Ih.Bh(),\n\t\t\tmargins: this.zh || void 0\n\t\t};\n\t}\n\tstatic Ah(t) {\n\t\treturn t === null ? null : new e(V.Ah(t.priceRange), t.margins);\n\t}\n}, Xt = class extends Ot {\n\tconstructor(e, t) {\n\t\tsuper(e), this.Nh = t;\n\t}\n\tyr() {\n\t\tlet e = this.Sr;\n\t\te.yt = !1;\n\t\tlet t = this.Nh.W();\n\t\tif (!this.Es.yt() || !t.lineVisible) return;\n\t\tlet n = this.Nh.Fh();\n\t\tn !== null && (e.yt = !0, e.st = n, e.V = t.color, e.et = t.lineWidth, e.Nt = t.lineStyle, e.gr = this.Nh.W().id);\n\t}\n}, Zt = class extends Oe {\n\tconstructor(e, t) {\n\t\tsuper(), this.jr = e, this.Nh = t;\n\t}\n\tzi(e, t, n) {\n\t\te.yt = !1, t.yt = !1;\n\t\tlet r = this.Nh.W(), i = r.axisLabelVisible, a = r.title !== \"\", o = this.jr;\n\t\tif (!i || !o.yt()) return;\n\t\tlet s = this.Nh.Fh();\n\t\tif (s === null) return;\n\t\ta && (t.Kt = r.title, t.yt = !0), t.Ot = o.$t().Bt(s / o.Dt().At()), e.Kt = this.Wh(r.price), e.yt = !0;\n\t\tlet c = se(r.axisLabelColor || r.color);\n\t\tn.t = c.t;\n\t\tlet l = r.axisLabelTextColor || c.i;\n\t\te.V = l, t.V = l, n.ki = s;\n\t}\n\tWh(e) {\n\t\tlet t = this.jr.Ct();\n\t\treturn t === null ? \"\" : this.jr.Dt().Fi(e, t.Vt);\n\t}\n}, Qt = class {\n\tconstructor(e, t) {\n\t\tthis.jr = e, this.cn = t, this.jh = new Xt(e, this), this.ur = new Zt(e, this), this.Hh = new Et(this.ur, e, e.$t());\n\t}\n\t$h(e) {\n\t\tA(this.cn, e), this.bt(), this.jr.$t().Uh();\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\tqh() {\n\t\treturn this.jh;\n\t}\n\tYh() {\n\t\treturn this.Hh;\n\t}\n\tZh() {\n\t\treturn this.ur;\n\t}\n\tbt() {\n\t\tthis.jh.bt(), this.ur.bt();\n\t}\n\tFh() {\n\t\tlet e = this.jr, t = e.Dt();\n\t\tif (e.$t().St().Ni() || t.Ni()) return null;\n\t\tlet n = e.Ct();\n\t\treturn n === null ? null : t.Rt(this.cn.price, n.Vt);\n\t}\n}, $t = class extends Ne {\n\tconstructor(e) {\n\t\tsuper(), this.$i = e;\n\t}\n\t$t() {\n\t\treturn this.$i;\n\t}\n}, en = {\n\tBar: (e, t, n, r) => {\n\t\tlet i = t.upColor, a = t.downColor, o = S(e(n, r)), s = C(o.Vt[0]) <= C(o.Vt[3]);\n\t\treturn { ce: o.V ?? (s ? i : a) };\n\t},\n\tCandlestick: (e, t, n, r) => {\n\t\tlet i = t.upColor, a = t.downColor, o = t.borderUpColor, s = t.borderDownColor, c = t.wickUpColor, l = t.wickDownColor, u = S(e(n, r)), d = C(u.Vt[0]) <= C(u.Vt[3]);\n\t\treturn {\n\t\t\tce: u.V ?? (d ? i : a),\n\t\t\tNe: u.Ot ?? (d ? o : s),\n\t\t\tEe: u.Xh ?? (d ? c : l)\n\t\t};\n\t},\n\tCustom: (e, t, n, r) => ({ ce: S(e(n, r)).V ?? t.color }),\n\tArea: (e, t, n, r) => {\n\t\tlet i = S(e(n, r));\n\t\treturn {\n\t\t\tce: i.lt ?? t.lineColor,\n\t\t\tlt: i.lt ?? t.lineColor,\n\t\t\tPs: i.Ps ?? t.topColor,\n\t\t\tRs: i.Rs ?? t.bottomColor\n\t\t};\n\t},\n\tBaseline: (e, t, n, r) => {\n\t\tlet i = S(e(n, r));\n\t\treturn {\n\t\t\tce: i.Vt[3] >= t.baseValue.price ? t.topLineColor : t.bottomLineColor,\n\t\t\tRe: i.Re ?? t.topLineColor,\n\t\t\tDe: i.De ?? t.bottomLineColor,\n\t\t\tke: i.ke ?? t.topFillColor1,\n\t\t\tye: i.ye ?? t.topFillColor2,\n\t\t\tCe: i.Ce ?? t.bottomFillColor1,\n\t\t\tTe: i.Te ?? t.bottomFillColor2\n\t\t};\n\t},\n\tLine: (e, t, n, r) => {\n\t\tlet i = S(e(n, r));\n\t\treturn {\n\t\t\tce: i.V ?? t.color,\n\t\t\tlt: i.V ?? t.color\n\t\t};\n\t},\n\tHistogram: (e, t, n, r) => ({ ce: S(e(n, r)).V ?? t.color })\n}, tn = class {\n\tconstructor(e) {\n\t\tthis.Kh = (e, t) => t === void 0 ? this.jr.In().Gh(e) : t.Vt, this.jr = e, this.Jh = en[e.Qh()];\n\t}\n\t$s(e, t) {\n\t\treturn this.Jh(this.Kh, this.jr.W(), e, t);\n\t}\n}, nn;\n(function(e) {\n\te[e.NearestLeft = -1] = \"NearestLeft\", e[e.None = 0] = \"None\", e[e.NearestRight = 1] = \"NearestRight\";\n})(nn ||= {});\nvar H = 30, rn = class {\n\tconstructor() {\n\t\tthis.tl = [], this.il = /* @__PURE__ */ new Map(), this.nl = /* @__PURE__ */ new Map();\n\t}\n\tsl() {\n\t\treturn this.Ks() > 0 ? this.tl[this.tl.length - 1] : null;\n\t}\n\tel() {\n\t\treturn this.Ks() > 0 ? this.rl(0) : null;\n\t}\n\tAn() {\n\t\treturn this.Ks() > 0 ? this.rl(this.tl.length - 1) : null;\n\t}\n\tKs() {\n\t\treturn this.tl.length;\n\t}\n\tNi() {\n\t\treturn this.Ks() === 0;\n\t}\n\tKr(e) {\n\t\treturn this.hl(e, 0) !== null;\n\t}\n\tGh(e) {\n\t\treturn this.ll(e);\n\t}\n\tll(e, t = 0) {\n\t\tlet n = this.hl(e, t);\n\t\treturn n === null ? null : Object.assign(Object.assign({}, this.al(n)), { ee: this.rl(n) });\n\t}\n\tne() {\n\t\treturn this.tl;\n\t}\n\tol(e, t, n) {\n\t\tif (this.Ni()) return null;\n\t\tlet r = null;\n\t\tfor (let i of n) r = an(r, this._l(e, t, i));\n\t\treturn r;\n\t}\n\tJ(e) {\n\t\tthis.nl.clear(), this.il.clear(), this.tl = e;\n\t}\n\trl(e) {\n\t\treturn this.tl[e].ee;\n\t}\n\tal(e) {\n\t\treturn this.tl[e];\n\t}\n\thl(e, t) {\n\t\tlet n = this.ul(e);\n\t\tif (n === null && t !== 0) switch (t) {\n\t\t\tcase -1: return this.cl(e);\n\t\t\tcase 1: return this.dl(e);\n\t\t\tdefault: throw TypeError(\"Unknown search mode\");\n\t\t}\n\t\treturn n;\n\t}\n\tcl(e) {\n\t\tlet t = this.fl(e);\n\t\treturn t > 0 && --t, t !== this.tl.length && this.rl(t) < e ? t : null;\n\t}\n\tdl(e) {\n\t\tlet t = this.vl(e);\n\t\treturn t !== this.tl.length && e < this.rl(t) ? t : null;\n\t}\n\tul(e) {\n\t\tlet t = this.fl(e);\n\t\treturn t === this.tl.length || e < this.tl[t].ee ? null : t;\n\t}\n\tfl(e) {\n\t\treturn L(this.tl, e, ((e, t) => e.ee < t));\n\t}\n\tvl(e) {\n\t\treturn rt(this.tl, e, ((e, t) => e.ee > t));\n\t}\n\tpl(e, t, n) {\n\t\tlet r = null;\n\t\tfor (let i = e; i < t; i++) {\n\t\t\tlet e = this.tl[i].Vt[n];\n\t\t\tNumber.isNaN(e) || (r === null ? r = {\n\t\t\t\tml: e,\n\t\t\t\tbl: e\n\t\t\t} : (e < r.ml && (r.ml = e), e > r.bl && (r.bl = e)));\n\t\t}\n\t\treturn r;\n\t}\n\t_l(e, t, n) {\n\t\tif (this.Ni()) return null;\n\t\tlet r = null, i = S(this.el()), a = S(this.An()), o = Math.max(e, i), s = Math.min(t, a), c = Math.ceil(o / H) * H, l = Math.max(c, Math.floor(s / H) * H);\n\t\t{\n\t\t\tlet e = this.fl(o), i = this.vl(Math.min(s, c, t));\n\t\t\tr = an(r, this.pl(e, i, n));\n\t\t}\n\t\tlet u = this.il.get(n);\n\t\tu === void 0 && (u = /* @__PURE__ */ new Map(), this.il.set(n, u));\n\t\tfor (let e = Math.max(c + 1, o); e < l; e += H) {\n\t\t\tlet t = Math.floor(e / H), i = u.get(t);\n\t\t\tif (i === void 0) {\n\t\t\t\tlet e = this.fl(t * H), r = this.vl((t + 1) * H - 1);\n\t\t\t\ti = this.pl(e, r, n), u.set(t, i);\n\t\t\t}\n\t\t\tr = an(r, i);\n\t\t}\n\t\t{\n\t\t\tlet e = this.fl(l), t = this.vl(s);\n\t\t\tr = an(r, this.pl(e, t, n));\n\t\t}\n\t\treturn r;\n\t}\n};\nfunction an(e, t) {\n\treturn e === null ? t : t === null ? e : {\n\t\tml: Math.min(e.ml, t.ml),\n\t\tbl: Math.max(e.bl, t.bl)\n\t};\n}\nvar on = class {\n\tconstructor(e) {\n\t\tthis.wl = e;\n\t}\n\tX(e, t, n) {\n\t\tthis.wl.draw(e);\n\t}\n\tgl(e, t, n) {\n\t\tvar r, i;\n\t\t(i = (r = this.wl).drawBackground) == null || i.call(r, e);\n\t}\n}, sn = class {\n\tconstructor(e) {\n\t\tthis.tr = null, this.wn = e;\n\t}\n\tgt() {\n\t\tlet e = this.wn.renderer();\n\t\tif (e === null) return null;\n\t\tif (this.tr?.Ml === e) return this.tr.xl;\n\t\tlet t = new on(e);\n\t\treturn this.tr = {\n\t\t\tMl: e,\n\t\t\txl: t\n\t\t}, t;\n\t}\n\tSl() {\n\t\tvar e;\n\t\treturn (e = this.wn).zOrder?.call(e) ?? \"normal\";\n\t}\n};\nfunction cn(e) {\n\tvar t, n;\n\treturn {\n\t\tKt: e.text(),\n\t\tki: e.coordinate(),\n\t\tSi: e.fixedCoordinate?.call(e),\n\t\tV: e.textColor(),\n\t\tt: e.backColor(),\n\t\tyt: (t = e.visible?.call(e)) == null || t,\n\t\thi: (n = e.tickVisible?.call(e)) == null || n\n\t};\n}\nvar ln = class {\n\tconstructor(e, t) {\n\t\tthis.Wt = new je(), this.kl = e, this.yl = t;\n\t}\n\tgt() {\n\t\treturn this.Wt.J(Object.assign({ Hi: this.yl.Hi() }, cn(this.kl))), this.Wt;\n\t}\n}, un = class extends Oe {\n\tconstructor(e, t) {\n\t\tsuper(), this.kl = e, this.Li = t;\n\t}\n\tzi(e, t, n) {\n\t\tlet r = cn(this.kl);\n\t\tn.t = r.t, e.V = r.V;\n\t\tlet i = 2 / 12 * this.Li.P();\n\t\tn.wi = i, n.gi = i, n.ki = r.ki, n.Si = r.Si, e.Kt = r.Kt, e.yt = r.yt, e.hi = r.hi;\n\t}\n}, dn = class {\n\tconstructor(e, t) {\n\t\tthis.Cl = null, this.Tl = null, this.Pl = null, this.Rl = null, this.Dl = null, this.Vl = e, this.jr = t;\n\t}\n\tOl() {\n\t\treturn this.Vl;\n\t}\n\tVn() {\n\t\tvar e, t;\n\t\t(t = (e = this.Vl).updateAllViews) == null || t.call(e);\n\t}\n\tPn() {\n\t\tvar e;\n\t\tlet t = (e = this.Vl).paneViews?.call(e) ?? [];\n\t\tif (this.Cl?.Ml === t) return this.Cl.xl;\n\t\tlet n = t.map(((e) => new sn(e)));\n\t\treturn this.Cl = {\n\t\t\tMl: t,\n\t\t\txl: n\n\t\t}, n;\n\t}\n\tQi() {\n\t\tvar e;\n\t\tlet t = (e = this.Vl).timeAxisViews?.call(e) ?? [];\n\t\tif (this.Tl?.Ml === t) return this.Tl.xl;\n\t\tlet n = this.jr.$t().St(), r = t.map(((e) => new ln(e, n)));\n\t\treturn this.Tl = {\n\t\t\tMl: t,\n\t\t\txl: r\n\t\t}, r;\n\t}\n\tRn() {\n\t\tvar e;\n\t\tlet t = (e = this.Vl).priceAxisViews?.call(e) ?? [];\n\t\tif (this.Pl?.Ml === t) return this.Pl.xl;\n\t\tlet n = this.jr.Dt(), r = t.map(((e) => new un(e, n)));\n\t\treturn this.Pl = {\n\t\t\tMl: t,\n\t\t\txl: r\n\t\t}, r;\n\t}\n\tBl() {\n\t\tvar e;\n\t\tlet t = (e = this.Vl).priceAxisPaneViews?.call(e) ?? [];\n\t\tif (this.Rl?.Ml === t) return this.Rl.xl;\n\t\tlet n = t.map(((e) => new sn(e)));\n\t\treturn this.Rl = {\n\t\t\tMl: t,\n\t\t\txl: n\n\t\t}, n;\n\t}\n\tAl() {\n\t\tvar e;\n\t\tlet t = (e = this.Vl).timeAxisPaneViews?.call(e) ?? [];\n\t\tif (this.Dl?.Ml === t) return this.Dl.xl;\n\t\tlet n = t.map(((e) => new sn(e)));\n\t\treturn this.Dl = {\n\t\t\tMl: t,\n\t\t\txl: n\n\t\t}, n;\n\t}\n\tIl(e, t) {\n\t\tvar n;\n\t\treturn (n = this.Vl).autoscaleInfo?.call(n, e, t) ?? null;\n\t}\n\twr(e, t) {\n\t\tvar n;\n\t\treturn (n = this.Vl).hitTest?.call(n, e, t) ?? null;\n\t}\n};\nfunction fn(e, t, n, r) {\n\te.forEach(((e) => {\n\t\tt(e).forEach(((e) => {\n\t\t\te.Sl() === n && r.push(e);\n\t\t}));\n\t}));\n}\nfunction pn(e) {\n\treturn e.Pn();\n}\nfunction mn(e) {\n\treturn e.Bl();\n}\nfunction hn(e) {\n\treturn e.Al();\n}\nvar gn = class extends $t {\n\tconstructor(e, t, n, r, i) {\n\t\tsuper(e), this.zt = new rn(), this.jh = new Kt(this), this.zl = [], this.Ll = new kt(this), this.El = null, this.Nl = null, this.Fl = [], this.Wl = [], this.jl = null, this.Hl = [], this.cn = t, this.$l = n;\n\t\tlet a = new qt(this);\n\t\tthis.rn = [a], this.Hh = new Et(a, this, e), n !== \"Area\" && n !== \"Line\" && n !== \"Baseline\" || (this.El = new Pt(this)), this.Ul(), this.ql(i);\n\t}\n\tS() {\n\t\tthis.jl !== null && clearTimeout(this.jl);\n\t}\n\tmh(e) {\n\t\treturn this.cn.priceLineColor || e;\n\t}\n\tZr(e) {\n\t\tlet t = { Xr: !0 }, n = this.Dt();\n\t\tif (this.$t().St().Ni() || n.Ni() || this.zt.Ni()) return t;\n\t\tlet r = this.$t().St().Xs(), i = this.Ct();\n\t\tif (r === null || i === null) return t;\n\t\tlet a, o;\n\t\tif (e) {\n\t\t\tlet e = this.zt.sl();\n\t\t\tif (e === null) return t;\n\t\t\ta = e, o = e.ee;\n\t\t} else {\n\t\t\tlet e = this.zt.ll(r.ui(), -1);\n\t\t\tif (e === null || (a = this.zt.Gh(e.ee), a === null)) return t;\n\t\t\to = e.ee;\n\t\t}\n\t\tlet s = a.Vt[3], c = this.Us().$s(o, { Vt: a }), l = n.Rt(s, i.Vt);\n\t\treturn {\n\t\t\tXr: !1,\n\t\t\t_t: s,\n\t\t\tKt: n.Fi(s, i.Vt),\n\t\t\txh: n.Yl(s),\n\t\t\tSh: n.Zl(s, i.Vt),\n\t\t\tV: c.ce,\n\t\t\tki: l,\n\t\t\tee: o\n\t\t};\n\t}\n\tUs() {\n\t\treturn this.Nl !== null || (this.Nl = new tn(this)), this.Nl;\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\t$h(e) {\n\t\tlet t = e.priceScaleId;\n\t\tt !== void 0 && t !== this.cn.priceScaleId && this.$t().Xl(this, t), A(this.cn, e), e.priceFormat !== void 0 && (this.Ul(), this.$t().Kl()), this.$t().Gl(this), this.$t().Jl(), this.wn.bt(\"options\");\n\t}\n\tJ(e, t) {\n\t\tthis.zt.J(e), this.Ql(), this.wn.bt(\"data\"), this.dn.bt(\"data\"), this.El !== null && (t && t.ta ? this.El.$r() : e.length === 0 && this.El.Hr());\n\t\tlet n = this.$t().dr(this);\n\t\tthis.$t().ia(n), this.$t().Gl(this), this.$t().Jl(), this.$t().Uh();\n\t}\n\tna(e) {\n\t\tthis.Fl = e, this.Ql();\n\t\tlet t = this.$t().dr(this);\n\t\tthis.dn.bt(\"data\"), this.$t().ia(t), this.$t().Gl(this), this.$t().Jl(), this.$t().Uh();\n\t}\n\tsa() {\n\t\treturn this.Fl;\n\t}\n\tdh() {\n\t\treturn this.Wl;\n\t}\n\tea(e) {\n\t\tlet t = new Qt(this, e);\n\t\treturn this.zl.push(t), this.$t().Gl(this), t;\n\t}\n\tra(e) {\n\t\tlet t = this.zl.indexOf(e);\n\t\tt !== -1 && this.zl.splice(t, 1), this.$t().Gl(this);\n\t}\n\tQh() {\n\t\treturn this.$l;\n\t}\n\tCt() {\n\t\tlet e = this.ha();\n\t\treturn e === null ? null : {\n\t\t\tVt: e.Vt[3],\n\t\t\tla: e.ot\n\t\t};\n\t}\n\tha() {\n\t\tlet e = this.$t().St().Xs();\n\t\tif (e === null) return null;\n\t\tlet t = e.Os();\n\t\treturn this.zt.ll(t, 1);\n\t}\n\tIn() {\n\t\treturn this.zt;\n\t}\n\tph(e) {\n\t\tlet t = this.zt.Gh(e);\n\t\treturn t === null ? null : this.$l === \"Bar\" || this.$l === \"Candlestick\" || this.$l === \"Custom\" ? {\n\t\t\tge: t.Vt[0],\n\t\t\tMe: t.Vt[1],\n\t\t\txe: t.Vt[2],\n\t\t\tSe: t.Vt[3]\n\t\t} : t.Vt[3];\n\t}\n\taa(e) {\n\t\tlet t = [];\n\t\tfn(this.Hl, pn, \"top\", t);\n\t\tlet n = this.El;\n\t\treturn n !== null && n.yt() ? (this.jl === null && n.qr() && (this.jl = setTimeout((() => {\n\t\t\tthis.jl = null, this.$t().oa();\n\t\t}), 0)), n.Ur(), t.unshift(n), t) : t;\n\t}\n\tPn() {\n\t\tlet e = [];\n\t\tthis._a() || e.push(this.Ll), e.push(this.wn, this.jh, this.dn);\n\t\tlet t = this.zl.map(((e) => e.qh()));\n\t\treturn e.push(...t), fn(this.Hl, pn, \"normal\", e), e;\n\t}\n\tua() {\n\t\treturn this.ca(pn, \"bottom\");\n\t}\n\tda(e) {\n\t\treturn this.ca(mn, e);\n\t}\n\tfa(e) {\n\t\treturn this.ca(hn, e);\n\t}\n\tva(e, t) {\n\t\treturn this.Hl.map(((n) => n.wr(e, t))).filter(((e) => e !== null));\n\t}\n\tJi(e) {\n\t\treturn [this.Hh, ...this.zl.map(((e) => e.Yh()))];\n\t}\n\tRn(e, t) {\n\t\tif (t !== this.Yi && !this._a()) return [];\n\t\tlet n = [...this.rn];\n\t\tfor (let e of this.zl) n.push(e.Zh());\n\t\treturn this.Hl.forEach(((e) => {\n\t\t\tn.push(...e.Rn());\n\t\t})), n;\n\t}\n\tQi() {\n\t\tlet e = [];\n\t\treturn this.Hl.forEach(((t) => {\n\t\t\te.push(...t.Qi());\n\t\t})), e;\n\t}\n\tIl(e, t) {\n\t\tif (this.cn.autoscaleInfoProvider !== void 0) {\n\t\t\tlet n = this.cn.autoscaleInfoProvider((() => {\n\t\t\t\tlet n = this.pa(e, t);\n\t\t\t\treturn n === null ? null : n.Bh();\n\t\t\t}));\n\t\t\treturn Yt.Ah(n);\n\t\t}\n\t\treturn this.pa(e, t);\n\t}\n\tma() {\n\t\treturn this.cn.priceFormat.minMove;\n\t}\n\tba() {\n\t\treturn this.wa;\n\t}\n\tVn() {\n\t\tvar e;\n\t\tthis.wn.bt(), this.dn.bt();\n\t\tfor (let e of this.rn) e.bt();\n\t\tfor (let e of this.zl) e.bt();\n\t\tthis.jh.bt(), this.Ll.bt(), (e = this.El) == null || e.bt(), this.Hl.forEach(((e) => e.Vn()));\n\t}\n\tDt() {\n\t\treturn S(super.Dt());\n\t}\n\tkt(e) {\n\t\tif (!((this.$l === \"Line\" || this.$l === \"Area\" || this.$l === \"Baseline\") && this.cn.crosshairMarkerVisible)) return null;\n\t\tlet t = this.zt.Gh(e);\n\t\treturn t === null ? null : {\n\t\t\t_t: t.Vt[3],\n\t\t\tht: this.ga(),\n\t\t\tOt: this.Ma(),\n\t\t\tPt: this.xa(),\n\t\t\tTt: this.Sa(e)\n\t\t};\n\t}\n\tbh() {\n\t\treturn this.cn.title;\n\t}\n\tyt() {\n\t\treturn this.cn.visible;\n\t}\n\tka(e) {\n\t\tthis.Hl.push(new dn(e, this));\n\t}\n\tya(e) {\n\t\tthis.Hl = this.Hl.filter(((t) => t.Ol() !== e));\n\t}\n\tCa() {\n\t\tif (this.wn instanceof yt != 0) return (e) => this.wn.We(e);\n\t}\n\tTa() {\n\t\tif (this.wn instanceof yt != 0) return (e) => this.wn.je(e);\n\t}\n\t_a() {\n\t\treturn !Ie(this.Dt().Pa());\n\t}\n\tpa(e, t) {\n\t\tif (!ce(e) || !ce(t) || this.zt.Ni()) return null;\n\t\tlet n = this.$l === \"Line\" || this.$l === \"Area\" || this.$l === \"Baseline\" || this.$l === \"Histogram\" ? [3] : [2, 1], r = this.zt.ol(e, t, n), i = r === null ? null : new V(r.ml, r.bl);\n\t\tif (this.Qh() === \"Histogram\") {\n\t\t\tlet e = this.cn.base, t = new V(e, e);\n\t\t\ti = i === null ? t : i.ts(t);\n\t\t}\n\t\tlet a = this.dn.uh();\n\t\treturn this.Hl.forEach(((n) => {\n\t\t\tlet r = n.Il(e, t);\n\t\t\tif (r?.priceRange) {\n\t\t\t\tlet e = new V(r.priceRange.minValue, r.priceRange.maxValue);\n\t\t\t\ti = i === null ? e : i.ts(e);\n\t\t\t}\n\t\t\tvar o, s;\n\t\t\tr != null && r.margins && (o = a, s = r.margins, a = {\n\t\t\t\tabove: Math.max(o?.above ?? 0, s.above),\n\t\t\t\tbelow: Math.max(o?.below ?? 0, s.below)\n\t\t\t});\n\t\t})), new Yt(i, a);\n\t}\n\tga() {\n\t\tswitch (this.$l) {\n\t\t\tcase \"Line\":\n\t\t\tcase \"Area\":\n\t\t\tcase \"Baseline\": return this.cn.crosshairMarkerRadius;\n\t\t}\n\t\treturn 0;\n\t}\n\tMa() {\n\t\tswitch (this.$l) {\n\t\t\tcase \"Line\":\n\t\t\tcase \"Area\":\n\t\t\tcase \"Baseline\": {\n\t\t\t\tlet e = this.cn.crosshairMarkerBorderColor;\n\t\t\t\tif (e.length !== 0) return e;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\txa() {\n\t\tswitch (this.$l) {\n\t\t\tcase \"Line\":\n\t\t\tcase \"Area\":\n\t\t\tcase \"Baseline\": return this.cn.crosshairMarkerBorderWidth;\n\t\t}\n\t\treturn 0;\n\t}\n\tSa(e) {\n\t\tswitch (this.$l) {\n\t\t\tcase \"Line\":\n\t\t\tcase \"Area\":\n\t\t\tcase \"Baseline\": {\n\t\t\t\tlet e = this.cn.crosshairMarkerBackgroundColor;\n\t\t\t\tif (e.length !== 0) return e;\n\t\t\t}\n\t\t}\n\t\treturn this.Us().$s(e).ce;\n\t}\n\tUl() {\n\t\tswitch (this.cn.priceFormat.type) {\n\t\t\tcase \"custom\":\n\t\t\t\tthis.wa = { format: this.cn.priceFormat.formatter };\n\t\t\t\tbreak;\n\t\t\tcase \"volume\":\n\t\t\t\tthis.wa = new Be(this.cn.priceFormat.precision);\n\t\t\t\tbreak;\n\t\t\tcase \"percent\":\n\t\t\t\tthis.wa = new ze(this.cn.priceFormat.precision);\n\t\t\t\tbreak;\n\t\t\tdefault: {\n\t\t\t\tlet e = 10 ** this.cn.priceFormat.precision;\n\t\t\t\tthis.wa = new Re(e, this.cn.priceFormat.minMove * e);\n\t\t\t}\n\t\t}\n\t\tthis.Yi !== null && this.Yi.Ra();\n\t}\n\tQl() {\n\t\tlet e = this.$t().St();\n\t\tif (!e.Da() || this.zt.Ni()) return void (this.Wl = []);\n\t\tlet t = S(this.zt.el());\n\t\tthis.Wl = this.Fl.map(((n, r) => {\n\t\t\tlet i = S(e.Va(n.time, !0)), a = i < t ? 1 : -1;\n\t\t\treturn {\n\t\t\t\ttime: S(this.zt.ll(i, a)).ee,\n\t\t\t\tposition: n.position,\n\t\t\t\tshape: n.shape,\n\t\t\t\tcolor: n.color,\n\t\t\t\tid: n.id,\n\t\t\t\tth: r,\n\t\t\t\ttext: n.text,\n\t\t\t\tsize: n.size,\n\t\t\t\toriginalTime: n.originalTime\n\t\t\t};\n\t\t}));\n\t}\n\tql(e) {\n\t\tswitch (this.dn = new Gt(this, this.$t()), this.$l) {\n\t\t\tcase \"Bar\":\n\t\t\t\tthis.wn = new ft(this, this.$t());\n\t\t\t\tbreak;\n\t\t\tcase \"Candlestick\":\n\t\t\t\tthis.wn = new _t(this, this.$t());\n\t\t\t\tbreak;\n\t\t\tcase \"Line\":\n\t\t\t\tthis.wn = new Ct(this, this.$t());\n\t\t\t\tbreak;\n\t\t\tcase \"Custom\":\n\t\t\t\tthis.wn = new yt(this, this.$t(), x(e));\n\t\t\t\tbreak;\n\t\t\tcase \"Area\":\n\t\t\t\tthis.wn = new lt(this, this.$t());\n\t\t\t\tbreak;\n\t\t\tcase \"Baseline\":\n\t\t\t\tthis.wn = new ht(this, this.$t());\n\t\t\t\tbreak;\n\t\t\tcase \"Histogram\":\n\t\t\t\tthis.wn = new St(this, this.$t());\n\t\t\t\tbreak;\n\t\t\tdefault: throw Error(\"Unknown chart style assigned: \" + this.$l);\n\t\t}\n\t}\n\tca(e, t) {\n\t\tlet n = [];\n\t\treturn fn(this.Hl, e, t, n), n;\n\t}\n}, _n = class {\n\tconstructor(e) {\n\t\tthis.cn = e;\n\t}\n\tOa(e, t, n) {\n\t\tlet r = e;\n\t\tif (this.cn.mode === 0) return r;\n\t\tlet i = n.vn(), a = i.Ct();\n\t\tif (a === null) return r;\n\t\tlet o = i.Rt(e, a), s = n.Ba().filter(((e) => e instanceof gn)).reduce(((e, r) => {\n\t\t\tif (n.vr(r) || !r.yt()) return e;\n\t\t\tlet i = r.Dt(), a = r.In();\n\t\t\tif (i.Ni() || !a.Kr(t)) return e;\n\t\t\tlet o = a.Gh(t);\n\t\t\tif (o === null) return e;\n\t\t\tlet s = C(r.Ct());\n\t\t\treturn e.concat([i.Rt(o.Vt[3], s.Vt)]);\n\t\t}), []);\n\t\tif (s.length === 0) return r;\n\t\ts.sort(((e, t) => Math.abs(e - o) - Math.abs(t - o)));\n\t\tlet c = s[0];\n\t\treturn r = i.pn(c, a), r;\n\t}\n}, vn = class extends P {\n\tconstructor() {\n\t\tsuper(...arguments), this.zt = null;\n\t}\n\tJ(e) {\n\t\tthis.zt = e;\n\t}\n\tK({ context: e, bitmapSize: t, horizontalPixelRatio: n, verticalPixelRatio: r }) {\n\t\tif (this.zt === null) return;\n\t\tlet i = Math.max(1, Math.floor(n));\n\t\te.lineWidth = i, function(e, t) {\n\t\t\te.save(), e.lineWidth % 2 && e.translate(.5, .5), t(), e.restore();\n\t\t}(e, (() => {\n\t\t\tlet a = S(this.zt);\n\t\t\tif (a.Aa) {\n\t\t\t\te.strokeStyle = a.Ia, v(e, a.za), e.beginPath();\n\t\t\t\tfor (let r of a.La) {\n\t\t\t\t\tlet a = Math.round(r.Ea * n);\n\t\t\t\t\te.moveTo(a, -i), e.lineTo(a, t.height + i);\n\t\t\t\t}\n\t\t\t\te.stroke();\n\t\t\t}\n\t\t\tif (a.Na) {\n\t\t\t\te.strokeStyle = a.Fa, v(e, a.Wa), e.beginPath();\n\t\t\t\tfor (let n of a.ja) {\n\t\t\t\t\tlet a = Math.round(n.Ea * r);\n\t\t\t\t\te.moveTo(-i, a), e.lineTo(t.width + i, a);\n\t\t\t\t}\n\t\t\t\te.stroke();\n\t\t\t}\n\t\t}));\n\t}\n}, yn = class {\n\tconstructor(e) {\n\t\tthis.Wt = new vn(), this.ft = !0, this.tn = e;\n\t}\n\tbt() {\n\t\tthis.ft = !0;\n\t}\n\tgt() {\n\t\tif (this.ft) {\n\t\t\tlet e = this.tn.$t().W().grid, t = {\n\t\t\t\tNa: e.horzLines.visible,\n\t\t\t\tAa: e.vertLines.visible,\n\t\t\t\tFa: e.horzLines.color,\n\t\t\t\tIa: e.vertLines.color,\n\t\t\t\tWa: e.horzLines.style,\n\t\t\t\tza: e.vertLines.style,\n\t\t\t\tja: this.tn.vn().Ha(),\n\t\t\t\tLa: (this.tn.$t().St().Ha() || []).map(((e) => ({ Ea: e.coord })))\n\t\t\t};\n\t\t\tthis.Wt.J(t), this.ft = !1;\n\t\t}\n\t\treturn this.Wt;\n\t}\n}, bn = class {\n\tconstructor(e) {\n\t\tthis.wn = new yn(e);\n\t}\n\tqh() {\n\t\treturn this.wn;\n\t}\n}, xn = {\n\t$a: 4,\n\tUa: 1e-4\n};\nfunction U(e, t) {\n\tlet n = 100 * (e - t) / t;\n\treturn t < 0 ? -n : n;\n}\nfunction Sn(e, t) {\n\treturn new V(U(e.Ph(), t), U(e.Rh(), t));\n}\nfunction W(e, t) {\n\tlet n = 100 * (e - t) / t + 100;\n\treturn t < 0 ? -n : n;\n}\nfunction Cn(e, t) {\n\treturn new V(W(e.Ph(), t), W(e.Rh(), t));\n}\nfunction wn(e, t) {\n\tlet n = Math.abs(e);\n\tif (n < 1e-15) return 0;\n\tlet r = Math.log10(n + t.Ua) + t.$a;\n\treturn e < 0 ? -r : r;\n}\nfunction G(e, t) {\n\tlet n = Math.abs(e);\n\tif (n < 1e-15) return 0;\n\tlet r = 10 ** (n - t.$a) - t.Ua;\n\treturn e < 0 ? -r : r;\n}\nfunction K(e, t) {\n\treturn e === null ? null : new V(wn(e.Ph(), t), wn(e.Rh(), t));\n}\nfunction Tn(e, t) {\n\treturn e === null ? null : new V(G(e.Ph(), t), G(e.Rh(), t));\n}\nfunction En(e) {\n\tif (e === null) return xn;\n\tlet t = Math.abs(e.Rh() - e.Ph());\n\tif (t >= 1 || t < 1e-15) return xn;\n\tlet n = Math.ceil(Math.abs(Math.log10(t))), r = xn.$a + n;\n\treturn {\n\t\t$a: r,\n\t\tUa: 1 / 10 ** r\n\t};\n}\nvar Dn = class {\n\tconstructor(e, t) {\n\t\tif (this.qa = e, this.Ya = t, function(e) {\n\t\t\tif (e < 0) return !1;\n\t\t\tfor (let t = e; t > 1; t /= 10) if (t % 10 != 0) return !1;\n\t\t\treturn !0;\n\t\t}(this.qa)) this.Za = [\n\t\t\t2,\n\t\t\t2.5,\n\t\t\t2\n\t\t];\n\t\telse {\n\t\t\tthis.Za = [];\n\t\t\tfor (let e = this.qa; e !== 1;) {\n\t\t\t\tif (e % 2 == 0) this.Za.push(2), e /= 2;\n\t\t\t\telse {\n\t\t\t\t\tif (e % 5 != 0) throw Error(\"unexpected base\");\n\t\t\t\t\tthis.Za.push(2, 2.5), e /= 5;\n\t\t\t\t}\n\t\t\t\tif (this.Za.length > 100) throw Error(\"something wrong with base\");\n\t\t\t}\n\t\t}\n\t}\n\tXa(e, t, n) {\n\t\tlet r = this.qa === 0 ? 0 : 1 / this.qa, i = 10 ** Math.max(0, Math.ceil(Math.log10(e - t))), a = 0, o = this.Ya[0];\n\t\tfor (;;) {\n\t\t\tlet e = Ye(i, r, 1e-14) && i > r + 1e-14, t = Ye(i, n * o, 1e-14), s = Ye(i, 1, 1e-14);\n\t\t\tif (!(e && t && s)) break;\n\t\t\ti /= o, o = this.Ya[++a % this.Ya.length];\n\t\t}\n\t\tif (i <= r + 1e-14 && (i = r), i = Math.max(1, i), this.Za.length > 0 && (s = i, c = 1, l = 1e-14, Math.abs(s - c) < l)) for (a = 0, o = this.Za[0]; Ye(i, n * o, 1e-14) && i > r + 1e-14;) i /= o, o = this.Za[++a % this.Za.length];\n\t\tvar s, c, l;\n\t\treturn i;\n\t}\n}, On = class {\n\tconstructor(e, t, n, r) {\n\t\tthis.Ka = [], this.Li = e, this.qa = t, this.Ga = n, this.Ja = r;\n\t}\n\tXa(e, t) {\n\t\tif (e < t) throw Error(\"high < low\");\n\t\tlet n = this.Li.At(), r = (e - t) * this.Qa() / n, i = new Dn(this.qa, [\n\t\t\t2,\n\t\t\t2.5,\n\t\t\t2\n\t\t]), a = new Dn(this.qa, [\n\t\t\t2,\n\t\t\t2,\n\t\t\t2.5\n\t\t]), o = new Dn(this.qa, [\n\t\t\t2.5,\n\t\t\t2,\n\t\t\t2\n\t\t]), s = [];\n\t\treturn s.push(i.Xa(e, t, r), a.Xa(e, t, r), o.Xa(e, t, r)), function(e) {\n\t\t\tif (e.length < 1) throw Error(\"array is empty\");\n\t\t\tlet t = e[0];\n\t\t\tfor (let n = 1; n < e.length; ++n) e[n] < t && (t = e[n]);\n\t\t\treturn t;\n\t\t}(s);\n\t}\n\tio() {\n\t\tlet e = this.Li, t = e.Ct();\n\t\tif (t === null) return void (this.Ka = []);\n\t\tlet n = e.At(), r = this.Ga(n - 1, t), i = this.Ga(0, t), a = this.Li.W().entireTextOnly ? this.no() / 2 : 0, o = a, s = n - 1 - a, c = Math.max(r, i), l = Math.min(r, i);\n\t\tif (c === l) return void (this.Ka = []);\n\t\tlet u = this.Xa(c, l), d = c % u;\n\t\td += d < 0 ? u : 0;\n\t\tlet f = c >= l ? 1 : -1, p = null, m = 0;\n\t\tfor (let n = c - d; n > l; n -= u) {\n\t\t\tlet r = this.Ja(n, t, !0);\n\t\t\tp !== null && Math.abs(r - p) < this.Qa() || r < o || r > s || (m < this.Ka.length ? (this.Ka[m].Ea = r, this.Ka[m].so = e.eo(n)) : this.Ka.push({\n\t\t\t\tEa: r,\n\t\t\t\tso: e.eo(n)\n\t\t\t}), m++, p = r, e.ro() && (u = this.Xa(n * f, l)));\n\t\t}\n\t\tthis.Ka.length = m;\n\t}\n\tHa() {\n\t\treturn this.Ka;\n\t}\n\tno() {\n\t\treturn this.Li.P();\n\t}\n\tQa() {\n\t\treturn Math.ceil(2.5 * this.no());\n\t}\n};\nfunction kn(e) {\n\treturn e.slice().sort(((e, t) => S(e.Xi()) - S(t.Xi())));\n}\nvar An;\n(function(e) {\n\te[e.Normal = 0] = \"Normal\", e[e.Logarithmic = 1] = \"Logarithmic\", e[e.Percentage = 2] = \"Percentage\", e[e.IndexedTo100 = 3] = \"IndexedTo100\";\n})(An ||= {});\nvar jn = new ze(), Mn = new Re(100, 1), Nn = class {\n\tconstructor(e, t, n, r) {\n\t\tthis.ho = 0, this.lo = null, this.Ih = null, this.ao = null, this.oo = {\n\t\t\t_o: !1,\n\t\t\tuo: null\n\t\t}, this.co = 0, this.do = 0, this.fo = new k(), this.vo = new k(), this.po = [], this.mo = null, this.bo = null, this.wo = null, this.Mo = null, this.wa = Mn, this.xo = En(null), this.So = e, this.cn = t, this.ko = n, this.yo = r, this.Co = new On(this, 100, this.To.bind(this), this.Po.bind(this));\n\t}\n\tPa() {\n\t\treturn this.So;\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\t$h(e) {\n\t\tif (A(this.cn, e), this.Ra(), e.mode !== void 0 && this.Ro({ Cr: e.mode }), e.scaleMargins !== void 0) {\n\t\t\tlet t = x(e.scaleMargins.top), n = x(e.scaleMargins.bottom);\n\t\t\tif (t < 0 || t > 1) throw Error(`Invalid top margin - expect value between 0 and 1, given=${t}`);\n\t\t\tif (n < 0 || n > 1) throw Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);\n\t\t\tif (t + n > 1) throw Error(`Invalid margins - sum of margins must be less than 1, given=${t + n}`);\n\t\t\tthis.Do(), this.bo = null;\n\t\t}\n\t}\n\tVo() {\n\t\treturn this.cn.autoScale;\n\t}\n\tro() {\n\t\treturn this.cn.mode === 1;\n\t}\n\tMh() {\n\t\treturn this.cn.mode === 2;\n\t}\n\tOo() {\n\t\treturn this.cn.mode === 3;\n\t}\n\tCr() {\n\t\treturn {\n\t\t\tWn: this.cn.autoScale,\n\t\t\tBo: this.cn.invertScale,\n\t\t\tCr: this.cn.mode\n\t\t};\n\t}\n\tRo(e) {\n\t\tlet t = this.Cr(), n = null;\n\t\te.Wn !== void 0 && (this.cn.autoScale = e.Wn), e.Cr !== void 0 && (this.cn.mode = e.Cr, e.Cr !== 2 && e.Cr !== 3 || (this.cn.autoScale = !0), this.oo._o = !1), t.Cr === 1 && e.Cr !== t.Cr && (function(e, t) {\n\t\t\tif (e === null) return !1;\n\t\t\tlet n = G(e.Ph(), t), r = G(e.Rh(), t);\n\t\t\treturn isFinite(n) && isFinite(r);\n\t\t}(this.Ih, this.xo) ? (n = Tn(this.Ih, this.xo), n !== null && this.Ao(n)) : this.cn.autoScale = !0), e.Cr === 1 && e.Cr !== t.Cr && (n = K(this.Ih, this.xo), n !== null && this.Ao(n));\n\t\tlet r = t.Cr !== this.cn.mode;\n\t\tr && (t.Cr === 2 || this.Mh()) && this.Ra(), r && (t.Cr === 3 || this.Oo()) && this.Ra(), e.Bo !== void 0 && t.Bo !== e.Bo && (this.cn.invertScale = e.Bo, this.Io()), this.vo.m(t, this.Cr());\n\t}\n\tzo() {\n\t\treturn this.vo;\n\t}\n\tP() {\n\t\treturn this.ko.fontSize;\n\t}\n\tAt() {\n\t\treturn this.ho;\n\t}\n\tLo(e) {\n\t\tthis.ho !== e && (this.ho = e, this.Do(), this.bo = null);\n\t}\n\tEo() {\n\t\tif (this.lo) return this.lo;\n\t\tlet e = this.At() - this.No() - this.Fo();\n\t\treturn this.lo = e, e;\n\t}\n\tLh() {\n\t\treturn this.Wo(), this.Ih;\n\t}\n\tAo(e, t) {\n\t\tlet n = this.Ih;\n\t\t(t || n === null && e !== null || n !== null && !n.Ch(e)) && (this.bo = null, this.Ih = e);\n\t}\n\tNi() {\n\t\treturn this.Wo(), this.ho === 0 || !this.Ih || this.Ih.Ni();\n\t}\n\tjo(e) {\n\t\treturn this.Bo() ? e : this.At() - 1 - e;\n\t}\n\tRt(e, t) {\n\t\treturn this.Mh() ? e = U(e, t) : this.Oo() && (e = W(e, t)), this.Po(e, t);\n\t}\n\tte(e, t, n) {\n\t\tthis.Wo();\n\t\tlet r = this.Fo(), i = S(this.Lh()), a = i.Ph(), o = i.Rh(), s = this.Eo() - 1, c = this.Bo(), l = s / (o - a), u = n === void 0 ? 0 : n.from, d = n === void 0 ? e.length : n.to, f = this.Ho();\n\t\tfor (let n = u; n < d; n++) {\n\t\t\tlet i = e[n], o = i._t;\n\t\t\tif (isNaN(o)) continue;\n\t\t\tlet s = o;\n\t\t\tf !== null && (s = f(i._t, t));\n\t\t\tlet u = r + l * (s - a);\n\t\t\ti.st = c ? u : this.ho - 1 - u;\n\t\t}\n\t}\n\tbe(e, t, n) {\n\t\tthis.Wo();\n\t\tlet r = this.Fo(), i = S(this.Lh()), a = i.Ph(), o = i.Rh(), s = this.Eo() - 1, c = this.Bo(), l = s / (o - a), u = n === void 0 ? 0 : n.from, d = n === void 0 ? e.length : n.to, f = this.Ho();\n\t\tfor (let n = u; n < d; n++) {\n\t\t\tlet i = e[n], o = i.ge, s = i.Me, u = i.xe, d = i.Se;\n\t\t\tf !== null && (o = f(i.ge, t), s = f(i.Me, t), u = f(i.xe, t), d = f(i.Se, t));\n\t\t\tlet p = r + l * (o - a), m = c ? p : this.ho - 1 - p;\n\t\t\ti.pe = m, p = r + l * (s - a), m = c ? p : this.ho - 1 - p, i.de = m, p = r + l * (u - a), m = c ? p : this.ho - 1 - p, i.fe = m, p = r + l * (d - a), m = c ? p : this.ho - 1 - p, i.me = m;\n\t\t}\n\t}\n\tpn(e, t) {\n\t\tlet n = this.To(e, t);\n\t\treturn this.$o(n, t);\n\t}\n\t$o(e, t) {\n\t\tlet n = e;\n\t\treturn this.Mh() ? n = function(e, t) {\n\t\t\treturn t < 0 && (e = -e), e / 100 * t + t;\n\t\t}(n, t) : this.Oo() && (n = function(e, t) {\n\t\t\treturn e -= 100, t < 0 && (e = -e), e / 100 * t + t;\n\t\t}(n, t)), n;\n\t}\n\tBa() {\n\t\treturn this.po;\n\t}\n\tUo() {\n\t\tif (this.mo) return this.mo;\n\t\tlet e = [];\n\t\tfor (let t = 0; t < this.po.length; t++) {\n\t\t\tlet n = this.po[t];\n\t\t\tn.Xi() === null && n.Ki(t + 1), e.push(n);\n\t\t}\n\t\treturn e = kn(e), this.mo = e, this.mo;\n\t}\n\tqo(e) {\n\t\tthis.po.indexOf(e) === -1 && (this.po.push(e), this.Ra(), this.Yo());\n\t}\n\tZo(e) {\n\t\tlet t = this.po.indexOf(e);\n\t\tif (t === -1) throw Error(\"source is not attached to scale\");\n\t\tthis.po.splice(t, 1), this.po.length === 0 && (this.Ro({ Wn: !0 }), this.Ao(null)), this.Ra(), this.Yo();\n\t}\n\tCt() {\n\t\tlet e = null;\n\t\tfor (let t of this.po) {\n\t\t\tlet n = t.Ct();\n\t\t\tn !== null && (e === null || n.la < e.la) && (e = n);\n\t\t}\n\t\treturn e === null ? null : e.Vt;\n\t}\n\tBo() {\n\t\treturn this.cn.invertScale;\n\t}\n\tHa() {\n\t\tlet e = this.Ct() === null;\n\t\tif (this.bo !== null && (e || this.bo.Xo === e)) return this.bo.Ha;\n\t\tthis.Co.io();\n\t\tlet t = this.Co.Ha();\n\t\treturn this.bo = {\n\t\t\tHa: t,\n\t\t\tXo: e\n\t\t}, this.fo.m(), t;\n\t}\n\tKo() {\n\t\treturn this.fo;\n\t}\n\tGo(e) {\n\t\tthis.Mh() || this.Oo() || this.wo === null && this.ao === null && (this.Ni() || (this.wo = this.ho - e, this.ao = S(this.Lh()).Th()));\n\t}\n\tJo(e) {\n\t\tif (this.Mh() || this.Oo() || this.wo === null) return;\n\t\tthis.Ro({ Wn: !1 }), (e = this.ho - e) < 0 && (e = 0);\n\t\tlet t = (this.wo + .2 * (this.ho - 1)) / (e + .2 * (this.ho - 1)), n = S(this.ao).Th();\n\t\tt = Math.max(t, .1), n.Vh(t), this.Ao(n);\n\t}\n\tQo() {\n\t\tthis.Mh() || this.Oo() || (this.wo = null, this.ao = null);\n\t}\n\tt_(e) {\n\t\tthis.Vo() || this.Mo === null && this.ao === null && (this.Ni() || (this.Mo = e, this.ao = S(this.Lh()).Th()));\n\t}\n\ti_(e) {\n\t\tif (this.Vo() || this.Mo === null) return;\n\t\tlet t = S(this.Lh()).Dh() / (this.Eo() - 1), n = e - this.Mo;\n\t\tthis.Bo() && (n *= -1);\n\t\tlet r = n * t, i = S(this.ao).Th();\n\t\ti.Oh(r), this.Ao(i, !0), this.bo = null;\n\t}\n\tn_() {\n\t\tthis.Vo() || this.Mo !== null && (this.Mo = null, this.ao = null);\n\t}\n\tba() {\n\t\treturn this.wa || this.Ra(), this.wa;\n\t}\n\tFi(e, t) {\n\t\tswitch (this.cn.mode) {\n\t\t\tcase 2: return this.s_(U(e, t));\n\t\t\tcase 3: return this.ba().format(W(e, t));\n\t\t\tdefault: return this.Wh(e);\n\t\t}\n\t}\n\teo(e) {\n\t\tswitch (this.cn.mode) {\n\t\t\tcase 2: return this.s_(e);\n\t\t\tcase 3: return this.ba().format(e);\n\t\t\tdefault: return this.Wh(e);\n\t\t}\n\t}\n\tYl(e) {\n\t\treturn this.Wh(e, S(this.e_()).ba());\n\t}\n\tZl(e, t) {\n\t\treturn e = U(e, t), this.s_(e, jn);\n\t}\n\tr_() {\n\t\treturn this.po;\n\t}\n\th_(e) {\n\t\tthis.oo = {\n\t\t\tuo: e,\n\t\t\t_o: !1\n\t\t};\n\t}\n\tVn() {\n\t\tthis.po.forEach(((e) => e.Vn()));\n\t}\n\tRa() {\n\t\tthis.bo = null;\n\t\tlet e = this.e_(), t = 100;\n\t\te !== null && (t = Math.round(1 / e.ma())), this.wa = Mn, this.Mh() ? (this.wa = jn, t = 100) : this.Oo() ? (this.wa = new Re(100, 1), t = 100) : e !== null && (this.wa = e.ba()), this.Co = new On(this, t, this.To.bind(this), this.Po.bind(this)), this.Co.io();\n\t}\n\tYo() {\n\t\tthis.mo = null;\n\t}\n\te_() {\n\t\treturn this.po[0] || null;\n\t}\n\tNo() {\n\t\treturn this.Bo() ? this.cn.scaleMargins.bottom * this.At() + this.do : this.cn.scaleMargins.top * this.At() + this.co;\n\t}\n\tFo() {\n\t\treturn this.Bo() ? this.cn.scaleMargins.top * this.At() + this.co : this.cn.scaleMargins.bottom * this.At() + this.do;\n\t}\n\tWo() {\n\t\tthis.oo._o || (this.oo._o = !0, this.l_());\n\t}\n\tDo() {\n\t\tthis.lo = null;\n\t}\n\tPo(e, t) {\n\t\tif (this.Wo(), this.Ni()) return 0;\n\t\te = this.ro() && e ? wn(e, this.xo) : e;\n\t\tlet n = S(this.Lh()), r = this.Fo() + (this.Eo() - 1) * (e - n.Ph()) / n.Dh();\n\t\treturn this.jo(r);\n\t}\n\tTo(e, t) {\n\t\tif (this.Wo(), this.Ni()) return 0;\n\t\tlet n = this.jo(e), r = S(this.Lh()), i = r.Ph() + r.Dh() * ((n - this.Fo()) / (this.Eo() - 1));\n\t\treturn this.ro() ? G(i, this.xo) : i;\n\t}\n\tIo() {\n\t\tthis.bo = null, this.Co.io();\n\t}\n\tl_() {\n\t\tlet e = this.oo.uo;\n\t\tif (e === null) return;\n\t\tlet t = null, n = this.r_(), r = 0, i = 0;\n\t\tfor (let a of n) {\n\t\t\tif (!a.yt()) continue;\n\t\t\tlet n = a.Ct();\n\t\t\tif (n === null) continue;\n\t\t\tlet o = a.Il(e.Os(), e.ui()), s = o && o.Lh();\n\t\t\tif (s !== null) {\n\t\t\t\tswitch (this.cn.mode) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\ts = K(s, this.xo);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\ts = Sn(s, n.Vt);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3: s = Cn(s, n.Vt);\n\t\t\t\t}\n\t\t\t\tif (t = t === null ? s : t.ts(S(s)), o !== null) {\n\t\t\t\t\tlet e = o.Eh();\n\t\t\t\t\te !== null && (r = Math.max(r, e.above), i = Math.max(i, e.below));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (r === this.co && i === this.do || (this.co = r, this.do = i, this.bo = null, this.Do()), t !== null) {\n\t\t\tif (t.Ph() === t.Rh()) {\n\t\t\t\tlet e = this.e_(), n = 5 * (e === null || this.Mh() || this.Oo() ? 1 : e.ma());\n\t\t\t\tthis.ro() && (t = Tn(t, this.xo)), t = new V(t.Ph() - n, t.Rh() + n), this.ro() && (t = K(t, this.xo));\n\t\t\t}\n\t\t\tif (this.ro()) {\n\t\t\t\tlet e = Tn(t, this.xo), n = En(e);\n\t\t\t\tif (a = n, o = this.xo, a.$a !== o.$a || a.Ua !== o.Ua) {\n\t\t\t\t\tlet r = this.ao === null ? null : Tn(this.ao, this.xo);\n\t\t\t\t\tthis.xo = n, t = K(e, n), r !== null && (this.ao = K(r, n));\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.Ao(t);\n\t\t} else this.Ih === null && (this.Ao(new V(-.5, .5)), this.xo = En(null));\n\t\tvar a, o;\n\t\tthis.oo._o = !0;\n\t}\n\tHo() {\n\t\treturn this.Mh() ? U : this.Oo() ? W : this.ro() ? (e) => wn(e, this.xo) : null;\n\t}\n\ta_(e, t, n) {\n\t\treturn t === void 0 ? (n === void 0 && (n = this.ba()), n.format(e)) : t(e);\n\t}\n\tWh(e, t) {\n\t\treturn this.a_(e, this.yo.priceFormatter, t);\n\t}\n\ts_(e, t) {\n\t\treturn this.a_(e, this.yo.percentageFormatter, t);\n\t}\n}, Pn = class {\n\tconstructor(e, t) {\n\t\tthis.po = [], this.o_ = /* @__PURE__ */ new Map(), this.ho = 0, this.__ = 0, this.u_ = 1e3, this.mo = null, this.c_ = new k(), this.yl = e, this.$i = t, this.d_ = new bn(this);\n\t\tlet n = t.W();\n\t\tthis.f_ = this.v_(\"left\", n.leftPriceScale), this.p_ = this.v_(\"right\", n.rightPriceScale), this.f_.zo().l(this.m_.bind(this, this.f_), this), this.p_.zo().l(this.m_.bind(this, this.p_), this), this.b_(n);\n\t}\n\tb_(e) {\n\t\tif (e.leftPriceScale && this.f_.$h(e.leftPriceScale), e.rightPriceScale && this.p_.$h(e.rightPriceScale), e.localization && (this.f_.Ra(), this.p_.Ra()), e.overlayPriceScales) {\n\t\t\tlet t = Array.from(this.o_.values());\n\t\t\tfor (let n of t) {\n\t\t\t\tlet t = S(n[0].Dt());\n\t\t\t\tt.$h(e.overlayPriceScales), e.localization && t.Ra();\n\t\t\t}\n\t\t}\n\t}\n\tw_(e) {\n\t\tswitch (e) {\n\t\t\tcase \"left\": return this.f_;\n\t\t\tcase \"right\": return this.p_;\n\t\t}\n\t\treturn this.o_.has(e) ? x(this.o_.get(e))[0].Dt() : null;\n\t}\n\tS() {\n\t\tthis.$t().g_().p(this), this.f_.zo().p(this), this.p_.zo().p(this), this.po.forEach(((e) => {\n\t\t\te.S && e.S();\n\t\t})), this.c_.m();\n\t}\n\tM_() {\n\t\treturn this.u_;\n\t}\n\tx_(e) {\n\t\tthis.u_ = e;\n\t}\n\t$t() {\n\t\treturn this.$i;\n\t}\n\tHi() {\n\t\treturn this.__;\n\t}\n\tAt() {\n\t\treturn this.ho;\n\t}\n\tS_(e) {\n\t\tthis.__ = e, this.k_();\n\t}\n\tLo(e) {\n\t\tthis.ho = e, this.f_.Lo(e), this.p_.Lo(e), this.po.forEach(((t) => {\n\t\t\tif (this.vr(t)) {\n\t\t\t\tlet n = t.Dt();\n\t\t\t\tn !== null && n.Lo(e);\n\t\t\t}\n\t\t})), this.k_();\n\t}\n\tBa() {\n\t\treturn this.po;\n\t}\n\tvr(e) {\n\t\tlet t = e.Dt();\n\t\treturn t === null || this.f_ !== t && this.p_ !== t;\n\t}\n\tqo(e, t, n) {\n\t\tlet r = n === void 0 ? this.C_().y_ + 1 : n;\n\t\tthis.T_(e, t, r);\n\t}\n\tZo(e) {\n\t\tlet t = this.po.indexOf(e);\n\t\tb(t !== -1, \"removeDataSource: invalid data source\"), this.po.splice(t, 1);\n\t\tlet n = S(e.Dt()).Pa();\n\t\tif (this.o_.has(n)) {\n\t\t\tlet t = x(this.o_.get(n)), r = t.indexOf(e);\n\t\t\tr !== -1 && (t.splice(r, 1), t.length === 0 && this.o_.delete(n));\n\t\t}\n\t\tlet r = e.Dt();\n\t\tr && r.Ba().indexOf(e) >= 0 && r.Zo(e), r !== null && (r.Yo(), this.P_(r)), this.mo = null;\n\t}\n\tmr(e) {\n\t\treturn e === this.f_ ? \"left\" : e === this.p_ ? \"right\" : \"overlay\";\n\t}\n\tR_() {\n\t\treturn this.f_;\n\t}\n\tD_() {\n\t\treturn this.p_;\n\t}\n\tV_(e, t) {\n\t\te.Go(t);\n\t}\n\tO_(e, t) {\n\t\te.Jo(t), this.k_();\n\t}\n\tB_(e) {\n\t\te.Qo();\n\t}\n\tA_(e, t) {\n\t\te.t_(t);\n\t}\n\tI_(e, t) {\n\t\te.i_(t), this.k_();\n\t}\n\tz_(e) {\n\t\te.n_();\n\t}\n\tk_() {\n\t\tthis.po.forEach(((e) => {\n\t\t\te.Vn();\n\t\t}));\n\t}\n\tvn() {\n\t\tlet e = null;\n\t\treturn this.$i.W().rightPriceScale.visible && this.p_.Ba().length !== 0 ? e = this.p_ : this.$i.W().leftPriceScale.visible && this.f_.Ba().length !== 0 ? e = this.f_ : this.po.length !== 0 && (e = this.po[0].Dt()), e === null && (e = this.p_), e;\n\t}\n\tpr() {\n\t\tlet e = null;\n\t\treturn this.$i.W().rightPriceScale.visible ? e = this.p_ : this.$i.W().leftPriceScale.visible && (e = this.f_), e;\n\t}\n\tP_(e) {\n\t\te !== null && e.Vo() && this.L_(e);\n\t}\n\tE_(e) {\n\t\tlet t = this.yl.Xs();\n\t\te.Ro({ Wn: !0 }), t !== null && e.h_(t), this.k_();\n\t}\n\tN_() {\n\t\tthis.L_(this.f_), this.L_(this.p_);\n\t}\n\tF_() {\n\t\tthis.P_(this.f_), this.P_(this.p_), this.po.forEach(((e) => {\n\t\t\tthis.vr(e) && this.P_(e.Dt());\n\t\t})), this.k_(), this.$i.Uh();\n\t}\n\tUo() {\n\t\treturn this.mo === null && (this.mo = kn(this.po)), this.mo;\n\t}\n\tW_() {\n\t\treturn this.c_;\n\t}\n\tj_() {\n\t\treturn this.d_;\n\t}\n\tL_(e) {\n\t\tlet t = e.r_();\n\t\tif (t && t.length > 0 && !this.yl.Ni()) {\n\t\t\tlet t = this.yl.Xs();\n\t\t\tt !== null && e.h_(t);\n\t\t}\n\t\te.Vn();\n\t}\n\tC_() {\n\t\tlet e = this.Uo();\n\t\tif (e.length === 0) return {\n\t\t\tH_: 0,\n\t\t\ty_: 0\n\t\t};\n\t\tlet t = 0, n = 0;\n\t\tfor (let r = 0; r < e.length; r++) {\n\t\t\tlet i = e[r].Xi();\n\t\t\ti !== null && (i < t && (t = i), i > n && (n = i));\n\t\t}\n\t\treturn {\n\t\t\tH_: t,\n\t\t\ty_: n\n\t\t};\n\t}\n\tT_(e, t, n) {\n\t\tlet r = this.w_(t);\n\t\tif (r === null && (r = this.v_(t, this.$i.W().overlayPriceScales)), this.po.push(e), !Ie(t)) {\n\t\t\tlet n = this.o_.get(t) || [];\n\t\t\tn.push(e), this.o_.set(t, n);\n\t\t}\n\t\tr.qo(e), e.Gi(r), e.Ki(n), this.P_(r), this.mo = null;\n\t}\n\tm_(e, t, n) {\n\t\tt.Cr !== n.Cr && this.L_(e);\n\t}\n\tv_(e, t) {\n\t\tlet n = new Nn(e, Object.assign({\n\t\t\tvisible: !0,\n\t\t\tautoScale: !0\n\t\t}, M(t)), this.$i.W().layout, this.$i.W().localization);\n\t\treturn n.Lo(this.At()), n;\n\t}\n}, Fn = class {\n\tconstructor(e, t, n = 50) {\n\t\tthis.Ke = 0, this.Ge = 1, this.Je = 1, this.tr = /* @__PURE__ */ new Map(), this.Qe = /* @__PURE__ */ new Map(), this.U_ = e, this.q_ = t, this.ir = n;\n\t}\n\tY_(e) {\n\t\tlet t = e.time, n = this.q_.cacheKey(t), r = this.tr.get(n);\n\t\tif (r !== void 0) return r.Z_;\n\t\tif (this.Ke === this.ir) {\n\t\t\tlet e = this.Qe.get(this.Je);\n\t\t\tthis.Qe.delete(this.Je), this.tr.delete(x(e)), this.Je++, this.Ke--;\n\t\t}\n\t\tlet i = this.U_(e);\n\t\treturn this.tr.set(n, {\n\t\t\tZ_: i,\n\t\t\trr: this.Ge\n\t\t}), this.Qe.set(this.Ge, n), this.Ke++, this.Ge++, i;\n\t}\n}, q = class {\n\tconstructor(e, t) {\n\t\tb(e <= t, \"right should be >= left\"), this.X_ = e, this.K_ = t;\n\t}\n\tOs() {\n\t\treturn this.X_;\n\t}\n\tui() {\n\t\treturn this.K_;\n\t}\n\tG_() {\n\t\treturn this.K_ - this.X_ + 1;\n\t}\n\tKr(e) {\n\t\treturn this.X_ <= e && e <= this.K_;\n\t}\n\tCh(e) {\n\t\treturn this.X_ === e.Os() && this.K_ === e.ui();\n\t}\n};\nfunction In(e, t) {\n\treturn e === null || t === null ? e === t : e.Ch(t);\n}\nvar Ln = class {\n\tconstructor() {\n\t\tthis.J_ = /* @__PURE__ */ new Map(), this.tr = null, this.Q_ = !1;\n\t}\n\ttu(e) {\n\t\tthis.Q_ = e, this.tr = null;\n\t}\n\tiu(e, t) {\n\t\tthis.nu(t), this.tr = null;\n\t\tfor (let n = t; n < e.length; ++n) {\n\t\t\tlet t = e[n], r = this.J_.get(t.timeWeight);\n\t\t\tr === void 0 && (r = [], this.J_.set(t.timeWeight, r)), r.push({\n\t\t\t\tindex: n,\n\t\t\t\ttime: t.time,\n\t\t\t\tweight: t.timeWeight,\n\t\t\t\toriginalTime: t.originalTime\n\t\t\t});\n\t\t}\n\t}\n\tsu(e, t) {\n\t\tlet n = Math.ceil(t / e);\n\t\treturn this.tr !== null && this.tr.eu === n || (this.tr = {\n\t\t\tHa: this.ru(n),\n\t\t\teu: n\n\t\t}), this.tr.Ha;\n\t}\n\tnu(e) {\n\t\tif (e === 0) return void this.J_.clear();\n\t\tlet t = [];\n\t\tthis.J_.forEach(((n, r) => {\n\t\t\te <= n[0].index ? t.push(r) : n.splice(L(n, e, ((t) => t.index < e)), Infinity);\n\t\t}));\n\t\tfor (let e of t) this.J_.delete(e);\n\t}\n\tru(e) {\n\t\tlet t = [];\n\t\tfor (let n of Array.from(this.J_.keys()).sort(((e, t) => t - e))) {\n\t\t\tif (!this.J_.get(n)) continue;\n\t\t\tlet r = t;\n\t\t\tt = [];\n\t\t\tlet i = r.length, a = 0, o = x(this.J_.get(n)), s = o.length, c = Infinity, l = -Infinity;\n\t\t\tfor (let n = 0; n < s; n++) {\n\t\t\t\tlet s = o[n], u = s.index;\n\t\t\t\tfor (; a < i;) {\n\t\t\t\t\tlet e = r[a], n = e.index;\n\t\t\t\t\tif (!(n < u)) {\n\t\t\t\t\t\tc = n;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ta++, t.push(e), l = n, c = Infinity;\n\t\t\t\t}\n\t\t\t\tif (c - u >= e && u - l >= e) t.push(s), l = u;\n\t\t\t\telse if (this.Q_) return r;\n\t\t\t}\n\t\t\tfor (; a < i; a++) t.push(r[a]);\n\t\t}\n\t\treturn t;\n\t}\n}, Rn = class e {\n\tconstructor(e) {\n\t\tthis.hu = e;\n\t}\n\tlu() {\n\t\treturn this.hu === null ? null : new q(Math.floor(this.hu.Os()), Math.ceil(this.hu.ui()));\n\t}\n\tau() {\n\t\treturn this.hu;\n\t}\n\tstatic ou() {\n\t\treturn new e(null);\n\t}\n};\nfunction zn(e, t) {\n\treturn e.weight > t.weight ? e : t;\n}\nvar Bn = class {\n\tconstructor(e, t, n, r) {\n\t\tthis.__ = 0, this._u = null, this.uu = [], this.Mo = null, this.wo = null, this.cu = new Ln(), this.du = /* @__PURE__ */ new Map(), this.fu = Rn.ou(), this.vu = !0, this.pu = new k(), this.mu = new k(), this.bu = new k(), this.wu = null, this.gu = null, this.Mu = [], this.cn = t, this.yo = n, this.xu = t.rightOffset, this.Su = t.barSpacing, this.$i = e, this.q_ = r, this.ku(), this.cu.tu(t.uniformDistribution);\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\tyu(e) {\n\t\tA(this.yo, e), this.Cu(), this.ku();\n\t}\n\t$h(e, t) {\n\t\tA(this.cn, e), this.cn.fixLeftEdge && this.Tu(), this.cn.fixRightEdge && this.Pu(), e.barSpacing !== void 0 && this.$i.Gn(e.barSpacing), e.rightOffset !== void 0 && this.$i.Jn(e.rightOffset), e.minBarSpacing !== void 0 && this.$i.Gn(e.barSpacing ?? this.Su), this.Cu(), this.ku(), this.bu.m();\n\t}\n\tmn(e) {\n\t\treturn this.uu[e]?.time ?? null;\n\t}\n\tUi(e) {\n\t\treturn this.uu[e] ?? null;\n\t}\n\tVa(e, t) {\n\t\tif (this.uu.length < 1) return null;\n\t\tif (this.q_.key(e) > this.q_.key(this.uu[this.uu.length - 1].time)) return t ? this.uu.length - 1 : null;\n\t\tlet n = L(this.uu, this.q_.key(e), ((e, t) => this.q_.key(e.time) < t));\n\t\treturn this.q_.key(e) < this.q_.key(this.uu[n].time) ? t ? n : null : n;\n\t}\n\tNi() {\n\t\treturn this.__ === 0 || this.uu.length === 0 || this._u === null;\n\t}\n\tDa() {\n\t\treturn this.uu.length > 0;\n\t}\n\tXs() {\n\t\treturn this.Ru(), this.fu.lu();\n\t}\n\tDu() {\n\t\treturn this.Ru(), this.fu.au();\n\t}\n\tVu() {\n\t\tlet e = this.Xs();\n\t\tif (e === null) return null;\n\t\tlet t = {\n\t\t\tfrom: e.Os(),\n\t\t\tto: e.ui()\n\t\t};\n\t\treturn this.Ou(t);\n\t}\n\tOu(e) {\n\t\tlet t = Math.round(e.from), n = Math.round(e.to), r = S(this.Bu()), i = S(this.Au());\n\t\treturn {\n\t\t\tfrom: S(this.Ui(Math.max(r, t))),\n\t\t\tto: S(this.Ui(Math.min(i, n)))\n\t\t};\n\t}\n\tIu(e) {\n\t\treturn {\n\t\t\tfrom: S(this.Va(e.from, !0)),\n\t\t\tto: S(this.Va(e.to, !0))\n\t\t};\n\t}\n\tHi() {\n\t\treturn this.__;\n\t}\n\tS_(e) {\n\t\tif (!isFinite(e) || e <= 0 || this.__ === e) return;\n\t\tlet t = this.Du(), n = this.__;\n\t\tif (this.__ = e, this.vu = !0, this.cn.lockVisibleTimeRangeOnResize && n !== 0) {\n\t\t\tlet t = this.Su * e / n;\n\t\t\tthis.Su = t;\n\t\t}\n\t\tif (this.cn.fixLeftEdge && t !== null && t.Os() <= 0) {\n\t\t\tlet t = n - e;\n\t\t\tthis.xu -= Math.round(t / this.Su) + 1, this.vu = !0;\n\t\t}\n\t\tthis.zu(), this.Lu();\n\t}\n\tIt(e) {\n\t\tif (this.Ni() || !ce(e)) return 0;\n\t\tlet t = this.Eu() + this.xu - e;\n\t\treturn this.__ - (t + .5) * this.Su - 1;\n\t}\n\tQs(e, t) {\n\t\tlet n = this.Eu(), r = t === void 0 ? 0 : t.from, i = t === void 0 ? e.length : t.to;\n\t\tfor (let t = r; t < i; t++) {\n\t\t\tlet r = e[t].ot, i = n + this.xu - r, a = this.__ - (i + .5) * this.Su - 1;\n\t\t\te[t].nt = a;\n\t\t}\n\t}\n\tNu(e) {\n\t\treturn Math.ceil(this.Fu(e));\n\t}\n\tJn(e) {\n\t\tthis.vu = !0, this.xu = e, this.Lu(), this.$i.Wu(), this.$i.Uh();\n\t}\n\tle() {\n\t\treturn this.Su;\n\t}\n\tGn(e) {\n\t\tthis.ju(e), this.Lu(), this.$i.Wu(), this.$i.Uh();\n\t}\n\tHu() {\n\t\treturn this.xu;\n\t}\n\tHa() {\n\t\tif (this.Ni()) return null;\n\t\tif (this.gu !== null) return this.gu;\n\t\tlet e = this.Su, t = 5 * (this.$i.W().layout.fontSize + 4) / 8 * (this.cn.tickMarkMaxCharacterLength || 8), n = Math.round(t / e), r = S(this.Xs()), i = Math.max(r.Os(), r.Os() - n), a = Math.max(r.ui(), r.ui() - n), o = this.cu.su(e, t), s = this.Bu() + n, c = this.Au() - n, l = this.$u(), u = this.cn.fixLeftEdge || l, d = this.cn.fixRightEdge || l, f = 0;\n\t\tfor (let e of o) {\n\t\t\tif (!(i <= e.index && e.index <= a)) continue;\n\t\t\tlet n;\n\t\t\tf < this.Mu.length ? (n = this.Mu[f], n.coord = this.It(e.index), n.label = this.Uu(e), n.weight = e.weight) : (n = {\n\t\t\t\tneedAlignCoordinate: !1,\n\t\t\t\tcoord: this.It(e.index),\n\t\t\t\tlabel: this.Uu(e),\n\t\t\t\tweight: e.weight\n\t\t\t}, this.Mu.push(n)), this.Su > t / 2 && !l ? n.needAlignCoordinate = !1 : n.needAlignCoordinate = u && e.index <= s || d && e.index >= c, f++;\n\t\t}\n\t\treturn this.Mu.length = f, this.gu = this.Mu, this.Mu;\n\t}\n\tqu() {\n\t\tthis.vu = !0, this.Gn(this.cn.barSpacing), this.Jn(this.cn.rightOffset);\n\t}\n\tYu(e) {\n\t\tthis.vu = !0, this._u = e, this.Lu(), this.Tu();\n\t}\n\tZu(e, t) {\n\t\tlet n = this.Fu(e), r = this.le(), i = r + r / 10 * t;\n\t\tthis.Gn(i), this.cn.rightBarStaysOnScroll || this.Jn(this.Hu() + (n - this.Fu(e)));\n\t}\n\tGo(e) {\n\t\tthis.Mo && this.n_(), this.wo === null && this.wu === null && (this.Ni() || (this.wo = e, this.Xu()));\n\t}\n\tJo(e) {\n\t\tif (this.wu === null) return;\n\t\tlet t = Je(this.__ - e, 0, this.__), n = Je(this.__ - S(this.wo), 0, this.__);\n\t\tt !== 0 && n !== 0 && this.Gn(this.wu.le * t / n);\n\t}\n\tQo() {\n\t\tthis.wo !== null && (this.wo = null, this.Ku());\n\t}\n\tt_(e) {\n\t\tthis.Mo === null && this.wu === null && (this.Ni() || (this.Mo = e, this.Xu()));\n\t}\n\ti_(e) {\n\t\tif (this.Mo === null) return;\n\t\tlet t = (this.Mo - e) / this.le();\n\t\tthis.xu = S(this.wu).Hu + t, this.vu = !0, this.Lu();\n\t}\n\tn_() {\n\t\tthis.Mo !== null && (this.Mo = null, this.Ku());\n\t}\n\tGu() {\n\t\tthis.Ju(this.cn.rightOffset);\n\t}\n\tJu(e, t = 400) {\n\t\tif (!isFinite(e)) throw RangeError(\"offset is required and must be finite number\");\n\t\tif (!isFinite(t) || t <= 0) throw RangeError(\"animationDuration (optional) must be finite positive number\");\n\t\tlet n = this.xu, r = performance.now();\n\t\tthis.$i.Zn({\n\t\t\tQu: (e) => (e - r) / t >= 1,\n\t\t\ttc: (i) => {\n\t\t\t\tlet a = (i - r) / t;\n\t\t\t\treturn a >= 1 ? e : n + (e - n) * a;\n\t\t\t}\n\t\t});\n\t}\n\tbt(e, t) {\n\t\tthis.vu = !0, this.uu = e, this.cu.iu(e, t), this.Lu();\n\t}\n\tnc() {\n\t\treturn this.pu;\n\t}\n\tsc() {\n\t\treturn this.mu;\n\t}\n\tec() {\n\t\treturn this.bu;\n\t}\n\tEu() {\n\t\treturn this._u || 0;\n\t}\n\trc(e) {\n\t\tlet t = e.G_();\n\t\tthis.ju(this.__ / t), this.xu = e.ui() - this.Eu(), this.Lu(), this.vu = !0, this.$i.Wu(), this.$i.Uh();\n\t}\n\thc() {\n\t\tlet e = this.Bu(), t = this.Au();\n\t\te !== null && t !== null && this.rc(new q(e, t + this.cn.rightOffset));\n\t}\n\tlc(e) {\n\t\tlet t = new q(e.from, e.to);\n\t\tthis.rc(t);\n\t}\n\tqi(e) {\n\t\treturn this.yo.timeFormatter === void 0 ? this.q_.formatHorzItem(e.time) : this.yo.timeFormatter(e.originalTime);\n\t}\n\t$u() {\n\t\tlet { handleScroll: e, handleScale: t } = this.$i.W();\n\t\treturn !(e.horzTouchDrag || e.mouseWheel || e.pressedMouseMove || e.vertTouchDrag || t.axisDoubleClickReset.time || t.axisPressedMouseMove.time || t.mouseWheel || t.pinch);\n\t}\n\tBu() {\n\t\treturn this.uu.length === 0 ? null : 0;\n\t}\n\tAu() {\n\t\treturn this.uu.length === 0 ? null : this.uu.length - 1;\n\t}\n\tac(e) {\n\t\treturn (this.__ - 1 - e) / this.Su;\n\t}\n\tFu(e) {\n\t\tlet t = this.ac(e), n = this.Eu() + this.xu - t;\n\t\treturn Math.round(1e6 * n) / 1e6;\n\t}\n\tju(e) {\n\t\tlet t = this.Su;\n\t\tthis.Su = e, this.zu(), t !== this.Su && (this.vu = !0, this.oc());\n\t}\n\tRu() {\n\t\tif (!this.vu) return;\n\t\tif (this.vu = !1, this.Ni()) return void this._c(Rn.ou());\n\t\tlet e = this.Eu(), t = this.__ / this.Su, n = this.xu + e, r = new q(n - t + 1, n);\n\t\tthis._c(new Rn(r));\n\t}\n\tzu() {\n\t\tlet e = this.uc();\n\t\tif (this.Su < e && (this.Su = e, this.vu = !0), this.__ !== 0) {\n\t\t\tlet e = .5 * this.__;\n\t\t\tthis.Su > e && (this.Su = e, this.vu = !0);\n\t\t}\n\t}\n\tuc() {\n\t\treturn this.cn.fixLeftEdge && this.cn.fixRightEdge && this.uu.length !== 0 ? this.__ / this.uu.length : this.cn.minBarSpacing;\n\t}\n\tLu() {\n\t\tlet e = this.cc();\n\t\te !== null && this.xu < e && (this.xu = e, this.vu = !0);\n\t\tlet t = this.dc();\n\t\tthis.xu > t && (this.xu = t, this.vu = !0);\n\t}\n\tcc() {\n\t\tlet e = this.Bu(), t = this._u;\n\t\treturn e === null || t === null ? null : e - t - 1 + (this.cn.fixLeftEdge ? this.__ / this.Su : Math.min(2, this.uu.length));\n\t}\n\tdc() {\n\t\treturn this.cn.fixRightEdge ? 0 : this.__ / this.Su - Math.min(2, this.uu.length);\n\t}\n\tXu() {\n\t\tthis.wu = {\n\t\t\tle: this.le(),\n\t\t\tHu: this.Hu()\n\t\t};\n\t}\n\tKu() {\n\t\tthis.wu = null;\n\t}\n\tUu(e) {\n\t\tlet t = this.du.get(e.weight);\n\t\treturn t === void 0 && (t = new Fn(((e) => this.fc(e)), this.q_), this.du.set(e.weight, t)), t.Y_(e);\n\t}\n\tfc(e) {\n\t\treturn this.q_.formatTickmark(e, this.yo);\n\t}\n\t_c(e) {\n\t\tlet t = this.fu;\n\t\tthis.fu = e, In(t.lu(), this.fu.lu()) || this.pu.m(), In(t.au(), this.fu.au()) || this.mu.m(), this.oc();\n\t}\n\toc() {\n\t\tthis.gu = null;\n\t}\n\tCu() {\n\t\tthis.oc(), this.du.clear();\n\t}\n\tku() {\n\t\tthis.q_.updateFormatter(this.yo);\n\t}\n\tTu() {\n\t\tif (!this.cn.fixLeftEdge) return;\n\t\tlet e = this.Bu();\n\t\tif (e === null) return;\n\t\tlet t = this.Xs();\n\t\tif (t === null) return;\n\t\tlet n = t.Os() - e;\n\t\tif (n < 0) {\n\t\t\tlet e = this.xu - n - 1;\n\t\t\tthis.Jn(e);\n\t\t}\n\t\tthis.zu();\n\t}\n\tPu() {\n\t\tthis.Lu(), this.zu();\n\t}\n}, Vn = class {\n\tX(e, t, n) {\n\t\te.useMediaCoordinateSpace(((e) => this.K(e, t, n)));\n\t}\n\tgl(e, t, n) {\n\t\te.useMediaCoordinateSpace(((e) => this.vc(e, t, n)));\n\t}\n\tvc(e, t, n) {}\n}, Hn = class extends Vn {\n\tconstructor(e) {\n\t\tsuper(), this.mc = /* @__PURE__ */ new Map(), this.zt = e;\n\t}\n\tK(e) {}\n\tvc(e) {\n\t\tif (!this.zt.yt) return;\n\t\tlet { context: t, mediaSize: n } = e, r = 0;\n\t\tfor (let e of this.zt.bc) {\n\t\t\tif (e.Kt.length === 0) continue;\n\t\t\tt.font = e.R;\n\t\t\tlet i = this.wc(t, e.Kt);\n\t\t\ti > n.width ? e.Zu = n.width / i : e.Zu = 1, r += e.gc * e.Zu;\n\t\t}\n\t\tlet i = 0;\n\t\tswitch (this.zt.Mc) {\n\t\t\tcase \"top\":\n\t\t\t\ti = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"center\":\n\t\t\t\ti = Math.max((n.height - r) / 2, 0);\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\": i = Math.max(n.height - r, 0);\n\t\t}\n\t\tt.fillStyle = this.zt.V;\n\t\tfor (let e of this.zt.bc) {\n\t\t\tt.save();\n\t\t\tlet r = 0;\n\t\t\tswitch (this.zt.xc) {\n\t\t\t\tcase \"left\":\n\t\t\t\t\tt.textAlign = \"left\", r = e.gc / 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"center\":\n\t\t\t\t\tt.textAlign = \"center\", r = n.width / 2;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"right\": t.textAlign = \"right\", r = n.width - 1 - e.gc / 2;\n\t\t\t}\n\t\t\tt.translate(r, i), t.textBaseline = \"top\", t.font = e.R, t.scale(e.Zu, e.Zu), t.fillText(e.Kt, 0, e.Sc), t.restore(), i += e.gc * e.Zu;\n\t\t}\n\t}\n\twc(e, t) {\n\t\tlet n = this.kc(e.font), r = n.get(t);\n\t\treturn r === void 0 && (r = e.measureText(t).width, n.set(t, r)), r;\n\t}\n\tkc(e) {\n\t\tlet t = this.mc.get(e);\n\t\treturn t === void 0 && (t = /* @__PURE__ */ new Map(), this.mc.set(e, t)), t;\n\t}\n}, Un = class {\n\tconstructor(e) {\n\t\tthis.ft = !0, this.Ft = {\n\t\t\tyt: !1,\n\t\t\tV: \"\",\n\t\t\tbc: [],\n\t\t\tMc: \"center\",\n\t\t\txc: \"center\"\n\t\t}, this.Wt = new Hn(this.Ft), this.jt = e;\n\t}\n\tbt() {\n\t\tthis.ft = !0;\n\t}\n\tgt() {\n\t\treturn this.ft &&= (this.Mt(), !1), this.Wt;\n\t}\n\tMt() {\n\t\tlet e = this.jt.W(), t = this.Ft;\n\t\tt.yt = e.visible, t.yt && (t.V = e.color, t.xc = e.horzAlign, t.Mc = e.vertAlign, t.bc = [{\n\t\t\tKt: e.text,\n\t\t\tR: N(e.fontSize, e.fontFamily, e.fontStyle),\n\t\t\tgc: 1.2 * e.fontSize,\n\t\t\tSc: 0,\n\t\t\tZu: 0\n\t\t}]);\n\t}\n}, Wn = class extends Ne {\n\tconstructor(e, t) {\n\t\tsuper(), this.cn = t, this.wn = new Un(this);\n\t}\n\tRn() {\n\t\treturn [];\n\t}\n\tPn() {\n\t\treturn [this.wn];\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\tVn() {\n\t\tthis.wn.bt();\n\t}\n}, Gn, Kn, qn, Jn, Yn;\n(function(e) {\n\te[e.OnTouchEnd = 0] = \"OnTouchEnd\", e[e.OnNextTap = 1] = \"OnNextTap\";\n})(Gn ||= {});\nvar Xn = class {\n\tconstructor(e, t, n) {\n\t\tthis.yc = [], this.Cc = [], this.__ = 0, this.Tc = null, this.Pc = new k(), this.Rc = new k(), this.Dc = null, this.Vc = e, this.cn = t, this.q_ = n, this.Oc = new me(this), this.yl = new Bn(this, t.timeScale, this.cn.localization, n), this.vt = new Fe(this, t.crosshair), this.Bc = new _n(t.crosshair), this.Ac = new Wn(this, t.watermark), this.Ic(), this.yc[0].x_(2e3), this.zc = this.Lc(0), this.Ec = this.Lc(1);\n\t}\n\tKl() {\n\t\tthis.Nc(F.es());\n\t}\n\tUh() {\n\t\tthis.Nc(F.ss());\n\t}\n\toa() {\n\t\tthis.Nc(new F(1));\n\t}\n\tGl(e) {\n\t\tlet t = this.Fc(e);\n\t\tthis.Nc(t);\n\t}\n\tWc() {\n\t\treturn this.Tc;\n\t}\n\tjc(e) {\n\t\tlet t = this.Tc;\n\t\tthis.Tc = e, t !== null && this.Gl(t.Hc), e !== null && this.Gl(e.Hc);\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\t$h(e) {\n\t\tA(this.cn, e), this.yc.forEach(((t) => t.b_(e))), e.timeScale !== void 0 && this.yl.$h(e.timeScale), e.localization !== void 0 && this.yl.yu(e.localization), (e.leftPriceScale || e.rightPriceScale) && this.Pc.m(), this.zc = this.Lc(0), this.Ec = this.Lc(1), this.Kl();\n\t}\n\t$c(e, t) {\n\t\tif (e === \"left\") return void this.$h({ leftPriceScale: t });\n\t\tif (e === \"right\") return void this.$h({ rightPriceScale: t });\n\t\tlet n = this.Uc(e);\n\t\tn !== null && (n.Dt.$h(t), this.Pc.m());\n\t}\n\tUc(e) {\n\t\tfor (let t of this.yc) {\n\t\t\tlet n = t.w_(e);\n\t\t\tif (n !== null) return {\n\t\t\t\tHt: t,\n\t\t\t\tDt: n\n\t\t\t};\n\t\t}\n\t\treturn null;\n\t}\n\tSt() {\n\t\treturn this.yl;\n\t}\n\tqc() {\n\t\treturn this.yc;\n\t}\n\tYc() {\n\t\treturn this.Ac;\n\t}\n\tZc() {\n\t\treturn this.vt;\n\t}\n\tXc() {\n\t\treturn this.Rc;\n\t}\n\tKc(e, t) {\n\t\te.Lo(t), this.Wu();\n\t}\n\tS_(e) {\n\t\tthis.__ = e, this.yl.S_(this.__), this.yc.forEach(((t) => t.S_(e))), this.Wu();\n\t}\n\tIc(e) {\n\t\tlet t = new Pn(this.yl, this);\n\t\te === void 0 ? this.yc.push(t) : this.yc.splice(e, 0, t);\n\t\tlet n = e === void 0 ? this.yc.length - 1 : e, r = F.es();\n\t\treturn r.Nn(n, {\n\t\t\tFn: 0,\n\t\t\tWn: !0\n\t\t}), this.Nc(r), t;\n\t}\n\tV_(e, t, n) {\n\t\te.V_(t, n);\n\t}\n\tO_(e, t, n) {\n\t\te.O_(t, n), this.Jl(), this.Nc(this.Gc(e, 2));\n\t}\n\tB_(e, t) {\n\t\te.B_(t), this.Nc(this.Gc(e, 2));\n\t}\n\tA_(e, t, n) {\n\t\tt.Vo() || e.A_(t, n);\n\t}\n\tI_(e, t, n) {\n\t\tt.Vo() || (e.I_(t, n), this.Jl(), this.Nc(this.Gc(e, 2)));\n\t}\n\tz_(e, t) {\n\t\tt.Vo() || (e.z_(t), this.Nc(this.Gc(e, 2)));\n\t}\n\tE_(e, t) {\n\t\te.E_(t), this.Nc(this.Gc(e, 2));\n\t}\n\tJc(e) {\n\t\tthis.yl.Go(e);\n\t}\n\tQc(e, t) {\n\t\tlet n = this.St();\n\t\tif (n.Ni() || t === 0) return;\n\t\tlet r = n.Hi();\n\t\te = Math.max(1, Math.min(e, r)), n.Zu(e, t), this.Wu();\n\t}\n\ttd(e) {\n\t\tthis.nd(0), this.sd(e), this.ed();\n\t}\n\trd(e) {\n\t\tthis.yl.Jo(e), this.Wu();\n\t}\n\thd() {\n\t\tthis.yl.Qo(), this.Uh();\n\t}\n\tnd(e) {\n\t\tthis.yl.t_(e);\n\t}\n\tsd(e) {\n\t\tthis.yl.i_(e), this.Wu();\n\t}\n\ted() {\n\t\tthis.yl.n_(), this.Uh();\n\t}\n\twt() {\n\t\treturn this.Cc;\n\t}\n\tld(e, t, n, r, i) {\n\t\tthis.vt.gn(e, t);\n\t\tlet a = NaN, o = this.yl.Nu(e), s = this.yl.Xs();\n\t\ts !== null && (o = Math.min(Math.max(s.Os(), o), s.ui()));\n\t\tlet c = r.vn(), l = c.Ct();\n\t\tl !== null && (a = c.pn(t, l)), a = this.Bc.Oa(a, o, r), this.vt.kn(o, a, r), this.oa(), i || this.Rc.m(this.vt.xt(), {\n\t\t\tx: e,\n\t\t\ty: t\n\t\t}, n);\n\t}\n\tad(e, t, n) {\n\t\tlet r = n.vn(), i = r.Ct(), a = r.Rt(e, S(i)), o = this.yl.Va(t, !0), s = this.yl.It(S(o));\n\t\tthis.ld(s, a, null, n, !0);\n\t}\n\tod(e) {\n\t\tthis.Zc().Cn(), this.oa(), e || this.Rc.m(null, null, null);\n\t}\n\tJl() {\n\t\tlet e = this.vt.Ht();\n\t\tif (e !== null) {\n\t\t\tlet t = this.vt.xn(), n = this.vt.Sn();\n\t\t\tthis.ld(t, n, null, e);\n\t\t}\n\t\tthis.vt.Vn();\n\t}\n\t_d(e, t, n) {\n\t\tlet r = this.yl.mn(0);\n\t\tt !== void 0 && n !== void 0 && this.yl.bt(t, n);\n\t\tlet i = this.yl.mn(0), a = this.yl.Eu(), o = this.yl.Xs();\n\t\tif (o !== null && r !== null && i !== null) {\n\t\t\tlet t = o.Kr(a), s = this.q_.key(r) > this.q_.key(i), c = e !== null && e > a && !s, l = this.yl.W().allowShiftVisibleRangeOnWhitespaceReplacement, u = t && (n !== void 0 || l) && this.yl.W().shiftVisibleRangeOnNewBar;\n\t\t\tif (c && !u) {\n\t\t\t\tlet t = e - a;\n\t\t\t\tthis.yl.Jn(this.yl.Hu() - t);\n\t\t\t}\n\t\t}\n\t\tthis.yl.Yu(e);\n\t}\n\tia(e) {\n\t\te !== null && e.F_();\n\t}\n\tdr(e) {\n\t\tlet t = this.yc.find(((t) => t.Uo().includes(e)));\n\t\treturn t === void 0 ? null : t;\n\t}\n\tWu() {\n\t\tthis.Ac.Vn(), this.yc.forEach(((e) => e.F_())), this.Jl();\n\t}\n\tS() {\n\t\tthis.yc.forEach(((e) => e.S())), this.yc.length = 0, this.cn.localization.priceFormatter = void 0, this.cn.localization.percentageFormatter = void 0, this.cn.localization.timeFormatter = void 0;\n\t}\n\tud() {\n\t\treturn this.Oc;\n\t}\n\tbr() {\n\t\treturn this.Oc.W();\n\t}\n\tg_() {\n\t\treturn this.Pc;\n\t}\n\tdd(e, t, n) {\n\t\tlet r = this.yc[0], i = this.fd(t, e, r, n);\n\t\treturn this.Cc.push(i), this.Cc.length === 1 ? this.Kl() : this.Uh(), i;\n\t}\n\tvd(e) {\n\t\tlet t = this.dr(e), n = this.Cc.indexOf(e);\n\t\tb(n !== -1, \"Series not found\"), this.Cc.splice(n, 1), S(t).Zo(e), e.S && e.S();\n\t}\n\tXl(e, t) {\n\t\tlet n = S(this.dr(e));\n\t\tn.Zo(e);\n\t\tlet r = this.Uc(t);\n\t\tif (r === null) {\n\t\t\tlet r = e.Xi();\n\t\t\tn.qo(e, t, r);\n\t\t} else {\n\t\t\tlet i = r.Ht === n ? e.Xi() : void 0;\n\t\t\tr.Ht.qo(e, t, i);\n\t\t}\n\t}\n\thc() {\n\t\tlet e = F.ss();\n\t\te.$n(), this.Nc(e);\n\t}\n\tpd(e) {\n\t\tlet t = F.ss();\n\t\tt.Yn(e), this.Nc(t);\n\t}\n\tKn() {\n\t\tlet e = F.ss();\n\t\te.Kn(), this.Nc(e);\n\t}\n\tGn(e) {\n\t\tlet t = F.ss();\n\t\tt.Gn(e), this.Nc(t);\n\t}\n\tJn(e) {\n\t\tlet t = F.ss();\n\t\tt.Jn(e), this.Nc(t);\n\t}\n\tZn(e) {\n\t\tlet t = F.ss();\n\t\tt.Zn(e), this.Nc(t);\n\t}\n\tUn() {\n\t\tlet e = F.ss();\n\t\te.Un(), this.Nc(e);\n\t}\n\tmd() {\n\t\treturn this.cn.rightPriceScale.visible ? \"right\" : \"left\";\n\t}\n\tbd() {\n\t\treturn this.Ec;\n\t}\n\tq() {\n\t\treturn this.zc;\n\t}\n\tBt(e) {\n\t\tlet t = this.Ec, n = this.zc;\n\t\tif (t === n) return t;\n\t\tif (e = Math.max(0, Math.min(100, Math.round(100 * e))), this.Dc === null || this.Dc.Ps !== n || this.Dc.Rs !== t) this.Dc = {\n\t\t\tPs: n,\n\t\t\tRs: t,\n\t\t\twd: /* @__PURE__ */ new Map()\n\t\t};\n\t\telse {\n\t\t\tlet t = this.Dc.wd.get(e);\n\t\t\tif (t !== void 0) return t;\n\t\t}\n\t\tlet r = function(e, t, n) {\n\t\t\tlet [r, i, a, o] = D(e), [s, c, l, u] = D(t), d = [\n\t\t\t\tw(r + n * (s - r)),\n\t\t\t\tw(i + n * (c - i)),\n\t\t\t\tw(a + n * (l - a)),\n\t\t\t\tie(o + n * (u - o))\n\t\t\t];\n\t\t\treturn `rgba(${d[0]}, ${d[1]}, ${d[2]}, ${d[3]})`;\n\t\t}(n, t, e / 100);\n\t\treturn this.Dc.wd.set(e, r), r;\n\t}\n\tGc(e, t) {\n\t\tlet n = new F(t);\n\t\tif (e !== null) {\n\t\t\tlet r = this.yc.indexOf(e);\n\t\t\tn.Nn(r, { Fn: t });\n\t\t}\n\t\treturn n;\n\t}\n\tFc(e, t) {\n\t\treturn t === void 0 && (t = 2), this.Gc(this.dr(e), t);\n\t}\n\tNc(e) {\n\t\tthis.Vc && this.Vc(e), this.yc.forEach(((e) => e.j_().qh().bt()));\n\t}\n\tfd(e, t, n, r) {\n\t\tlet i = new gn(this, e, t, n, r), a = e.priceScaleId === void 0 ? this.md() : e.priceScaleId;\n\t\treturn n.qo(i, a), Ie(a) || i.$h(e), i;\n\t}\n\tLc(e) {\n\t\tlet t = this.cn.layout;\n\t\treturn t.background.type === \"gradient\" ? e === 0 ? t.background.topColor : t.background.bottomColor : t.background.color;\n\t}\n};\nfunction Zn(e) {\n\treturn !j(e) && !le(e);\n}\nfunction Qn(e) {\n\treturn j(e);\n}\n(function(e) {\n\te[e.Disabled = 0] = \"Disabled\", e[e.Continuous = 1] = \"Continuous\", e[e.OnDataUpdate = 2] = \"OnDataUpdate\";\n})(Kn ||= {}), function(e) {\n\te[e.LastBar = 0] = \"LastBar\", e[e.LastVisible = 1] = \"LastVisible\";\n}(qn ||= {}), function(e) {\n\te.Solid = \"solid\", e.VerticalGradient = \"gradient\";\n}(Jn ||= {}), function(e) {\n\te[e.Year = 0] = \"Year\", e[e.Month = 1] = \"Month\", e[e.DayOfMonth = 2] = \"DayOfMonth\", e[e.Time = 3] = \"Time\", e[e.TimeWithSeconds = 4] = \"TimeWithSeconds\";\n}(Yn ||= {});\nvar $n = (e) => e.getUTCFullYear();\nfunction er(e, t, n) {\n\treturn t.replace(/yyyy/g, ((e) => I($n(e), 4))(e)).replace(/yy/g, ((e) => I($n(e) % 100, 2))(e)).replace(/MMMM/g, ((e, t) => new Date(e.getUTCFullYear(), e.getUTCMonth(), 1).toLocaleString(t, { month: \"long\" }))(e, n)).replace(/MMM/g, ((e, t) => new Date(e.getUTCFullYear(), e.getUTCMonth(), 1).toLocaleString(t, { month: \"short\" }))(e, n)).replace(/MM/g, ((e) => I(((e) => e.getUTCMonth() + 1)(e), 2))(e)).replace(/dd/g, ((e) => I(((e) => e.getUTCDate())(e), 2))(e));\n}\nvar tr = class {\n\tconstructor(e = \"yyyy-MM-dd\", t = \"default\") {\n\t\tthis.gd = e, this.Md = t;\n\t}\n\tY_(e) {\n\t\treturn er(e, this.gd, this.Md);\n\t}\n}, nr = class {\n\tconstructor(e) {\n\t\tthis.xd = e || \"%h:%m:%s\";\n\t}\n\tY_(e) {\n\t\treturn this.xd.replace(\"%h\", I(e.getUTCHours(), 2)).replace(\"%m\", I(e.getUTCMinutes(), 2)).replace(\"%s\", I(e.getUTCSeconds(), 2));\n\t}\n}, rr = {\n\tSd: \"yyyy-MM-dd\",\n\tkd: \"%h:%m:%s\",\n\tyd: \" \",\n\tCd: \"default\"\n}, ir = class {\n\tconstructor(e = {}) {\n\t\tlet t = Object.assign(Object.assign({}, rr), e);\n\t\tthis.Td = new tr(t.Sd, t.Cd), this.Pd = new nr(t.kd), this.Rd = t.yd;\n\t}\n\tY_(e) {\n\t\treturn `${this.Td.Y_(e)}${this.Rd}${this.Pd.Y_(e)}`;\n\t}\n};\nfunction ar(e) {\n\treturn 60 * e * 60 * 1e3;\n}\nfunction or(e) {\n\treturn 60 * e * 1e3;\n}\nvar sr = [\n\t{\n\t\tDd: (cr = 1, 1e3 * cr),\n\t\tVd: 10\n\t},\n\t{\n\t\tDd: or(1),\n\t\tVd: 20\n\t},\n\t{\n\t\tDd: or(5),\n\t\tVd: 21\n\t},\n\t{\n\t\tDd: or(30),\n\t\tVd: 22\n\t},\n\t{\n\t\tDd: ar(1),\n\t\tVd: 30\n\t},\n\t{\n\t\tDd: ar(3),\n\t\tVd: 31\n\t},\n\t{\n\t\tDd: ar(6),\n\t\tVd: 32\n\t},\n\t{\n\t\tDd: ar(12),\n\t\tVd: 33\n\t}\n], cr;\nfunction lr(e, t) {\n\tif (e.getUTCFullYear() !== t.getUTCFullYear()) return 70;\n\tif (e.getUTCMonth() !== t.getUTCMonth()) return 60;\n\tif (e.getUTCDate() !== t.getUTCDate()) return 50;\n\tfor (let n = sr.length - 1; n >= 0; --n) if (Math.floor(t.getTime() / sr[n].Dd) !== Math.floor(e.getTime() / sr[n].Dd)) return sr[n].Vd;\n\treturn 0;\n}\nfunction ur(e) {\n\tlet t = e;\n\tif (le(e) && (t = fr(e)), !Zn(t)) throw Error(\"time must be of type BusinessDay\");\n\tlet n = new Date(Date.UTC(t.year, t.month - 1, t.day, 0, 0, 0, 0));\n\treturn {\n\t\tOd: Math.round(n.getTime() / 1e3),\n\t\tBd: t\n\t};\n}\nfunction dr(e) {\n\tif (!Qn(e)) throw Error(\"time must be of type isUTCTimestamp\");\n\treturn { Od: e };\n}\nfunction fr(e) {\n\tlet t = new Date(e);\n\tif (isNaN(t.getTime())) throw Error(`Invalid date string=${e}, expected format=yyyy-mm-dd`);\n\treturn {\n\t\tday: t.getUTCDate(),\n\t\tmonth: t.getUTCMonth() + 1,\n\t\tyear: t.getUTCFullYear()\n\t};\n}\nfunction pr(e) {\n\tle(e.time) && (e.time = fr(e.time));\n}\nvar mr = class {\n\toptions() {\n\t\treturn this.cn;\n\t}\n\tsetOptions(e) {\n\t\tthis.cn = e, this.updateFormatter(e.localization);\n\t}\n\tpreprocessData(e) {\n\t\tArray.isArray(e) ? function(e) {\n\t\t\te.forEach(pr);\n\t\t}(e) : pr(e);\n\t}\n\tcreateConverterToInternalObj(e) {\n\t\treturn S(function(e) {\n\t\t\treturn e.length === 0 ? null : Zn(e[0].time) || le(e[0].time) ? ur : dr;\n\t\t}(e));\n\t}\n\tkey(e) {\n\t\treturn typeof e == \"object\" && \"Od\" in e ? e.Od : this.key(this.convertHorzItemToInternal(e));\n\t}\n\tcacheKey(e) {\n\t\tlet t = e;\n\t\treturn t.Bd === void 0 ? (/* @__PURE__ */ new Date(1e3 * t.Od)).getTime() : new Date(Date.UTC(t.Bd.year, t.Bd.month - 1, t.Bd.day)).getTime();\n\t}\n\tconvertHorzItemToInternal(e) {\n\t\treturn Qn(t = e) ? dr(t) : Zn(t) ? ur(t) : ur(fr(t));\n\t\tvar t;\n\t}\n\tupdateFormatter(e) {\n\t\tif (!this.cn) return;\n\t\tlet t = e.dateFormat;\n\t\tthis.cn.timeScale.timeVisible ? this.Ad = new ir({\n\t\t\tSd: t,\n\t\t\tkd: this.cn.timeScale.secondsVisible ? \"%h:%m:%s\" : \"%h:%m\",\n\t\t\tyd: \"   \",\n\t\t\tCd: e.locale\n\t\t}) : this.Ad = new tr(t, e.locale);\n\t}\n\tformatHorzItem(e) {\n\t\tlet t = e;\n\t\treturn this.Ad.Y_(/* @__PURE__ */ new Date(1e3 * t.Od));\n\t}\n\tformatTickmark(e, t) {\n\t\tlet n = function(e, t, n) {\n\t\t\tswitch (e) {\n\t\t\t\tcase 0:\n\t\t\t\tcase 10: return t ? n ? 4 : 3 : 2;\n\t\t\t\tcase 20:\n\t\t\t\tcase 21:\n\t\t\t\tcase 22:\n\t\t\t\tcase 30:\n\t\t\t\tcase 31:\n\t\t\t\tcase 32:\n\t\t\t\tcase 33: return t ? 3 : 2;\n\t\t\t\tcase 50: return 2;\n\t\t\t\tcase 60: return 1;\n\t\t\t\tcase 70: return 0;\n\t\t\t}\n\t\t}(e.weight, this.cn.timeScale.timeVisible, this.cn.timeScale.secondsVisible), r = this.cn.timeScale;\n\t\tif (r.tickMarkFormatter !== void 0) {\n\t\t\tlet i = r.tickMarkFormatter(e.originalTime, n, t.locale);\n\t\t\tif (i !== null) return i;\n\t\t}\n\t\treturn function(e, t, n) {\n\t\t\tlet r = {};\n\t\t\tswitch (t) {\n\t\t\t\tcase 0:\n\t\t\t\t\tr.year = \"numeric\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tr.month = \"short\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tr.day = \"numeric\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tr.hour12 = !1, r.hour = \"2-digit\", r.minute = \"2-digit\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4: r.hour12 = !1, r.hour = \"2-digit\", r.minute = \"2-digit\", r.second = \"2-digit\";\n\t\t\t}\n\t\t\tlet i = e.Bd === void 0 ? /* @__PURE__ */ new Date(1e3 * e.Od) : new Date(Date.UTC(e.Bd.year, e.Bd.month - 1, e.Bd.day));\n\t\t\treturn new Date(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate(), i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds(), i.getUTCMilliseconds()).toLocaleString(n, r);\n\t\t}(e.time, n, t.locale);\n\t}\n\tmaxTickMarkWeight(e) {\n\t\tlet t = e.reduce(zn, e[0]).weight;\n\t\treturn t > 30 && t < 50 && (t = 30), t;\n\t}\n\tfillWeightsForPoints(e, t) {\n\t\t(function(e, t = 0) {\n\t\t\tif (e.length === 0) return;\n\t\t\tlet n = t === 0 ? null : e[t - 1].time.Od, r = n === null ? null : /* @__PURE__ */ new Date(1e3 * n), i = 0;\n\t\t\tfor (let a = t; a < e.length; ++a) {\n\t\t\t\tlet t = e[a], o = /* @__PURE__ */ new Date(1e3 * t.time.Od);\n\t\t\t\tr !== null && (t.timeWeight = lr(o, r)), i += t.time.Od - (n || t.time.Od), n = t.time.Od, r = o;\n\t\t\t}\n\t\t\tif (t === 0 && e.length > 1) {\n\t\t\t\tlet t = Math.ceil(i / (e.length - 1)), n = /* @__PURE__ */ new Date(1e3 * (e[0].time.Od - t));\n\t\t\t\te[0].timeWeight = lr(/* @__PURE__ */ new Date(1e3 * e[0].time.Od), n);\n\t\t\t}\n\t\t})(e, t);\n\t}\n\tstatic Id(e) {\n\t\treturn A({ localization: { dateFormat: \"dd MMM 'yy\" } }, e ?? {});\n\t}\n}, J = typeof window < \"u\";\nfunction hr() {\n\treturn !!J && window.navigator.userAgent.toLowerCase().indexOf(\"firefox\") > -1;\n}\nfunction gr() {\n\treturn !!J && /iPhone|iPad|iPod/.test(window.navigator.platform);\n}\nfunction _r(e) {\n\treturn e + e % 2;\n}\nfunction vr(e, t) {\n\treturn e.zd - t.zd;\n}\nfunction yr(e, t, n) {\n\tlet r = (e.zd - t.zd) / (e.ot - t.ot);\n\treturn Math.sign(r) * Math.min(Math.abs(r), n);\n}\nvar br = class {\n\tconstructor(e, t, n, r) {\n\t\tthis.Ld = null, this.Ed = null, this.Nd = null, this.Fd = null, this.Wd = null, this.jd = 0, this.Hd = 0, this.$d = e, this.Ud = t, this.qd = n, this.rs = r;\n\t}\n\tYd(e, t) {\n\t\tif (this.Ld !== null) {\n\t\t\tif (this.Ld.ot === t) return void (this.Ld.zd = e);\n\t\t\tif (Math.abs(this.Ld.zd - e) < this.rs) return;\n\t\t}\n\t\tthis.Fd = this.Nd, this.Nd = this.Ed, this.Ed = this.Ld, this.Ld = {\n\t\t\tot: t,\n\t\t\tzd: e\n\t\t};\n\t}\n\tVr(e, t) {\n\t\tif (this.Ld === null || this.Ed === null || t - this.Ld.ot > 50) return;\n\t\tlet n = 0, r = yr(this.Ld, this.Ed, this.Ud), i = vr(this.Ld, this.Ed), a = [r], o = [i];\n\t\tif (n += i, this.Nd !== null) {\n\t\t\tlet e = yr(this.Ed, this.Nd, this.Ud);\n\t\t\tif (Math.sign(e) === Math.sign(r)) {\n\t\t\t\tlet t = vr(this.Ed, this.Nd);\n\t\t\t\tif (a.push(e), o.push(t), n += t, this.Fd !== null) {\n\t\t\t\t\tlet e = yr(this.Nd, this.Fd, this.Ud);\n\t\t\t\t\tif (Math.sign(e) === Math.sign(r)) {\n\t\t\t\t\t\tlet t = vr(this.Nd, this.Fd);\n\t\t\t\t\t\ta.push(e), o.push(t), n += t;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet s = 0;\n\t\tfor (let e = 0; e < a.length; ++e) s += o[e] / n * a[e];\n\t\tMath.abs(s) < this.$d || (this.Wd = {\n\t\t\tzd: e,\n\t\t\tot: t\n\t\t}, this.Hd = s, this.jd = function(e, t) {\n\t\t\tlet n = Math.log(t);\n\t\t\treturn Math.log(1 * n / -e) / n;\n\t\t}(Math.abs(s), this.qd));\n\t}\n\ttc(e) {\n\t\tlet t = S(this.Wd), n = e - t.ot;\n\t\treturn t.zd + this.Hd * (this.qd ** +n - 1) / Math.log(this.qd);\n\t}\n\tQu(e) {\n\t\treturn this.Wd === null || this.Zd(e) === this.jd;\n\t}\n\tZd(e) {\n\t\tlet t = e - S(this.Wd).ot;\n\t\treturn Math.min(t, this.jd);\n\t}\n}, xr = class {\n\tconstructor(e, t) {\n\t\tthis.Xd = void 0, this.Kd = void 0, this.Gd = void 0, this.en = !1, this.Jd = e, this.Qd = t, this.tf();\n\t}\n\tbt() {\n\t\tthis.tf();\n\t}\n\tif() {\n\t\tthis.Xd && this.Jd.removeChild(this.Xd), this.Kd && this.Jd.removeChild(this.Kd), this.Xd = void 0, this.Kd = void 0;\n\t}\n\tnf() {\n\t\treturn this.en !== this.sf() || this.Gd !== this.ef();\n\t}\n\tef() {\n\t\treturn O(D(this.Qd.W().layout.textColor)) > 160 ? \"dark\" : \"light\";\n\t}\n\tsf() {\n\t\treturn this.Qd.W().layout.attributionLogo;\n\t}\n\trf() {\n\t\tlet e = new URL(location.href);\n\t\treturn e.hostname ? \"&utm_source=\" + e.hostname + e.pathname : \"\";\n\t}\n\ttf() {\n\t\tthis.nf() && (this.if(), this.en = this.sf(), this.en && (this.Gd = this.ef(), this.Kd = document.createElement(\"style\"), this.Kd.innerText = \"a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}\", this.Xd = document.createElement(\"a\"), this.Xd.href = `https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.rf()}`, this.Xd.title = \"Charting by TradingView\", this.Xd.id = \"tv-attr-logo\", this.Xd.target = \"_blank\", this.Xd.innerHTML = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 35 19\\\" width=\\\"35\\\" height=\\\"19\\\" fill=\\\"none\\\"><g fill-rule=\\\"evenodd\\\" clip-path=\\\"url(#a)\\\" clip-rule=\\\"evenodd\\\"><path fill=\\\"var(--stroke)\\\" d=\\\"M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z\\\"/><path fill=\\\"var(--fill)\\\" d=\\\"M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\\\"/></g><defs><clipPath id=\\\"a\\\"><path fill=\\\"var(--stroke)\\\" d=\\\"M0 0h35v19H0z\\\"/></clipPath></defs></svg>\", this.Xd.toggleAttribute(\"data-dark\", this.Gd === \"dark\"), this.Jd.appendChild(this.Kd), this.Jd.appendChild(this.Xd)));\n\t}\n};\nfunction Y(e, t) {\n\tlet n = S(e.ownerDocument).createElement(\"canvas\");\n\te.appendChild(n);\n\tlet r = a(n, {\n\t\ttype: \"device-pixel-content-box\",\n\t\toptions: { allowResizeObserver: !1 },\n\t\ttransform: (e, t) => ({\n\t\t\twidth: Math.max(e.width, t.width),\n\t\t\theight: Math.max(e.height, t.height)\n\t\t})\n\t});\n\treturn r.resizeCanvasElement(t), r;\n}\nfunction X(e) {\n\tvar t;\n\te.width = 1, e.height = 1, (t = e.getContext(\"2d\")) == null || t.clearRect(0, 0, 1, 1);\n}\nfunction Sr(e, t, n, r) {\n\te.gl && e.gl(t, n, r);\n}\nfunction Cr(e, t, n, r) {\n\te.X(t, n, r);\n}\nfunction wr(e, t, n, r) {\n\tlet i = e(n, r);\n\tfor (let e of i) {\n\t\tlet n = e.gt();\n\t\tn !== null && t(n);\n\t}\n}\nfunction Tr(e) {\n\tJ && window.chrome !== void 0 && e.addEventListener(\"mousedown\", ((e) => {\n\t\tif (e.button === 1) return e.preventDefault(), !1;\n\t}));\n}\nvar Er = class {\n\tconstructor(e, t, n) {\n\t\tthis.hf = 0, this.lf = null, this.af = {\n\t\t\tnt: -Infinity,\n\t\t\tst: Infinity\n\t\t}, this._f = 0, this.uf = null, this.cf = {\n\t\t\tnt: -Infinity,\n\t\t\tst: Infinity\n\t\t}, this.df = null, this.ff = !1, this.vf = null, this.pf = null, this.mf = !1, this.bf = !1, this.wf = !1, this.gf = null, this.Mf = null, this.xf = null, this.Sf = null, this.kf = null, this.yf = null, this.Cf = null, this.Tf = 0, this.Pf = !1, this.Rf = !1, this.Df = !1, this.Vf = 0, this.Of = null, this.Bf = !gr(), this.Af = (e) => {\n\t\t\tthis.If(e);\n\t\t}, this.zf = (e) => {\n\t\t\tif (this.Lf(e)) {\n\t\t\t\tlet t = this.Ef(e);\n\t\t\t\tif (++this._f, this.uf && this._f > 1) {\n\t\t\t\t\tlet { Nf: n } = this.Ff(Q(e), this.cf);\n\t\t\t\t\tn < 30 && !this.wf && this.Wf(t, this.Hf.jf), this.$f();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet t = this.Ef(e);\n\t\t\t\tif (++this.hf, this.lf && this.hf > 1) {\n\t\t\t\t\tlet { Nf: n } = this.Ff(Q(e), this.af);\n\t\t\t\t\tn < 5 && !this.bf && this.Uf(t, this.Hf.qf), this.Yf();\n\t\t\t\t}\n\t\t\t}\n\t\t}, this.Zf = e, this.Hf = t, this.cn = n, this.Xf();\n\t}\n\tS() {\n\t\tthis.gf !== null && (this.gf(), this.gf = null), this.Mf !== null && (this.Mf(), this.Mf = null), this.Sf !== null && (this.Sf(), this.Sf = null), this.kf !== null && (this.kf(), this.kf = null), this.yf !== null && (this.yf(), this.yf = null), this.xf !== null && (this.xf(), this.xf = null), this.Kf(), this.Yf();\n\t}\n\tGf(e) {\n\t\tthis.Sf && this.Sf();\n\t\tlet t = this.Jf.bind(this);\n\t\tif (this.Sf = () => {\n\t\t\tthis.Zf.removeEventListener(\"mousemove\", t);\n\t\t}, this.Zf.addEventListener(\"mousemove\", t), this.Lf(e)) return;\n\t\tlet n = this.Ef(e);\n\t\tthis.Uf(n, this.Hf.Qf), this.Bf = !0;\n\t}\n\tYf() {\n\t\tthis.lf !== null && clearTimeout(this.lf), this.hf = 0, this.lf = null, this.af = {\n\t\t\tnt: -Infinity,\n\t\t\tst: Infinity\n\t\t};\n\t}\n\t$f() {\n\t\tthis.uf !== null && clearTimeout(this.uf), this._f = 0, this.uf = null, this.cf = {\n\t\t\tnt: -Infinity,\n\t\t\tst: Infinity\n\t\t};\n\t}\n\tJf(e) {\n\t\tif (this.Df || this.pf !== null || this.Lf(e)) return;\n\t\tlet t = this.Ef(e);\n\t\tthis.Uf(t, this.Hf.tv), this.Bf = !0;\n\t}\n\tiv(e) {\n\t\tlet t = kr(e.changedTouches, S(this.Of));\n\t\tif (t === null || (this.Vf = Or(e), this.Cf !== null) || this.Rf) return;\n\t\tthis.Pf = !0;\n\t\tlet { nv: n, sv: r, Nf: i } = this.Ff(Q(t), S(this.pf));\n\t\tif (this.mf || !(i < 5)) {\n\t\t\tif (!this.mf) {\n\t\t\t\tlet e = .5 * n, t = r >= e && !this.cn.ev(), i = e > r && !this.cn.rv();\n\t\t\t\tt || i || (this.Rf = !0), this.mf = !0, this.wf = !0, this.Kf(), this.$f();\n\t\t\t}\n\t\t\tif (!this.Rf) {\n\t\t\t\tlet n = this.Ef(e, t);\n\t\t\t\tthis.Wf(n, this.Hf.hv), Z(e);\n\t\t\t}\n\t\t}\n\t}\n\tlv(e) {\n\t\tif (e.button !== 0) return;\n\t\tlet { Nf: t } = this.Ff(Q(e), S(this.vf));\n\t\tif (t >= 5 && (this.bf = !0, this.Yf()), this.bf) {\n\t\t\tlet t = this.Ef(e);\n\t\t\tthis.Uf(t, this.Hf.av);\n\t\t}\n\t}\n\tFf(e, t) {\n\t\tlet n = Math.abs(t.nt - e.nt), r = Math.abs(t.st - e.st);\n\t\treturn {\n\t\t\tnv: n,\n\t\t\tsv: r,\n\t\t\tNf: n + r\n\t\t};\n\t}\n\tov(e) {\n\t\tlet t = kr(e.changedTouches, S(this.Of));\n\t\tif (t === null && e.touches.length === 0 && (t = e.changedTouches[0]), t === null) return;\n\t\tthis.Of = null, this.Vf = Or(e), this.Kf(), this.pf = null, this.yf &&= (this.yf(), null);\n\t\tlet n = this.Ef(e, t);\n\t\tif (this.Wf(n, this.Hf._v), ++this._f, this.uf && this._f > 1) {\n\t\t\tlet { Nf: e } = this.Ff(Q(t), this.cf);\n\t\t\te < 30 && !this.wf && this.Wf(n, this.Hf.jf), this.$f();\n\t\t} else this.wf || (this.Wf(n, this.Hf.uv), this.Hf.uv && Z(e));\n\t\tthis._f === 0 && Z(e), e.touches.length === 0 && this.ff && (this.ff = !1, Z(e));\n\t}\n\tIf(e) {\n\t\tif (e.button !== 0) return;\n\t\tlet t = this.Ef(e);\n\t\tif (this.vf = null, this.Df = !1, this.kf &&= (this.kf(), null), hr() && this.Zf.ownerDocument.documentElement.removeEventListener(\"mouseleave\", this.Af), !this.Lf(e)) if (this.Uf(t, this.Hf.cv), ++this.hf, this.lf && this.hf > 1) {\n\t\t\tlet { Nf: n } = this.Ff(Q(e), this.af);\n\t\t\tn < 5 && !this.bf && this.Uf(t, this.Hf.qf), this.Yf();\n\t\t} else this.bf || this.Uf(t, this.Hf.dv);\n\t}\n\tKf() {\n\t\tthis.df !== null && (clearTimeout(this.df), this.df = null);\n\t}\n\tfv(e) {\n\t\tif (this.Of !== null) return;\n\t\tlet t = e.changedTouches[0];\n\t\tthis.Of = t.identifier, this.Vf = Or(e);\n\t\tlet n = this.Zf.ownerDocument.documentElement;\n\t\tthis.wf = !1, this.mf = !1, this.Rf = !1, this.pf = Q(t), this.yf &&= (this.yf(), null);\n\t\t{\n\t\t\tlet t = this.iv.bind(this), r = this.ov.bind(this);\n\t\t\tthis.yf = () => {\n\t\t\t\tn.removeEventListener(\"touchmove\", t), n.removeEventListener(\"touchend\", r);\n\t\t\t}, n.addEventListener(\"touchmove\", t, { passive: !1 }), n.addEventListener(\"touchend\", r, { passive: !1 }), this.Kf(), this.df = setTimeout(this.vv.bind(this, e), 240);\n\t\t}\n\t\tlet r = this.Ef(e, t);\n\t\tthis.Wf(r, this.Hf.pv), this.uf || (this._f = 0, this.uf = setTimeout(this.$f.bind(this), 500), this.cf = Q(t));\n\t}\n\tmv(e) {\n\t\tif (e.button !== 0) return;\n\t\tlet t = this.Zf.ownerDocument.documentElement;\n\t\thr() && t.addEventListener(\"mouseleave\", this.Af), this.bf = !1, this.vf = Q(e), this.kf &&= (this.kf(), null);\n\t\t{\n\t\t\tlet e = this.lv.bind(this), n = this.If.bind(this);\n\t\t\tthis.kf = () => {\n\t\t\t\tt.removeEventListener(\"mousemove\", e), t.removeEventListener(\"mouseup\", n);\n\t\t\t}, t.addEventListener(\"mousemove\", e), t.addEventListener(\"mouseup\", n);\n\t\t}\n\t\tif (this.Df = !0, this.Lf(e)) return;\n\t\tlet n = this.Ef(e);\n\t\tthis.Uf(n, this.Hf.bv), this.lf || (this.hf = 0, this.lf = setTimeout(this.Yf.bind(this), 500), this.af = Q(e));\n\t}\n\tXf() {\n\t\tthis.Zf.addEventListener(\"mouseenter\", this.Gf.bind(this)), this.Zf.addEventListener(\"touchcancel\", this.Kf.bind(this));\n\t\t{\n\t\t\tlet e = this.Zf.ownerDocument, t = (e) => {\n\t\t\t\tthis.Hf.wv && (e.composed && this.Zf.contains(e.composedPath()[0]) || e.target && this.Zf.contains(e.target) || this.Hf.wv());\n\t\t\t};\n\t\t\tthis.Mf = () => {\n\t\t\t\te.removeEventListener(\"touchstart\", t);\n\t\t\t}, this.gf = () => {\n\t\t\t\te.removeEventListener(\"mousedown\", t);\n\t\t\t}, e.addEventListener(\"mousedown\", t), e.addEventListener(\"touchstart\", t, { passive: !0 });\n\t\t}\n\t\tgr() && (this.xf = () => {\n\t\t\tthis.Zf.removeEventListener(\"dblclick\", this.zf);\n\t\t}, this.Zf.addEventListener(\"dblclick\", this.zf)), this.Zf.addEventListener(\"mouseleave\", this.gv.bind(this)), this.Zf.addEventListener(\"touchstart\", this.fv.bind(this), { passive: !0 }), Tr(this.Zf), this.Zf.addEventListener(\"mousedown\", this.mv.bind(this)), this.Mv(), this.Zf.addEventListener(\"touchmove\", (() => {}), { passive: !1 });\n\t}\n\tMv() {\n\t\tthis.Hf.xv === void 0 && this.Hf.Sv === void 0 && this.Hf.kv === void 0 || (this.Zf.addEventListener(\"touchstart\", ((e) => this.yv(e.touches)), { passive: !0 }), this.Zf.addEventListener(\"touchmove\", ((e) => {\n\t\t\tif (e.touches.length === 2 && this.Cf !== null && this.Hf.Sv !== void 0) {\n\t\t\t\tlet t = Dr(e.touches[0], e.touches[1]) / this.Tf;\n\t\t\t\tthis.Hf.Sv(this.Cf, t), Z(e);\n\t\t\t}\n\t\t}), { passive: !1 }), this.Zf.addEventListener(\"touchend\", ((e) => {\n\t\t\tthis.yv(e.touches);\n\t\t})));\n\t}\n\tyv(e) {\n\t\te.length === 1 && (this.Pf = !1), e.length !== 2 || this.Pf || this.ff ? this.Cv() : this.Tv(e);\n\t}\n\tTv(e) {\n\t\tlet t = this.Zf.getBoundingClientRect() || {\n\t\t\tleft: 0,\n\t\t\ttop: 0\n\t\t};\n\t\tthis.Cf = {\n\t\t\tnt: (e[0].clientX - t.left + (e[1].clientX - t.left)) / 2,\n\t\t\tst: (e[0].clientY - t.top + (e[1].clientY - t.top)) / 2\n\t\t}, this.Tf = Dr(e[0], e[1]), this.Hf.xv !== void 0 && this.Hf.xv(), this.Kf();\n\t}\n\tCv() {\n\t\tthis.Cf !== null && (this.Cf = null, this.Hf.kv !== void 0 && this.Hf.kv());\n\t}\n\tgv(e) {\n\t\tif (this.Sf && this.Sf(), this.Lf(e) || !this.Bf) return;\n\t\tlet t = this.Ef(e);\n\t\tthis.Uf(t, this.Hf.Pv), this.Bf = !gr();\n\t}\n\tvv(e) {\n\t\tlet t = kr(e.touches, S(this.Of));\n\t\tif (t === null) return;\n\t\tlet n = this.Ef(e, t);\n\t\tthis.Wf(n, this.Hf.Rv), this.wf = !0, this.ff = !0;\n\t}\n\tLf(e) {\n\t\treturn e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents !== void 0 ? e.sourceCapabilities.firesTouchEvents : Or(e) < this.Vf + 500;\n\t}\n\tWf(e, t) {\n\t\tt && t.call(this.Hf, e);\n\t}\n\tUf(e, t) {\n\t\tt && t.call(this.Hf, e);\n\t}\n\tEf(e, t) {\n\t\tlet n = t || e, r = this.Zf.getBoundingClientRect() || {\n\t\t\tleft: 0,\n\t\t\ttop: 0\n\t\t};\n\t\treturn {\n\t\t\tclientX: n.clientX,\n\t\t\tclientY: n.clientY,\n\t\t\tpageX: n.pageX,\n\t\t\tpageY: n.pageY,\n\t\t\tscreenX: n.screenX,\n\t\t\tscreenY: n.screenY,\n\t\t\tlocalX: n.clientX - r.left,\n\t\t\tlocalY: n.clientY - r.top,\n\t\t\tctrlKey: e.ctrlKey,\n\t\t\taltKey: e.altKey,\n\t\t\tshiftKey: e.shiftKey,\n\t\t\tmetaKey: e.metaKey,\n\t\t\tDv: !e.type.startsWith(\"mouse\") && e.type !== \"contextmenu\" && e.type !== \"click\",\n\t\t\tVv: e.type,\n\t\t\tOv: n.target,\n\t\t\tBv: e.view,\n\t\t\tAv: () => {\n\t\t\t\te.type !== \"touchstart\" && Z(e);\n\t\t\t}\n\t\t};\n\t}\n};\nfunction Dr(e, t) {\n\tlet n = e.clientX - t.clientX, r = e.clientY - t.clientY;\n\treturn Math.sqrt(n * n + r * r);\n}\nfunction Z(e) {\n\te.cancelable && e.preventDefault();\n}\nfunction Q(e) {\n\treturn {\n\t\tnt: e.pageX,\n\t\tst: e.pageY\n\t};\n}\nfunction Or(e) {\n\treturn e.timeStamp || performance.now();\n}\nfunction kr(e, t) {\n\tfor (let n = 0; n < e.length; ++n) if (e[n].identifier === t) return e[n];\n\treturn null;\n}\nfunction Ar(e) {\n\treturn {\n\t\tHc: e.Hc,\n\t\tIv: { gr: e.zv.externalId },\n\t\tLv: e.zv.cursorStyle\n\t};\n}\nfunction jr(e, t, n) {\n\tfor (let r of e) {\n\t\tlet e = r.gt();\n\t\tif (e !== null && e.wr) {\n\t\t\tlet i = e.wr(t, n);\n\t\t\tif (i !== null) return {\n\t\t\t\tBv: r,\n\t\t\t\tIv: i\n\t\t\t};\n\t\t}\n\t}\n\treturn null;\n}\nfunction Mr(e, t) {\n\treturn (n) => (n.Dt()?.Pa() ?? \"\") === t ? n.da?.call(n, e) ?? [] : [];\n}\nfunction Nr(e, t, n, r) {\n\tif (!e.length) return;\n\tlet i = 0, a = n / 2, o = e[0].At(r, !0), s = t === 1 ? a - (e[0].Vi() - o / 2) : e[0].Vi() - o / 2 - a;\n\ts = Math.max(0, s);\n\tfor (let a = 1; a < e.length; a++) {\n\t\tlet o = e[a], c = e[a - 1], l = c.At(r, !1), u = o.Vi(), d = c.Vi();\n\t\tif (t === 1 ? u > d - l : u < d + l) {\n\t\t\tlet r = d - l * t;\n\t\t\to.Oi(r);\n\t\t\tlet a = r - t * l / 2;\n\t\t\tif ((t === 1 ? a < 0 : a > n) && s > 0) {\n\t\t\t\tlet r = t === 1 ? -1 - a : a - n, o = Math.min(r, s);\n\t\t\t\tfor (let n = i; n < e.length; n++) e[n].Oi(e[n].Vi() + t * o);\n\t\t\t\ts -= o;\n\t\t\t}\n\t\t} else i = a, s = t === 1 ? d - l - u : u - (d + l);\n\t}\n}\nvar Pr = class {\n\tconstructor(t, n, r, i) {\n\t\tthis.Li = null, this.Ev = null, this.Nv = !1, this.Fv = new R(200), this.Qr = null, this.Wv = 0, this.jv = !1, this.Hv = () => {\n\t\t\tthis.jv || this.tn.$v().$t().Uh();\n\t\t}, this.Uv = () => {\n\t\t\tthis.jv || this.tn.$v().$t().Uh();\n\t\t}, this.tn = t, this.cn = n, this.ko = n.layout, this.Oc = r, this.qv = i === \"left\", this.Yv = Mr(\"normal\", i), this.Zv = Mr(\"top\", i), this.Xv = Mr(\"bottom\", i), this.Kv = document.createElement(\"div\"), this.Kv.style.height = \"100%\", this.Kv.style.overflow = \"hidden\", this.Kv.style.width = \"25px\", this.Kv.style.left = \"0\", this.Kv.style.position = \"relative\", this.Gv = Y(this.Kv, e({\n\t\t\twidth: 16,\n\t\t\theight: 16\n\t\t})), this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);\n\t\tlet a = this.Gv.canvasElement;\n\t\ta.style.position = \"absolute\", a.style.zIndex = \"1\", a.style.left = \"0\", a.style.top = \"0\", this.Jv = Y(this.Kv, e({\n\t\t\twidth: 16,\n\t\t\theight: 16\n\t\t})), this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);\n\t\tlet o = this.Jv.canvasElement;\n\t\to.style.position = \"absolute\", o.style.zIndex = \"2\", o.style.left = \"0\", o.style.top = \"0\";\n\t\tlet s = {\n\t\t\tbv: this.Qv.bind(this),\n\t\t\tpv: this.Qv.bind(this),\n\t\t\tav: this.tp.bind(this),\n\t\t\thv: this.tp.bind(this),\n\t\t\twv: this.ip.bind(this),\n\t\t\tcv: this.np.bind(this),\n\t\t\t_v: this.np.bind(this),\n\t\t\tqf: this.sp.bind(this),\n\t\t\tjf: this.sp.bind(this),\n\t\t\tQf: this.ep.bind(this),\n\t\t\tPv: this.rp.bind(this)\n\t\t};\n\t\tthis.hp = new Er(this.Jv.canvasElement, s, {\n\t\t\tev: () => !this.cn.handleScroll.vertTouchDrag,\n\t\t\trv: () => !0\n\t\t});\n\t}\n\tS() {\n\t\tthis.hp.S(), this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv), X(this.Jv.canvasElement), this.Jv.dispose(), this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv), X(this.Gv.canvasElement), this.Gv.dispose(), this.Li !== null && this.Li.Ko().p(this), this.Li = null;\n\t}\n\tlp() {\n\t\treturn this.Kv;\n\t}\n\tP() {\n\t\treturn this.ko.fontSize;\n\t}\n\tap() {\n\t\tlet e = this.Oc.W();\n\t\treturn this.Qr !== e.R && (this.Fv.nr(), this.Qr = e.R), e;\n\t}\n\top() {\n\t\tif (this.Li === null) return 0;\n\t\tlet e = 0, t = this.ap(), n = S(this.Gv.canvasElement.getContext(\"2d\"));\n\t\tn.save();\n\t\tlet r = this.Li.Ha();\n\t\tn.font = this._p(), r.length > 0 && (e = Math.max(this.Fv.xi(n, r[0].so), this.Fv.xi(n, r[r.length - 1].so)));\n\t\tlet i = this.up();\n\t\tfor (let t = i.length; t--;) {\n\t\t\tlet r = this.Fv.xi(n, i[t].Kt());\n\t\t\tr > e && (e = r);\n\t\t}\n\t\tlet a = this.Li.Ct();\n\t\tif (a !== null && this.Ev !== null && (o = this.cn.crosshair).mode !== 2 && o.horzLine.visible && o.horzLine.labelVisible) {\n\t\t\tlet t = this.Li.pn(1, a), r = this.Li.pn(this.Ev.height - 2, a);\n\t\t\te = Math.max(e, this.Fv.xi(n, this.Li.Fi(Math.floor(Math.min(t, r)) + .11111111111111, a)), this.Fv.xi(n, this.Li.Fi(Math.ceil(Math.max(t, r)) - .11111111111111, a)));\n\t\t}\n\t\tvar o;\n\t\tn.restore();\n\t\tlet s = e || 34;\n\t\treturn _r(Math.ceil(t.C + t.T + t.A + t.I + 5 + s));\n\t}\n\tcp(e) {\n\t\tthis.Ev !== null && t(this.Ev, e) || (this.Ev = e, this.jv = !0, this.Gv.resizeCanvasElement(e), this.Jv.resizeCanvasElement(e), this.jv = !1, this.Kv.style.width = `${e.width}px`, this.Kv.style.height = `${e.height}px`);\n\t}\n\tdp() {\n\t\treturn S(this.Ev).width;\n\t}\n\tGi(e) {\n\t\tthis.Li !== e && (this.Li !== null && this.Li.Ko().p(this), this.Li = e, e.Ko().l(this.fo.bind(this), this));\n\t}\n\tDt() {\n\t\treturn this.Li;\n\t}\n\tnr() {\n\t\tlet e = this.tn.fp();\n\t\tthis.tn.$v().$t().E_(e, S(this.Dt()));\n\t}\n\tvp(e) {\n\t\tif (this.Ev === null) return;\n\t\tif (e !== 1) {\n\t\t\tthis.pp(), this.Gv.applySuggestedBitmapSize();\n\t\t\tlet e = u(this.Gv);\n\t\t\te !== null && (e.useBitmapCoordinateSpace(((e) => {\n\t\t\t\tthis.mp(e), this.Ie(e);\n\t\t\t})), this.tn.bp(e, this.Xv), this.wp(e), this.tn.bp(e, this.Yv), this.gp(e));\n\t\t}\n\t\tthis.Jv.applySuggestedBitmapSize();\n\t\tlet t = u(this.Jv);\n\t\tt !== null && (t.useBitmapCoordinateSpace((({ context: e, bitmapSize: t }) => {\n\t\t\te.clearRect(0, 0, t.width, t.height);\n\t\t})), this.Mp(t), this.tn.bp(t, this.Zv));\n\t}\n\txp() {\n\t\treturn this.Gv.bitmapSize;\n\t}\n\tSp(e, t, n) {\n\t\tlet r = this.xp();\n\t\tr.width > 0 && r.height > 0 && e.drawImage(this.Gv.canvasElement, t, n);\n\t}\n\tbt() {\n\t\tvar e;\n\t\t(e = this.Li) == null || e.Ha();\n\t}\n\tQv(e) {\n\t\tif (this.Li === null || this.Li.Ni() || !this.cn.handleScale.axisPressedMouseMove.price) return;\n\t\tlet t = this.tn.$v().$t(), n = this.tn.fp();\n\t\tthis.Nv = !0, t.V_(n, this.Li, e.localY);\n\t}\n\ttp(e) {\n\t\tif (this.Li === null || !this.cn.handleScale.axisPressedMouseMove.price) return;\n\t\tlet t = this.tn.$v().$t(), n = this.tn.fp(), r = this.Li;\n\t\tt.O_(n, r, e.localY);\n\t}\n\tip() {\n\t\tif (this.Li === null || !this.cn.handleScale.axisPressedMouseMove.price) return;\n\t\tlet e = this.tn.$v().$t(), t = this.tn.fp(), n = this.Li;\n\t\tthis.Nv && (this.Nv = !1, e.B_(t, n));\n\t}\n\tnp(e) {\n\t\tif (this.Li === null || !this.cn.handleScale.axisPressedMouseMove.price) return;\n\t\tlet t = this.tn.$v().$t(), n = this.tn.fp();\n\t\tthis.Nv = !1, t.B_(n, this.Li);\n\t}\n\tsp(e) {\n\t\tthis.cn.handleScale.axisDoubleClickReset.price && this.nr();\n\t}\n\tep(e) {\n\t\tthis.Li !== null && (!this.tn.$v().$t().W().handleScale.axisPressedMouseMove.price || this.Li.Mh() || this.Li.Oo() || this.kp(1));\n\t}\n\trp(e) {\n\t\tthis.kp(0);\n\t}\n\tup() {\n\t\tlet e = [], t = this.Li === null ? void 0 : this.Li;\n\t\treturn ((n) => {\n\t\t\tfor (let r = 0; r < n.length; ++r) {\n\t\t\t\tlet i = n[r].Rn(this.tn.fp(), t);\n\t\t\t\tfor (let t = 0; t < i.length; t++) e.push(i[t]);\n\t\t\t}\n\t\t})(this.tn.fp().Uo()), e;\n\t}\n\tmp({ context: e, bitmapSize: t }) {\n\t\tlet { width: n, height: r } = t, i = this.tn.fp().$t(), a = i.q(), o = i.bd();\n\t\ta === o ? Ce(e, 0, 0, n, r, a) : Ee(e, 0, 0, n, r, a, o);\n\t}\n\tIe({ context: e, bitmapSize: t, horizontalPixelRatio: n }) {\n\t\tif (this.Ev === null || this.Li === null || !this.Li.W().borderVisible) return;\n\t\te.fillStyle = this.Li.W().borderColor;\n\t\tlet r = Math.max(1, Math.floor(this.ap().C * n)), i;\n\t\ti = this.qv ? t.width - r : 0, e.fillRect(i, 0, r, t.height);\n\t}\n\twp(e) {\n\t\tif (this.Ev === null || this.Li === null) return;\n\t\tlet t = this.Li.Ha(), n = this.Li.W(), r = this.ap(), i = this.qv ? this.Ev.width - r.T : 0;\n\t\tn.borderVisible && n.ticksVisible && e.useBitmapCoordinateSpace((({ context: e, horizontalPixelRatio: a, verticalPixelRatio: o }) => {\n\t\t\te.fillStyle = n.borderColor;\n\t\t\tlet s = Math.max(1, Math.floor(o)), c = Math.floor(.5 * o), l = Math.round(r.T * a);\n\t\t\te.beginPath();\n\t\t\tfor (let n of t) e.rect(Math.floor(i * a), Math.round(n.Ea * o) - c, l, s);\n\t\t\te.fill();\n\t\t})), e.useMediaCoordinateSpace((({ context: e }) => {\n\t\t\te.font = this._p(), e.fillStyle = n.textColor ?? this.ko.textColor, e.textAlign = this.qv ? \"right\" : \"left\", e.textBaseline = \"middle\";\n\t\t\tlet a = this.qv ? Math.round(i - r.A) : Math.round(i + r.T + r.A), o = t.map(((t) => this.Fv.Mi(e, t.so)));\n\t\t\tfor (let n = t.length; n--;) {\n\t\t\t\tlet r = t[n];\n\t\t\t\te.fillText(r.so, a, r.Ea + o[n]);\n\t\t\t}\n\t\t}));\n\t}\n\tpp() {\n\t\tif (this.Ev === null || this.Li === null) return;\n\t\tlet e = [], t = this.Li.Uo().slice(), n = this.tn.fp(), r = this.ap();\n\t\tthis.Li === n.pr() && this.tn.fp().Uo().forEach(((e) => {\n\t\t\tn.vr(e) && t.push(e);\n\t\t}));\n\t\tlet i = this.Li;\n\t\tt.forEach(((t) => {\n\t\t\tt.Rn(n, i).forEach(((t) => {\n\t\t\t\tt.Oi(null), t.Bi() && e.push(t);\n\t\t\t}));\n\t\t})), e.forEach(((e) => e.Oi(e.ki()))), this.Li.W().alignLabels && this.yp(e, r);\n\t}\n\typ(e, t) {\n\t\tif (this.Ev === null) return;\n\t\tlet n = this.Ev.height / 2, r = e.filter(((e) => e.ki() <= n)), i = e.filter(((e) => e.ki() > n));\n\t\tr.sort(((e, t) => t.ki() - e.ki())), i.sort(((e, t) => e.ki() - t.ki()));\n\t\tfor (let n of e) {\n\t\t\tlet e = Math.floor(n.At(t) / 2), r = n.ki();\n\t\t\tr > -e && r < e && n.Oi(e), r > this.Ev.height - e && r < this.Ev.height + e && n.Oi(this.Ev.height - e);\n\t\t}\n\t\tNr(r, 1, this.Ev.height, t), Nr(i, -1, this.Ev.height, t);\n\t}\n\tgp(e) {\n\t\tif (this.Ev === null) return;\n\t\tlet t = this.up(), n = this.ap(), r = this.qv ? \"right\" : \"left\";\n\t\tt.forEach(((t) => {\n\t\t\tt.Ai() && t.gt(S(this.Li)).X(e, n, this.Fv, r);\n\t\t}));\n\t}\n\tMp(e) {\n\t\tif (this.Ev === null || this.Li === null) return;\n\t\tlet t = this.tn.$v().$t(), n = [], r = this.tn.fp(), i = t.Zc().Rn(r, this.Li);\n\t\ti.length && n.push(i);\n\t\tlet a = this.ap(), o = this.qv ? \"right\" : \"left\";\n\t\tn.forEach(((t) => {\n\t\t\tt.forEach(((t) => {\n\t\t\t\tt.gt(S(this.Li)).X(e, a, this.Fv, o);\n\t\t\t}));\n\t\t}));\n\t}\n\tkp(e) {\n\t\tthis.Kv.style.cursor = e === 1 ? \"ns-resize\" : \"default\";\n\t}\n\tfo() {\n\t\tlet e = this.op();\n\t\tthis.Wv < e && this.tn.$v().$t().Kl(), this.Wv = e;\n\t}\n\t_p() {\n\t\treturn N(this.ko.fontSize, this.ko.fontFamily);\n\t}\n};\nfunction Fr(e, t) {\n\treturn e.ua?.call(e, t) ?? [];\n}\nfunction Ir(e, t) {\n\treturn e.Pn?.call(e, t) ?? [];\n}\nfunction Lr(e, t) {\n\treturn e.Ji?.call(e, t) ?? [];\n}\nfunction Rr(e, t) {\n\treturn e.aa?.call(e, t) ?? [];\n}\nvar zr = class n {\n\tconstructor(t, n) {\n\t\tthis.Ev = e({\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}), this.Cp = null, this.Tp = null, this.Pp = null, this.Rp = null, this.Dp = !1, this.Vp = new k(), this.Op = new k(), this.Bp = 0, this.Ap = !1, this.Ip = null, this.zp = !1, this.Lp = null, this.Ep = null, this.jv = !1, this.Hv = () => {\n\t\t\tthis.jv || this.Np === null || this.$i().Uh();\n\t\t}, this.Uv = () => {\n\t\t\tthis.jv || this.Np === null || this.$i().Uh();\n\t\t}, this.Qd = t, this.Np = n, this.Np.W_().l(this.Fp.bind(this), this, !0), this.Wp = document.createElement(\"td\"), this.Wp.style.padding = \"0\", this.Wp.style.position = \"relative\";\n\t\tlet r = document.createElement(\"div\");\n\t\tr.style.width = \"100%\", r.style.height = \"100%\", r.style.position = \"relative\", r.style.overflow = \"hidden\", this.jp = document.createElement(\"td\"), this.jp.style.padding = \"0\", this.Hp = document.createElement(\"td\"), this.Hp.style.padding = \"0\", this.Wp.appendChild(r), this.Gv = Y(r, e({\n\t\t\twidth: 16,\n\t\t\theight: 16\n\t\t})), this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);\n\t\tlet i = this.Gv.canvasElement;\n\t\ti.style.position = \"absolute\", i.style.zIndex = \"1\", i.style.left = \"0\", i.style.top = \"0\", this.Jv = Y(r, e({\n\t\t\twidth: 16,\n\t\t\theight: 16\n\t\t})), this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);\n\t\tlet a = this.Jv.canvasElement;\n\t\ta.style.position = \"absolute\", a.style.zIndex = \"2\", a.style.left = \"0\", a.style.top = \"0\", this.$p = document.createElement(\"tr\"), this.$p.appendChild(this.jp), this.$p.appendChild(this.Wp), this.$p.appendChild(this.Hp), this.Up(), this.hp = new Er(this.Jv.canvasElement, this, {\n\t\t\tev: () => this.Ip === null && !this.Qd.W().handleScroll.vertTouchDrag,\n\t\t\trv: () => this.Ip === null && !this.Qd.W().handleScroll.horzTouchDrag\n\t\t});\n\t}\n\tS() {\n\t\tthis.Cp !== null && this.Cp.S(), this.Tp !== null && this.Tp.S(), this.Pp = null, this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv), X(this.Jv.canvasElement), this.Jv.dispose(), this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv), X(this.Gv.canvasElement), this.Gv.dispose(), this.Np !== null && this.Np.W_().p(this), this.hp.S();\n\t}\n\tfp() {\n\t\treturn S(this.Np);\n\t}\n\tqp(e) {\n\t\tvar t;\n\t\tthis.Np !== null && this.Np.W_().p(this), this.Np = e, this.Np !== null && this.Np.W_().l(n.prototype.Fp.bind(this), this, !0), this.Up(), this.Qd.Yp().indexOf(this) === this.Qd.Yp().length - 1 ? (this.Pp = this.Pp ?? new xr(this.Wp, this.Qd), this.Pp.bt()) : ((t = this.Pp) == null || t.if(), this.Pp = null);\n\t}\n\t$v() {\n\t\treturn this.Qd;\n\t}\n\tlp() {\n\t\treturn this.$p;\n\t}\n\tUp() {\n\t\tif (this.Np !== null && (this.Zp(), this.$i().wt().length !== 0)) {\n\t\t\tif (this.Cp !== null) {\n\t\t\t\tlet e = this.Np.R_();\n\t\t\t\tthis.Cp.Gi(S(e));\n\t\t\t}\n\t\t\tif (this.Tp !== null) {\n\t\t\t\tlet e = this.Np.D_();\n\t\t\t\tthis.Tp.Gi(S(e));\n\t\t\t}\n\t\t}\n\t}\n\tXp() {\n\t\tthis.Cp !== null && this.Cp.bt(), this.Tp !== null && this.Tp.bt();\n\t}\n\tM_() {\n\t\treturn this.Np === null ? 0 : this.Np.M_();\n\t}\n\tx_(e) {\n\t\tthis.Np && this.Np.x_(e);\n\t}\n\tQf(e) {\n\t\tif (!this.Np) return;\n\t\tthis.Kp();\n\t\tlet t = e.localX, n = e.localY;\n\t\tthis.Gp(t, n, e);\n\t}\n\tbv(e) {\n\t\tthis.Kp(), this.Jp(), this.Gp(e.localX, e.localY, e);\n\t}\n\ttv(e) {\n\t\tif (!this.Np) return;\n\t\tthis.Kp();\n\t\tlet t = e.localX, n = e.localY;\n\t\tthis.Gp(t, n, e);\n\t\tlet r = this.wr(t, n);\n\t\tthis.Qd.Qp(r?.Lv ?? null), this.$i().jc(r && {\n\t\t\tHc: r.Hc,\n\t\t\tIv: r.Iv\n\t\t});\n\t}\n\tdv(e) {\n\t\tthis.Np !== null && (this.Kp(), this.tm(e));\n\t}\n\tqf(e) {\n\t\tthis.Np !== null && this.im(this.Op, e);\n\t}\n\tjf(e) {\n\t\tthis.qf(e);\n\t}\n\tav(e) {\n\t\tthis.Kp(), this.nm(e), this.Gp(e.localX, e.localY, e);\n\t}\n\tcv(e) {\n\t\tthis.Np !== null && (this.Kp(), this.Ap = !1, this.sm(e));\n\t}\n\tuv(e) {\n\t\tthis.Np !== null && this.tm(e);\n\t}\n\tRv(e) {\n\t\tif (this.Ap = !0, this.Ip === null) {\n\t\t\tlet t = {\n\t\t\t\tx: e.localX,\n\t\t\t\ty: e.localY\n\t\t\t};\n\t\t\tthis.rm(t, t, e);\n\t\t}\n\t}\n\tPv(e) {\n\t\tthis.Np !== null && (this.Kp(), this.Np.$t().jc(null), this.hm());\n\t}\n\tlm() {\n\t\treturn this.Vp;\n\t}\n\tam() {\n\t\treturn this.Op;\n\t}\n\txv() {\n\t\tthis.Bp = 1, this.$i().Un();\n\t}\n\tSv(e, t) {\n\t\tif (!this.Qd.W().handleScale.pinch) return;\n\t\tlet n = 5 * (t - this.Bp);\n\t\tthis.Bp = t, this.$i().Qc(e.nt, n);\n\t}\n\tpv(e) {\n\t\tthis.Ap = !1, this.zp = this.Ip !== null, this.Jp();\n\t\tlet t = this.$i().Zc();\n\t\tthis.Ip !== null && t.yt() && (this.Lp = {\n\t\t\tx: t.Yt(),\n\t\t\ty: t.Zt()\n\t\t}, this.Ip = {\n\t\t\tx: e.localX,\n\t\t\ty: e.localY\n\t\t});\n\t}\n\thv(e) {\n\t\tif (this.Np === null) return;\n\t\tlet t = e.localX, n = e.localY;\n\t\tif (this.Ip === null) this.nm(e);\n\t\telse {\n\t\t\tthis.zp = !1;\n\t\t\tlet r = S(this.Lp), i = r.x + (t - this.Ip.x), a = r.y + (n - this.Ip.y);\n\t\t\tthis.Gp(i, a, e);\n\t\t}\n\t}\n\t_v(e) {\n\t\tthis.$v().W().trackingMode.exitMode === 0 && (this.zp = !0), this.om(), this.sm(e);\n\t}\n\twr(e, t) {\n\t\tlet n = this.Np;\n\t\treturn n === null ? null : function(e, t, n) {\n\t\t\tlet r = e.Uo(), i = function(e, t, n) {\n\t\t\t\tlet r, i;\n\t\t\t\tfor (let s of e) {\n\t\t\t\t\tlet e = s.va?.call(s, t, n) ?? [];\n\t\t\t\t\tfor (let t of e) a = t.zOrder, (!(o = r?.zOrder) || a === \"top\" && o !== \"top\" || a === \"normal\" && o === \"bottom\") && (r = t, i = s);\n\t\t\t\t}\n\t\t\t\tvar a, o;\n\t\t\t\treturn r && i ? {\n\t\t\t\t\tzv: r,\n\t\t\t\t\tHc: i\n\t\t\t\t} : null;\n\t\t\t}(r, t, n);\n\t\t\tif (i?.zv.zOrder === \"top\") return Ar(i);\n\t\t\tfor (let a of r) {\n\t\t\t\tif (i && i.Hc === a && i.zv.zOrder !== \"bottom\" && !i.zv.isBackground) return Ar(i);\n\t\t\t\tlet r = jr(a.Pn(e), t, n);\n\t\t\t\tif (r !== null) return {\n\t\t\t\t\tHc: a,\n\t\t\t\t\tBv: r.Bv,\n\t\t\t\t\tIv: r.Iv\n\t\t\t\t};\n\t\t\t\tif (i && i.Hc === a && i.zv.zOrder !== \"bottom\" && i.zv.isBackground) return Ar(i);\n\t\t\t}\n\t\t\treturn i?.zv ? Ar(i) : null;\n\t\t}(n, e, t);\n\t}\n\t_m(t, n) {\n\t\tS(n === \"left\" ? this.Cp : this.Tp).cp(e({\n\t\t\twidth: t,\n\t\t\theight: this.Ev.height\n\t\t}));\n\t}\n\tum() {\n\t\treturn this.Ev;\n\t}\n\tcp(e) {\n\t\tt(this.Ev, e) || (this.Ev = e, this.jv = !0, this.Gv.resizeCanvasElement(e), this.Jv.resizeCanvasElement(e), this.jv = !1, this.Wp.style.width = e.width + \"px\", this.Wp.style.height = e.height + \"px\");\n\t}\n\tdm() {\n\t\tlet e = S(this.Np);\n\t\te.P_(e.R_()), e.P_(e.D_());\n\t\tfor (let t of e.Ba()) if (e.vr(t)) {\n\t\t\tlet n = t.Dt();\n\t\t\tn !== null && e.P_(n), t.Vn();\n\t\t}\n\t}\n\txp() {\n\t\treturn this.Gv.bitmapSize;\n\t}\n\tSp(e, t, n) {\n\t\tlet r = this.xp();\n\t\tr.width > 0 && r.height > 0 && e.drawImage(this.Gv.canvasElement, t, n);\n\t}\n\tvp(e) {\n\t\tif (e === 0 || this.Np === null) return;\n\t\tif (e > 1 && this.dm(), this.Cp !== null && this.Cp.vp(e), this.Tp !== null && this.Tp.vp(e), e !== 1) {\n\t\t\tthis.Gv.applySuggestedBitmapSize();\n\t\t\tlet e = u(this.Gv);\n\t\t\te !== null && (e.useBitmapCoordinateSpace(((e) => {\n\t\t\t\tthis.mp(e);\n\t\t\t})), this.Np && (this.fm(e, Fr), this.vm(e), this.pm(e), this.fm(e, Ir), this.fm(e, Lr)));\n\t\t}\n\t\tthis.Jv.applySuggestedBitmapSize();\n\t\tlet t = u(this.Jv);\n\t\tt !== null && (t.useBitmapCoordinateSpace((({ context: e, bitmapSize: t }) => {\n\t\t\te.clearRect(0, 0, t.width, t.height);\n\t\t})), this.bm(t), this.fm(t, Rr));\n\t}\n\twm() {\n\t\treturn this.Cp;\n\t}\n\tgm() {\n\t\treturn this.Tp;\n\t}\n\tbp(e, t) {\n\t\tthis.fm(e, t);\n\t}\n\tFp() {\n\t\tthis.Np !== null && this.Np.W_().p(this), this.Np = null;\n\t}\n\ttm(e) {\n\t\tthis.im(this.Vp, e);\n\t}\n\tim(e, t) {\n\t\tlet n = t.localX, r = t.localY;\n\t\te.M() && e.m(this.$i().St().Nu(n), {\n\t\t\tx: n,\n\t\t\ty: r\n\t\t}, t);\n\t}\n\tmp({ context: e, bitmapSize: t }) {\n\t\tlet { width: n, height: r } = t, i = this.$i(), a = i.q(), o = i.bd();\n\t\ta === o ? Ce(e, 0, 0, n, r, o) : Ee(e, 0, 0, n, r, a, o);\n\t}\n\tvm(e) {\n\t\tlet t = S(this.Np).j_().qh().gt();\n\t\tt !== null && t.X(e, !1);\n\t}\n\tpm(e) {\n\t\tlet t = this.$i().Yc();\n\t\tthis.Mm(e, Ir, Sr, t), this.Mm(e, Ir, Cr, t);\n\t}\n\tbm(e) {\n\t\tthis.Mm(e, Ir, Cr, this.$i().Zc());\n\t}\n\tfm(e, t) {\n\t\tlet n = S(this.Np).Uo();\n\t\tfor (let r of n) this.Mm(e, t, Sr, r);\n\t\tfor (let r of n) this.Mm(e, t, Cr, r);\n\t}\n\tMm(e, t, n, r) {\n\t\tlet i = S(this.Np), a = i.$t().Wc(), o = a !== null && a.Hc === r, s = a !== null && o && a.Iv !== void 0 ? a.Iv.Mr : void 0;\n\t\twr(t, ((t) => n(t, e, o, s)), r, i);\n\t}\n\tZp() {\n\t\tif (this.Np === null) return;\n\t\tlet e = this.Qd, t = this.Np.R_().W().visible, n = this.Np.D_().W().visible;\n\t\tt || this.Cp === null || (this.jp.removeChild(this.Cp.lp()), this.Cp.S(), this.Cp = null), n || this.Tp === null || (this.Hp.removeChild(this.Tp.lp()), this.Tp.S(), this.Tp = null);\n\t\tlet r = e.$t().ud();\n\t\tt && this.Cp === null && (this.Cp = new Pr(this, e.W(), r, \"left\"), this.jp.appendChild(this.Cp.lp())), n && this.Tp === null && (this.Tp = new Pr(this, e.W(), r, \"right\"), this.Hp.appendChild(this.Tp.lp()));\n\t}\n\txm(e) {\n\t\treturn e.Dv && this.Ap || this.Ip !== null;\n\t}\n\tSm(e) {\n\t\treturn Math.max(0, Math.min(e, this.Ev.width - 1));\n\t}\n\tkm(e) {\n\t\treturn Math.max(0, Math.min(e, this.Ev.height - 1));\n\t}\n\tGp(e, t, n) {\n\t\tthis.$i().ld(this.Sm(e), this.km(t), n, S(this.Np));\n\t}\n\thm() {\n\t\tthis.$i().od();\n\t}\n\tom() {\n\t\tthis.zp && (this.Ip = null, this.hm());\n\t}\n\trm(e, t, n) {\n\t\tthis.Ip = e, this.zp = !1, this.Gp(t.x, t.y, n);\n\t\tlet r = this.$i().Zc();\n\t\tthis.Lp = {\n\t\t\tx: r.Yt(),\n\t\t\ty: r.Zt()\n\t\t};\n\t}\n\t$i() {\n\t\treturn this.Qd.$t();\n\t}\n\tsm(e) {\n\t\tif (!this.Dp) return;\n\t\tlet t = this.$i(), n = this.fp();\n\t\tif (t.z_(n, n.vn()), this.Rp = null, this.Dp = !1, t.ed(), this.Ep !== null) {\n\t\t\tlet e = performance.now(), n = t.St();\n\t\t\tthis.Ep.Vr(n.Hu(), e), this.Ep.Qu(e) || t.Zn(this.Ep);\n\t\t}\n\t}\n\tKp() {\n\t\tthis.Ip = null;\n\t}\n\tJp() {\n\t\tif (this.Np) {\n\t\t\tif (this.$i().Un(), document.activeElement !== document.body && document.activeElement !== document.documentElement) S(document.activeElement).blur();\n\t\t\telse {\n\t\t\t\tlet e = document.getSelection();\n\t\t\t\te !== null && e.removeAllRanges();\n\t\t\t}\n\t\t\t!this.Np.vn().Ni() && this.$i().St().Ni();\n\t\t}\n\t}\n\tnm(e) {\n\t\tif (this.Np === null) return;\n\t\tlet t = this.$i(), n = t.St();\n\t\tif (n.Ni()) return;\n\t\tlet r = this.Qd.W(), i = r.handleScroll, a = r.kineticScroll;\n\t\tif ((!i.pressedMouseMove || e.Dv) && (!i.horzTouchDrag && !i.vertTouchDrag || !e.Dv)) return;\n\t\tlet o = this.Np.vn(), s = performance.now();\n\t\tif (this.Rp !== null || this.xm(e) || (this.Rp = {\n\t\t\tx: e.clientX,\n\t\t\ty: e.clientY,\n\t\t\tOd: s,\n\t\t\tym: e.localX,\n\t\t\tCm: e.localY\n\t\t}), this.Rp !== null && !this.Dp && (this.Rp.x !== e.clientX || this.Rp.y !== e.clientY)) {\n\t\t\tif (e.Dv && a.touch || !e.Dv && a.mouse) {\n\t\t\t\tlet e = n.le();\n\t\t\t\tthis.Ep = new br(.2 / e, 7 / e, .997, 15 / e), this.Ep.Yd(n.Hu(), this.Rp.Od);\n\t\t\t} else this.Ep = null;\n\t\t\to.Ni() || t.A_(this.Np, o, e.localY), t.nd(e.localX), this.Dp = !0;\n\t\t}\n\t\tthis.Dp && (o.Ni() || t.I_(this.Np, o, e.localY), t.sd(e.localX), this.Ep !== null && this.Ep.Yd(n.Hu(), s));\n\t}\n}, Br = class {\n\tconstructor(t, n, r, i, a) {\n\t\tthis.ft = !0, this.Ev = e({\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}), this.Hv = () => this.vp(3), this.qv = t === \"left\", this.Oc = r.ud, this.cn = n, this.Tm = i, this.Pm = a, this.Kv = document.createElement(\"div\"), this.Kv.style.width = \"25px\", this.Kv.style.height = \"100%\", this.Kv.style.overflow = \"hidden\", this.Gv = Y(this.Kv, e({\n\t\t\twidth: 16,\n\t\t\theight: 16\n\t\t})), this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);\n\t}\n\tS() {\n\t\tthis.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv), X(this.Gv.canvasElement), this.Gv.dispose();\n\t}\n\tlp() {\n\t\treturn this.Kv;\n\t}\n\tum() {\n\t\treturn this.Ev;\n\t}\n\tcp(e) {\n\t\tt(this.Ev, e) || (this.Ev = e, this.Gv.resizeCanvasElement(e), this.Kv.style.width = `${e.width}px`, this.Kv.style.height = `${e.height}px`, this.ft = !0);\n\t}\n\tvp(e) {\n\t\tif (e < 3 && !this.ft || this.Ev.width === 0 || this.Ev.height === 0) return;\n\t\tthis.ft = !1, this.Gv.applySuggestedBitmapSize();\n\t\tlet t = u(this.Gv);\n\t\tt !== null && t.useBitmapCoordinateSpace(((e) => {\n\t\t\tthis.mp(e), this.Ie(e);\n\t\t}));\n\t}\n\txp() {\n\t\treturn this.Gv.bitmapSize;\n\t}\n\tSp(e, t, n) {\n\t\tlet r = this.xp();\n\t\tr.width > 0 && r.height > 0 && e.drawImage(this.Gv.canvasElement, t, n);\n\t}\n\tIe({ context: e, bitmapSize: t, horizontalPixelRatio: n, verticalPixelRatio: r }) {\n\t\tif (!this.Tm()) return;\n\t\te.fillStyle = this.cn.timeScale.borderColor;\n\t\tlet i = Math.floor(this.Oc.W().C * n), a = Math.floor(this.Oc.W().C * r), o = this.qv ? t.width - i : 0;\n\t\te.fillRect(o, 0, i, a);\n\t}\n\tmp({ context: e, bitmapSize: t }) {\n\t\tCe(e, 0, 0, t.width, t.height, this.Pm());\n\t}\n};\nfunction Vr(e) {\n\treturn (t) => t.fa?.call(t, e) ?? [];\n}\nvar Hr = Vr(\"normal\"), Ur = Vr(\"top\"), Wr = Vr(\"bottom\"), Gr = class {\n\tconstructor(t, n) {\n\t\tthis.Rm = null, this.Dm = null, this.k = null, this.Vm = !1, this.Ev = e({\n\t\t\twidth: 0,\n\t\t\theight: 0\n\t\t}), this.Om = new k(), this.Fv = new R(5), this.jv = !1, this.Hv = () => {\n\t\t\tthis.jv || this.Qd.$t().Uh();\n\t\t}, this.Uv = () => {\n\t\t\tthis.jv || this.Qd.$t().Uh();\n\t\t}, this.Qd = t, this.q_ = n, this.cn = t.W().layout, this.Xd = document.createElement(\"tr\"), this.Bm = document.createElement(\"td\"), this.Bm.style.padding = \"0\", this.Am = document.createElement(\"td\"), this.Am.style.padding = \"0\", this.Kv = document.createElement(\"td\"), this.Kv.style.height = \"25px\", this.Kv.style.padding = \"0\", this.Im = document.createElement(\"div\"), this.Im.style.width = \"100%\", this.Im.style.height = \"100%\", this.Im.style.position = \"relative\", this.Im.style.overflow = \"hidden\", this.Kv.appendChild(this.Im), this.Gv = Y(this.Im, e({\n\t\t\twidth: 16,\n\t\t\theight: 16\n\t\t})), this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);\n\t\tlet r = this.Gv.canvasElement;\n\t\tr.style.position = \"absolute\", r.style.zIndex = \"1\", r.style.left = \"0\", r.style.top = \"0\", this.Jv = Y(this.Im, e({\n\t\t\twidth: 16,\n\t\t\theight: 16\n\t\t})), this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);\n\t\tlet i = this.Jv.canvasElement;\n\t\ti.style.position = \"absolute\", i.style.zIndex = \"2\", i.style.left = \"0\", i.style.top = \"0\", this.Xd.appendChild(this.Bm), this.Xd.appendChild(this.Kv), this.Xd.appendChild(this.Am), this.zm(), this.Qd.$t().g_().l(this.zm.bind(this), this), this.hp = new Er(this.Jv.canvasElement, this, {\n\t\t\tev: () => !0,\n\t\t\trv: () => !this.Qd.W().handleScroll.horzTouchDrag\n\t\t});\n\t}\n\tS() {\n\t\tthis.hp.S(), this.Rm !== null && this.Rm.S(), this.Dm !== null && this.Dm.S(), this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv), X(this.Jv.canvasElement), this.Jv.dispose(), this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv), X(this.Gv.canvasElement), this.Gv.dispose();\n\t}\n\tlp() {\n\t\treturn this.Xd;\n\t}\n\tLm() {\n\t\treturn this.Rm;\n\t}\n\tEm() {\n\t\treturn this.Dm;\n\t}\n\tbv(e) {\n\t\tif (this.Vm) return;\n\t\tthis.Vm = !0;\n\t\tlet t = this.Qd.$t();\n\t\t!t.St().Ni() && this.Qd.W().handleScale.axisPressedMouseMove.time && t.Jc(e.localX);\n\t}\n\tpv(e) {\n\t\tthis.bv(e);\n\t}\n\twv() {\n\t\tlet e = this.Qd.$t();\n\t\t!e.St().Ni() && this.Vm && (this.Vm = !1, this.Qd.W().handleScale.axisPressedMouseMove.time && e.hd());\n\t}\n\tav(e) {\n\t\tlet t = this.Qd.$t();\n\t\t!t.St().Ni() && this.Qd.W().handleScale.axisPressedMouseMove.time && t.rd(e.localX);\n\t}\n\thv(e) {\n\t\tthis.av(e);\n\t}\n\tcv() {\n\t\tthis.Vm = !1;\n\t\tlet e = this.Qd.$t();\n\t\te.St().Ni() && !this.Qd.W().handleScale.axisPressedMouseMove.time || e.hd();\n\t}\n\t_v() {\n\t\tthis.cv();\n\t}\n\tqf() {\n\t\tthis.Qd.W().handleScale.axisDoubleClickReset.time && this.Qd.$t().Kn();\n\t}\n\tjf() {\n\t\tthis.qf();\n\t}\n\tQf() {\n\t\tthis.Qd.$t().W().handleScale.axisPressedMouseMove.time && this.kp(1);\n\t}\n\tPv() {\n\t\tthis.kp(0);\n\t}\n\tum() {\n\t\treturn this.Ev;\n\t}\n\tNm() {\n\t\treturn this.Om;\n\t}\n\tFm(n, r, i) {\n\t\tt(this.Ev, n) || (this.Ev = n, this.jv = !0, this.Gv.resizeCanvasElement(n), this.Jv.resizeCanvasElement(n), this.jv = !1, this.Kv.style.width = `${n.width}px`, this.Kv.style.height = `${n.height}px`, this.Om.m(n)), this.Rm !== null && this.Rm.cp(e({\n\t\t\twidth: r,\n\t\t\theight: n.height\n\t\t})), this.Dm !== null && this.Dm.cp(e({\n\t\t\twidth: i,\n\t\t\theight: n.height\n\t\t}));\n\t}\n\tWm() {\n\t\tlet e = this.jm();\n\t\treturn Math.ceil(e.C + e.T + e.P + e.L + e.B + e.Hm);\n\t}\n\tbt() {\n\t\tthis.Qd.$t().St().Ha();\n\t}\n\txp() {\n\t\treturn this.Gv.bitmapSize;\n\t}\n\tSp(e, t, n) {\n\t\tlet r = this.xp();\n\t\tr.width > 0 && r.height > 0 && e.drawImage(this.Gv.canvasElement, t, n);\n\t}\n\tvp(e) {\n\t\tif (e === 0) return;\n\t\tif (e !== 1) {\n\t\t\tthis.Gv.applySuggestedBitmapSize();\n\t\t\tlet t = u(this.Gv);\n\t\t\tt !== null && (t.useBitmapCoordinateSpace(((e) => {\n\t\t\t\tthis.mp(e), this.Ie(e), this.$m(t, Wr);\n\t\t\t})), this.wp(t), this.$m(t, Hr)), this.Rm !== null && this.Rm.vp(e), this.Dm !== null && this.Dm.vp(e);\n\t\t}\n\t\tthis.Jv.applySuggestedBitmapSize();\n\t\tlet t = u(this.Jv);\n\t\tt !== null && (t.useBitmapCoordinateSpace((({ context: e, bitmapSize: t }) => {\n\t\t\te.clearRect(0, 0, t.width, t.height);\n\t\t})), this.Um([...this.Qd.$t().wt(), this.Qd.$t().Zc()], t), this.$m(t, Ur));\n\t}\n\t$m(e, t) {\n\t\tlet n = this.Qd.$t().wt();\n\t\tfor (let r of n) wr(t, ((t) => Sr(t, e, !1, void 0)), r, void 0);\n\t\tfor (let r of n) wr(t, ((t) => Cr(t, e, !1, void 0)), r, void 0);\n\t}\n\tmp({ context: e, bitmapSize: t }) {\n\t\tCe(e, 0, 0, t.width, t.height, this.Qd.$t().bd());\n\t}\n\tIe({ context: e, bitmapSize: t, verticalPixelRatio: n }) {\n\t\tif (this.Qd.W().timeScale.borderVisible) {\n\t\t\te.fillStyle = this.qm();\n\t\t\tlet r = Math.max(1, Math.floor(this.jm().C * n));\n\t\t\te.fillRect(0, 0, t.width, r);\n\t\t}\n\t}\n\twp(e) {\n\t\tlet t = this.Qd.$t().St(), n = t.Ha();\n\t\tif (!n || n.length === 0) return;\n\t\tlet r = this.q_.maxTickMarkWeight(n), i = this.jm(), a = t.W();\n\t\ta.borderVisible && a.ticksVisible && e.useBitmapCoordinateSpace((({ context: e, horizontalPixelRatio: t, verticalPixelRatio: r }) => {\n\t\t\te.strokeStyle = this.qm(), e.fillStyle = this.qm();\n\t\t\tlet a = Math.max(1, Math.floor(t)), o = Math.floor(.5 * t);\n\t\t\te.beginPath();\n\t\t\tlet s = Math.round(i.T * r);\n\t\t\tfor (let r = n.length; r--;) {\n\t\t\t\tlet i = Math.round(n[r].coord * t);\n\t\t\t\te.rect(i - o, 0, a, s);\n\t\t\t}\n\t\t\te.fill();\n\t\t})), e.useMediaCoordinateSpace((({ context: e }) => {\n\t\t\tlet t = i.C + i.T + i.L + i.P / 2;\n\t\t\te.textAlign = \"center\", e.textBaseline = \"middle\", e.fillStyle = this.$(), e.font = this._p();\n\t\t\tfor (let i of n) if (i.weight < r) {\n\t\t\t\tlet n = i.needAlignCoordinate ? this.Ym(e, i.coord, i.label) : i.coord;\n\t\t\t\te.fillText(i.label, n, t);\n\t\t\t}\n\t\t\tthis.Qd.W().timeScale.allowBoldLabels && (e.font = this.Zm());\n\t\t\tfor (let i of n) if (i.weight >= r) {\n\t\t\t\tlet n = i.needAlignCoordinate ? this.Ym(e, i.coord, i.label) : i.coord;\n\t\t\t\te.fillText(i.label, n, t);\n\t\t\t}\n\t\t}));\n\t}\n\tYm(e, t, n) {\n\t\tlet r = this.Fv.xi(e, n), i = r / 2, a = Math.floor(t - i) + .5;\n\t\treturn a < 0 ? t += Math.abs(0 - a) : a + r > this.Ev.width && (t -= Math.abs(this.Ev.width - (a + r))), t;\n\t}\n\tUm(e, t) {\n\t\tlet n = this.jm();\n\t\tfor (let r of e) for (let e of r.Qi()) e.gt().X(t, n);\n\t}\n\tqm() {\n\t\treturn this.Qd.W().timeScale.borderColor;\n\t}\n\t$() {\n\t\treturn this.cn.textColor;\n\t}\n\tj() {\n\t\treturn this.cn.fontSize;\n\t}\n\t_p() {\n\t\treturn N(this.j(), this.cn.fontFamily);\n\t}\n\tZm() {\n\t\treturn N(this.j(), this.cn.fontFamily, \"bold\");\n\t}\n\tjm() {\n\t\tthis.k === null && (this.k = {\n\t\t\tC: 1,\n\t\t\tN: NaN,\n\t\t\tL: NaN,\n\t\t\tB: NaN,\n\t\t\tji: NaN,\n\t\t\tT: 5,\n\t\t\tP: NaN,\n\t\t\tR: \"\",\n\t\t\tWi: new R(),\n\t\t\tHm: 0\n\t\t});\n\t\tlet e = this.k, t = this._p();\n\t\tif (e.R !== t) {\n\t\t\tlet n = this.j();\n\t\t\te.P = n, e.R = t, e.L = 3 * n / 12, e.B = 3 * n / 12, e.ji = 9 * n / 12, e.N = 0, e.Hm = 4 * n / 12, e.Wi.nr();\n\t\t}\n\t\treturn this.k;\n\t}\n\tkp(e) {\n\t\tthis.Kv.style.cursor = e === 1 ? \"ew-resize\" : \"default\";\n\t}\n\tzm() {\n\t\tlet e = this.Qd.$t(), t = e.W();\n\t\tt.leftPriceScale.visible || this.Rm === null || (this.Bm.removeChild(this.Rm.lp()), this.Rm.S(), this.Rm = null), t.rightPriceScale.visible || this.Dm === null || (this.Am.removeChild(this.Dm.lp()), this.Dm.S(), this.Dm = null);\n\t\tlet n = { ud: this.Qd.$t().ud() }, r = () => t.leftPriceScale.borderVisible && e.St().W().borderVisible, i = () => e.bd();\n\t\tt.leftPriceScale.visible && this.Rm === null && (this.Rm = new Br(\"left\", t, n, r, i), this.Bm.appendChild(this.Rm.lp())), t.rightPriceScale.visible && this.Dm === null && (this.Dm = new Br(\"right\", t, n, r, i), this.Am.appendChild(this.Dm.lp()));\n\t}\n}, Kr = !!J && !!navigator.userAgentData && navigator.userAgentData.brands.some(((e) => e.brand.includes(\"Chromium\"))) && !!J && ((qr = navigator == null ? void 0 : navigator.userAgentData)?.platform ? navigator.userAgentData.platform === \"Windows\" : navigator.userAgent.toLowerCase().indexOf(\"win\") >= 0), qr, Jr = class {\n\tconstructor(e, t, n) {\n\t\tvar r;\n\t\tthis.Xm = [], this.Km = 0, this.ho = 0, this.__ = 0, this.Gm = 0, this.Jm = 0, this.Qm = null, this.tb = !1, this.Vp = new k(), this.Op = new k(), this.Rc = new k(), this.ib = null, this.nb = null, this.Jd = e, this.cn = t, this.q_ = n, this.Xd = document.createElement(\"div\"), this.Xd.classList.add(\"tv-lightweight-charts\"), this.Xd.style.overflow = \"hidden\", this.Xd.style.direction = \"ltr\", this.Xd.style.width = \"100%\", this.Xd.style.height = \"100%\", (r = this.Xd).style.userSelect = \"none\", r.style.webkitUserSelect = \"none\", r.style.msUserSelect = \"none\", r.style.MozUserSelect = \"none\", r.style.webkitTapHighlightColor = \"transparent\", this.sb = document.createElement(\"table\"), this.sb.setAttribute(\"cellspacing\", \"0\"), this.Xd.appendChild(this.sb), this.eb = this.rb.bind(this), Yr(this.cn) && this.hb(!0), this.$i = new Xn(this.Vc.bind(this), this.cn, n), this.$t().Xc().l(this.lb.bind(this), this), this.ab = new Gr(this, this.q_), this.sb.appendChild(this.ab.lp());\n\t\tlet i = t.autoSize && this.ob(), a = this.cn.width, o = this.cn.height;\n\t\tif (i || a === 0 || o === 0) {\n\t\t\tlet t = e.getBoundingClientRect();\n\t\t\ta ||= t.width, o ||= t.height;\n\t\t}\n\t\tthis._b(a, o), this.ub(), e.appendChild(this.Xd), this.cb(), this.$i.St().ec().l(this.$i.Kl.bind(this.$i), this), this.$i.g_().l(this.$i.Kl.bind(this.$i), this);\n\t}\n\t$t() {\n\t\treturn this.$i;\n\t}\n\tW() {\n\t\treturn this.cn;\n\t}\n\tYp() {\n\t\treturn this.Xm;\n\t}\n\tfb() {\n\t\treturn this.ab;\n\t}\n\tS() {\n\t\tthis.hb(!1), this.Km !== 0 && window.cancelAnimationFrame(this.Km), this.$i.Xc().p(this), this.$i.St().ec().p(this), this.$i.g_().p(this), this.$i.S();\n\t\tfor (let e of this.Xm) this.sb.removeChild(e.lp()), e.lm().p(this), e.am().p(this), e.S();\n\t\tthis.Xm = [], S(this.ab).S(), this.Xd.parentElement !== null && this.Xd.parentElement.removeChild(this.Xd), this.Rc.S(), this.Vp.S(), this.Op.S(), this.pb();\n\t}\n\t_b(t, n, r = !1) {\n\t\tif (this.ho === n && this.__ === t) return;\n\t\tlet i = function(t) {\n\t\t\tlet n = Math.floor(t.width), r = Math.floor(t.height);\n\t\t\treturn e({\n\t\t\t\twidth: n - n % 2,\n\t\t\t\theight: r - r % 2\n\t\t\t});\n\t\t}(e({\n\t\t\twidth: t,\n\t\t\theight: n\n\t\t}));\n\t\tthis.ho = i.height, this.__ = i.width;\n\t\tlet a = this.ho + \"px\", o = this.__ + \"px\";\n\t\tS(this.Xd).style.height = a, S(this.Xd).style.width = o, this.sb.style.height = a, this.sb.style.width = o, r ? this.mb(F.es(), performance.now()) : this.$i.Kl();\n\t}\n\tvp(e) {\n\t\te === void 0 && (e = F.es());\n\t\tfor (let t = 0; t < this.Xm.length; t++) this.Xm[t].vp(e.Hn(t).Fn);\n\t\tthis.cn.timeScale.visible && this.ab.vp(e.jn());\n\t}\n\t$h(e) {\n\t\tlet t = Yr(this.cn);\n\t\tthis.$i.$h(e);\n\t\tlet n = Yr(this.cn);\n\t\tn !== t && this.hb(n), this.cb(), this.bb(e);\n\t}\n\tlm() {\n\t\treturn this.Vp;\n\t}\n\tam() {\n\t\treturn this.Op;\n\t}\n\tXc() {\n\t\treturn this.Rc;\n\t}\n\twb() {\n\t\tthis.Qm !== null && (this.mb(this.Qm, performance.now()), this.Qm = null);\n\t\tlet e = this.gb(null), t = document.createElement(\"canvas\");\n\t\tt.width = e.width, t.height = e.height;\n\t\tlet n = S(t.getContext(\"2d\"));\n\t\treturn this.gb(n), t;\n\t}\n\tMb(e) {\n\t\treturn e === \"left\" && !this.xb() || e === \"right\" && !this.Sb() || this.Xm.length === 0 ? 0 : S(e === \"left\" ? this.Xm[0].wm() : this.Xm[0].gm()).dp();\n\t}\n\tkb() {\n\t\treturn this.cn.autoSize && this.ib !== null;\n\t}\n\tyb() {\n\t\treturn this.Xd;\n\t}\n\tQp(e) {\n\t\tthis.nb = e, this.nb ? this.yb().style.setProperty(\"cursor\", e) : this.yb().style.removeProperty(\"cursor\");\n\t}\n\tCb() {\n\t\treturn this.nb;\n\t}\n\tTb() {\n\t\treturn x(this.Xm[0]).um();\n\t}\n\tbb(e) {\n\t\t(e.autoSize !== void 0 || !this.ib || e.width === void 0 && e.height === void 0) && (e.autoSize && !this.ib && this.ob(), !1 === e.autoSize && this.ib !== null && this.pb(), e.autoSize || e.width === void 0 && e.height === void 0 || this._b(e.width || this.__, e.height || this.ho));\n\t}\n\tgb(t) {\n\t\tlet n = 0, r = 0, i = this.Xm[0], a = (e, n) => {\n\t\t\tlet r = 0;\n\t\t\tfor (let i = 0; i < this.Xm.length; i++) {\n\t\t\t\tlet a = this.Xm[i], o = S(e === \"left\" ? a.wm() : a.gm()), s = o.xp();\n\t\t\t\tt !== null && o.Sp(t, n, r), r += s.height;\n\t\t\t}\n\t\t};\n\t\tthis.xb() && (a(\"left\", 0), n += S(i.wm()).xp().width);\n\t\tfor (let e = 0; e < this.Xm.length; e++) {\n\t\t\tlet i = this.Xm[e], a = i.xp();\n\t\t\tt !== null && i.Sp(t, n, r), r += a.height;\n\t\t}\n\t\tn += i.xp().width, this.Sb() && (a(\"right\", n), n += S(i.gm()).xp().width);\n\t\tlet o = (e, n, r) => {\n\t\t\tS(e === \"left\" ? this.ab.Lm() : this.ab.Em()).Sp(S(t), n, r);\n\t\t};\n\t\tif (this.cn.timeScale.visible) {\n\t\t\tlet e = this.ab.xp();\n\t\t\tif (t !== null) {\n\t\t\t\tlet n = 0;\n\t\t\t\tthis.xb() && (o(\"left\", n, r), n = S(i.wm()).xp().width), this.ab.Sp(t, n, r), n += e.width, this.Sb() && o(\"right\", n, r);\n\t\t\t}\n\t\t\tr += e.height;\n\t\t}\n\t\treturn e({\n\t\t\twidth: n,\n\t\t\theight: r\n\t\t});\n\t}\n\tPb() {\n\t\tlet t = 0, n = 0, r = 0;\n\t\tfor (let e of this.Xm) this.xb() && (n = Math.max(n, S(e.wm()).op(), this.cn.leftPriceScale.minimumWidth)), this.Sb() && (r = Math.max(r, S(e.gm()).op(), this.cn.rightPriceScale.minimumWidth)), t += e.M_();\n\t\tn = _r(n), r = _r(r);\n\t\tlet i = this.__, a = this.ho, o = Math.max(i - n - r, 0), s = this.cn.timeScale.visible, c = s ? Math.max(this.ab.Wm(), this.cn.timeScale.minimumHeight) : 0;\n\t\tvar l;\n\t\tc = (l = c) + l % 2;\n\t\tlet u = 0 + c, d = a < u ? 0 : a - u, f = d / t, p = 0;\n\t\tfor (let t = 0; t < this.Xm.length; ++t) {\n\t\t\tlet i = this.Xm[t];\n\t\t\ti.qp(this.$i.qc()[t]);\n\t\t\tlet a = 0, s = 0;\n\t\t\ts = t === this.Xm.length - 1 ? d - p : Math.round(i.M_() * f), a = Math.max(s, 2), p += a, i.cp(e({\n\t\t\t\twidth: o,\n\t\t\t\theight: a\n\t\t\t})), this.xb() && i._m(n, \"left\"), this.Sb() && i._m(r, \"right\"), i.fp() && this.$i.Kc(i.fp(), a);\n\t\t}\n\t\tthis.ab.Fm(e({\n\t\t\twidth: s ? o : 0,\n\t\t\theight: c\n\t\t}), s ? n : 0, s ? r : 0), this.$i.S_(o), this.Gm !== n && (this.Gm = n), this.Jm !== r && (this.Jm = r);\n\t}\n\thb(e) {\n\t\te ? this.Xd.addEventListener(\"wheel\", this.eb, { passive: !1 }) : this.Xd.removeEventListener(\"wheel\", this.eb);\n\t}\n\tRb(e) {\n\t\tswitch (e.deltaMode) {\n\t\t\tcase e.DOM_DELTA_PAGE: return 120;\n\t\t\tcase e.DOM_DELTA_LINE: return 32;\n\t\t}\n\t\treturn Kr ? 1 / window.devicePixelRatio : 1;\n\t}\n\trb(e) {\n\t\tif (!(e.deltaX !== 0 && this.cn.handleScroll.mouseWheel || e.deltaY !== 0 && this.cn.handleScale.mouseWheel)) return;\n\t\tlet t = this.Rb(e), n = t * e.deltaX / 100, r = -t * e.deltaY / 100;\n\t\tif (e.cancelable && e.preventDefault(), r !== 0 && this.cn.handleScale.mouseWheel) {\n\t\t\tlet t = Math.sign(r) * Math.min(1, Math.abs(r)), n = e.clientX - this.Xd.getBoundingClientRect().left;\n\t\t\tthis.$t().Qc(n, t);\n\t\t}\n\t\tn !== 0 && this.cn.handleScroll.mouseWheel && this.$t().td(-80 * n);\n\t}\n\tmb(e, t) {\n\t\tlet n = e.jn();\n\t\tn === 3 && this.Db(), n !== 3 && n !== 2 || (this.Vb(e), this.Ob(e, t), this.ab.bt(), this.Xm.forEach(((e) => {\n\t\t\te.Xp();\n\t\t})), this.Qm?.jn() === 3 && (this.Qm.ts(e), this.Db(), this.Vb(this.Qm), this.Ob(this.Qm, t), e = this.Qm, this.Qm = null)), this.vp(e);\n\t}\n\tOb(e, t) {\n\t\tfor (let n of e.Qn()) this.ns(n, t);\n\t}\n\tVb(e) {\n\t\tlet t = this.$i.qc();\n\t\tfor (let n = 0; n < t.length; n++) e.Hn(n).Wn && t[n].N_();\n\t}\n\tns(e, t) {\n\t\tlet n = this.$i.St();\n\t\tswitch (e.qn) {\n\t\t\tcase 0:\n\t\t\t\tn.hc();\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tn.lc(e.Vt);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tn.Gn(e.Vt);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tn.Jn(e.Vt);\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tn.qu();\n\t\t\t\tbreak;\n\t\t\tcase 5: e.Vt.Qu(t) || n.Jn(e.Vt.tc(t));\n\t\t}\n\t}\n\tVc(e) {\n\t\tthis.Qm === null ? this.Qm = e : this.Qm.ts(e), this.tb || (this.tb = !0, this.Km = window.requestAnimationFrame(((e) => {\n\t\t\tif (this.tb = !1, this.Km = 0, this.Qm !== null) {\n\t\t\t\tlet t = this.Qm;\n\t\t\t\tthis.Qm = null, this.mb(t, e);\n\t\t\t\tfor (let n of t.Qn()) if (n.qn === 5 && !n.Vt.Qu(e)) {\n\t\t\t\t\tthis.$t().Zn(n.Vt);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t})));\n\t}\n\tDb() {\n\t\tthis.ub();\n\t}\n\tub() {\n\t\tlet e = this.$i.qc(), t = e.length, n = this.Xm.length;\n\t\tfor (let e = t; e < n; e++) {\n\t\t\tlet e = x(this.Xm.pop());\n\t\t\tthis.sb.removeChild(e.lp()), e.lm().p(this), e.am().p(this), e.S();\n\t\t}\n\t\tfor (let r = n; r < t; r++) {\n\t\t\tlet t = new zr(this, e[r]);\n\t\t\tt.lm().l(this.Bb.bind(this), this), t.am().l(this.Ab.bind(this), this), this.Xm.push(t), this.sb.insertBefore(t.lp(), this.ab.lp());\n\t\t}\n\t\tfor (let n = 0; n < t; n++) {\n\t\t\tlet t = e[n], r = this.Xm[n];\n\t\t\tr.fp() === t ? r.Up() : r.qp(t);\n\t\t}\n\t\tthis.cb(), this.Pb();\n\t}\n\tIb(e, t, n) {\n\t\tlet r = /* @__PURE__ */ new Map();\n\t\te !== null && this.$i.wt().forEach(((t) => {\n\t\t\tlet n = t.In().ll(e);\n\t\t\tn !== null && r.set(t, n);\n\t\t}));\n\t\tlet i;\n\t\tif (e !== null) {\n\t\t\tlet t = this.$i.St().Ui(e)?.originalTime;\n\t\t\tt !== void 0 && (i = t);\n\t\t}\n\t\tlet a = this.$t().Wc(), o = a !== null && a.Hc instanceof gn ? a.Hc : void 0, s = a !== null && a.Iv !== void 0 ? a.Iv.gr : void 0;\n\t\treturn {\n\t\t\tzb: i,\n\t\t\tee: e ?? void 0,\n\t\t\tLb: t ?? void 0,\n\t\t\tEb: o,\n\t\t\tNb: r,\n\t\t\tFb: s,\n\t\t\tWb: n ?? void 0\n\t\t};\n\t}\n\tBb(e, t, n) {\n\t\tthis.Vp.m((() => this.Ib(e, t, n)));\n\t}\n\tAb(e, t, n) {\n\t\tthis.Op.m((() => this.Ib(e, t, n)));\n\t}\n\tlb(e, t, n) {\n\t\tthis.Rc.m((() => this.Ib(e, t, n)));\n\t}\n\tcb() {\n\t\tlet e = this.cn.timeScale.visible ? \"\" : \"none\";\n\t\tthis.ab.lp().style.display = e;\n\t}\n\txb() {\n\t\treturn this.Xm[0].fp().R_().W().visible;\n\t}\n\tSb() {\n\t\treturn this.Xm[0].fp().D_().W().visible;\n\t}\n\tob() {\n\t\treturn \"ResizeObserver\" in window && (this.ib = new ResizeObserver(((e) => {\n\t\t\tlet t = e.find(((e) => e.target === this.Jd));\n\t\t\tt && this._b(t.contentRect.width, t.contentRect.height);\n\t\t})), this.ib.observe(this.Jd, { box: \"border-box\" }), !0);\n\t}\n\tpb() {\n\t\tthis.ib !== null && this.ib.disconnect(), this.ib = null;\n\t}\n};\nfunction Yr(e) {\n\treturn !!(e.handleScroll.mouseWheel || e.handleScale.mouseWheel);\n}\nfunction Xr(e) {\n\treturn function(e) {\n\t\treturn e.open !== void 0;\n\t}(e) || function(e) {\n\t\treturn e.value !== void 0;\n\t}(e);\n}\nfunction Zr(e, t) {\n\tvar n = {};\n\tfor (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);\n\tif (e != null && typeof Object.getOwnPropertySymbols == \"function\") {\n\t\tvar i = 0;\n\t\tfor (r = Object.getOwnPropertySymbols(e); i < r.length; i++) t.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[i]) && (n[r[i]] = e[r[i]]);\n\t}\n\treturn n;\n}\nfunction Qr(e, t, n, r) {\n\tlet i = n.value, a = {\n\t\tee: t,\n\t\tot: e,\n\t\tVt: [\n\t\t\ti,\n\t\t\ti,\n\t\t\ti,\n\t\t\ti\n\t\t],\n\t\tzb: r\n\t};\n\treturn n.color !== void 0 && (a.V = n.color), a;\n}\nfunction $r(e, t, n, r) {\n\tlet i = n.value, a = {\n\t\tee: t,\n\t\tot: e,\n\t\tVt: [\n\t\t\ti,\n\t\t\ti,\n\t\t\ti,\n\t\t\ti\n\t\t],\n\t\tzb: r\n\t};\n\treturn n.lineColor !== void 0 && (a.lt = n.lineColor), n.topColor !== void 0 && (a.Ps = n.topColor), n.bottomColor !== void 0 && (a.Rs = n.bottomColor), a;\n}\nfunction ei(e, t, n, r) {\n\tlet i = n.value, a = {\n\t\tee: t,\n\t\tot: e,\n\t\tVt: [\n\t\t\ti,\n\t\t\ti,\n\t\t\ti,\n\t\t\ti\n\t\t],\n\t\tzb: r\n\t};\n\treturn n.topLineColor !== void 0 && (a.Re = n.topLineColor), n.bottomLineColor !== void 0 && (a.De = n.bottomLineColor), n.topFillColor1 !== void 0 && (a.ke = n.topFillColor1), n.topFillColor2 !== void 0 && (a.ye = n.topFillColor2), n.bottomFillColor1 !== void 0 && (a.Ce = n.bottomFillColor1), n.bottomFillColor2 !== void 0 && (a.Te = n.bottomFillColor2), a;\n}\nfunction ti(e, t, n, r) {\n\tlet i = {\n\t\tee: t,\n\t\tot: e,\n\t\tVt: [\n\t\t\tn.open,\n\t\t\tn.high,\n\t\t\tn.low,\n\t\t\tn.close\n\t\t],\n\t\tzb: r\n\t};\n\treturn n.color !== void 0 && (i.V = n.color), i;\n}\nfunction ni(e, t, n, r) {\n\tlet i = {\n\t\tee: t,\n\t\tot: e,\n\t\tVt: [\n\t\t\tn.open,\n\t\t\tn.high,\n\t\t\tn.low,\n\t\t\tn.close\n\t\t],\n\t\tzb: r\n\t};\n\treturn n.color !== void 0 && (i.V = n.color), n.borderColor !== void 0 && (i.Ot = n.borderColor), n.wickColor !== void 0 && (i.Xh = n.wickColor), i;\n}\nfunction ri(e, t, n, r, i) {\n\tlet a = x(i)(n), o = Math.max(...a), s = Math.min(...a), c = a[a.length - 1], l = [\n\t\tc,\n\t\to,\n\t\ts,\n\t\tc\n\t], u = n, { time: d, color: f } = u;\n\treturn {\n\t\tee: t,\n\t\tot: e,\n\t\tVt: l,\n\t\tzb: r,\n\t\t$e: Zr(u, [\"time\", \"color\"]),\n\t\tV: f\n\t};\n}\nfunction ii(e) {\n\treturn e.Vt !== void 0;\n}\nfunction ai(e, t) {\n\treturn t.customValues !== void 0 && (e.jb = t.customValues), e;\n}\nfunction $(e) {\n\treturn (t, n, r, i, a, o) => function(e, t) {\n\t\treturn t ? t(e) : (n = e).open === void 0 && n.value === void 0;\n\t\tvar n;\n\t}(r, o) ? ai({\n\t\tot: t,\n\t\tee: n,\n\t\tzb: i\n\t}, r) : ai(e(t, n, r, i, a), r);\n}\nfunction oi(e) {\n\treturn {\n\t\tCandlestick: $(ni),\n\t\tBar: $(ti),\n\t\tArea: $($r),\n\t\tBaseline: $(ei),\n\t\tHistogram: $(Qr),\n\t\tLine: $(Qr),\n\t\tCustom: $(ri)\n\t}[e];\n}\nfunction si(e) {\n\treturn {\n\t\tee: 0,\n\t\tHb: /* @__PURE__ */ new Map(),\n\t\tla: e\n\t};\n}\nfunction ci(e, t) {\n\tif (e !== void 0 && e.length !== 0) return {\n\t\t$b: t.key(e[0].ot),\n\t\tUb: t.key(e[e.length - 1].ot)\n\t};\n}\nfunction li(e) {\n\tlet t;\n\treturn e.forEach(((e) => {\n\t\tt === void 0 && (t = e.zb);\n\t})), x(t);\n}\nvar ui = class {\n\tconstructor(e) {\n\t\tthis.qb = /* @__PURE__ */ new Map(), this.Yb = /* @__PURE__ */ new Map(), this.Zb = /* @__PURE__ */ new Map(), this.Xb = [], this.q_ = e;\n\t}\n\tS() {\n\t\tthis.qb.clear(), this.Yb.clear(), this.Zb.clear(), this.Xb = [];\n\t}\n\tKb(e, t) {\n\t\tlet n = this.qb.size !== 0, r = !1, i = this.Yb.get(e);\n\t\tif (i !== void 0) if (this.Yb.size === 1) n = !1, r = !0, this.qb.clear();\n\t\telse for (let t of this.Xb) t.pointData.Hb.delete(e) && (r = !0);\n\t\tlet a = [];\n\t\tif (t.length !== 0) {\n\t\t\tlet n = t.map(((e) => e.time)), i = this.q_.createConverterToInternalObj(t), o = oi(e.Qh()), s = e.Ca(), c = e.Ta();\n\t\t\ta = t.map(((t, a) => {\n\t\t\t\tlet l = i(t.time), u = this.q_.key(l), d = this.qb.get(u);\n\t\t\t\td === void 0 && (d = si(l), this.qb.set(u, d), r = !0);\n\t\t\t\tlet f = o(l, d.ee, t, n[a], s, c);\n\t\t\t\treturn d.Hb.set(e, f), f;\n\t\t\t}));\n\t\t}\n\t\tn && this.Gb(), this.Jb(e, a);\n\t\tlet o = -1;\n\t\tif (r) {\n\t\t\tlet e = [];\n\t\t\tthis.qb.forEach(((t) => {\n\t\t\t\te.push({\n\t\t\t\t\ttimeWeight: 0,\n\t\t\t\t\ttime: t.la,\n\t\t\t\t\tpointData: t,\n\t\t\t\t\toriginalTime: li(t.Hb)\n\t\t\t\t});\n\t\t\t})), e.sort(((e, t) => this.q_.key(e.time) - this.q_.key(t.time))), o = this.Qb(e);\n\t\t}\n\t\treturn this.tw(e, o, function(e, t, n) {\n\t\t\tlet r = ci(e, n), i = ci(t, n);\n\t\t\tif (r !== void 0 && i !== void 0) return { ta: r.Ub >= i.Ub && r.$b >= i.$b };\n\t\t}(this.Yb.get(e), i, this.q_));\n\t}\n\tvd(e) {\n\t\treturn this.Kb(e, []);\n\t}\n\tiw(e, t) {\n\t\tlet n = t;\n\t\t(function(e) {\n\t\t\te.zb === void 0 && (e.zb = e.time);\n\t\t})(n), this.q_.preprocessData(t);\n\t\tlet r = this.q_.createConverterToInternalObj([t])(t.time), i = this.Zb.get(e);\n\t\tif (i !== void 0 && this.q_.key(r) < this.q_.key(i)) throw Error(`Cannot update oldest data, last time=${i}, new time=${r}`);\n\t\tlet a = this.qb.get(this.q_.key(r)), o = a === void 0;\n\t\ta === void 0 && (a = si(r), this.qb.set(this.q_.key(r), a));\n\t\tlet s = oi(e.Qh()), c = e.Ca(), l = e.Ta(), u = s(r, a.ee, t, n.zb, c, l);\n\t\ta.Hb.set(e, u), this.nw(e, u);\n\t\tlet d = { ta: ii(u) };\n\t\tif (!o) return this.tw(e, -1, d);\n\t\tlet f = {\n\t\t\ttimeWeight: 0,\n\t\t\ttime: a.la,\n\t\t\tpointData: a,\n\t\t\toriginalTime: li(a.Hb)\n\t\t}, p = L(this.Xb, this.q_.key(f.time), ((e, t) => this.q_.key(e.time) < t));\n\t\tthis.Xb.splice(p, 0, f);\n\t\tfor (let e = p; e < this.Xb.length; ++e) di(this.Xb[e].pointData, e);\n\t\treturn this.q_.fillWeightsForPoints(this.Xb, p), this.tw(e, p, d);\n\t}\n\tnw(e, t) {\n\t\tlet n = this.Yb.get(e);\n\t\tn === void 0 && (n = [], this.Yb.set(e, n));\n\t\tlet r = n.length === 0 ? null : n[n.length - 1];\n\t\tr === null || this.q_.key(t.ot) > this.q_.key(r.ot) ? ii(t) && n.push(t) : ii(t) ? n[n.length - 1] = t : n.splice(-1, 1), this.Zb.set(e, t.ot);\n\t}\n\tJb(e, t) {\n\t\tt.length === 0 ? (this.Yb.delete(e), this.Zb.delete(e)) : (this.Yb.set(e, t.filter(ii)), this.Zb.set(e, t[t.length - 1].ot));\n\t}\n\tGb() {\n\t\tfor (let e of this.Xb) e.pointData.Hb.size === 0 && this.qb.delete(this.q_.key(e.time));\n\t}\n\tQb(e) {\n\t\tlet t = -1;\n\t\tfor (let n = 0; n < this.Xb.length && n < e.length; ++n) {\n\t\t\tlet r = this.Xb[n], i = e[n];\n\t\t\tif (this.q_.key(r.time) !== this.q_.key(i.time)) {\n\t\t\t\tt = n;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\ti.timeWeight = r.timeWeight, di(i.pointData, n);\n\t\t}\n\t\tif (t === -1 && this.Xb.length !== e.length && (t = Math.min(this.Xb.length, e.length)), t === -1) return -1;\n\t\tfor (let n = t; n < e.length; ++n) di(e[n].pointData, n);\n\t\treturn this.q_.fillWeightsForPoints(e, t), this.Xb = e, t;\n\t}\n\tsw() {\n\t\tif (this.Yb.size === 0) return null;\n\t\tlet e = 0;\n\t\treturn this.Yb.forEach(((t) => {\n\t\t\tt.length !== 0 && (e = Math.max(e, t[t.length - 1].ee));\n\t\t})), e;\n\t}\n\ttw(e, t, n) {\n\t\tlet r = {\n\t\t\tew: /* @__PURE__ */ new Map(),\n\t\t\tSt: { Eu: this.sw() }\n\t\t};\n\t\tif (t !== -1) this.Yb.forEach(((t, i) => {\n\t\t\tr.ew.set(i, {\n\t\t\t\t$e: t,\n\t\t\t\trw: i === e ? n : void 0\n\t\t\t});\n\t\t})), this.Yb.has(e) || r.ew.set(e, {\n\t\t\t$e: [],\n\t\t\trw: n\n\t\t}), r.St.hw = this.Xb, r.St.lw = t;\n\t\telse {\n\t\t\tlet t = this.Yb.get(e);\n\t\t\tr.ew.set(e, {\n\t\t\t\t$e: t || [],\n\t\t\t\trw: n\n\t\t\t});\n\t\t}\n\t\treturn r;\n\t}\n};\nfunction di(e, t) {\n\te.ee = t, e.Hb.forEach(((e) => {\n\t\te.ee = t;\n\t}));\n}\nfunction fi(e) {\n\tlet t = {\n\t\tvalue: e.Vt[3],\n\t\ttime: e.zb\n\t};\n\treturn e.jb !== void 0 && (t.customValues = e.jb), t;\n}\nfunction pi(e) {\n\tlet t = fi(e);\n\treturn e.V !== void 0 && (t.color = e.V), t;\n}\nfunction mi(e) {\n\tlet t = fi(e);\n\treturn e.lt !== void 0 && (t.lineColor = e.lt), e.Ps !== void 0 && (t.topColor = e.Ps), e.Rs !== void 0 && (t.bottomColor = e.Rs), t;\n}\nfunction hi(e) {\n\tlet t = fi(e);\n\treturn e.Re !== void 0 && (t.topLineColor = e.Re), e.De !== void 0 && (t.bottomLineColor = e.De), e.ke !== void 0 && (t.topFillColor1 = e.ke), e.ye !== void 0 && (t.topFillColor2 = e.ye), e.Ce !== void 0 && (t.bottomFillColor1 = e.Ce), e.Te !== void 0 && (t.bottomFillColor2 = e.Te), t;\n}\nfunction gi(e) {\n\tlet t = {\n\t\topen: e.Vt[0],\n\t\thigh: e.Vt[1],\n\t\tlow: e.Vt[2],\n\t\tclose: e.Vt[3],\n\t\ttime: e.zb\n\t};\n\treturn e.jb !== void 0 && (t.customValues = e.jb), t;\n}\nfunction _i(e) {\n\tlet t = gi(e);\n\treturn e.V !== void 0 && (t.color = e.V), t;\n}\nfunction vi(e) {\n\tlet t = gi(e), { V: n, Ot: r, Xh: i } = e;\n\treturn n !== void 0 && (t.color = n), r !== void 0 && (t.borderColor = r), i !== void 0 && (t.wickColor = i), t;\n}\nfunction yi(e) {\n\treturn {\n\t\tArea: mi,\n\t\tLine: pi,\n\t\tBaseline: hi,\n\t\tHistogram: pi,\n\t\tBar: _i,\n\t\tCandlestick: vi,\n\t\tCustom: bi\n\t}[e];\n}\nfunction bi(e) {\n\tlet t = e.zb;\n\treturn Object.assign(Object.assign({}, e.$e), { time: t });\n}\nvar xi = {\n\tvertLine: {\n\t\tcolor: \"#9598A1\",\n\t\twidth: 1,\n\t\tstyle: 3,\n\t\tvisible: !0,\n\t\tlabelVisible: !0,\n\t\tlabelBackgroundColor: \"#131722\"\n\t},\n\thorzLine: {\n\t\tcolor: \"#9598A1\",\n\t\twidth: 1,\n\t\tstyle: 3,\n\t\tvisible: !0,\n\t\tlabelVisible: !0,\n\t\tlabelBackgroundColor: \"#131722\"\n\t},\n\tmode: 1\n}, Si = {\n\tvertLines: {\n\t\tcolor: \"#D6DCDE\",\n\t\tstyle: 0,\n\t\tvisible: !0\n\t},\n\thorzLines: {\n\t\tcolor: \"#D6DCDE\",\n\t\tstyle: 0,\n\t\tvisible: !0\n\t}\n}, Ci = {\n\tbackground: {\n\t\ttype: \"solid\",\n\t\tcolor: \"#FFFFFF\"\n\t},\n\ttextColor: \"#191919\",\n\tfontSize: 12,\n\tfontFamily: pe,\n\tattributionLogo: !0\n}, wi = {\n\tautoScale: !0,\n\tmode: 0,\n\tinvertScale: !1,\n\talignLabels: !0,\n\tborderVisible: !0,\n\tborderColor: \"#2B2B43\",\n\tentireTextOnly: !1,\n\tvisible: !1,\n\tticksVisible: !1,\n\tscaleMargins: {\n\t\tbottom: .1,\n\t\ttop: .2\n\t},\n\tminimumWidth: 0\n}, Ti = {\n\trightOffset: 0,\n\tbarSpacing: 6,\n\tminBarSpacing: .5,\n\tfixLeftEdge: !1,\n\tfixRightEdge: !1,\n\tlockVisibleTimeRangeOnResize: !1,\n\trightBarStaysOnScroll: !1,\n\tborderVisible: !0,\n\tborderColor: \"#2B2B43\",\n\tvisible: !0,\n\ttimeVisible: !1,\n\tsecondsVisible: !0,\n\tshiftVisibleRangeOnNewBar: !0,\n\tallowShiftVisibleRangeOnWhitespaceReplacement: !1,\n\tticksVisible: !1,\n\tuniformDistribution: !1,\n\tminimumHeight: 0,\n\tallowBoldLabels: !0\n}, Ei = {\n\tcolor: \"rgba(0, 0, 0, 0)\",\n\tvisible: !1,\n\tfontSize: 48,\n\tfontFamily: pe,\n\tfontStyle: \"\",\n\ttext: \"\",\n\thorzAlign: \"center\",\n\tvertAlign: \"center\"\n};\nfunction Di() {\n\treturn {\n\t\twidth: 0,\n\t\theight: 0,\n\t\tautoSize: !1,\n\t\tlayout: Ci,\n\t\tcrosshair: xi,\n\t\tgrid: Si,\n\t\toverlayPriceScales: Object.assign({}, wi),\n\t\tleftPriceScale: Object.assign(Object.assign({}, wi), { visible: !1 }),\n\t\trightPriceScale: Object.assign(Object.assign({}, wi), { visible: !0 }),\n\t\ttimeScale: Ti,\n\t\twatermark: Ei,\n\t\tlocalization: {\n\t\t\tlocale: J ? navigator.language : \"\",\n\t\t\tdateFormat: \"dd MMM 'yy\"\n\t\t},\n\t\thandleScroll: {\n\t\t\tmouseWheel: !0,\n\t\t\tpressedMouseMove: !0,\n\t\t\thorzTouchDrag: !0,\n\t\t\tvertTouchDrag: !0\n\t\t},\n\t\thandleScale: {\n\t\t\taxisPressedMouseMove: {\n\t\t\t\ttime: !0,\n\t\t\t\tprice: !0\n\t\t\t},\n\t\t\taxisDoubleClickReset: {\n\t\t\t\ttime: !0,\n\t\t\t\tprice: !0\n\t\t\t},\n\t\t\tmouseWheel: !0,\n\t\t\tpinch: !0\n\t\t},\n\t\tkineticScroll: {\n\t\t\tmouse: !1,\n\t\t\ttouch: !0\n\t\t},\n\t\ttrackingMode: { exitMode: 1 }\n\t};\n}\nvar Oi = class {\n\tconstructor(e, t) {\n\t\tthis.aw = e, this.ow = t;\n\t}\n\tapplyOptions(e) {\n\t\tthis.aw.$t().$c(this.ow, e);\n\t}\n\toptions() {\n\t\treturn this.Li().W();\n\t}\n\twidth() {\n\t\treturn Ie(this.ow) ? this.aw.Mb(this.ow) : 0;\n\t}\n\tLi() {\n\t\treturn S(this.aw.$t().Uc(this.ow)).Dt;\n\t}\n};\nfunction ki(e, t, n) {\n\tlet r = Zr(e, [\"time\", \"originalTime\"]), i = Object.assign({ time: t }, r);\n\treturn n !== void 0 && (i.originalTime = n), i;\n}\nvar Ai = {\n\tcolor: \"#FF0000\",\n\tprice: 0,\n\tlineStyle: 2,\n\tlineWidth: 1,\n\tlineVisible: !0,\n\taxisLabelVisible: !0,\n\ttitle: \"\",\n\taxisLabelColor: \"\",\n\taxisLabelTextColor: \"\"\n}, ji = class {\n\tconstructor(e) {\n\t\tthis.Nh = e;\n\t}\n\tapplyOptions(e) {\n\t\tthis.Nh.$h(e);\n\t}\n\toptions() {\n\t\treturn this.Nh.W();\n\t}\n\t_w() {\n\t\treturn this.Nh;\n\t}\n}, Mi = class {\n\tconstructor(e, t, n, r, i) {\n\t\tthis.uw = new k(), this.Es = e, this.cw = t, this.dw = n, this.q_ = i, this.fw = r;\n\t}\n\tS() {\n\t\tthis.uw.S();\n\t}\n\tpriceFormatter() {\n\t\treturn this.Es.ba();\n\t}\n\tpriceToCoordinate(e) {\n\t\tlet t = this.Es.Ct();\n\t\treturn t === null ? null : this.Es.Dt().Rt(e, t.Vt);\n\t}\n\tcoordinateToPrice(e) {\n\t\tlet t = this.Es.Ct();\n\t\treturn t === null ? null : this.Es.Dt().pn(e, t.Vt);\n\t}\n\tbarsInLogicalRange(e) {\n\t\tif (e === null) return null;\n\t\tlet t = new Rn(new q(e.from, e.to)).lu(), n = this.Es.In();\n\t\tif (n.Ni()) return null;\n\t\tlet r = n.ll(t.Os(), 1), i = n.ll(t.ui(), -1), a = S(n.el()), o = S(n.An());\n\t\tif (r !== null && i !== null && r.ee > i.ee) return {\n\t\t\tbarsBefore: e.from - a,\n\t\t\tbarsAfter: o - e.to\n\t\t};\n\t\tlet s = {\n\t\t\tbarsBefore: r === null || r.ee === a ? e.from - a : r.ee - a,\n\t\t\tbarsAfter: i === null || i.ee === o ? o - e.to : o - i.ee\n\t\t};\n\t\treturn r !== null && i !== null && (s.from = r.zb, s.to = i.zb), s;\n\t}\n\tsetData(e) {\n\t\tthis.q_, this.Es.Qh(), this.cw.pw(this.Es, e), this.mw(\"full\");\n\t}\n\tupdate(e) {\n\t\tthis.Es.Qh(), this.cw.bw(this.Es, e), this.mw(\"update\");\n\t}\n\tdataByIndex(e, t) {\n\t\tlet n = this.Es.In().ll(e, t);\n\t\treturn n === null ? null : yi(this.seriesType())(n);\n\t}\n\tdata() {\n\t\tlet e = yi(this.seriesType());\n\t\treturn this.Es.In().ne().map(((t) => e(t)));\n\t}\n\tsubscribeDataChanged(e) {\n\t\tthis.uw.l(e);\n\t}\n\tunsubscribeDataChanged(e) {\n\t\tthis.uw.v(e);\n\t}\n\tsetMarkers(e) {\n\t\tthis.q_;\n\t\tlet t = e.map(((e) => ki(e, this.q_.convertHorzItemToInternal(e.time), e.time)));\n\t\tthis.Es.na(t);\n\t}\n\tmarkers() {\n\t\treturn this.Es.sa().map(((e) => ki(e, e.originalTime, void 0)));\n\t}\n\tapplyOptions(e) {\n\t\tthis.Es.$h(e);\n\t}\n\toptions() {\n\t\treturn M(this.Es.W());\n\t}\n\tpriceScale() {\n\t\treturn this.dw.priceScale(this.Es.Dt().Pa());\n\t}\n\tcreatePriceLine(e) {\n\t\tlet t = A(M(Ai), e);\n\t\treturn new ji(this.Es.ea(t));\n\t}\n\tremovePriceLine(e) {\n\t\tthis.Es.ra(e._w());\n\t}\n\tseriesType() {\n\t\treturn this.Es.Qh();\n\t}\n\tattachPrimitive(e) {\n\t\tthis.Es.ka(e), e.attached && e.attached({\n\t\t\tchart: this.fw,\n\t\t\tseries: this,\n\t\t\trequestUpdate: () => this.Es.$t().Kl()\n\t\t});\n\t}\n\tdetachPrimitive(e) {\n\t\tthis.Es.ya(e), e.detached && e.detached();\n\t}\n\tmw(e) {\n\t\tthis.uw.M() && this.uw.m(e);\n\t}\n}, Ni = class {\n\tconstructor(e, t, n) {\n\t\tthis.ww = new k(), this.mu = new k(), this.Om = new k(), this.$i = e, this.yl = e.St(), this.ab = t, this.yl.nc().l(this.gw.bind(this)), this.yl.sc().l(this.Mw.bind(this)), this.ab.Nm().l(this.xw.bind(this)), this.q_ = n;\n\t}\n\tS() {\n\t\tthis.yl.nc().p(this), this.yl.sc().p(this), this.ab.Nm().p(this), this.ww.S(), this.mu.S(), this.Om.S();\n\t}\n\tscrollPosition() {\n\t\treturn this.yl.Hu();\n\t}\n\tscrollToPosition(e, t) {\n\t\tt ? this.yl.Ju(e, 1e3) : this.$i.Jn(e);\n\t}\n\tscrollToRealTime() {\n\t\tthis.yl.Gu();\n\t}\n\tgetVisibleRange() {\n\t\tlet e = this.yl.Vu();\n\t\treturn e === null ? null : {\n\t\t\tfrom: e.from.originalTime,\n\t\t\tto: e.to.originalTime\n\t\t};\n\t}\n\tsetVisibleRange(e) {\n\t\tlet t = {\n\t\t\tfrom: this.q_.convertHorzItemToInternal(e.from),\n\t\t\tto: this.q_.convertHorzItemToInternal(e.to)\n\t\t}, n = this.yl.Iu(t);\n\t\tthis.$i.pd(n);\n\t}\n\tgetVisibleLogicalRange() {\n\t\tlet e = this.yl.Du();\n\t\treturn e === null ? null : {\n\t\t\tfrom: e.Os(),\n\t\t\tto: e.ui()\n\t\t};\n\t}\n\tsetVisibleLogicalRange(e) {\n\t\tb(e.from <= e.to, \"The from index cannot be after the to index.\"), this.$i.pd(e);\n\t}\n\tresetTimeScale() {\n\t\tthis.$i.Kn();\n\t}\n\tfitContent() {\n\t\tthis.$i.hc();\n\t}\n\tlogicalToCoordinate(e) {\n\t\tlet t = this.$i.St();\n\t\treturn t.Ni() ? null : t.It(e);\n\t}\n\tcoordinateToLogical(e) {\n\t\treturn this.yl.Ni() ? null : this.yl.Nu(e);\n\t}\n\ttimeToCoordinate(e) {\n\t\tlet t = this.q_.convertHorzItemToInternal(e), n = this.yl.Va(t, !1);\n\t\treturn n === null ? null : this.yl.It(n);\n\t}\n\tcoordinateToTime(e) {\n\t\tlet t = this.$i.St(), n = t.Nu(e), r = t.Ui(n);\n\t\treturn r === null ? null : r.originalTime;\n\t}\n\twidth() {\n\t\treturn this.ab.um().width;\n\t}\n\theight() {\n\t\treturn this.ab.um().height;\n\t}\n\tsubscribeVisibleTimeRangeChange(e) {\n\t\tthis.ww.l(e);\n\t}\n\tunsubscribeVisibleTimeRangeChange(e) {\n\t\tthis.ww.v(e);\n\t}\n\tsubscribeVisibleLogicalRangeChange(e) {\n\t\tthis.mu.l(e);\n\t}\n\tunsubscribeVisibleLogicalRangeChange(e) {\n\t\tthis.mu.v(e);\n\t}\n\tsubscribeSizeChange(e) {\n\t\tthis.Om.l(e);\n\t}\n\tunsubscribeSizeChange(e) {\n\t\tthis.Om.v(e);\n\t}\n\tapplyOptions(e) {\n\t\tthis.yl.$h(e);\n\t}\n\toptions() {\n\t\treturn Object.assign(Object.assign({}, M(this.yl.W())), { barSpacing: this.yl.le() });\n\t}\n\tgw() {\n\t\tthis.ww.M() && this.ww.m(this.getVisibleRange());\n\t}\n\tMw() {\n\t\tthis.mu.M() && this.mu.m(this.getVisibleLogicalRange());\n\t}\n\txw(e) {\n\t\tthis.Om.m(e.width, e.height);\n\t}\n};\nfunction Pi(e) {\n\tif (e === void 0 || e.type === \"custom\") return;\n\tlet t = e;\n\tt.minMove !== void 0 && t.precision === void 0 && (t.precision = function(e) {\n\t\tif (e >= 1) return 0;\n\t\tlet t = 0;\n\t\tfor (; t < 8; t++) {\n\t\t\tif (Math.abs(Math.round(e) - e) < 1e-8) return t;\n\t\t\te *= 10;\n\t\t}\n\t\treturn t;\n\t}(t.minMove));\n}\nfunction Fi(e) {\n\treturn function(e) {\n\t\tif (ue(e.handleScale)) {\n\t\t\tlet t = e.handleScale;\n\t\t\te.handleScale = {\n\t\t\t\taxisDoubleClickReset: {\n\t\t\t\t\ttime: t,\n\t\t\t\t\tprice: t\n\t\t\t\t},\n\t\t\t\taxisPressedMouseMove: {\n\t\t\t\t\ttime: t,\n\t\t\t\t\tprice: t\n\t\t\t\t},\n\t\t\t\tmouseWheel: t,\n\t\t\t\tpinch: t\n\t\t\t};\n\t\t} else if (e.handleScale !== void 0) {\n\t\t\tlet { axisPressedMouseMove: t, axisDoubleClickReset: n } = e.handleScale;\n\t\t\tue(t) && (e.handleScale.axisPressedMouseMove = {\n\t\t\t\ttime: t,\n\t\t\t\tprice: t\n\t\t\t}), ue(n) && (e.handleScale.axisDoubleClickReset = {\n\t\t\t\ttime: n,\n\t\t\t\tprice: n\n\t\t\t});\n\t\t}\n\t\tlet t = e.handleScroll;\n\t\tue(t) && (e.handleScroll = {\n\t\t\thorzTouchDrag: t,\n\t\t\tvertTouchDrag: t,\n\t\t\tmouseWheel: t,\n\t\t\tpressedMouseMove: t\n\t\t});\n\t}(e), e;\n}\nvar Ii = class {\n\tconstructor(e, t, n) {\n\t\tthis.Sw = /* @__PURE__ */ new Map(), this.kw = /* @__PURE__ */ new Map(), this.yw = new k(), this.Cw = new k(), this.Tw = new k(), this.Pw = new ui(t);\n\t\tlet r = n === void 0 ? M(Di()) : A(M(Di()), Fi(n));\n\t\tthis.q_ = t, this.aw = new Jr(e, r, t), this.aw.lm().l(((e) => {\n\t\t\tthis.yw.M() && this.yw.m(this.Rw(e()));\n\t\t}), this), this.aw.am().l(((e) => {\n\t\t\tthis.Cw.M() && this.Cw.m(this.Rw(e()));\n\t\t}), this), this.aw.Xc().l(((e) => {\n\t\t\tthis.Tw.M() && this.Tw.m(this.Rw(e()));\n\t\t}), this);\n\t\tlet i = this.aw.$t();\n\t\tthis.Dw = new Ni(i, this.aw.fb(), this.q_);\n\t}\n\tremove() {\n\t\tthis.aw.lm().p(this), this.aw.am().p(this), this.aw.Xc().p(this), this.Dw.S(), this.aw.S(), this.Sw.clear(), this.kw.clear(), this.yw.S(), this.Cw.S(), this.Tw.S(), this.Pw.S();\n\t}\n\tresize(e, t, n) {\n\t\tthis.autoSizeActive() || this.aw._b(e, t, n);\n\t}\n\taddCustomSeries(e, t) {\n\t\tlet n = C(e), r = Object.assign(Object.assign({}, _), n.defaultOptions());\n\t\treturn this.Vw(\"Custom\", r, t, n);\n\t}\n\taddAreaSeries(e) {\n\t\treturn this.Vw(\"Area\", m, e);\n\t}\n\taddBaselineSeries(e) {\n\t\treturn this.Vw(\"Baseline\", h, e);\n\t}\n\taddBarSeries(e) {\n\t\treturn this.Vw(\"Bar\", f, e);\n\t}\n\taddCandlestickSeries(e = {}) {\n\t\treturn function(e) {\n\t\t\te.borderColor !== void 0 && (e.borderUpColor = e.borderColor, e.borderDownColor = e.borderColor), e.wickColor !== void 0 && (e.wickUpColor = e.wickColor, e.wickDownColor = e.wickColor);\n\t\t}(e), this.Vw(\"Candlestick\", d, e);\n\t}\n\taddHistogramSeries(e) {\n\t\treturn this.Vw(\"Histogram\", g, e);\n\t}\n\taddLineSeries(e) {\n\t\treturn this.Vw(\"Line\", p, e);\n\t}\n\tremoveSeries(e) {\n\t\tlet t = x(this.Sw.get(e)), n = this.Pw.vd(t);\n\t\tthis.aw.$t().vd(t), this.Ow(n), this.Sw.delete(e), this.kw.delete(t);\n\t}\n\tpw(e, t) {\n\t\tthis.Ow(this.Pw.Kb(e, t));\n\t}\n\tbw(e, t) {\n\t\tthis.Ow(this.Pw.iw(e, t));\n\t}\n\tsubscribeClick(e) {\n\t\tthis.yw.l(e);\n\t}\n\tunsubscribeClick(e) {\n\t\tthis.yw.v(e);\n\t}\n\tsubscribeCrosshairMove(e) {\n\t\tthis.Tw.l(e);\n\t}\n\tunsubscribeCrosshairMove(e) {\n\t\tthis.Tw.v(e);\n\t}\n\tsubscribeDblClick(e) {\n\t\tthis.Cw.l(e);\n\t}\n\tunsubscribeDblClick(e) {\n\t\tthis.Cw.v(e);\n\t}\n\tpriceScale(e) {\n\t\treturn new Oi(this.aw, e);\n\t}\n\ttimeScale() {\n\t\treturn this.Dw;\n\t}\n\tapplyOptions(e) {\n\t\tthis.aw.$h(Fi(e));\n\t}\n\toptions() {\n\t\treturn this.aw.W();\n\t}\n\ttakeScreenshot() {\n\t\treturn this.aw.wb();\n\t}\n\tautoSizeActive() {\n\t\treturn this.aw.kb();\n\t}\n\tchartElement() {\n\t\treturn this.aw.yb();\n\t}\n\tpaneSize() {\n\t\tlet e = this.aw.Tb();\n\t\treturn {\n\t\t\theight: e.height,\n\t\t\twidth: e.width\n\t\t};\n\t}\n\tsetCrosshairPosition(e, t, n) {\n\t\tlet r = this.Sw.get(n);\n\t\tif (r === void 0) return;\n\t\tlet i = this.aw.$t().dr(r);\n\t\ti !== null && this.aw.$t().ad(e, t, i);\n\t}\n\tclearCrosshairPosition() {\n\t\tthis.aw.$t().od(!0);\n\t}\n\tVw(e, t, n = {}, r) {\n\t\tPi(n.priceFormat);\n\t\tlet i = A(M(ee), M(t), n), a = this.aw.$t().dd(e, i, r), o = new Mi(a, this, this, this, this.q_);\n\t\treturn this.Sw.set(o, a), this.kw.set(a, o), o;\n\t}\n\tOw(e) {\n\t\tlet t = this.aw.$t();\n\t\tt._d(e.St.Eu, e.St.hw, e.St.lw), e.ew.forEach(((e, t) => t.J(e.$e, e.rw))), t.Wu();\n\t}\n\tBw(e) {\n\t\treturn x(this.kw.get(e));\n\t}\n\tRw(e) {\n\t\tlet t = /* @__PURE__ */ new Map();\n\t\te.Nb.forEach(((e, n) => {\n\t\t\tlet r = n.Qh(), i = yi(r)(e);\n\t\t\tif (r !== \"Custom\") b(Xr(i));\n\t\t\telse {\n\t\t\t\tlet e = n.Ta();\n\t\t\t\tb(!e || !1 === e(i));\n\t\t\t}\n\t\t\tt.set(this.Bw(n), i);\n\t\t}));\n\t\tlet n = e.Eb !== void 0 && this.kw.has(e.Eb) ? this.Bw(e.Eb) : void 0;\n\t\treturn {\n\t\t\ttime: e.zb,\n\t\t\tlogical: e.ee,\n\t\t\tpoint: e.Lb,\n\t\t\thoveredSeries: n,\n\t\t\thoveredObjectId: e.Fb,\n\t\t\tseriesData: t,\n\t\t\tsourceEvent: e.Wb\n\t\t};\n\t}\n};\nfunction Li(e, t, n) {\n\tlet r;\n\tif (le(e)) {\n\t\tlet t = document.getElementById(e);\n\t\tb(t !== null, `Cannot find element in DOM with id=${e}`), r = t;\n\t} else r = e;\n\tlet i = new Ii(r, t, n);\n\treturn t.setOptions(i.options()), i;\n}\nfunction Ri(e, t) {\n\treturn Li(e, new mr(), mr.Id(t));\n}\nObject.assign(Object.assign({}, ee), _);\n//#endregion\nexport { Jn as ColorType, Ri as createChart };\n","imports":[],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/portfolio-CSi-hzZM.js","kind":"module","text":"import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, M as c, N as l, O as u, P as d, R as f, S as p, T as m, V as h, W as g, _, a as v, c as y, d as ee, f as b, g as x, h as S, i as C, j as w, k as T, l as E, m as D, n as O, o as k, q as te, r as A, s as ne, t as re, u as j, v as M, w as N, y as ie, z as ae } from \"./Tabs-C-5A_i9z.js\";\nimport oe, { createContext as P, useCallback as F, useContext as se, useEffect as I, useId as ce, useMemo as L, useRef as R, useState as z } from \"react\";\nimport { Fragment as le, jsx as B, jsxs as V } from \"react/jsx-runtime\";\n//#region src/hooks/useTheme.ts\nvar ue = {\n\t\"--ca5ss4b-primary\": \"--ct-primary\",\n\t\"--ca5ss4b-primary-foreground\": \"--ct-primary-foreground\",\n\t\"--ca5ss4b-background\": \"--ct-background\",\n\t\"--ca5ss4b-foreground\": \"--ct-foreground\",\n\t\"--ca5ss4b-muted\": \"--ct-muted\",\n\t\"--ca5ss4b-muted-foreground\": \"--ct-muted-foreground\",\n\t\"--ca5ss4b-border\": \"--ct-border\",\n\t\"--ca5ss4b-input\": \"--ct-input\",\n\t\"--ca5ss4b-ring\": \"--ct-ring\",\n\t\"--ca5ss4b-radius\": \"--ct-radius\",\n\t\"--ca5ss4b-destructive\": \"--ct-destructive\",\n\t\"--ca5ss4b-destructive-foreground\": \"--ct-destructive-foreground\"\n};\nfunction de(e, t) {\n\treturn JSON.stringify(e) === JSON.stringify(t);\n}\nfunction fe(e) {\n\treturn e === \"system\" || e === \"auto\";\n}\nfunction pe(e) {\n\treturn e === \"light\" || e === \"dark\";\n}\nfunction me() {\n\treturn typeof document > \"u\" ? \"light\" : document.documentElement.classList.contains(\"ca5ss4b-dark\") ? \"dark\" : \"light\";\n}\nfunction H(e = \"system\", t) {\n\tlet [n, r] = z(e), [i, a] = z(\"light\"), o = R(t), s = L(() => de(o.current, t) ? o.current : (o.current = t, t), [t]);\n\tI(() => {\n\t\tif (!fe(n) || typeof window > \"u\") return;\n\t\tlet e = () => a(me()), t = (e) => {\n\t\t\tlet t = e.detail;\n\t\t\ta(pe(t?.resolved) ? t.resolved : me());\n\t\t};\n\t\treturn e(), window.addEventListener(\"ca5ss4b:color-mode-change\", t), () => {\n\t\t\twindow.removeEventListener(\"ca5ss4b:color-mode-change\", t);\n\t\t};\n\t}, [n]);\n\tlet c = n === \"dark\" || fe(n) && i === \"dark\";\n\treturn {\n\t\tmode: n,\n\t\tsetMode: r,\n\t\tisDark: c,\n\t\tclassName: L(() => `cedros-trade ${c ? \"cedros-trade--dark\" : \"\"}`.trim(), [c]),\n\t\tstyle: L(() => {\n\t\t\tif (!s) return {};\n\t\t\tlet e = {};\n\t\t\tfor (let [t, n] of Object.entries(s)) n && ue[t] && (e[ue[t]] = n);\n\t\t\tfor (let [t, n] of Object.entries(s)) n && !ue[t] && (e[t] = n);\n\t\t\treturn e;\n\t\t}, [s])\n\t};\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/value/use-velocity.mjs\nfunction he(t) {\n\tlet n = T(t.getVelocity()), r = () => {\n\t\tlet e = t.getVelocity();\n\t\tn.set(e), e && l.update(r);\n\t};\n\treturn e(t, \"change\", () => {\n\t\tl.update(r, !1, !0);\n\t}), n;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.mjs\nvar ge = class {\n\tconstructor() {\n\t\tthis.componentControls = /* @__PURE__ */ new Set();\n\t}\n\tsubscribe(e) {\n\t\treturn this.componentControls.add(e), () => this.componentControls.delete(e);\n\t}\n\tstart(e, t) {\n\t\tthis.componentControls.forEach((n) => {\n\t\t\tn.start(e.nativeEvent || e, t);\n\t\t});\n\t}\n\tcancel() {\n\t\tthis.componentControls.forEach((e) => {\n\t\t\te.cancel();\n\t\t});\n\t}\n\tstop() {\n\t\tthis.componentControls.forEach((e) => {\n\t\t\te.stop();\n\t\t});\n\t}\n}, _e = () => new ge();\nfunction ve() {\n\treturn d(_e);\n}\n//#endregion\n//#region src/context/CedrosTradeProvider.tsx\nvar U = P(null);\nfunction ye({ config: e, children: n, theme: r = \"system\", themeOverrides: i, unstyled: o = !1, i18n: s }) {\n\tlet c = H(r, i), l = L(() => new g(e.serverUrl, e.getAccessToken, e.apiKey), [\n\t\te.apiKey,\n\t\te.getAccessToken,\n\t\te.serverUrl\n\t]), u = L(() => ({\n\t\tapi: l,\n\t\tconfig: e,\n\t\ttheme: c\n\t}), [\n\t\tl,\n\t\te,\n\t\tc\n\t]), d = L(() => t(e.i18n, s), [e.i18n, s]);\n\treturn o ? /* @__PURE__ */ B(a, {\n\t\t...d,\n\t\tchildren: /* @__PURE__ */ B(U.Provider, {\n\t\t\tvalue: u,\n\t\t\tchildren: /* @__PURE__ */ B(M, { children: n })\n\t\t})\n\t}) : /* @__PURE__ */ B(a, {\n\t\t...d,\n\t\tchildren: /* @__PURE__ */ B(U.Provider, {\n\t\t\tvalue: u,\n\t\t\tchildren: /* @__PURE__ */ B(M, { children: /* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: c.className,\n\t\t\t\tstyle: c.style,\n\t\t\t\tchildren: n\n\t\t\t}) })\n\t\t})\n\t});\n}\nfunction be() {\n\tlet e = se(U);\n\tif (!e) throw Error(\"useTradeContext must be used within <CedrosTradeProvider>\");\n\treturn e;\n}\nfunction W() {\n\treturn be().api;\n}\nfunction G() {\n\treturn be().theme;\n}\n//#endregion\n//#region src/utils/useAsyncMutation.ts\nfunction xe({ mapError: e }) {\n\tlet [t, n] = z(!1), [r, i] = z(null), a = R(e);\n\treturn a.current = e, {\n\t\tisLoading: t,\n\t\terror: r,\n\t\trun: F(async (e) => {\n\t\t\tn(!0), i(null);\n\t\t\ttry {\n\t\t\t\treturn await e();\n\t\t\t} catch (e) {\n\t\t\t\tthrow i(a.current(e)), e;\n\t\t\t} finally {\n\t\t\t\tn(!1);\n\t\t\t}\n\t\t}, []),\n\t\tresetError: F(() => {\n\t\t\ti(null);\n\t\t}, [])\n\t};\n}\n//#endregion\n//#region src/hooks/useSwap.ts\nfunction K() {\n\tlet e = W(), t = s(), [n, r] = z(null), [i, a] = z([]), [o, c] = z(null), [l, u] = z(!1), [d, f] = z(null), [p, m] = z(null), [h, g] = z(null), { isLoading: _, error: v, run: y, resetError: ee } = xe({ mapError: (e) => S(e, t) }), b = R(0), x = R(null);\n\tI(() => (r(null), a([]), c(null), u(!1), f(null), () => {\n\t\tb.current += 1, x.current?.abort();\n\t}), [e]);\n\tlet C = F(async (n, i, o, s) => {\n\t\tlet l = ++b.current;\n\t\tx.current?.abort();\n\t\tlet d = new AbortController();\n\t\tx.current = d, r(null), a([]), c(null), f(null), u(!0);\n\t\ttry {\n\t\t\tlet u = await e.compareQuotes(n, i, o, s, d.signal);\n\t\t\tif (d.signal.aborted || b.current !== l) throw new DOMException(\"Quote superseded\", \"AbortError\");\n\t\t\tlet f = u[0];\n\t\t\tif (!f) throw Error(t.t(\"errors.noProviders\"));\n\t\t\treturn b.current === l && (r(f), a(u), c(Date.now())), f;\n\t\t} catch (e) {\n\t\t\tthrow d.signal.aborted || b.current !== l ? new DOMException(\"Quote superseded\", \"AbortError\") : (b.current === l && f(S(e, t)), e);\n\t\t} finally {\n\t\t\tb.current === l && u(!1);\n\t\t}\n\t}, [e, t]), w = F(async (t, n) => y(async () => {\n\t\tlet r = await e.buildSwap(t, n);\n\t\treturn m(r), r;\n\t}), [e, y]), T = F(async (t, n, r) => y(async () => {\n\t\tlet i = await e.executeSwap(t, n, r);\n\t\treturn g(i), i;\n\t}), [e, y]), E = F(async (t, n, r) => y(async () => await e.compareQuotes(t, n, r)), [e, y]), D = F(() => {\n\t\tb.current += 1, x.current?.abort(), r(null), a([]), c(null), u(!1), f(null), m(null), g(null), ee();\n\t}, [ee]);\n\treturn {\n\t\tquote: n,\n\t\tquotes: i,\n\t\tquotedAt: o,\n\t\ttransaction: p,\n\t\tresult: h,\n\t\tisLoading: l || _,\n\t\terror: d ?? v,\n\t\tgetQuote: C,\n\t\tbuildTransaction: w,\n\t\texecute: T,\n\t\tcompareProviders: E,\n\t\treset: D\n\t};\n}\n//#endregion\n//#region src/hooks/useTransfer.ts\nfunction q() {\n\tlet e = W(), t = s(), [n, r] = z(null), [i, a] = z(null), { isLoading: o, error: c, run: l, resetError: u } = xe({ mapError: (e) => S(e, t) });\n\treturn {\n\t\tbuildResult: n,\n\t\texecuteResult: i,\n\t\tisLoading: o,\n\t\terror: c,\n\t\tbuild: F(async (t, n, i, a, o) => l(async () => {\n\t\t\tlet s = await e.buildTransfer({\n\t\t\t\tsender: t,\n\t\t\t\trecipient: n,\n\t\t\t\tmint: i,\n\t\t\t\tamount: a,\n\t\t\t\tmemo: o\n\t\t\t});\n\t\t\treturn r(s), s;\n\t\t}), [e, l]),\n\t\texecute: F(async (t) => l(async () => {\n\t\t\tlet n = await e.executeTransfer(t);\n\t\t\treturn a(n), n;\n\t\t}), [e, l]),\n\t\tresolveAddress: F(async (t) => e.resolveAddress(t), [e]),\n\t\treset: F(() => {\n\t\t\tr(null), a(null), u();\n\t\t}, [u])\n\t};\n}\n//#endregion\n//#region src/hooks/usePositions.ts\nfunction J(e) {\n\tlet t = W(), n = s(), { data: r, isLoading: i, error: a, refresh: o } = D({\n\t\tkey: e ? [\n\t\t\t\"positions\",\n\t\t\tt,\n\t\t\te\n\t\t] : null,\n\t\tinitialData: null,\n\t\tload: async (n) => t.getPositions(e, n),\n\t\tmapError: (e) => S(e, n)\n\t});\n\treturn {\n\t\tpositions: r,\n\t\tisLoading: i,\n\t\terror: a,\n\t\trefresh: F(() => o({ force: !0 }), [o])\n\t};\n}\n//#endregion\n//#region src/hooks/useOpenOrders.ts\nvar Se = {\n\tlimitOrders: [],\n\tdcaOrders: []\n};\nfunction Ce(e) {\n\tlet t = W(), n = s(), { data: r, isLoading: i, error: a, refresh: o } = D({\n\t\tkey: e ? [\n\t\t\t\"open-orders\",\n\t\t\tt,\n\t\t\te\n\t\t] : null,\n\t\tinitialData: Se,\n\t\tload: async (n) => t.getOpenOrders(e, n),\n\t\tmapError: (e) => S(e, n)\n\t}), c = F(() => o({ force: !0 }), [o]), l = F(async (e, n) => {\n\t\tlet r = await t.cancelOrder(e, n);\n\t\treturn await c(), r;\n\t}, [t, c]);\n\treturn {\n\t\tlimitOrders: r.limitOrders,\n\t\tdcaOrders: r.dcaOrders,\n\t\tisLoading: i,\n\t\terror: a,\n\t\trefresh: c,\n\t\tcancelOrder: l\n\t};\n}\n//#endregion\n//#region src/hooks/useTokens.ts\nvar we = [];\nfunction Te() {\n\tlet e = W(), t = s(), { data: n, isLoading: r, error: i, refresh: a } = D({\n\t\tkey: [\"tokens\", e],\n\t\tinitialData: we,\n\t\tcacheTimeMs: 6e4,\n\t\tload: async (t) => {\n\t\t\tlet { tokens: n } = await e.getTokens(void 0, t);\n\t\t\treturn n;\n\t\t},\n\t\tmapError: (e) => S(e, t)\n\t});\n\treturn {\n\t\ttokens: n,\n\t\tisLoading: r,\n\t\terror: i,\n\t\trefresh: F(() => a({ force: !0 }), [a]),\n\t\tgetByMint: F((e) => n.find((t) => t.mint === e), [n]),\n\t\tgetBySymbol: F((e) => {\n\t\t\tlet t = e.toUpperCase();\n\t\t\treturn n.find((e) => e.symbol.toUpperCase() === t);\n\t\t}, [n])\n\t};\n}\n//#endregion\n//#region src/hooks/useLimitOrder.ts\nfunction Ee() {\n\tlet e = W(), t = s(), { isLoading: n, error: r, run: i } = xe({ mapError: (e) => S(e, t) });\n\treturn {\n\t\tisLoading: n,\n\t\terror: r,\n\t\tcreateLimit: F(async (t) => i(() => e.createLimitOrder(t)), [e, i]),\n\t\tcreateStopLoss: F(async (t) => i(() => e.createStopLoss(t)), [e, i]),\n\t\tcreateTakeProfit: F(async (t) => i(() => e.createTakeProfit(t)), [e, i]),\n\t\tcreateDca: F(async (t) => i(() => e.createDca(t)), [e, i])\n\t};\n}\n//#endregion\n//#region src/autosave/usePendingNavigationGuard.ts\nfunction Y(e) {\n\tI(() => {\n\t\tif (!e || typeof window > \"u\") return;\n\t\tlet t = (e) => {\n\t\t\te.preventDefault(), e.returnValue = \"\";\n\t\t};\n\t\treturn window.addEventListener(\"beforeunload\", t), () => window.removeEventListener(\"beforeunload\", t);\n\t}, [e]);\n}\n//#endregion\n//#region src/components/shared/Icons.tsx\nfunction X({ className: e = \"ct-h-[1em] ct-w-[1em]\", title: t, strokeWidth: n = 1.75, children: r }) {\n\treturn /* @__PURE__ */ V(\"svg\", {\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: n,\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\tclassName: e,\n\t\t\"aria-hidden\": t ? void 0 : !0,\n\t\trole: t ? \"img\" : void 0,\n\t\tfocusable: \"false\",\n\t\tchildren: [t ? /* @__PURE__ */ B(\"title\", { children: t }) : null, r]\n\t});\n}\nfunction De(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M7 4v15\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"m3.5 7.5 3.5-3.5 3.5 3.5\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M17 20V5\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"m13.5 16.5 3.5 3.5 3.5-3.5\" })\n\t\t]\n\t});\n}\nfunction Oe(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ B(\"path\", { d: \"M6 6 18 18\" }), /* @__PURE__ */ B(\"path\", { d: \"M18 6 6 18\" })]\n\t});\n}\nfunction ke(e) {\n\treturn /* @__PURE__ */ B(X, {\n\t\t...e,\n\t\tchildren: /* @__PURE__ */ B(\"path\", { d: \"M20 6 9 17l-5-5\" })\n\t});\n}\nfunction Ae(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ B(\"circle\", {\n\t\t\tcx: \"12\",\n\t\t\tcy: \"12\",\n\t\t\tr: \"9\"\n\t\t}), /* @__PURE__ */ B(\"path\", { d: \"m8.5 12 2.5 2.5 4.5-5\" })]\n\t});\n}\nfunction je(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M12 9v4\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M12 17h.01\" })\n\t\t]\n\t});\n}\nfunction Me(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"circle\", {\n\t\t\t\tcx: \"12\",\n\t\t\t\tcy: \"12\",\n\t\t\t\tr: \"9\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M12 11v5\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M12 8h.01\" })\n\t\t]\n\t});\n}\nfunction Ne(e) {\n\treturn /* @__PURE__ */ B(X, {\n\t\t...e,\n\t\tchildren: /* @__PURE__ */ B(\"path\", { d: \"m6 9 6 6 6-6\" })\n\t});\n}\nfunction Pe(e) {\n\treturn /* @__PURE__ */ B(X, {\n\t\t...e,\n\t\tchildren: /* @__PURE__ */ B(\"path\", { d: \"m9 6 6 6-6 6\" })\n\t});\n}\nfunction Fe(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ B(\"circle\", {\n\t\t\tcx: \"11\",\n\t\t\tcy: \"11\",\n\t\t\tr: \"7\"\n\t\t}), /* @__PURE__ */ B(\"path\", { d: \"m20 20-3.2-3.2\" })]\n\t});\n}\nfunction Ie({ filled: e = !1, ...t }) {\n\treturn /* @__PURE__ */ B(X, {\n\t\t...t,\n\t\tchildren: /* @__PURE__ */ B(\"path\", {\n\t\t\td: \"M12 3.5l2.6 5.27 5.82.85-4.21 4.1.99 5.78L12 16.77 6.8 19.5l.99-5.78-4.21-4.1 5.82-.85L12 3.5Z\",\n\t\t\tfill: e ? \"currentColor\" : \"none\"\n\t\t})\n\t});\n}\nfunction Le(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M3 8a2 2 0 0 1 2-2h12.5a1.5 1.5 0 0 1 1.5 1.5V8\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M3 8v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2H5a2 2 0 0 1-2-2Z\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M16.5 13.5h.01\" })\n\t\t]\n\t});\n}\nfunction Re(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ B(\"path\", { d: \"M3 17 9.5 10.5l3.5 3.5L21 6.5\" }), /* @__PURE__ */ B(\"path\", { d: \"M15 6.5h6v6\" })]\n\t});\n}\nfunction ze(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ B(\"path\", { d: \"M3 7 9.5 13.5l3.5-3.5L21 17.5\" }), /* @__PURE__ */ B(\"path\", { d: \"M15 17.5h6v-6\" })]\n\t});\n}\nfunction Z(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M20 11a8 8 0 0 0-14.3-4.6L3 9\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M3 4v5h5\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M4 13a8 8 0 0 0 14.3 4.6L21 15\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M21 20v-5h-5\" })\n\t\t]\n\t});\n}\nfunction Be(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ B(\"rect\", {\n\t\t\tx: \"9\",\n\t\t\ty: \"9\",\n\t\t\twidth: \"11\",\n\t\t\theight: \"11\",\n\t\t\trx: \"2\"\n\t\t}), /* @__PURE__ */ B(\"path\", { d: \"M5 15a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2\" })]\n\t});\n}\nfunction Ve(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M4 7h10\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M18 7h2\" }),\n\t\t\t/* @__PURE__ */ B(\"circle\", {\n\t\t\t\tcx: \"16\",\n\t\t\t\tcy: \"7\",\n\t\t\t\tr: \"2\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M4 17h2\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M10 17h10\" }),\n\t\t\t/* @__PURE__ */ B(\"circle\", {\n\t\t\t\tcx: \"8\",\n\t\t\t\tcy: \"17\",\n\t\t\t\tr: \"2\"\n\t\t\t})\n\t\t]\n\t});\n}\nfunction He(e) {\n\treturn /* @__PURE__ */ B(X, {\n\t\t...e,\n\t\tchildren: /* @__PURE__ */ B(\"path\", { d: \"M13 2 4.5 13.5H11l-1 8.5L19.5 10H13l0-8Z\" })\n\t});\n}\nfunction Ue(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M14 4h6v6\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M20 4 11 13\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\" })\n\t\t]\n\t});\n}\nfunction We(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ B(\"path\", { d: \"M12 3 5 6v5.5c0 4.2 2.9 7.6 7 9 4.1-1.4 7-4.8 7-9V6l-7-3Z\" }), /* @__PURE__ */ B(\"path\", { d: \"m9 11.5 2 2 4-4.5\" })]\n\t});\n}\nfunction Ge(e) {\n\treturn /* @__PURE__ */ B(X, {\n\t\t...e,\n\t\tchildren: /* @__PURE__ */ B(\"path\", { d: \"M3 12h3.5l2.5 7 4-15 2.5 8H21\" })\n\t});\n}\nfunction Ke(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"circle\", {\n\t\t\t\tcx: \"12\",\n\t\t\t\tcy: \"12\",\n\t\t\t\tr: \"8.5\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"circle\", {\n\t\t\t\tcx: \"12\",\n\t\t\t\tcy: \"12\",\n\t\t\t\tr: \"4.5\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"circle\", {\n\t\t\t\tcx: \"12\",\n\t\t\t\tcy: \"12\",\n\t\t\t\tr: \"1\",\n\t\t\t\tfill: \"currentColor\",\n\t\t\t\tstroke: \"none\"\n\t\t\t})\n\t\t]\n\t});\n}\nfunction qe(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M8.2 3h7.6L21 8.2v7.6L15.8 21H8.2L3 15.8V8.2L8.2 3Z\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M12 8v4.5\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"M12 16h.01\" })\n\t\t]\n\t});\n}\nfunction Je(e) {\n\treturn /* @__PURE__ */ V(X, {\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"m12 3 8.5 4.5L12 12 3.5 7.5 12 3Z\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"m4 12 8 4.3 8-4.3\" }),\n\t\t\t/* @__PURE__ */ B(\"path\", { d: \"m4 16.3 8 4.3 8-4.3\" })\n\t\t]\n\t});\n}\nfunction Ye({ className: e = \"ct-h-4 ct-w-4\" }) {\n\treturn /* @__PURE__ */ B(\"span\", {\n\t\tclassName: `ct-spinner ${e}`,\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\nfunction Xe({ icon: e, large: t = !1, className: n = \"\" }) {\n\treturn /* @__PURE__ */ B(\"span\", {\n\t\tclassName: `ct-icon-medallion ${t ? \"ct-icon-medallion-lg\" : \"\"} ${n}`,\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: /* @__PURE__ */ B(e, {\n\t\t\tclassName: t ? \"ct-h-7 ct-w-7\" : \"ct-h-5 ct-w-5\",\n\t\t\tstrokeWidth: 1.6\n\t\t})\n\t});\n}\n//#endregion\n//#region src/components/swap/TokenSelector.tsx\nfunction Ze({ isOpen: e, onClose: t, onSelect: n, excludeMints: r = [], allowedMints: i, className: a = \"\" }) {\n\treturn /* @__PURE__ */ B(M, {\n\t\tfeatures: \"max\",\n\t\tchildren: /* @__PURE__ */ B(w, {\n\t\t\tinitial: !1,\n\t\t\tchildren: e && /* @__PURE__ */ B(Qe, {\n\t\t\t\tonClose: t,\n\t\t\t\tonSelect: n,\n\t\t\t\texcludeMints: r,\n\t\t\t\tallowedMints: i,\n\t\t\t\tclassName: a\n\t\t\t}, \"token-selector\")\n\t\t})\n\t});\n}\nfunction Qe({ onClose: e, onSelect: t, excludeMints: a = [], allowedMints: o, className: l = \"\" }) {\n\tlet { t: d } = s(), { tokens: f } = Te(), [h, g] = z(\"\"), [_, v] = z($e), y = R(null), ee = R(null), b = ve(), x = N(\"(max-width: 639px)\"), S = r(), C = c(), w = T(0), E = he(w), D = u(E, (e) => 1 + Math.min(Math.abs(e) / 9e3, .16)), O = u(E, (e) => `blur(${Math.min(Math.abs(e) / 1500, 1.5)}px)`);\n\tI(() => {\n\t\tlet t = document.activeElement;\n\t\tee.current?.focus();\n\t\tlet n = (t) => {\n\t\t\tif (t.key === \"Escape\") {\n\t\t\t\tt.preventDefault(), e();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (t.key !== \"Tab\" || !y.current) return;\n\t\t\tlet n = y.current.querySelectorAll(\"a[href], button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex=\\\"-1\\\"])\");\n\t\t\tif (n.length === 0) return;\n\t\t\tlet r = n[0], i = n[n.length - 1];\n\t\t\tt.shiftKey && document.activeElement === r ? (t.preventDefault(), i.focus()) : !t.shiftKey && document.activeElement === i && (t.preventDefault(), r.focus());\n\t\t};\n\t\treturn document.addEventListener(\"keydown\", n), () => {\n\t\t\tdocument.removeEventListener(\"keydown\", n), t?.focus?.();\n\t\t};\n\t}, [e]), I(() => {\n\t\ty.current && (y.current.inert = !C);\n\t}, [C]);\n\tlet k = L(() => {\n\t\tlet e = h.toLowerCase();\n\t\treturn f.filter((e) => !a.includes(e.mint)).filter((e) => !o || o.includes(e.mint)).filter((t) => !e || t.symbol.toLowerCase().includes(e) || t.name.toLowerCase().includes(e) || t.mint.includes(e));\n\t}, [\n\t\tf,\n\t\th,\n\t\ta,\n\t\to\n\t]), te = L(() => f.filter((e) => _.includes(e.mint)).filter((e) => !a.includes(e.mint)).filter((e) => !o || o.includes(e.mint)), [\n\t\tf,\n\t\t_,\n\t\ta,\n\t\to\n\t]), A = F((e) => {\n\t\tv((t) => {\n\t\t\tlet n = t.includes(e) ? t.filter((t) => t !== e) : [...t, e];\n\t\t\ttry {\n\t\t\t\tlocalStorage.setItem(\"ct-favorite-tokens\", JSON.stringify(n));\n\t\t\t} catch {}\n\t\t\treturn n;\n\t\t});\n\t}, []), ne = F((n) => {\n\t\tt(n), e(), g(\"\");\n\t}, [t, e]);\n\treturn /* @__PURE__ */ B(m, {\n\t\tclassName: `ct-token-selector-overlay ct-fixed ct-inset-0 ct-z-50 ct-flex ct-items-center ct-justify-center ct-bg-[var(--ct-overlay)] ct-p-4 ${l}`,\n\t\tstyle: { margin: 0 },\n\t\tinitial: { opacity: 0 },\n\t\tanimate: { opacity: 1 },\n\t\texit: { opacity: 0 },\n\t\ttransition: { duration: S ? .01 : .18 },\n\t\tonClick: e,\n\t\tchildren: /* @__PURE__ */ B(m, {\n\t\t\tinitial: {\n\t\t\t\topacity: 0,\n\t\t\t\ty: S ? 0 : 18,\n\t\t\t\tscale: S ? 1 : .98\n\t\t\t},\n\t\t\tanimate: {\n\t\t\t\topacity: 1,\n\t\t\t\ty: 0,\n\t\t\t\tscale: 1\n\t\t\t},\n\t\t\texit: {\n\t\t\t\topacity: 0,\n\t\t\t\ty: S ? 0 : 20,\n\t\t\t\tscale: S ? 1 : .985\n\t\t\t},\n\t\t\ttransition: ie,\n\t\t\tclassName: \"ct-token-selector-sheet-wrap ct-w-full ct-max-w-md\",\n\t\t\tchildren: /* @__PURE__ */ V(m, {\n\t\t\t\tref: y,\n\t\t\t\trole: \"dialog\",\n\t\t\t\t\"aria-modal\": \"true\",\n\t\t\t\t\"aria-label\": d(\"swap.selectToken\"),\n\t\t\t\t\"aria-hidden\": C ? void 0 : !0,\n\t\t\t\tclassName: \"ct-token-selector-sheet ct-panel-elevated ct-flex ct-max-h-[82vh] ct-w-full ct-flex-col ct-overflow-hidden ct-radius-panel\",\n\t\t\t\tstyle: { y: w },\n\t\t\t\tdrag: x && !S ? \"y\" : !1,\n\t\t\t\tdragControls: b,\n\t\t\t\tdragListener: !1,\n\t\t\t\tdragConstraints: {\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tbottom: 0\n\t\t\t\t},\n\t\t\t\tdragElastic: {\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tbottom: .08\n\t\t\t\t},\n\t\t\t\tdragMomentum: !1,\n\t\t\t\tdragSnapToOrigin: \"y\",\n\t\t\t\tdragDirectionLock: !0,\n\t\t\t\tonDragEnd: (t, n) => {\n\t\t\t\t\t(n.offset.y > 120 || n.velocity.y > 700) && e();\n\t\t\t\t},\n\t\t\t\tonClick: (e) => e.stopPropagation(),\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"ct-token-sheet-handle\",\n\t\t\t\t\t\t\"aria-label\": d(\"common.close\"),\n\t\t\t\t\t\tonClick: e,\n\t\t\t\t\t\tonPointerDown: (e) => {\n\t\t\t\t\t\t\tx && !S && b.start(e);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ B(i, { style: {\n\t\t\t\t\t\t\tscaleX: D,\n\t\t\t\t\t\t\tfilter: O\n\t\t\t\t\t\t} })\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-sticky ct-top-0 ct-z-10 ct-bg-[var(--ct-surface)]\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-justify-between ct-border-b ct-border-[var(--ct-border)] ct-px-4 ct-py-3\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"h3\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-text-lg ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\tchildren: d(\"swap.selectToken\")\n\t\t\t\t\t\t\t}), /* @__PURE__ */ B(n, {\n\t\t\t\t\t\t\t\tonClick: e,\n\t\t\t\t\t\t\t\t\"aria-label\": d(\"common.close\"),\n\t\t\t\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-rounded-full ct-p-1.5 ct-text-[var(--ct-muted-foreground)] hover:ct-bg-[var(--ct-muted)] hover:ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ B(Oe, { className: \"ct-h-4 ct-w-4\" })\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-relative ct-px-4 ct-py-3\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(Fe, { className: \"ct-pointer-events-none ct-absolute ct-left-7 ct-top-1/2 -ct-translate-y-1/2 ct-h-4 ct-w-4 ct-text-[var(--ct-muted-foreground)]\" }), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\tref: ee,\n\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\tplaceholder: d(\"swap.searchToken\"),\n\t\t\t\t\t\t\t\tvalue: h,\n\t\t\t\t\t\t\t\tonChange: (e) => g(e.target.value),\n\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-pl-9 ct-pr-3 ct-py-2.5 ct-text-[var(--ct-foreground)] ct-placeholder-[var(--ct-muted-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t})]\n\t\t\t\t\t}),\n\t\t\t\t\tte.length > 0 && !h && /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-stagger-dense ct-px-4 ct-pb-2 ct-flex ct-flex-wrap ct-gap-2\",\n\t\t\t\t\t\tchildren: te.map((e) => /* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\t\tonClick: () => ne(e),\n\t\t\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-rounded-full ct-bg-[var(--ct-info-bg)] ct-px-3 ct-py-1 ct-text-sm ct-font-medium ct-text-[var(--ct-info)] hover:ct-bg-[var(--ct-primary)] hover:ct-text-[var(--ct-primary-foreground)]\",\n\t\t\t\t\t\t\tchildren: e.symbol\n\t\t\t\t\t\t}, e.mint))\n\t\t\t\t\t}),\n\t\t\t\t\tte.length > 0 && !h && /* @__PURE__ */ B(\"hr\", { className: \"ct-divider-gradient ct-mx-4 ct-mb-1\" }),\n\t\t\t\t\t/* @__PURE__ */ V(p, {\n\t\t\t\t\t\taxis: \"y\",\n\t\t\t\t\t\tariaLabel: d(\"swap.selectToken\"),\n\t\t\t\t\t\tclassName: \"ct-stagger-dense ct-flex-1 ct-overflow-y-auto ct-px-2 ct-pb-2\",\n\t\t\t\t\t\tchildren: [k.map((e) => /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\trole: \"button\",\n\t\t\t\t\t\t\ttabIndex: 0,\n\t\t\t\t\t\t\tonClick: () => ne(e),\n\t\t\t\t\t\t\tonKeyDown: (t) => {\n\t\t\t\t\t\t\t\t(t.key === \"Enter\" || t.key === \" \") && (t.preventDefault(), ne(e));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tclassName: \"ct-progressive-row ct-focusable ct-pressable ct-flex ct-w-full ct-cursor-pointer ct-items-center ct-gap-3 ct-radius-control ct-px-3 ct-py-2.5 ct-text-left hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\te.logoUrl && /* @__PURE__ */ B(\"img\", {\n\t\t\t\t\t\t\t\t\tsrc: e.logoUrl,\n\t\t\t\t\t\t\t\t\talt: e.symbol,\n\t\t\t\t\t\t\t\t\tclassName: \"ct-w-8 ct-h-8 ct-rounded-full\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t!e.logoUrl && /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-token-avatar ct-flex ct-h-8 ct-w-8 ct-items-center ct-justify-center ct-rounded-full ct-text-xs ct-font-bold\",\n\t\t\t\t\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\t\t\t\t\tchildren: e.symbol.slice(0, 2)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-flex-1 ct-min-w-0\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: e.symbol\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)] ct-truncate\",\n\t\t\t\t\t\t\t\t\t\tchildren: e.name\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ B(n, {\n\t\t\t\t\t\t\t\t\tonClick: (t) => {\n\t\t\t\t\t\t\t\t\t\tt.stopPropagation(), A(e.mint);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\"aria-label\": _.includes(e.mint) ? d(\"swap.unfavoriteToken\", { symbol: e.symbol }) : d(\"swap.favoriteToken\", { symbol: e.symbol }),\n\t\t\t\t\t\t\t\t\t\"data-persist\": _.includes(e.mint) ? \"true\" : void 0,\n\t\t\t\t\t\t\t\t\tclassName: `ct-progressive-control ct-focusable ct-pressable ct-rounded-full ct-p-1.5 hover:ct-bg-[var(--ct-warning-bg)] ${_.includes(e.mint) ? \"ct-text-[var(--ct-warning)]\" : \"ct-text-[var(--ct-muted-foreground)] hover:ct-text-[var(--ct-warning)]\"}`,\n\t\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ B(Ie, {\n\t\t\t\t\t\t\t\t\t\tfilled: _.includes(e.mint),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-h-4 ct-w-4\"\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, e.mint)), k.length === 0 && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-px-4 ct-py-10 ct-text-center\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(j, {}), /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\tchildren: d(\"swap.noTokensFound\")\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t})]\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t})\n\t});\n}\nfunction $e() {\n\tif (typeof localStorage > \"u\") return [];\n\ttry {\n\t\tlet e = localStorage.getItem(\"ct-favorite-tokens\");\n\t\tif (!e) return [];\n\t\tlet t = JSON.parse(e);\n\t\tif (Array.isArray(t) && t.every((e) => typeof e == \"string\")) return t;\n\t\tlocalStorage.removeItem(\"ct-favorite-tokens\");\n\t} catch {}\n\treturn [];\n}\n//#endregion\n//#region src/components/swap/SlippageControl.tsx\nvar et = [\n\t{ bps: 10 },\n\t{ bps: 50 },\n\t{ bps: 100 }\n];\nfunction tt({ value: e, onChange: t, className: r = \"\" }) {\n\tlet { t: i, formatNumber: a, formatPercent: o, parseNumber: c } = s(), [l, u] = z(null), d = l?.value === e ? l : null, f = d !== null || !et.some((t) => t.bps === e), p = d?.input ?? a(e / 100), m = d?.invalid ?? !1, h = (n) => {\n\t\tlet r = c(n), i = r === null ? null : Math.round(r * 100);\n\t\tif (r !== null && i !== null && r >= 0 && r <= 50 && Math.abs(r * 100 - i) < 1e-8) {\n\t\t\tu({\n\t\t\t\tvalue: i,\n\t\t\t\tinput: n,\n\t\t\t\tinvalid: !1\n\t\t\t}), t(i);\n\t\t\treturn;\n\t\t}\n\t\tu({\n\t\t\tvalue: e,\n\t\t\tinput: n,\n\t\t\tinvalid: n.trim() !== \"\"\n\t\t});\n\t};\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-space-y-1 ${r}`,\n\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-flex ct-flex-wrap ct-items-center ct-justify-between ct-gap-2\",\n\t\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\tclassName: \"ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: i(\"swap.slippage\")\n\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-1 ct-rounded-full ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-p-1\",\n\t\t\t\tchildren: [\n\t\t\t\t\tet.map((r) => /* @__PURE__ */ B(n, {\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tt(r.bps), u(null);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName: `ct-focusable ct-pressable ct-rounded-full ct-px-2.5 ct-py-1 ct-text-xs ct-font-medium ${e === r.bps && !f ? \"ct-primary-action ct-text-[var(--ct-primary-foreground)]\" : \"ct-text-[var(--ct-muted-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\"}`,\n\t\t\t\t\t\tchildren: o(r.bps / 1e4, {\n\t\t\t\t\t\t\tvalueIsFraction: !0,\n\t\t\t\t\t\t\tmaximumFractionDigits: 1\n\t\t\t\t\t\t})\n\t\t\t\t\t}, r.bps)),\n\t\t\t\t\t/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\t\"aria-label\": i(\"swap.slippage\"),\n\t\t\t\t\t\t\"aria-invalid\": m,\n\t\t\t\t\t\tplaceholder: i(\"swap.custom\"),\n\t\t\t\t\t\tvalue: f ? p : \"\",\n\t\t\t\t\t\tonFocus: () => u({\n\t\t\t\t\t\t\tvalue: e,\n\t\t\t\t\t\t\tinput: p,\n\t\t\t\t\t\t\tinvalid: m\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: (e) => h(e.target.value),\n\t\t\t\t\t\tclassName: \"ct-field ct-w-16 ct-rounded-full ct-border ct-px-2 ct-py-1 ct-text-xs ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: \"%\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})]\n\t\t}), /* @__PURE__ */ B(x, {\n\t\t\topen: m,\n\t\t\tchildren: /* @__PURE__ */ B(\"p\", {\n\t\t\t\trole: \"alert\",\n\t\t\t\tclassName: \"ct-text-right ct-text-xs ct-text-[var(--ct-destructive)]\",\n\t\t\t\tchildren: i(\"swap.slippageRange\")\n\t\t\t})\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/components/shared/LoadingSpinner.tsx\nfunction Q({ className: e = \"\" }) {\n\tlet { t } = s();\n\treturn /* @__PURE__ */ V(\"span\", {\n\t\tclassName: `ct-inline-flex ct-items-center ct-justify-center ${e}`,\n\t\trole: \"status\",\n\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\tclassName: \"ct-spinner ct-h-4 ct-w-4\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\tclassName: \"ct-sr-only\",\n\t\t\tchildren: t(\"common.loading\")\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/components/shared/ErrorMessage.tsx\nfunction nt({ message: e, tone: t = \"danger\", className: n = \"\", onDismiss: r }) {\n\tlet { t: i } = s();\n\tif (!e) return null;\n\tlet a = t === \"danger\" || t === \"warning\";\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-enter ct-flex ct-items-start ct-justify-between ct-gap-3 ct-radius-card ct-border ct-px-3 ct-py-2.5 ct-text-sm ct-shadow-cedros ${it(t)} ${n}`,\n\t\trole: a ? \"alert\" : \"status\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\tclassName: \"ct-mt-1.5 ct-h-2 ct-w-2 ct-flex-none ct-rounded-full ct-bg-current\",\n\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\tclassName: \"ct-min-w-0 ct-flex-1 ct-leading-5\",\n\t\t\t\tchildren: e\n\t\t\t}),\n\t\t\tr && /* @__PURE__ */ B(\"button\", {\n\t\t\t\tonClick: r,\n\t\t\t\t\"aria-label\": i(\"common.dismiss\"),\n\t\t\t\tclassName: \"ct-focusable ct-pressable ct-rounded-full ct-p-1 ct-text-current hover:ct-opacity-70\",\n\t\t\t\tchildren: /* @__PURE__ */ B(Oe, { className: \"ct-h-3.5 ct-w-3.5\" })\n\t\t\t})\n\t\t]\n\t});\n}\nfunction rt(e) {\n\treturn /* @__PURE__ */ B(nt, {\n\t\ttone: \"danger\",\n\t\t...e\n\t});\n}\nfunction it(e) {\n\treturn e === \"warning\" ? \"ct-border-[var(--ct-warning)] ct-bg-[var(--ct-warning-bg)] ct-text-[var(--ct-warning)]\" : e === \"success\" ? \"ct-border-[var(--ct-success)] ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\" : e === \"info\" ? \"ct-border-[var(--ct-info)] ct-bg-[var(--ct-info-bg)] ct-text-[var(--ct-info)]\" : \"ct-border-[var(--ct-destructive)] ct-bg-[var(--ct-destructive-bg)] ct-text-[var(--ct-destructive)]\";\n}\n//#endregion\n//#region src/components/shared/WorkflowState.tsx\nfunction at({ title: e, body: t }) {\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-panel ct-enter ct-radius-card ct-px-5 ct-py-12 ct-text-center\",\n\t\trole: \"status\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-justify-center\",\n\t\t\t\tchildren: /* @__PURE__ */ B(Xe, {\n\t\t\t\t\ticon: Le,\n\t\t\t\t\tlarge: !0\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"h2\", {\n\t\t\t\tclassName: \"ct-mt-4 ct-text-lg ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\tchildren: e\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"p\", {\n\t\t\t\tclassName: \"ct-mx-auto ct-mt-2 ct-max-w-lg ct-text-sm ct-leading-6 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: t\n\t\t\t})\n\t\t]\n\t});\n}\nfunction ot({ result: e, action: t }) {\n\tlet { t: n } = s(), r = e.status === \"confirmed\", i = n(t === \"swap\" ? \"transaction.action.swap\" : \"transaction.action.transfer\"), a = n(r ? \"transaction.confirmed\" : \"transaction.submitted\", { action: i }), o = st(e.signature), c = ct(e.explorerUrl);\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-panel ct-panel-info ct-enter ct-radius-card ct-p-4\",\n\t\trole: \"status\",\n\t\t\"aria-live\": \"polite\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2 ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(ke, { className: \"ct-h-4 ct-w-4 ct-text-[var(--ct-success)]\" }), a]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"p\", {\n\t\t\t\tclassName: \"ct-mt-2 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: n(r ? \"transaction.confirmedBody\" : \"transaction.submittedBody\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-mt-3 ct-flex ct-flex-wrap ct-items-center ct-justify-between ct-gap-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"code\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: o\n\t\t\t\t}), c && /* @__PURE__ */ B(\"a\", {\n\t\t\t\t\thref: c,\n\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\trel: \"noreferrer\",\n\t\t\t\t\tclassName: \"ct-focusable ct-radius-control ct-text-sm ct-font-medium ct-text-[var(--ct-primary)] ct-underline\",\n\t\t\t\t\tchildren: n(\"transaction.viewExplorer\")\n\t\t\t\t})]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction st(e) {\n\treturn e.length <= 16 ? e : `${e.slice(0, 8)}…${e.slice(-6)}`;\n}\nfunction ct(e) {\n\tif (!e) return null;\n\ttry {\n\t\tlet t = new URL(e);\n\t\treturn t.protocol === \"https:\" ? t.toString() : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n//#endregion\n//#region src/hostContracts.ts\nfunction lt() {\n\treturn !1;\n}\n//#endregion\n//#region src/components/swap/SwapForm.tsx\nfunction $(e, t, n = \"en-US\") {\n\tif (!Number.isInteger(t) || t < 0 || t > 18 || e.length > 100) return null;\n\tlet r = h(e, n);\n\tif (!/^\\d+(\\.\\d*)?$/.test(r)) return null;\n\tlet [i, a = \"\"] = r.split(\".\");\n\tif (a.length > t) return null;\n\tlet o = 10n ** BigInt(t), s = BigInt(i || \"0\") * o + BigInt(a.padEnd(t, \"0\") || \"0\");\n\treturn s > 0n && s <= 18446744073709551615n ? s.toString() : null;\n}\nfunction ut({ walletAddress: e, onSign: t, onSuccess: r, onError: i, defaultInputMint: a = A, defaultOutputMint: o = C, allowedInputMints: c, allowedOutputMints: l, showHeading: u = !0, className: d = \"\" }) {\n\tlet p = s(), { t: m, formatNumber: h, formatPercent: g, formatTime: _ } = p, { api: w, config: T } = be(), { quote: E, quotes: D, quotedAt: O, result: re, isLoading: j, error: M, getQuote: N, buildTransaction: ie, execute: oe, reset: P } = K(), { tokens: se, isLoading: ce, error: L, refresh: ue, getByMint: de } = Te(), [fe, pe] = z({\n\t\tinputMint: a,\n\t\toutputMint: o\n\t}), me = v(se, fe, c, l), H = me?.inputMint ?? \"\", he = me?.outputMint ?? \"\", [ge, _e] = z(\"\"), [ve, U] = z(T.defaultSlippageBps ?? 30), [ye, W] = z(void 0), [G, xe] = z(!1), q = j || G, J = R(!1), Se = R(0), Ce = R(null), [we, Ee] = z(null), [Y, X] = z(\"quote\"), [Oe, Ae] = z(!1), [je, Me] = z(() => Date.now()), Ne = de(H) ?? null, Pe = de(he) ?? null, Fe = lt() && !!(e && t), Ie = Ne?.decimals ?? (H === \"So11111111111111111111111111111111111111112\" ? 9 : 6), Le = ge ? $(ge, Ie, p.locale) : null, Re = ge && !Le ? m(\"errors.invalidAmount\") : null, ze = (e) => !!(Ne && Pe) && e.inputMint === H && e.outputMint === he && e.inAmount === Le && e.slippageBps === ve, Z = E && ze(E) ? E : null, Be = D.filter(ze), Ve = Z, He = ye === void 0 ? null : ne(ye, Be), Ue = y(O, je, He), We = Ue === \"stale\", Ge = Ue === \"current\";\n\tI(() => {\n\t\tlet e = !0, t = ++Se.current, n = new AbortController();\n\t\treturn w.getSwapDefaults(n.signal).then((n) => {\n\t\t\t!e || Se.current !== t || (W(n.enabledProviders), e && !J.current && Number.isInteger(n.defaultSlippageBps) && n.defaultSlippageBps >= 0 && n.defaultSlippageBps <= 5e3 && U(n.defaultSlippageBps));\n\t\t}).catch(() => {\n\t\t\te && Se.current === t && W(null);\n\t\t}), () => {\n\t\t\te = !1, n.abort();\n\t\t};\n\t}, [w]), I(() => {\n\t\tif (O === null) return;\n\t\tlet e = Math.max(0, O + k - Date.now()), t = setTimeout(() => Me(O + k), e);\n\t\treturn () => clearTimeout(t);\n\t}, [O]);\n\tlet Ke = F(async () => {\n\t\tif (!ge || !H || !he || !Le) return;\n\t\tCe.current?.abort();\n\t\tlet e = new AbortController();\n\t\tCe.current = e;\n\t\tlet t = ++Se.current;\n\t\txe(!0);\n\t\ttry {\n\t\t\tlet n = await w.getSwapDefaults(e.signal);\n\t\t\tif (e.signal.aborted || Se.current !== t) return;\n\t\t\tif (W(n.enabledProviders), !J.current && n.defaultSlippageBps !== ve && Number.isInteger(n.defaultSlippageBps) && n.defaultSlippageBps >= 0 && n.defaultSlippageBps <= 5e3) {\n\t\t\t\tU(n.defaultSlippageBps);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} catch {\n\t\t\tif (e.signal.aborted || Se.current !== t) return;\n\t\t\tW(null);\n\t\t} finally {\n\t\t\t!e.signal.aborted && Se.current === t && xe(!1);\n\t\t}\n\t\treturn N(H, he, Le, ve).catch((e) => {\n\t\t\tte(e) || i?.(S(e, p));\n\t\t});\n\t}, [\n\t\tw,\n\t\tge,\n\t\tLe,\n\t\tN,\n\t\tp,\n\t\tH,\n\t\ti,\n\t\the,\n\t\tve\n\t]);\n\tI(() => (P(), xe(!1), () => {\n\t\tCe.current?.abort();\n\t}), [\n\t\tw,\n\t\tH,\n\t\the,\n\t\tLe,\n\t\tve,\n\t\tP\n\t]), I(() => {\n\t\tlet e = setTimeout(() => {\n\t\t\tKe();\n\t\t}, 500);\n\t\treturn () => clearTimeout(e);\n\t}, [Ke]);\n\tlet qe = F((e) => {\n\t\t_e(e), X(\"quote\"), P();\n\t}, [P]), Je = F(() => {\n\t\tpe({\n\t\t\tinputMint: he,\n\t\t\toutputMint: H\n\t\t}), _e(\"\"), X(\"quote\"), Ae((e) => !e), P();\n\t}, [\n\t\tH,\n\t\the,\n\t\tP\n\t]), Ye = F((e) => {\n\t\tpe(we === \"input\" ? (t) => ({\n\t\t\t...t,\n\t\t\tinputMint: e.mint\n\t\t}) : (t) => ({\n\t\t\t...t,\n\t\t\toutputMint: e.mint\n\t\t})), X(\"quote\"), P();\n\t}, [we, P]), Xe = F(async () => {\n\t\tif (!lt() || !Z || !e || !t) return;\n\t\tlet n = Date.now();\n\t\tif (y(O, n, He) !== \"current\") {\n\t\t\tMe(n);\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tX(\"sign\");\n\t\t\tlet n = await ie(Z, e), i = await oe(await t(n.transaction, Z.provider, n.requestId ?? void 0), Z.provider, n.requestId ?? void 0);\n\t\t\tif (i.status === \"failed\") throw Error(m(\"transaction.failed\"));\n\t\t\tX(\"done\"), r?.(i.signature);\n\t\t} catch (e) {\n\t\t\tX(\"quote\"), i?.(S(e, p));\n\t\t}\n\t}, [\n\t\tZ,\n\t\tO,\n\t\tHe,\n\t\te,\n\t\tt,\n\t\tie,\n\t\toe,\n\t\tr,\n\t\ti,\n\t\tp,\n\t\tm\n\t]), Qe = F((e) => {\n\t\tJ.current = !0, U(e), X(\"quote\"), P();\n\t}, [P]), $e = (e) => {\n\t\tif (!e) return \"\";\n\t\tlet t = Pe?.decimals ?? 6;\n\t\treturn f(e.outAmount, t, p.locale, 4);\n\t}, et = Le ? f(Le, Ie, p.locale, 6) : ge, it = Fe ? Y === \"sign\" ? m(\"swap.signing\") : Y === \"done\" ? m(\"swap.complete\") : Z && !Ge ? m(\"swap.refreshRequired\") : q ? m(\"swap.fetchingQuote\") : Z ? m(\"swap.submitAction\", {\n\t\tinputAmount: et,\n\t\tinputSymbol: Ne?.symbol ?? \"\",\n\t\toutputAmount: $e(Z),\n\t\toutputSymbol: Pe?.symbol ?? \"\"\n\t}) : m(\"swap.enterAmount\") : m(\"swap.previewOnly\"), at = !Ve || !Le ? null : ae(Ve.outAmount, Pe?.decimals ?? 6, Le, Ie, p.locale, 6), st = !Z || Z.priceImpactPct < .005 ? \"ct-text-[var(--ct-success)]\" : Z.priceImpactPct < .01 ? \"ct-text-[var(--ct-warning)]\" : \"ct-text-[var(--ct-destructive)]\", ct = !Z || !He ? null : He.known ? He.complete ? p.tn(\"swap.coverageComplete\", He.expectedCount) : m(\"swap.coveragePartial\", {\n\t\tresponded: h(He.respondedCount),\n\t\texpected: h(He.expectedCount),\n\t\tproviders: p.formatList(He.missingProviders)\n\t}) : m(\"swap.coverageUnknown\"), ut = (() => {\n\t\tif (Be.length < 2) return null;\n\t\tlet e = BigInt(Be[0].outAmount) - BigInt(Be[1].outAmount);\n\t\treturn e <= 0n ? null : f(e.toString(), Pe?.decimals ?? 6, p.locale, 4);\n\t})(), pt = Y === \"done\" ? {\n\t\ttone: \"success\",\n\t\tlabel: m(\"swap.complete\"),\n\t\tpulse: !1,\n\t\tbg: \"success\"\n\t} : q ? {\n\t\ttone: \"info\",\n\t\tlabel: m(\"swap.fetchingQuote\"),\n\t\tpulse: !0,\n\t\tbg: \"info\"\n\t} : We ? {\n\t\ttone: \"warning\",\n\t\tlabel: m(\"swap.refreshRequired\"),\n\t\tpulse: !1,\n\t\tbg: \"warning\"\n\t} : Z && !Ge ? {\n\t\ttone: \"warning\",\n\t\tlabel: m(\"swap.bestAvailable\"),\n\t\tpulse: !1,\n\t\tbg: \"warning\"\n\t} : Z ? {\n\t\ttone: \"success\",\n\t\tlabel: Z.provider,\n\t\tpulse: !1,\n\t\tbg: \"success\"\n\t} : {\n\t\ttone: \"default\",\n\t\tlabel: m(ge ? \"swap.enterAmount\" : \"common.ready\"),\n\t\tpulse: !1,\n\t\tbg: \"muted\"\n\t};\n\treturn ce && se.length === 0 ? /* @__PURE__ */ B(\"div\", {\n\t\tclassName: `ct-panel-elevated ct-radius-card ct-p-5 ${d}`,\n\t\trole: \"status\",\n\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-flex ct-items-center ct-gap-3 ct-text-sm ct-text-[var(--ct-muted-foreground)]\",\n\t\t\tchildren: [/* @__PURE__ */ B(Q, { className: \"ct-h-4 ct-w-4\" }), m(\"swap.loadingTokenPolicy\")]\n\t\t})\n\t}) : L && se.length === 0 ? /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-panel-elevated ct-radius-card ct-p-5 ct-space-y-3 ${d}`,\n\t\tchildren: [/* @__PURE__ */ B(nt, {\n\t\t\tmessage: m(\"swap.tokenPolicyUnavailable\"),\n\t\t\ttone: \"warning\"\n\t\t}), /* @__PURE__ */ B(n, {\n\t\t\tonClick: () => {\n\t\t\t\tue();\n\t\t\t},\n\t\t\tdisabled: ce,\n\t\t\tclassName: \"ct-focusable ct-pressable ct-w-full ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-py-2.5 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)] disabled:ct-opacity-50\",\n\t\t\tchildren: m(\"common.retry\")\n\t\t})]\n\t}) : me ? /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-panel-elevated ct-radius-card ct-p-3 ct-space-y-4 sm:ct-p-5 ${d}`,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: `ct-flex ct-gap-3 ${u ? \"ct-items-start ct-justify-between\" : \"ct-items-center ct-justify-end\"}`,\n\t\t\t\tchildren: [u && /* @__PURE__ */ V(\"div\", { children: [/* @__PURE__ */ B(\"h2\", {\n\t\t\t\t\tclassName: \"ct-text-xl ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: m(Fe ? \"swap.title\" : \"swap.previewTitle\")\n\t\t\t\t}), /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: m(\"metadata.surface.swap.body\")\n\t\t\t\t})] }), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1.5 ct-rounded-full ct-px-2.5 ct-py-1 ct-text-xs ct-font-medium ct-capitalize ${ft(pt.bg)}`,\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, {\n\t\t\t\t\t\ttone: pt.tone,\n\t\t\t\t\t\tpulse: pt.pulse\n\t\t\t\t\t}), /* @__PURE__ */ B(ee, { children: pt.label })]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-space-y-1.5\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\tclassName: \"ct-eyebrow\",\n\t\t\t\t\tchildren: m(\"swap.youPay\")\n\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tvalue: ge,\n\t\t\t\t\t\tonChange: (e) => qe(e.target.value),\n\t\t\t\t\t\tplaceholder: h(0, { minimumFractionDigits: 2 }),\n\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\t\"aria-label\": m(\"swap.youPay\"),\n\t\t\t\t\t\tclassName: \"ct-field ct-min-w-0 ct-flex-1 ct-radius-control ct-border ct-px-3 ct-py-3 ct-text-xl ct-tabular-num ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t}), /* @__PURE__ */ B(dt, {\n\t\t\t\t\t\ttoken: Ne,\n\t\t\t\t\t\tonClick: () => Ee(\"input\"),\n\t\t\t\t\t\tlabel: m(\"swap.selectToken\")\n\t\t\t\t\t})]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: \"ct-relative ct-flex ct-justify-center\",\n\t\t\t\tchildren: /* @__PURE__ */ B(n, {\n\t\t\t\t\tonClick: Je,\n\t\t\t\t\t\"aria-label\": m(\"swap.switchTokens\"),\n\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-rounded-full ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-elevated)] ct-p-2 ct-text-[var(--ct-muted-foreground)] ct-shadow-cedros hover:ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: /* @__PURE__ */ B(De, { className: `ct-h-4 ct-w-4 ct-rotatable ${Oe ? \"ct-rotated\" : \"\"}` })\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-space-y-1.5\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\tclassName: \"ct-eyebrow\",\n\t\t\t\t\tchildren: m(\"swap.youReceive\")\n\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-flex ct-min-h-[3.35rem] ct-min-w-0 ct-flex-1 ct-items-center ct-justify-end ct-overflow-hidden ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-px-3 ct-py-3 ct-text-xl ct-tabular-num ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\tchildren: q ? /* @__PURE__ */ B(\"div\", { className: \"ct-skeleton ct-h-6 ct-w-28 ct-rounded-full\" }) : Z ? /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ct-truncate\",\n\t\t\t\t\t\t\tchildren: $e(Z)\n\t\t\t\t\t\t}) : /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: h(0, { minimumFractionDigits: 2 })\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ B(dt, {\n\t\t\t\t\t\ttoken: Pe,\n\t\t\t\t\t\tonClick: () => Ee(\"output\"),\n\t\t\t\t\t\tlabel: m(\"swap.selectToken\")\n\t\t\t\t\t})]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(x, {\n\t\t\t\topen: !!Z,\n\t\t\t\tchildren: Ve && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-panel ct-panel-info ct-enter ct-space-y-2 ct-radius-card ct-p-3 ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tat !== null && /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-sm ct-font-semibold ct-tabular-num ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\tchildren: m(\"swap.rate\", {\n\t\t\t\t\t\t\t\tinputSymbol: Ne?.symbol ?? \"\",\n\t\t\t\t\t\t\t\trate: at,\n\t\t\t\t\t\t\t\toutputSymbol: Pe?.symbol ?? \"\"\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"hr\", { className: \"ct-divider-gradient\" }),\n\t\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-flex ct-justify-between\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", { children: m(\"swap.provider\") }), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-font-medium ct-capitalize ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\tVe.provider,\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\tVe.gasless && `(${m(\"swap.gasless\")})`\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-flex ct-justify-between\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", { children: m(\"swap.priceImpact\") }), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\t\tclassName: `ct-font-medium ct-tabular-num ${st}`,\n\t\t\t\t\t\t\t\tchildren: g(Ve.priceImpactPct, {\n\t\t\t\t\t\t\t\t\tvalueIsFraction: !0,\n\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 2\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tVe.otherAmountThreshold && /* @__PURE__ */ V(le, { children: [/* @__PURE__ */ B(\"hr\", { className: \"ct-divider-gradient\" }), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-flex ct-justify-between\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", { children: m(\"swap.minReceived\") }), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-tabular-num ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\tchildren: f(Ve.otherAmountThreshold, Pe?.decimals ?? 6, p.locale, 4)\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t})] })\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t}),\n\t\t\tBe.length > 1 && /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-panel ct-radius-card ct-p-3\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: m(\"swap.alternatives\")\n\t\t\t\t\t}),\n\t\t\t\t\tut && /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\tclassName: \"ct-mt-2 ct-text-xs ct-leading-5 ct-text-[var(--ct-success)]\",\n\t\t\t\t\t\tchildren: m(\"swap.bestAdvantage\", {\n\t\t\t\t\t\t\tamount: ut,\n\t\t\t\t\t\t\toutputSymbol: Pe?.symbol ?? \"\"\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-mt-2 ct-space-y-2\",\n\t\t\t\t\t\tchildren: Be.map((e, t) => /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-justify-between ct-gap-3 ct-rounded-cedros ct-bg-[var(--ct-surface-muted)] ct-px-3 ct-py-2 ct-text-xs\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-font-medium ct-capitalize ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\t\tchildren: e.provider\n\t\t\t\t\t\t\t\t}), t === 0 && /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-rounded-full ct-bg-[var(--ct-success-bg)] ct-px-2 ct-py-0.5 ct-font-medium ct-text-[var(--ct-success)]\",\n\t\t\t\t\t\t\t\t\tchildren: m(\"swap.bestAvailable\")\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-tabular-num ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t$e(e),\n\t\t\t\t\t\t\t\t\t\" · \",\n\t\t\t\t\t\t\t\t\tg(e.priceImpactPct, {\n\t\t\t\t\t\t\t\t\t\tvalueIsFraction: !0,\n\t\t\t\t\t\t\t\t\t\tmaximumFractionDigits: 2\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}, e.provider))\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}),\n\t\t\tZ && ct && /* @__PURE__ */ B(nt, {\n\t\t\t\tmessage: ct,\n\t\t\t\ttone: He?.complete ? \"success\" : \"warning\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"details\", {\n\t\t\t\tclassName: \"ct-panel ct-radius-control ct-p-3\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"summary\", {\n\t\t\t\t\tclassName: \"ct-focusable ct-cursor-pointer ct-text-xs ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tm(\"swap.quoteSettings\"),\n\t\t\t\t\t\t\" · \",\n\t\t\t\t\t\tg(ve / 1e4, {\n\t\t\t\t\t\t\tvalueIsFraction: !0,\n\t\t\t\t\t\t\tmaximumFractionDigits: 2\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}), /* @__PURE__ */ B(tt, {\n\t\t\t\t\tvalue: ve,\n\t\t\t\t\tonChange: Qe,\n\t\t\t\t\tclassName: \"ct-mt-3\"\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(rt, { message: Re }),\n\t\t\t/* @__PURE__ */ B(rt, {\n\t\t\t\tmessage: M,\n\t\t\t\tonDismiss: P\n\t\t\t}),\n\t\t\tM && ge && /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-space-y-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(n, {\n\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\tKe();\n\t\t\t\t\t},\n\t\t\t\t\tdisabled: q,\n\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-w-full ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-py-2.5 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)] disabled:ct-opacity-50\",\n\t\t\t\t\tchildren: m(\"common.retry\")\n\t\t\t\t}), /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: m(\"swap.supportRecovery\")\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tZ && Y === \"quote\" && (!Fe || !Ge) && /* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: `ct-panel ct-radius-control ct-p-3 ${Ge ? \"ct-panel-success\" : \"ct-panel-warning\"}`,\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-flex-wrap ct-items-center ct-justify-between ct-gap-3\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", { children: [\n\t\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\tclassName: `ct-flex ct-items-center ct-gap-2 ct-text-sm ct-font-semibold ${Ge ? \"ct-text-[var(--ct-success)]\" : \"ct-text-[var(--ct-warning)]\"}`,\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, { tone: Ge ? \"success\" : \"warning\" }), m(We ? \"swap.refreshRequired\" : Ge ? \"swap.quoteReady\" : \"swap.bestAvailable\")]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: m(We ? \"swap.quoteStaleBody\" : Ge ? \"swap.quoteReadyBody\" : \"swap.quotePartialBody\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tO !== null && /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-tabular-num ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: m(\"common.updated\", { time: _(O) })\n\t\t\t\t\t\t})\n\t\t\t\t\t] }), /* @__PURE__ */ B(n, {\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tKe();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdisabled: q,\n\t\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-elevated)] ct-px-3 ct-py-2 ct-text-xs ct-font-medium ct-text-[var(--ct-foreground)] disabled:ct-opacity-50\",\n\t\t\t\t\t\tchildren: m(\"swap.refreshQuote\")\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t}),\n\t\t\tFe && /* @__PURE__ */ B(n, {\n\t\t\t\tonClick: Xe,\n\t\t\t\tdisabled: !Z || !Ge || q || Y !== \"quote\",\n\t\t\t\tclassName: `ct-focusable ct-pressable ct-sheen ct-w-full ct-radius-control ct-py-3.5 ct-font-semibold ct-text-[var(--ct-primary-foreground)] disabled:ct-cursor-not-allowed disabled:ct-opacity-50 ${Y === \"done\" ? \"ct-success-action\" : \"ct-primary-action\"}`,\n\t\t\t\tchildren: /* @__PURE__ */ B(ee, { children: q ? /* @__PURE__ */ B(Q, { className: \"ct-h-4 ct-w-4\" }) : Y === \"done\" ? /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: \"ct-inline-flex ct-items-center ct-gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(ke, { className: \"ct-h-4 ct-w-4 ct-check-draw\" }), it]\n\t\t\t\t}) : it })\n\t\t\t}),\n\t\t\tY === \"done\" && re && /* @__PURE__ */ B(ot, {\n\t\t\t\tresult: re,\n\t\t\t\taction: \"swap\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(Ze, {\n\t\t\t\tisOpen: we !== null,\n\t\t\t\tonClose: () => Ee(null),\n\t\t\t\tonSelect: Ye,\n\t\t\t\texcludeMints: we === \"input\" ? [he] : [H],\n\t\t\t\tallowedMints: we === \"input\" ? c : l\n\t\t\t})\n\t\t]\n\t}) : /* @__PURE__ */ B(\"div\", {\n\t\tclassName: `ct-panel-elevated ct-radius-card ct-p-5 ${d}`,\n\t\tchildren: /* @__PURE__ */ B(nt, {\n\t\t\tmessage: m(\"swap.tokenPolicyIncomplete\"),\n\t\t\ttone: \"warning\"\n\t\t})\n\t});\n}\nfunction dt({ token: e, onClick: t, label: r }) {\n\tlet i = e?.symbol ?? \"\";\n\treturn /* @__PURE__ */ V(n, {\n\t\tonClick: t,\n\t\t\"aria-label\": r,\n\t\tclassName: \"ct-focusable ct-pressable ct-inline-flex ct-min-w-[112px] ct-items-center ct-gap-2 ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-px-3 ct-py-3 ct-font-semibold ct-text-[var(--ct-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\tchildren: [\n\t\t\te?.logoUrl ? /* @__PURE__ */ B(\"img\", {\n\t\t\t\tsrc: e.logoUrl,\n\t\t\t\talt: \"\",\n\t\t\t\tclassName: \"ct-h-5 ct-w-5 ct-rounded-full\"\n\t\t\t}) : /* @__PURE__ */ B(\"span\", {\n\t\t\t\tclassName: \"ct-token-avatar ct-flex ct-h-5 ct-w-5 ct-items-center ct-justify-center ct-rounded-full ct-text-[9px] ct-font-bold\",\n\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\tchildren: i.slice(0, 2)\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\tclassName: \"ct-flex-1 ct-text-left\",\n\t\t\t\tchildren: i\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(Ne, { className: \"ct-h-4 ct-w-4 ct-text-[var(--ct-muted-foreground)]\" })\n\t\t]\n\t});\n}\nfunction ft(e) {\n\treturn e === \"success\" ? \"ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\" : e === \"warning\" ? \"ct-bg-[var(--ct-warning-bg)] ct-text-[var(--ct-warning)]\" : e === \"info\" ? \"ct-bg-[var(--ct-info-bg)] ct-text-[var(--ct-info)]\" : \"ct-bg-[var(--ct-surface-muted)] ct-text-[var(--ct-muted-foreground)]\";\n}\n//#endregion\n//#region src/components/shared/PublicPageShell.tsx\nfunction pt({ showHeader: e = !0, eyebrow: t, title: n, description: r, primaryBadge: i, secondaryBadge: a, stats: o = [], notices: s = [], integrationStates: c = [], integrationStatusLabel: l, children: u, className: d = \"\" }) {\n\treturn /* @__PURE__ */ B(\"section\", {\n\t\tclassName: `cedros-trade ct-shell-surface ct-relative ct-overflow-hidden ct-text-[var(--ct-foreground)] ${d}`,\n\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-relative ct-mx-auto ct-flex ct-w-full ct-max-w-6xl ct-flex-col ct-gap-6 ct-px-4 ct-py-7 sm:ct-px-6 lg:ct-py-10\",\n\t\t\tchildren: [\n\t\t\t\te && /* @__PURE__ */ V(\"header\", {\n\t\t\t\t\tclassName: `ct-public-heading ct-grid ct-gap-5 ${o.length ? \"lg:ct-grid-cols-[minmax(0,1fr)_minmax(17rem,24rem)] lg:ct-items-end\" : \"\"}`,\n\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-panel-elevated ct-enter-slow ct-relative ct-overflow-hidden ct-radius-card ct-p-5 sm:ct-p-6\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-gradient-brand-fill ct-pointer-events-none ct-absolute ct-inset-x-0 ct-top-0 ct-h-1\",\n\t\t\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, { tone: \"info\" }), /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-eyebrow\",\n\t\t\t\t\t\t\t\t\tchildren: t\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-mt-4 ct-space-y-3\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"h1\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-max-w-3xl ct-text-3xl ct-font-semibold ct-leading-tight sm:ct-text-4xl\",\n\t\t\t\t\t\t\t\t\tchildren: n\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-max-w-2xl ct-text-sm ct-leading-6 ct-text-[var(--ct-muted-foreground)] sm:ct-text-base\",\n\t\t\t\t\t\t\t\t\tchildren: r\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t(i || a) && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-mt-5 ct-flex ct-flex-wrap ct-gap-2\",\n\t\t\t\t\t\t\t\tchildren: [i && /* @__PURE__ */ B(gt, {\n\t\t\t\t\t\t\t\t\tlabel: i,\n\t\t\t\t\t\t\t\t\ttone: \"info\"\n\t\t\t\t\t\t\t\t}), a && /* @__PURE__ */ B(gt, { label: a })]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t}), o.length > 0 && /* @__PURE__ */ B(mt, { stats: o })]\n\t\t\t\t}),\n\t\t\t\ts.length > 0 && /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-stagger ct-grid ct-gap-3 md:ct-grid-cols-2\",\n\t\t\t\t\tchildren: s.map((e) => /* @__PURE__ */ B(ht, { notice: e }, e.title))\n\t\t\t\t}),\n\t\t\t\tc.length > 0 && /* @__PURE__ */ B(_t, {\n\t\t\t\t\tlabel: l,\n\t\t\t\t\tstates: c\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-min-w-0 ct-enter\",\n\t\t\t\t\tchildren: u\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nfunction mt({ stats: e }) {\n\treturn /* @__PURE__ */ B(\"dl\", {\n\t\tclassName: \"ct-stagger ct-grid ct-grid-cols-1 ct-gap-3 sm:ct-grid-cols-2\",\n\t\tchildren: e.map((e) => /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-panel ct-radius-card ct-p-4\",\n\t\t\tchildren: [/* @__PURE__ */ B(\"dt\", {\n\t\t\t\tclassName: \"ct-eyebrow\",\n\t\t\t\tchildren: e.label\n\t\t\t}), /* @__PURE__ */ B(\"dd\", {\n\t\t\t\tclassName: `ct-mt-2 ct-text-2xl sm:ct-text-3xl ct-display-num ct-leading-none ${vt(e.tone)}`,\n\t\t\t\tchildren: /* @__PURE__ */ B(E, { value: e.value })\n\t\t\t})]\n\t\t}, e.label))\n\t});\n}\nfunction ht({ notice: e }) {\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-panel ct-radius-card ct-border-l-2 ct-p-4 ct-text-sm ${yt(e.tone)}`,\n\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: `ct-flex ct-items-center ct-gap-2 ct-font-semibold ${bt(e.tone)}`,\n\t\t\tchildren: [/* @__PURE__ */ B(b, { tone: St(e.tone) }), e.title]\n\t\t}), /* @__PURE__ */ B(\"p\", {\n\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\tchildren: e.body\n\t\t})]\n\t});\n}\nfunction gt({ label: e, tone: t = \"neutral\" }) {\n\treturn /* @__PURE__ */ V(\"span\", {\n\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1.5 ct-rounded-full ct-px-3 ct-py-1 ct-text-xs ct-font-medium ${t === \"info\" ? \"ct-bg-[var(--ct-info-bg)] ct-text-[var(--ct-info)]\" : \"ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-text-[var(--ct-muted-foreground)]\"}`,\n\t\tchildren: [/* @__PURE__ */ B(b, { tone: t === \"info\" ? \"info\" : \"default\" }), e]\n\t});\n}\nfunction _t({ label: e, states: t }) {\n\treturn /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-stagger ct-grid ct-gap-3 md:ct-grid-cols-2\",\n\t\t\"aria-label\": e,\n\t\tchildren: t.map((e) => /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-panel ct-radius-card ct-p-4\",\n\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-flex-wrap ct-items-center ct-justify-between ct-gap-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2 ct-text-xs ct-font-medium ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, { tone: Ct(e.tone) }), e.label]\n\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: `ct-rounded-full ct-px-2.5 ct-py-1 ct-text-xs ct-font-medium ${xt(e.tone)}`,\n\t\t\t\t\tchildren: /* @__PURE__ */ B(ee, { children: e.status })\n\t\t\t\t})]\n\t\t\t}), /* @__PURE__ */ B(\"p\", {\n\t\t\t\tclassName: \"ct-mt-2 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: e.summary\n\t\t\t})]\n\t\t}, e.label))\n\t});\n}\nfunction vt(e) {\n\treturn e === \"success\" ? \"ct-text-[var(--ct-success)]\" : e === \"warning\" ? \"ct-text-[var(--ct-warning)]\" : \"ct-text-[var(--ct-foreground)]\";\n}\nfunction yt(e) {\n\treturn e === \"error\" ? \"ct-panel-danger ct-border-[var(--ct-destructive)]\" : e === \"warning\" ? \"ct-panel-warning ct-border-[var(--ct-warning)]\" : \"ct-panel-info ct-border-[var(--ct-border)]\";\n}\nfunction bt(e) {\n\treturn e === \"error\" ? \"ct-text-[var(--ct-destructive)]\" : e === \"warning\" ? \"ct-text-[var(--ct-warning)]\" : \"ct-text-[var(--ct-foreground)]\";\n}\nfunction xt(e) {\n\treturn e === \"success\" ? \"ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\" : e === \"warning\" ? \"ct-bg-[var(--ct-warning-bg)] ct-text-[var(--ct-warning)]\" : e === \"error\" ? \"ct-bg-[var(--ct-destructive-bg)] ct-text-[var(--ct-destructive)]\" : \"ct-bg-[var(--ct-muted)] ct-text-[var(--ct-muted-foreground)]\";\n}\nfunction St(e) {\n\treturn e === \"error\" ? \"danger\" : e === \"warning\" ? \"warning\" : \"info\";\n}\nfunction Ct(e) {\n\treturn e === \"success\" ? \"success\" : e === \"warning\" ? \"warning\" : e === \"error\" ? \"danger\" : \"default\";\n}\n//#endregion\n//#region src/components/swap/SwapPage.tsx\nfunction wt({ title: e, ...t }) {\n\tlet { t: n } = s(), r = lt() && !!(t.walletAddress && t.onSign);\n\treturn /* @__PURE__ */ B(pt, {\n\t\teyebrow: \"Cedros Trade\",\n\t\ttitle: e ?? n(r ? \"swap.title\" : \"swap.previewTitle\"),\n\t\tdescription: n(\"metadata.surface.swap.body\"),\n\t\tprimaryBadge: n(r ? \"public.badge.transactionReady\" : \"public.badge.quotePreview\"),\n\t\tsecondaryBadge: r ? n(\"public.badge.walletConnected\") : void 0,\n\t\tnotices: r ? [{\n\t\t\ttitle: n(\"public.notice.signingTitle\"),\n\t\t\tbody: n(\"public.notice.signingBody\")\n\t\t}] : [{\n\t\t\ttitle: n(\"public.quoteOnly.title\"),\n\t\t\tbody: n(\"public.quoteOnly.body\"),\n\t\t\ttone: \"warning\"\n\t\t}],\n\t\tchildren: /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-mx-auto ct-w-full ct-max-w-md\",\n\t\t\tchildren: /* @__PURE__ */ B(ut, {\n\t\t\t\t...t,\n\t\t\t\tshowHeading: !1\n\t\t\t})\n\t\t})\n\t});\n}\n//#endregion\n//#region src/components/swap/ProviderComparison.tsx\nvar Tt = [];\nfunction Et({ inputMint: e, outputMint: t, amount: r, outputDecimals: i = 6, onSelect: a, className: o = \"\" }) {\n\tlet c = s(), { t: l, formatPercent: u } = c, d = W(), { data: p, isLoading: m, error: h } = D({\n\t\tkey: e && t && r ? [\n\t\t\t\"provider-comparison\",\n\t\t\td,\n\t\t\te,\n\t\t\tt,\n\t\t\tr\n\t\t] : null,\n\t\tinitialData: Tt,\n\t\tcacheTimeMs: 5e3,\n\t\tload: async (n) => d.compareQuotes(e, t, r, void 0, n),\n\t\tmapError: (e) => S(e, c)\n\t});\n\tif (m) return /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-flex ct-justify-center ct-py-2\",\n\t\tchildren: /* @__PURE__ */ B(Q, { className: \"ct-h-4 ct-w-4\" })\n\t});\n\tif (h) return /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-text-xs ct-text-[var(--ct-destructive)]\",\n\t\tchildren: h\n\t});\n\tif (p.length <= 1) return null;\n\tlet g = p.reduce((e, t) => BigInt(e.outAmount) > BigInt(t.outAmount) ? e : t);\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-panel ct-stagger-dense ct-space-y-2 ct-radius-card ct-p-3 ${o}`,\n\t\tchildren: [/* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\tchildren: l(\"swap.providerComparison\")\n\t\t}), p.map((e) => {\n\t\t\tlet t = e.provider === g.provider, r = f(e.outAmount, i, c.locale, 4);\n\t\t\treturn /* @__PURE__ */ V(n, {\n\t\t\t\tonClick: () => a?.(e),\n\t\t\t\tclassName: `ct-focusable ct-pressable ct-flex ct-w-full ct-items-center ct-justify-between ct-radius-control ct-px-3 ct-py-2 ct-text-xs ${t ? \"ct-border ct-border-[var(--ct-success)] ct-bg-[var(--ct-success-bg)]\" : \"ct-bg-[var(--ct-surface-muted)] hover:ct-bg-[var(--ct-surface-interactive)]\"}`,\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ct-font-medium ct-capitalize ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\tchildren: e.provider\n\t\t\t\t\t\t}),\n\t\t\t\t\t\te.gasless && /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ct-px-1.5 ct-py-0.5 ct-rounded-cedros-sm ct-text-[10px] ct-font-medium ct-bg-[var(--ct-info-bg)] ct-text-[var(--ct-info)]\",\n\t\t\t\t\t\t\tchildren: l(\"admin.providers.gasless\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tt && /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ct-px-1.5 ct-py-0.5 ct-rounded-cedros-sm ct-text-[10px] ct-font-semibold ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\",\n\t\t\t\t\t\t\tchildren: l(\"swap.best\")\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-text-right\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-tabular-num ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\tchildren: r\n\t\t\t\t\t}), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-[var(--ct-muted-foreground)] ct-ml-1 ct-tabular-num\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\"(\",\n\t\t\t\t\t\t\tu(e.priceImpactPct, {\n\t\t\t\t\t\t\t\tvalueIsFraction: !0,\n\t\t\t\t\t\t\t\tmaximumFractionDigits: 2\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\")\"\n\t\t\t\t\t\t]\n\t\t\t\t\t})]\n\t\t\t\t})]\n\t\t\t}, e.provider);\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/components/transfer/TransferForm.tsx\nvar Dt = \"So11111111111111111111111111111111111111112\";\nfunction Ot({ walletAddress: e, onSign: t, onSuccess: r, onError: i, className: a = \"\" }) {\n\tlet o = s(), { t: c, formatNumber: l } = o, { buildResult: u, executeResult: d, isLoading: f, error: p, build: m, execute: h, resolveAddress: g, reset: _ } = q(), [v, y] = z(\"\"), [C, w] = z(\"\"), [T, E] = z(null), [D, O] = z(Dt), [k, te] = z(!1), [A, ne] = z(null), [re, j] = z(\"idle\"), [M, N] = z(\"form\"), ie = lt() && !!(e && t), ae = v.trim().endsWith(\".sol\");\n\tI(() => {\n\t\tlet e = !0;\n\t\tif (!v.trim().endsWith(\".sol\")) return ne(null), j(\"idle\"), () => {\n\t\t\te = !1;\n\t\t};\n\t\tne(null), j(\"resolving\");\n\t\tlet t = setTimeout(async () => {\n\t\t\ttry {\n\t\t\t\tlet t = await g(v.trim());\n\t\t\t\tif (!e) return;\n\t\t\t\tt.resolved ? (ne(t.resolved), j(\"idle\")) : (ne(null), j(\"error\"));\n\t\t\t} catch {\n\t\t\t\te && (ne(null), j(\"error\"));\n\t\t\t}\n\t\t}, 500);\n\t\treturn () => {\n\t\t\te = !1, clearTimeout(t);\n\t\t};\n\t}, [v, g]);\n\tlet P = F(() => {\n\t\tM === \"done\" && (N(\"form\"), _());\n\t}, [M, _]), se = F((e) => {\n\t\ty(e), P();\n\t}, [P]), ce = F((e) => {\n\t\tw(e), P();\n\t}, [P]), L = F((e) => {\n\t\tE(e), O(e.mint);\n\t}, []), R = ae ? A !== null : v.trim().length > 0, le = F(async () => {\n\t\tif (!(!lt() || !e || !t)) try {\n\t\t\tN(\"sign\");\n\t\t\tlet n = $(C, T?.decimals ?? 9, o.locale);\n\t\t\tif (!n) throw Error(c(\"transfer.errorEnterValidAmount\"));\n\t\t\tlet i = await h(await t((await m(e, ae ? A ?? v.trim() : v.trim(), D, n)).transaction));\n\t\t\tif (i.status === \"failed\") throw Error(c(\"transaction.failed\"));\n\t\t\tN(\"done\"), r?.(i.signature);\n\t\t} catch (e) {\n\t\t\tN(\"form\"), i?.(S(e, o));\n\t\t}\n\t}, [\n\t\tC,\n\t\tm,\n\t\th,\n\t\to,\n\t\tae,\n\t\tD,\n\t\ti,\n\t\tt,\n\t\tr,\n\t\tv,\n\t\tA,\n\t\tT,\n\t\tc,\n\t\te\n\t]), ue = c(ie ? M === \"sign\" ? \"swap.signing\" : M === \"done\" ? \"transfer.sent\" : f ? \"common.loading\" : \"transfer.title\" : \"transfer.unavailable\"), de = re === \"resolving\" ? {\n\t\ttone: \"info\",\n\t\tpulse: !0,\n\t\tbg: \"ct-bg-[var(--ct-info-bg)] ct-text-[var(--ct-info)]\"\n\t} : re === \"error\" ? {\n\t\ttone: \"warning\",\n\t\tpulse: !1,\n\t\tbg: \"ct-bg-[var(--ct-warning-bg)] ct-text-[var(--ct-warning)]\"\n\t} : A ? {\n\t\ttone: \"success\",\n\t\tpulse: !1,\n\t\tbg: \"ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\"\n\t} : {\n\t\ttone: \"default\",\n\t\tpulse: !1,\n\t\tbg: \"ct-bg-[var(--ct-surface-muted)] ct-text-[var(--ct-muted-foreground)]\"\n\t}, fe = re === \"error\" ? \"ct-border-[var(--ct-warning)]\" : A ? \"ct-border-[var(--ct-success)]\" : \"\";\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-panel-elevated ct-radius-card ct-p-5 ct-space-y-4 ${a}`,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-items-start ct-justify-between ct-gap-3\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", { children: [/* @__PURE__ */ B(\"h2\", {\n\t\t\t\t\tclassName: \"ct-text-xl ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: c(\"transfer.title\")\n\t\t\t\t}), /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: c(\"metadata.surface.transfer.body\")\n\t\t\t\t})] }), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1.5 ct-rounded-full ct-px-2.5 ct-py-1 ct-text-xs ct-font-medium ${de.bg}`,\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, {\n\t\t\t\t\t\ttone: de.tone,\n\t\t\t\t\t\tpulse: de.pulse\n\t\t\t\t\t}), c(\"transfer.recipient\")]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\tclassName: \"ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: c(\"transfer.recipient\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tvalue: v,\n\t\t\t\t\t\tonChange: (e) => se(e.target.value),\n\t\t\t\t\t\tplaceholder: c(\"transfer.recipientPlaceholder\"),\n\t\t\t\t\t\t\"aria-label\": c(\"transfer.recipient\"),\n\t\t\t\t\t\tclassName: `ct-field ct-w-full ct-radius-control ct-border ct-px-3 ct-py-3 ct-text-[var(--ct-foreground)] ct-outline-none ${fe}`\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(x, {\n\t\t\t\t\t\topen: re === \"resolving\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: c(\"transfer.resolving\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(x, {\n\t\t\t\t\t\topen: re === \"error\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\trole: \"alert\",\n\t\t\t\t\t\t\tclassName: \"ct-enter ct-radius-control ct-bg-[var(--ct-warning-bg)] ct-px-2.5 ct-py-1.5 ct-text-xs ct-text-[var(--ct-warning)]\",\n\t\t\t\t\t\t\tchildren: c(\"transfer.resolveFailed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(x, {\n\t\t\t\t\t\topen: !!A,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\t\tclassName: \"ct-enter ct-radius-control ct-bg-[var(--ct-success-bg)] ct-px-2.5 ct-py-1.5 ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: o.tParts(\"transfer.resolvesTo\").map((e, t) => e.type === \"text\" ? /* @__PURE__ */ B(oe.Fragment, { children: e.value }, t) : /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-font-mono\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\tA?.slice(0, 8),\n\t\t\t\t\t\t\t\t\t\"...\",\n\t\t\t\t\t\t\t\t\tA?.slice(-4)\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}, t))\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: c(\"trading.amount\")\n\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\tvalue: C,\n\t\t\t\t\t\tonChange: (e) => ce(e.target.value),\n\t\t\t\t\t\tplaceholder: l(0, { minimumFractionDigits: 2 }),\n\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\t\"aria-label\": c(\"trading.amount\"),\n\t\t\t\t\t\tclassName: \"ct-field ct-flex-1 ct-radius-control ct-border ct-px-3 ct-py-3 ct-text-xl ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t}), /* @__PURE__ */ B(n, {\n\t\t\t\t\t\tonClick: () => te(!0),\n\t\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-min-w-[100px] ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-px-4 ct-py-3 ct-font-semibold ct-text-[var(--ct-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\t\t\t\t\tchildren: T?.symbol ?? \"SOL\"\n\t\t\t\t\t})]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tu?.createsAta && /* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: \"ct-enter ct-radius-control ct-border ct-border-[var(--ct-warning)] ct-bg-[var(--ct-warning-bg)] ct-px-3 ct-py-2 ct-text-xs ct-text-[var(--ct-warning)]\",\n\t\t\t\tchildren: c(\"transfer.ataWarning\", { rent: `${l(.002, { maximumFractionDigits: 6 })} SOL` })\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(rt, {\n\t\t\t\tmessage: p,\n\t\t\t\tonDismiss: _\n\t\t\t}),\n\t\t\t!ie && /* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: \"ct-panel ct-panel-warning ct-radius-control ct-p-3 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: c(\"public.transactionUnavailable.body\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(n, {\n\t\t\t\tonClick: le,\n\t\t\t\tdisabled: !ie || !R || !C || f || M !== \"form\",\n\t\t\t\tclassName: `ct-focusable ct-pressable ct-sheen ct-w-full ct-radius-control ct-py-3.5 ct-font-semibold ct-text-[var(--ct-primary-foreground)] disabled:ct-cursor-not-allowed disabled:ct-opacity-50 ${M === \"done\" ? \"ct-success-action\" : \"ct-primary-action\"}`,\n\t\t\t\tchildren: /* @__PURE__ */ B(ee, { children: f ? /* @__PURE__ */ B(Q, { className: \"ct-h-4 ct-w-4\" }) : M === \"done\" ? /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: \"ct-inline-flex ct-items-center ct-gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(ke, { className: \"ct-h-4 ct-w-4 ct-check-draw\" }), ue]\n\t\t\t\t}) : ue })\n\t\t\t}),\n\t\t\tM === \"done\" && d && /* @__PURE__ */ B(ot, {\n\t\t\t\tresult: d,\n\t\t\t\taction: \"transfer\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(Ze, {\n\t\t\t\tisOpen: k,\n\t\t\t\tonClose: () => te(!1),\n\t\t\t\tonSelect: L\n\t\t\t})\n\t\t]\n\t});\n}\n//#endregion\n//#region src/components/transfer/TransferPage.tsx\nfunction kt(e) {\n\tlet { t } = s(), n = lt() && !!(e.walletAddress && e.onSign);\n\treturn /* @__PURE__ */ B(pt, {\n\t\teyebrow: \"Cedros Trade\",\n\t\ttitle: t(\"transfer.title\"),\n\t\tdescription: t(\"metadata.surface.transfer.body\"),\n\t\tprimaryBadge: t(n ? \"public.badge.transactionReady\" : \"public.badge.unavailable\"),\n\t\tsecondaryBadge: n ? t(\"public.badge.walletConnected\") : void 0,\n\t\tnotices: n ? [{\n\t\t\ttitle: t(\"public.notice.signingTitle\"),\n\t\t\tbody: t(\"public.notice.signingBody\")\n\t\t}] : [],\n\t\tchildren: /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-mx-auto ct-w-full ct-max-w-md\",\n\t\t\tchildren: n ? /* @__PURE__ */ B(Ot, { ...e }) : /* @__PURE__ */ B(at, {\n\t\t\t\ttitle: t(\"public.transactionUnavailable.title\"),\n\t\t\t\tbody: t(\"public.transactionUnavailable.body\")\n\t\t\t})\n\t\t})\n\t});\n}\n//#endregion\n//#region src/components/trading/AutoFeatures.tsx\nvar At = {\n\tpriceTargets: [{\n\t\tprice: \"\",\n\t\tpercentage: \"\"\n\t}],\n\ttargetsEnabled: !1,\n\tprofitProtection: {\n\t\tenabled: !1,\n\t\tdropPercent: \"10\",\n\t\tactivateAbove: \"\"\n\t},\n\tstopLoss: {\n\t\tenabled: !1,\n\t\ttriggerPrice: \"\"\n\t},\n\ttrailingStop: {\n\t\tenabled: !1,\n\t\ttrailPercent: \"10\"\n\t}\n};\nfunction jt({ state: e, onChange: t, className: n = \"\" }) {\n\tlet { t: r } = s(), i = (n) => t({\n\t\t...e,\n\t\t...n\n\t});\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-space-y-3 ${n}`,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(Mt, {\n\t\t\t\tenabled: e.targetsEnabled,\n\t\t\t\tonToggle: (e) => i({ targetsEnabled: e }),\n\t\t\t\ticon: Ke,\n\t\t\t\tlabel: r(\"trading.auto.priceTargets\"),\n\t\t\t\tdescription: r(\"trading.auto.priceTargetsDesc\"),\n\t\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-space-y-2\",\n\t\t\t\t\tchildren: [e.priceTargets.map((t, n) => /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-progressive-row ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tvalue: t.price,\n\t\t\t\t\t\t\t\tplaceholder: r(\"trading.auto.pricePlaceholder\"),\n\t\t\t\t\t\t\t\t\"aria-label\": r(\"trading.auto.pricePlaceholder\"),\n\t\t\t\t\t\t\t\tonChange: (t) => {\n\t\t\t\t\t\t\t\t\tlet r = [...e.priceTargets];\n\t\t\t\t\t\t\t\t\tr[n] = {\n\t\t\t\t\t\t\t\t\t\t...r[n],\n\t\t\t\t\t\t\t\t\t\tprice: t.target.value\n\t\t\t\t\t\t\t\t\t}, i({ priceTargets: r });\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tclassName: \"ct-field ct-flex-1 ct-rounded ct-border ct-px-2 ct-py-1.5 ct-text-sm ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\t\tvalue: t.percentage,\n\t\t\t\t\t\t\t\tplaceholder: \"%\",\n\t\t\t\t\t\t\t\t\"aria-label\": r(\"trading.takeProfitPercent\"),\n\t\t\t\t\t\t\t\tonChange: (t) => {\n\t\t\t\t\t\t\t\t\tlet r = [...e.priceTargets];\n\t\t\t\t\t\t\t\t\tr[n] = {\n\t\t\t\t\t\t\t\t\t\t...r[n],\n\t\t\t\t\t\t\t\t\t\tpercentage: t.target.value\n\t\t\t\t\t\t\t\t\t}, i({ priceTargets: r });\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-20 ct-rounded ct-border ct-px-2 ct-py-1.5 ct-text-sm ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\te.priceTargets.length > 1 && /* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\t\t\tonClick: () => i({ priceTargets: e.priceTargets.filter((e, t) => t !== n) }),\n\t\t\t\t\t\t\t\t\"aria-label\": r(\"trading.auto.removeTarget\", { index: n + 1 }),\n\t\t\t\t\t\t\t\tclassName: \"ct-progressive-control ct-focusable ct-pressable ct-rounded-full ct-p-1.5 ct-text-[var(--ct-destructive)] hover:ct-bg-[var(--ct-destructive-bg)]\",\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ B(Oe, { className: \"ct-h-3.5 ct-w-3.5\" })\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t}, n)), /* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\tonClick: () => i({ priceTargets: [...e.priceTargets, {\n\t\t\t\t\t\t\tprice: \"\",\n\t\t\t\t\t\t\tpercentage: \"\"\n\t\t\t\t\t\t}] }),\n\t\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-rounded-full ct-px-2 ct-py-1 ct-text-xs ct-font-medium ct-text-[var(--ct-primary)] hover:ct-bg-[var(--ct-info-bg)]\",\n\t\t\t\t\t\tchildren: r(\"trading.auto.addTarget\")\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(Mt, {\n\t\t\t\tenabled: e.profitProtection.enabled,\n\t\t\t\tonToggle: (t) => i({ profitProtection: {\n\t\t\t\t\t...e.profitProtection,\n\t\t\t\t\tenabled: t\n\t\t\t\t} }),\n\t\t\t\ticon: We,\n\t\t\t\tlabel: r(\"trading.auto.profitProtection\"),\n\t\t\t\tdescription: r(\"trading.auto.profitProtectionDesc\"),\n\t\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-space-y-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tvalue: e.profitProtection.dropPercent,\n\t\t\t\t\t\t\tplaceholder: r(\"trading.auto.dropPercentPlaceholder\"),\n\t\t\t\t\t\t\t\"aria-label\": r(\"trading.auto.dropPercentPlaceholder\"),\n\t\t\t\t\t\t\tonChange: (t) => i({ profitProtection: {\n\t\t\t\t\t\t\t\t...e.profitProtection,\n\t\t\t\t\t\t\t\tdropPercent: t.target.value\n\t\t\t\t\t\t\t} }),\n\t\t\t\t\t\t\tclassName: \"ct-field ct-flex-1 ct-rounded ct-border ct-px-2 ct-py-1.5 ct-text-sm ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: r(\"trading.percentBelowPeak\")\n\t\t\t\t\t\t})]\n\t\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\t\tvalue: e.profitProtection.activateAbove,\n\t\t\t\t\t\t\tplaceholder: r(\"trading.auto.activateAbovePlaceholder\"),\n\t\t\t\t\t\t\t\"aria-label\": r(\"trading.auto.activateAbovePlaceholder\"),\n\t\t\t\t\t\t\tonChange: (t) => i({ profitProtection: {\n\t\t\t\t\t\t\t\t...e.profitProtection,\n\t\t\t\t\t\t\t\tactivateAbove: t.target.value\n\t\t\t\t\t\t\t} }),\n\t\t\t\t\t\t\tclassName: \"ct-field ct-flex-1 ct-rounded ct-border ct-px-2 ct-py-1.5 ct-text-sm ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: r(\"trading.auto.priceSuffix\")\n\t\t\t\t\t\t})]\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(Mt, {\n\t\t\t\tenabled: e.stopLoss.enabled,\n\t\t\t\tonToggle: (t) => i({ stopLoss: {\n\t\t\t\t\t...e.stopLoss,\n\t\t\t\t\tenabled: t\n\t\t\t\t} }),\n\t\t\t\ticon: qe,\n\t\t\t\tlabel: r(\"trading.stopLoss\"),\n\t\t\t\tdescription: r(\"trading.auto.stopLossDesc\"),\n\t\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tvalue: e.stopLoss.triggerPrice,\n\t\t\t\t\t\tplaceholder: r(\"trading.auto.stopPricePlaceholder\"),\n\t\t\t\t\t\t\"aria-label\": r(\"trading.auto.stopPricePlaceholder\"),\n\t\t\t\t\t\tonChange: (t) => i({ stopLoss: {\n\t\t\t\t\t\t\t...e.stopLoss,\n\t\t\t\t\t\t\ttriggerPrice: t.target.value\n\t\t\t\t\t\t} }),\n\t\t\t\t\t\tclassName: \"ct-field ct-flex-1 ct-rounded ct-border ct-px-2 ct-py-1.5 ct-text-sm ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: r(\"trading.auto.triggerSuffix\")\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(Mt, {\n\t\t\t\tenabled: e.trailingStop.enabled,\n\t\t\t\tonToggle: (t) => i({ trailingStop: {\n\t\t\t\t\t...e.trailingStop,\n\t\t\t\t\tenabled: t\n\t\t\t\t} }),\n\t\t\t\ticon: ze,\n\t\t\t\tlabel: r(\"trading.auto.trailingStop\"),\n\t\t\t\tdescription: r(\"trading.auto.trailingStopDesc\"),\n\t\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tvalue: e.trailingStop.trailPercent,\n\t\t\t\t\t\tplaceholder: r(\"trading.auto.trailPercentPlaceholder\"),\n\t\t\t\t\t\t\"aria-label\": r(\"trading.auto.trailPercentPlaceholder\"),\n\t\t\t\t\t\tonChange: (t) => i({ trailingStop: {\n\t\t\t\t\t\t\t...e.trailingStop,\n\t\t\t\t\t\t\ttrailPercent: t.target.value\n\t\t\t\t\t\t} }),\n\t\t\t\t\t\tclassName: \"ct-field ct-flex-1 ct-rounded ct-border ct-px-2 ct-py-1.5 ct-text-sm ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: r(\"trading.percentBelowPeak\")\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Mt({ enabled: e, onToggle: t, icon: n, label: r, description: i, children: a }) {\n\tlet o = ce();\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-panel ct-pressable ct-radius-card ct-cursor-pointer ct-p-3 ${e ? \"ct-border-[var(--ct-primary)] ct-border-l-2 ct-border-l-[var(--ct-primary)] ct-panel-info\" : \"ct-border-[var(--ct-border)]\"}`,\n\t\tonClick: (n) => {\n\t\t\tn.target.closest(\".ct-card-body\") || t(!e);\n\t\t},\n\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2.5 ct-mb-1\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: e,\n\t\t\t\t\t\"aria-label\": r,\n\t\t\t\t\t\"aria-expanded\": e,\n\t\t\t\t\t\"aria-controls\": o,\n\t\t\t\t\tonChange: (e) => {\n\t\t\t\t\t\te.stopPropagation(), t(e.target.checked);\n\t\t\t\t\t},\n\t\t\t\t\tclassName: \"ct-focusable ct-h-4 ct-w-4 ct-rounded ct-accent-[var(--ct-primary)]\"\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: `ct-flex ct-h-7 ct-w-7 ct-items-center ct-justify-center ct-rounded-cedros-sm ${e ? \"ct-bg-[var(--ct-info-bg)] ct-text-[var(--ct-primary)]\" : \"ct-bg-[var(--ct-surface-muted)] ct-text-[var(--ct-muted-foreground)]\"}`,\n\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\tchildren: /* @__PURE__ */ B(n, { className: \"ct-h-4 ct-w-4\" })\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: r\n\t\t\t\t})\n\t\t\t]\n\t\t}), /* @__PURE__ */ B(x, {\n\t\t\topen: e,\n\t\t\tid: o,\n\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-card-body ct-mt-2 ct-space-y-2\",\n\t\t\t\tonClick: (e) => e.stopPropagation(),\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"p\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: i\n\t\t\t\t}), a]\n\t\t\t})\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/components/trading/OrderForm.tsx\nvar Nt = \"So11111111111111111111111111111111111111112\";\nfunction Pt(e) {\n\treturn e === Nt ? 9 : 6;\n}\nfunction Ft(e, t, n, r = \"en-US\") {\n\tlet i = o(e, r), a = o(t, r);\n\treturn i === null || a === null || i <= 0 || a <= 0 ? null : $((i * a).toFixed(n), n);\n}\nfunction It(e, t) {\n\tlet n = t.parseNumber(e);\n\treturn n === null || n <= 0 ? null : t.normalizeDecimal(e);\n}\nfunction Lt(e, t) {\n\tlet n = t.parseNumber(e);\n\treturn n !== null && n > 0 ? n : null;\n}\nfunction Rt({ walletAddress: e, walletId: t, inputMint: r, outputMint: i, inputSymbol: a = \"\", outputSymbol: o = \"\", currentPrice: c, onSign: l, onSuccess: u, className: d = \"\" }) {\n\tlet f = s(), { t: m, formatNumber: h } = f, { isLoading: g, error: v, createLimit: y, createStopLoss: x, createTakeProfit: C, createDca: w } = Ee(), T = W(), { getByMint: D } = Te(), k = ce(), te = `${k}-ordertype`, [A, ne] = z(\"limit\"), [j, M] = z(\"buy\"), [N, ie] = z(\"\"), [ae, oe] = z(\"\"), [P, se] = z(100), [I, L] = z(\"10\"), [R, le] = z(\"86400\"), [ue, de] = z(\"10\"), [fe, pe] = z(\"\"), [me, H] = z(\"\"), [he, ge] = z(\"10\"), [_e, ve] = z(\"30\"), [U, ye] = z(At), [be, G] = z(null), xe = [\n\t\t{\n\t\t\tid: \"limit\",\n\t\t\tlabel: m(\"trading.limit\")\n\t\t},\n\t\t{\n\t\t\tid: \"stop-loss\",\n\t\t\tlabel: m(\"trading.stopLoss\")\n\t\t},\n\t\t{\n\t\t\tid: \"take-profit\",\n\t\t\tlabel: m(\"trading.takeProfit\")\n\t\t},\n\t\t{\n\t\t\tid: \"trailing-stop\",\n\t\t\tlabel: m(\"trading.trailing\")\n\t\t},\n\t\t{\n\t\t\tid: \"oco\",\n\t\t\tlabel: m(\"trading.oco\")\n\t\t},\n\t\t{\n\t\t\tid: \"bracket\",\n\t\t\tlabel: m(\"trading.bracket\")\n\t\t},\n\t\t{\n\t\t\tid: \"dca\",\n\t\t\tlabel: m(\"trading.dca\")\n\t\t},\n\t\t{\n\t\t\tid: \"auto\",\n\t\t\tlabel: m(\"trading.auto\")\n\t\t}\n\t], K = j === \"buy\" ? i : r, q = j === \"buy\" ? r : i, J = D(K)?.decimals ?? Pt(K), Se = D(q)?.decimals ?? Pt(q), Ce = j === \"buy\" ? a : a || o, we = m(\"trading.submit\", {\n\t\tside: m(j === \"buy\" ? \"trading.buy\" : \"trading.sell\"),\n\t\tsymbol: Ce\n\t}), Y = F(async (e) => {\n\t\tif (!l) throw Error(m(\"trading.errorWalletSigningRequired\"));\n\t\tlet t = await l(e);\n\t\tawait T.executeTransaction(t, \"rpc\");\n\t}, [\n\t\tT,\n\t\tl,\n\t\tm\n\t]), X = F(async () => {\n\t\tif (!(!lt() || !e || !l || !N)) {\n\t\t\tG(null);\n\t\t\ttry {\n\t\t\t\tlet n, r = e;\n\t\t\t\tif (A === \"limit\") {\n\t\t\t\t\tif (!ae) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterPrice\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet e = $(N, J, f.locale), t = Ft(N, ae, Se, f.locale);\n\t\t\t\t\tif (!e || !t) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmountPrice\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tn = await y({\n\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\tinAmount: e,\n\t\t\t\t\t\toutAmount: t\n\t\t\t\t\t});\n\t\t\t\t} else if (A === \"stop-loss\") {\n\t\t\t\t\tif (!ae) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterTriggerPrice\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet e = It(ae, f), t = $(N, J, f.locale);\n\t\t\t\t\tif (!t || !e) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmountPrice\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tn = await x({\n\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\tinAmount: t,\n\t\t\t\t\t\ttriggerPrice: e,\n\t\t\t\t\t\tslippageBps: P\n\t\t\t\t\t});\n\t\t\t\t} else if (A === \"take-profit\") {\n\t\t\t\t\tif (!ae) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterTriggerPrice\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet e = It(ae, f), t = $(N, J, f.locale);\n\t\t\t\t\tif (!t || !e) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmountPrice\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tn = await C({\n\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\tinAmount: t,\n\t\t\t\t\t\ttriggerPrice: e,\n\t\t\t\t\t\tslippageBps: P\n\t\t\t\t\t});\n\t\t\t\t} else if (A === \"trailing-stop\") {\n\t\t\t\t\tif (!t) {\n\t\t\t\t\t\tG(m(\"trading.errorEmbeddedWalletTrailing\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet e = $(N, J, f.locale), n = Lt(ue, f);\n\t\t\t\t\tif (!e || n === null) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmount\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet i = await T.createTrailingStop({\n\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\twalletId: t,\n\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\tinAmount: e,\n\t\t\t\t\t\ttrailPercent: n,\n\t\t\t\t\t\tslippageBps: P\n\t\t\t\t\t});\n\t\t\t\t\tu?.(i.orderId), ie(\"\");\n\t\t\t\t\treturn;\n\t\t\t\t} else if (A === \"oco\") {\n\t\t\t\t\tif (!fe || !me) {\n\t\t\t\t\t\tG(m(\"trading.errorOcoPrices\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet e = It(fe, f), n = It(me, f), i = $(N, J, f.locale);\n\t\t\t\t\tif (!i || !e || !n) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmountPrice\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet a = await T.createOco({\n\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\twalletId: t,\n\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\tinAmount: i,\n\t\t\t\t\t\tstopLoss: {\n\t\t\t\t\t\t\ttriggerPrice: e,\n\t\t\t\t\t\t\tslippageBps: P\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttakeProfit: {\n\t\t\t\t\t\t\ttriggerPrice: n,\n\t\t\t\t\t\t\tslippageBps: 50\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\ta.stopLossTransaction && await Y(a.stopLossTransaction), a.takeProfitTransaction && await Y(a.takeProfitTransaction), u?.(a.ocoId), ie(\"\");\n\t\t\t\t\treturn;\n\t\t\t\t} else if (A === \"bracket\") {\n\t\t\t\t\tif (!t) {\n\t\t\t\t\t\tG(m(\"trading.errorEmbeddedWalletBracket\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet e = $(N, J, f.locale), i = Lt(he, f), a = Lt(_e, f);\n\t\t\t\t\tif (!e || i === null || a === null) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmount\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet o = await T.createBracket({\n\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\twalletId: t,\n\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\tinAmount: e,\n\t\t\t\t\t\tstopLossPercent: i,\n\t\t\t\t\t\ttakeProfitPercent: a\n\t\t\t\t\t});\n\t\t\t\t\tn = {\n\t\t\t\t\t\ttransaction: o.entryTransaction,\n\t\t\t\t\t\torderId: o.bracketId\n\t\t\t\t\t};\n\t\t\t\t} else if (A === \"auto\") {\n\t\t\t\t\tlet e = $(N, J, f.locale);\n\t\t\t\t\tif (!e) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmount\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet n = [];\n\t\t\t\t\tif (U.targetsEnabled) for (let e of U.priceTargets) {\n\t\t\t\t\t\tif (!e.price || !e.percentage) continue;\n\t\t\t\t\t\tlet t = It(e.price, f);\n\t\t\t\t\t\tif (!t) continue;\n\t\t\t\t\t\tlet i = (f.parseNumber(e.percentage) ?? 0) / 100, a = $(((f.parseNumber(N) ?? 0) * i).toFixed(J), J, f.locale);\n\t\t\t\t\t\ta && (await Y((await C({\n\t\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\t\tinAmount: a,\n\t\t\t\t\t\t\ttriggerPrice: t,\n\t\t\t\t\t\t\tslippageBps: 50\n\t\t\t\t\t\t})).transaction), n.push(m(\"trading.auto.summaryTakeProfit\", { price: f.formatNumber(t) })));\n\t\t\t\t\t}\n\t\t\t\t\tif (U.profitProtection.enabled && U.profitProtection.dropPercent) {\n\t\t\t\t\t\tif (!t) {\n\t\t\t\t\t\t\tG(m(\"trading.errorEmbeddedWalletTrailing\"));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet i = Lt(U.profitProtection.dropPercent, f);\n\t\t\t\t\t\tif (i !== null) {\n\t\t\t\t\t\t\tlet a = (U.profitProtection.activateAbove, e);\n\t\t\t\t\t\t\tawait T.createTrailingStop({\n\t\t\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\t\t\twalletId: t,\n\t\t\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\t\t\tinAmount: a,\n\t\t\t\t\t\t\t\ttrailPercent: i,\n\t\t\t\t\t\t\t\tslippageBps: 100\n\t\t\t\t\t\t\t}), n.push(m(\"trading.auto.summaryTrailing\", { percent: f.formatPercent(i / 100, {\n\t\t\t\t\t\t\t\tvalueIsFraction: !0,\n\t\t\t\t\t\t\t\tmaximumFractionDigits: 2\n\t\t\t\t\t\t\t}) }));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (U.stopLoss.enabled && U.stopLoss.triggerPrice) {\n\t\t\t\t\t\tlet t = It(U.stopLoss.triggerPrice, f);\n\t\t\t\t\t\tt && (await Y((await x({\n\t\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\t\tinAmount: e,\n\t\t\t\t\t\t\ttriggerPrice: t,\n\t\t\t\t\t\t\tslippageBps: 100\n\t\t\t\t\t\t})).transaction), n.push(m(\"trading.auto.summaryStopLoss\", { price: f.formatNumber(t) })));\n\t\t\t\t\t}\n\t\t\t\t\tif (U.trailingStop.enabled && U.trailingStop.trailPercent) {\n\t\t\t\t\t\tif (!t) {\n\t\t\t\t\t\t\tG(m(\"trading.errorEmbeddedWalletTrailing\"));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet i = Lt(U.trailingStop.trailPercent, f);\n\t\t\t\t\t\ti !== null && (await T.createTrailingStop({\n\t\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\t\twalletId: t,\n\t\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\t\tinAmount: e,\n\t\t\t\t\t\t\ttrailPercent: i,\n\t\t\t\t\t\t\tslippageBps: 100\n\t\t\t\t\t\t}), n.push(m(\"trading.auto.summaryTrailing\", { percent: f.formatPercent(i / 100, {\n\t\t\t\t\t\t\tvalueIsFraction: !0,\n\t\t\t\t\t\t\tmaximumFractionDigits: 2\n\t\t\t\t\t\t}) })));\n\t\t\t\t\t}\n\t\t\t\t\tif (n.length === 0) {\n\t\t\t\t\t\tG(m(\"trading.errorEnableAutoFeature\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tu?.(f.formatList(n)), ie(\"\");\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tlet e = parseInt(I, 10);\n\t\t\t\t\tif (!Number.isFinite(e) || e <= 0) {\n\t\t\t\t\t\tG(m(\"trading.errorValidCycleCount\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tlet t = $(N, J, f.locale), i = f.parseNumber(N), a = i === null ? null : $((i / e).toFixed(J), J, f.locale);\n\t\t\t\t\tif (!t || !a) {\n\t\t\t\t\t\tG(m(\"trading.errorEnterValidAmount\"));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tn = await w({\n\t\t\t\t\t\tmaker: r,\n\t\t\t\t\t\tinputMint: K,\n\t\t\t\t\t\toutputMint: q,\n\t\t\t\t\t\ttotalInAmount: t,\n\t\t\t\t\t\tperCycleAmount: a,\n\t\t\t\t\t\tcycleInterval: parseInt(R)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tawait Y(n.transaction), u?.(n.orderId), ie(\"\"), oe(\"\");\n\t\t\t} catch (e) {\n\t\t\t\tG(S(e, f));\n\t\t\t}\n\t\t}\n\t}, [\n\t\te,\n\t\tt,\n\t\tl,\n\t\tN,\n\t\tae,\n\t\tA,\n\t\tP,\n\t\tK,\n\t\tq,\n\t\tJ,\n\t\tSe,\n\t\tI,\n\t\tR,\n\t\tue,\n\t\tfe,\n\t\tme,\n\t\the,\n\t\t_e,\n\t\tU,\n\t\tT,\n\t\ty,\n\t\tx,\n\t\tC,\n\t\tw,\n\t\tY,\n\t\tu,\n\t\tf,\n\t\tm\n\t]);\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-panel-elevated ct-radius-card ct-p-5 ct-space-y-4 ${d}`,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-items-start ct-justify-between ct-gap-3\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", { children: [/* @__PURE__ */ B(\"h2\", {\n\t\t\t\t\tclassName: \"ct-text-lg ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: a || o ? `${a}/${o}` : m(\"metadata.page.trading.displayName\")\n\t\t\t\t}), /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: xe.find((e) => e.id === A)?.label\n\t\t\t\t})] }), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1.5 ct-rounded-full ct-px-2.5 ct-py-1 ct-text-xs ct-font-medium ${j === \"buy\" ? \"ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\" : \"ct-bg-[var(--ct-destructive-bg)] ct-text-[var(--ct-destructive)]\"}`,\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, { tone: j === \"buy\" ? \"success\" : \"danger\" }), m(j === \"buy\" ? \"trading.buy\" : \"trading.sell\")]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tc !== void 0 && /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-items-baseline ct-gap-2 ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-px-3 ct-py-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-eyebrow\",\n\t\t\t\t\tchildren: m(\"trading.markPrice\")\n\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-text-lg ct-font-semibold ct-tabular-num ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: /* @__PURE__ */ B(E, { value: h(c, { maximumFractionDigits: 4 }) })\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\trole: \"group\",\n\t\t\t\t\"aria-label\": m(\"trading.orderSide\"),\n\t\t\t\tclassName: \"ct-flex ct-gap-1 ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-muted)] ct-p-1\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(n, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tonClick: () => M(\"buy\"),\n\t\t\t\t\t\"aria-pressed\": j === \"buy\",\n\t\t\t\t\tclassName: `ct-focusable ct-pressable ct-flex-1 ct-rounded ct-py-2 ct-text-sm ct-font-semibold ${j === \"buy\" ? \"ct-success-action ct-text-[var(--ct-success-foreground)]\" : \"ct-text-[var(--ct-muted-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\"}`,\n\t\t\t\t\tchildren: m(\"trading.buy\")\n\t\t\t\t}), /* @__PURE__ */ B(n, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tonClick: () => M(\"sell\"),\n\t\t\t\t\t\"aria-pressed\": j === \"sell\",\n\t\t\t\t\tclassName: `ct-focusable ct-pressable ct-flex-1 ct-rounded ct-py-2 ct-text-sm ct-font-semibold ${j === \"sell\" ? \"ct-danger-action ct-text-[var(--ct-destructive-foreground)]\" : \"ct-text-[var(--ct-muted-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\"}`,\n\t\t\t\t\tchildren: m(\"trading.sell\")\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(p, {\n\t\t\t\taxis: \"x\",\n\t\t\t\tariaLabel: m(\"trading.orderType\"),\n\t\t\t\tclassName: \"ct-overflow-x-auto ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)]\",\n\t\t\t\tchildren: /* @__PURE__ */ B(O, {\n\t\t\t\t\ttabs: xe,\n\t\t\t\t\tactiveId: A,\n\t\t\t\t\tonChange: ne,\n\t\t\t\t\tariaLabel: m(\"trading.orderType\"),\n\t\t\t\t\tidBase: te,\n\t\t\t\t\tclassName: \"ct-flex ct-min-w-max ct-gap-1 ct-p-1\",\n\t\t\t\t\ttabClassName: (e) => `ct-focusable ct-pressable ct-whitespace-nowrap ct-rounded ct-px-3 ct-py-1.5 ct-text-xs ct-font-medium ${e ? \"ct-primary-action ct-text-[var(--ct-primary-foreground)]\" : \"ct-text-[var(--ct-muted-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\"}`\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(re, {\n\t\t\t\tidBase: te,\n\t\t\t\tactiveId: A,\n\t\t\t\tchildren: /* @__PURE__ */ B(_, {\n\t\t\t\t\tactiveKey: A,\n\t\t\t\t\torder: xe.map((e) => e.id),\n\t\t\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-space-y-4\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\tA !== \"dca\" && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\thtmlFor: `${k}-price`,\n\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\t\t\tchildren: m(A === \"limit\" ? \"trading.limitPrice\" : \"trading.triggerPrice\")\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\tid: `${k}-price`,\n\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\tvalue: ae,\n\t\t\t\t\t\t\t\t\tonChange: (e) => oe(e.target.value),\n\t\t\t\t\t\t\t\t\tplaceholder: c ? h(c, { maximumFractionDigits: 2 }) : h(0, { minimumFractionDigits: 2 }),\n\t\t\t\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-px-3 ct-py-2.5 ct-tabular-num ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\thtmlFor: `${k}-amount`,\n\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\t\t\tchildren: m(\"trading.amount\")\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\tid: `${k}-amount`,\n\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\tvalue: N,\n\t\t\t\t\t\t\t\t\tonChange: (e) => ie(e.target.value),\n\t\t\t\t\t\t\t\t\tplaceholder: h(0, { minimumFractionDigits: 2 }),\n\t\t\t\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-px-3 ct-py-2.5 ct-tabular-num ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tA === \"dca\" && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-grid ct-grid-cols-1 ct-gap-2 sm:ct-grid-cols-2\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\t\thtmlFor: `${k}-dca-cycles`,\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.cycles\")\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\t\tid: `${k}-dca-cycles`,\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\tinputMode: \"numeric\",\n\t\t\t\t\t\t\t\t\t\tvalue: I,\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => L(e.target.value.replace(/[^0-9]/g, \"\")),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-px-3 ct-py-2 ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\t\thtmlFor: `${k}-dca-interval`,\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.interval\")\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ V(\"select\", {\n\t\t\t\t\t\t\t\t\t\tid: `${k}-dca-interval`,\n\t\t\t\t\t\t\t\t\t\tvalue: R,\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => le(e.target.value),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-px-3 ct-py-2 ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ B(\"option\", {\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: \"3600\",\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.hourly\")\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ B(\"option\", {\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: \"86400\",\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.daily\")\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ B(\"option\", {\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: \"604800\",\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.weekly\")\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tA === \"trailing-stop\" && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\thtmlFor: `${k}-trail`,\n\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\t\t\tchildren: m(\"trading.trailPercentage\")\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-gap-2\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\t\tid: `${k}-trail`,\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\tvalue: ue,\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => de(e.target.value),\n\t\t\t\t\t\t\t\t\t\tplaceholder: h(10),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-flex-1 ct-radius-control ct-border ct-px-3 ct-py-2 ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-sm ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.percentBelowPeak\")\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tA === \"oco\" && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-grid ct-grid-cols-1 ct-gap-2 sm:ct-grid-cols-2\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\t\thtmlFor: `${k}-oco-sl`,\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-destructive)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.stopLossPrice\")\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\t\tid: `${k}-oco-sl`,\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\tvalue: fe,\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => pe(e.target.value),\n\t\t\t\t\t\t\t\t\t\tplaceholder: h(130, { minimumFractionDigits: 2 }),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-border-[var(--ct-destructive)] ct-px-3 ct-py-2 ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\t\thtmlFor: `${k}-oco-tp`,\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-success)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.takeProfitPrice\")\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\t\tid: `${k}-oco-tp`,\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\tvalue: me,\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => H(e.target.value),\n\t\t\t\t\t\t\t\t\t\tplaceholder: h(200, { minimumFractionDigits: 2 }),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-border-[var(--ct-success)] ct-px-3 ct-py-2 ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tA === \"bracket\" && /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-grid ct-grid-cols-1 ct-gap-2 sm:ct-grid-cols-2\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\t\thtmlFor: `${k}-bracket-sl`,\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-destructive)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.stopLossPercent\")\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\t\tid: `${k}-bracket-sl`,\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\tvalue: he,\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => ge(e.target.value),\n\t\t\t\t\t\t\t\t\t\tplaceholder: h(10),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-border-[var(--ct-destructive)] ct-px-3 ct-py-2 ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-space-y-1\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"label\", {\n\t\t\t\t\t\t\t\t\t\thtmlFor: `${k}-bracket-tp`,\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-success)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: m(\"trading.takeProfitPercent\")\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"input\", {\n\t\t\t\t\t\t\t\t\t\tid: `${k}-bracket-tp`,\n\t\t\t\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\t\t\t\tvalue: _e,\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => ve(e.target.value),\n\t\t\t\t\t\t\t\t\t\tplaceholder: h(30),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-field ct-w-full ct-radius-control ct-border ct-border-[var(--ct-success)] ct-px-3 ct-py-2 ct-text-[var(--ct-foreground)] ct-outline-none\"\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tA === \"auto\" && /* @__PURE__ */ B(jt, {\n\t\t\t\t\t\t\t\tstate: U,\n\t\t\t\t\t\t\t\tonChange: ye\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t(A === \"stop-loss\" || A === \"take-profit\" || A === \"trailing-stop\") && /* @__PURE__ */ B(tt, {\n\t\t\t\t\t\t\t\tvalue: P,\n\t\t\t\t\t\t\t\tonChange: se\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(rt, {\n\t\t\t\t\t\t\t\tmessage: be || v,\n\t\t\t\t\t\t\t\tonDismiss: () => G(null)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t!lt() && /* @__PURE__ */ B(nt, {\n\t\t\t\t\t\t\t\ttone: \"warning\",\n\t\t\t\t\t\t\t\tmessage: m(\"public.tradingUnavailable.body\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(n, {\n\t\t\t\t\t\t\t\tonClick: X,\n\t\t\t\t\t\t\t\tdisabled: !lt() || !e || !l || !N || g,\n\t\t\t\t\t\t\t\tclassName: `ct-focusable ct-pressable ct-sheen ct-w-full ct-radius-control ct-py-3.5 ct-font-semibold disabled:ct-cursor-not-allowed disabled:ct-opacity-50 ${j === \"buy\" ? \"ct-success-action ct-text-[var(--ct-success-foreground)]\" : \"ct-danger-action ct-text-[var(--ct-destructive-foreground)]\"}`,\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ B(ee, { children: g ? /* @__PURE__ */ B(Q, { className: \"ct-h-4 ct-w-4\" }) : we })\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t})\n\t\t]\n\t});\n}\n//#endregion\n//#region src/components/trading/TradingViewChart.tsx\nfunction zt({ symbol: e, interval: t = \"D\", theme: n = \"dark\", className: r = \"\" }) {\n\tlet { locale: i, timeZone: a } = s(), o = L(() => Bt({\n\t\tinterval: t,\n\t\tlocale: i,\n\t\tsymbol: e,\n\t\ttheme: n,\n\t\ttimeZone: a\n\t}), [\n\t\tt,\n\t\ti,\n\t\te,\n\t\tn,\n\t\ta\n\t]);\n\treturn /* @__PURE__ */ B(\"iframe\", {\n\t\ttitle: `${e} chart`,\n\t\tsrc: o,\n\t\tclassName: `tradingview-widget-container ct-w-full ct-h-full ct-min-h-[400px] ${r}`,\n\t\tstyle: { height: \"100%\" },\n\t\tloading: \"lazy\",\n\t\treferrerPolicy: \"no-referrer\"\n\t});\n}\nfunction Bt({ interval: e, locale: t, symbol: n, theme: r, timeZone: i }) {\n\treturn `https://www.tradingview.com/widgetembed/?${new URLSearchParams({\n\t\tsymbol: n,\n\t\tinterval: e,\n\t\ttheme: r,\n\t\tlocale: Ut(t),\n\t\ttimezone: i || \"Etc/UTC\",\n\t\tstyle: \"1\",\n\t\thide_top_toolbar: \"0\",\n\t\thide_legend: \"0\",\n\t\tsave_image: \"0\",\n\t\tallow_symbol_change: \"1\",\n\t\twithdateranges: \"1\"\n\t}).toString()}`;\n}\nvar Vt = {\n\t\"pt-br\": \"br\",\n\t\"zh-cn\": \"zh_CN\",\n\t\"zh-tw\": \"zh_TW\",\n\t\"zh-hk\": \"zh_TW\",\n\t\"he-il\": \"he_IL\"\n}, Ht = new Set(/* @__PURE__ */ \"ar.ca.cs.de.el.en.es.fa.fr.he.hu.id.it.ja.ko.ms.nl.pl.pt.ro.ru.sk.sv.th.tr.uk.vi.zh\".split(\".\"));\nfunction Ut(e) {\n\tlet t = e.toLowerCase();\n\tif (Vt[t]) return Vt[t];\n\tlet n = t.split(\"-\")[0];\n\treturn Ht.has(n) ? n : \"en\";\n}\n//#endregion\n//#region src/components/trading/LightweightChart.tsx\nfunction Wt({ data: e = [], theme: t = \"dark\", className: n = \"\" }) {\n\tlet { locale: r, t: i } = s(), [a, o] = z(!1), [c, l] = z(0), u = R(e);\n\tu.current = e;\n\tlet d = R(null), f = R(null), p = R(null);\n\treturn I(() => {\n\t\tif (!d.current) return;\n\t\tlet e = d.current, t = !1, n, i;\n\t\to(!1);\n\t\tlet a = () => {\n\t\t\ti?.disconnect(), n?.remove(), f.current === n && (f.current = null, p.current = null), n = void 0, i = void 0;\n\t\t};\n\t\treturn import(\"./lightweight-charts.production-YBpnU30V.js\").then(({ createChart: a, ColorType: o }) => {\n\t\t\tif (t) return;\n\t\t\tlet s = Gt(e);\n\t\t\tn = a(e, {\n\t\t\t\tlocalization: { locale: r },\n\t\t\t\tlayout: {\n\t\t\t\t\tbackground: {\n\t\t\t\t\t\ttype: o.Solid,\n\t\t\t\t\t\tcolor: s.background\n\t\t\t\t\t},\n\t\t\t\t\ttextColor: s.muted\n\t\t\t\t},\n\t\t\t\tgrid: {\n\t\t\t\t\tvertLines: { color: s.border },\n\t\t\t\t\thorzLines: { color: s.border }\n\t\t\t\t},\n\t\t\t\tcrosshair: { mode: 0 },\n\t\t\t\trightPriceScale: { borderColor: s.border },\n\t\t\t\ttimeScale: {\n\t\t\t\t\tborderColor: s.border,\n\t\t\t\t\ttimeVisible: !0\n\t\t\t\t}\n\t\t\t});\n\t\t\tlet c = n.addCandlestickSeries({\n\t\t\t\tupColor: s.buy,\n\t\t\t\tdownColor: s.sell,\n\t\t\t\tborderDownColor: s.sell,\n\t\t\t\tborderUpColor: s.buy,\n\t\t\t\twickDownColor: s.sell,\n\t\t\t\twickUpColor: s.buy\n\t\t\t});\n\t\t\tf.current = n, p.current = c, c.setData(u.current), i = new ResizeObserver((e) => {\n\t\t\t\tlet t = e[0]?.contentRect;\n\t\t\t\tt && n?.applyOptions({\n\t\t\t\t\twidth: t.width,\n\t\t\t\t\theight: t.height\n\t\t\t\t});\n\t\t\t}), i.observe(e);\n\t\t}).catch(() => {\n\t\t\tt || (a(), o(!0));\n\t\t}), () => {\n\t\t\tt = !0, a();\n\t\t};\n\t}, [\n\t\tt,\n\t\tr,\n\t\tc\n\t]), I(() => {\n\t\tp.current && p.current.setData(e);\n\t}, [e]), /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-relative ct-w-full ct-h-full ct-min-h-[400px] ${n}`,\n\t\tchildren: [/* @__PURE__ */ B(\"div\", {\n\t\t\tref: d,\n\t\t\tclassName: \"ct-w-full ct-h-full ct-min-h-[400px]\"\n\t\t}), a && /* @__PURE__ */ V(\"div\", {\n\t\t\trole: \"alert\",\n\t\t\tclassName: \"ct-absolute ct-inset-0 ct-flex ct-flex-col ct-items-center ct-justify-center ct-gap-3\",\n\t\t\tchildren: [/* @__PURE__ */ B(\"p\", { children: i(\"errors.requestFailed\") }), /* @__PURE__ */ B(\"button\", {\n\t\t\t\tclassName: \"ct-focusable\",\n\t\t\t\tonClick: () => l((e) => e + 1),\n\t\t\t\tchildren: i(\"common.retry\")\n\t\t\t})]\n\t\t})]\n\t});\n}\nfunction Gt(e) {\n\tlet t = getComputedStyle(e);\n\treturn {\n\t\tbackground: Kt(t, \"--ct-background\", \"#020617\"),\n\t\tmuted: Kt(t, \"--ct-muted-foreground\", \"#94a3b8\"),\n\t\tborder: Kt(t, \"--ct-border\", \"#334155\"),\n\t\tbuy: Kt(t, \"--ct-buy\", \"#16a34a\"),\n\t\tsell: Kt(t, \"--ct-sell\", \"#dc2626\")\n\t};\n}\nfunction Kt(e, t, n) {\n\treturn e.getPropertyValue(t).trim() || n;\n}\n//#endregion\n//#region src/components/trading/ChartContainer.tsx\nfunction qt({ chartType: e, symbol: t, theme: n = \"dark\", chartData: r, className: i = \"\" }) {\n\tlet { t: a } = s(), o = e === \"lightweight\" && (!r || r.length === 0);\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-market-wash ct-relative ct-h-full ct-w-full ct-overflow-hidden ${i}`,\n\t\tchildren: [e === \"tradingview\" ? /* @__PURE__ */ B(zt, {\n\t\t\tsymbol: t,\n\t\t\ttheme: n\n\t\t}) : /* @__PURE__ */ B(Wt, {\n\t\t\tdata: r,\n\t\t\ttheme: n\n\t\t}), o && /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-absolute ct-inset-0 ct-z-10 ct-flex ct-items-center ct-justify-center ct-p-6\",\n\t\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-panel-elevated ct-enter ct-max-w-sm ct-radius-card ct-p-5 ct-text-center\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ B(j, {}),\n\t\t\t\t\t/* @__PURE__ */ B(\"h3\", {\n\t\t\t\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\tchildren: a(\"trading.chart.emptyTitle\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\tclassName: \"ct-mt-2 ct-text-xs ct-leading-5 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: a(\"trading.chart.emptyBody\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/utils/useReconnectingWebSocket.ts\nvar Jt = 1e3, Yt = 3e4, Xt = 20;\nfunction Zt({ url: e, onMessage: t, enabled: n = !0 }) {\n\tlet [r, i] = z(\"disconnected\"), [a, o] = z(0), s = R(null), c = R(Jt), l = R(), u = R(!0), d = R(t), f = R(() => {});\n\td.current = t;\n\tlet p = F(() => {\n\t\tu.current && o((e) => {\n\t\t\tif (e >= Xt) return i(\"disconnected\"), e;\n\t\t\ti(\"reconnecting\");\n\t\t\tlet t = Math.min(c.current, Yt);\n\t\t\treturn c.current = Math.min(t * 2, Yt), l.current = setTimeout(() => {\n\t\t\t\tu.current && f.current();\n\t\t\t}, t), e + 1;\n\t\t});\n\t}, []), m = F(() => {\n\t\tif (!e || !u.current) return;\n\t\ti(\"connecting\");\n\t\tlet t = new WebSocket(e);\n\t\ts.current = t, t.onopen = () => {\n\t\t\tif (!u.current) {\n\t\t\t\tt.close();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ti(\"connected\"), c.current = Jt, o(0);\n\t\t}, t.onmessage = (e) => {\n\t\t\td.current(e.data);\n\t\t}, t.onclose = () => {\n\t\t\t!u.current || s.current !== t || (s.current = null, p());\n\t\t}, t.onerror = () => {};\n\t}, [p, e]);\n\tf.current = m;\n\tlet h = F((e) => {\n\t\ts.current?.readyState === WebSocket.OPEN && s.current.send(e);\n\t}, []);\n\treturn I(() => (u.current = !0, n && e && m(), () => {\n\t\tu.current = !1, clearTimeout(l.current);\n\t\tlet e = s.current;\n\t\ts.current = null, e?.close();\n\t}), [\n\t\te,\n\t\tn,\n\t\tm\n\t]), {\n\t\tstate: r,\n\t\tsend: h,\n\t\tretryCount: a\n\t};\n}\n//#endregion\n//#region src/hooks/useOrderbook.ts\nfunction Qt(e, t = !0) {\n\tlet n = W(), r = s(), [i, a] = z(null), { state: o, retryCount: c } = Zt({\n\t\turl: null,\n\t\tonMessage: F((e) => {\n\t\t\ta(tn(e));\n\t\t}, []),\n\t\tenabled: !1\n\t}), l = D({\n\t\tkey: e ? [\n\t\t\t\"orderbook\",\n\t\t\tn,\n\t\t\te\n\t\t] : null,\n\t\tinitialData: null,\n\t\tload: async (t) => $t(e, await n.getOrderbook(e, t)),\n\t\tmapError: (e) => S(e, r)\n\t});\n\treturn {\n\t\tdata: i ?? l.data,\n\t\tisLoading: l.isLoading,\n\t\terror: l.error,\n\t\tconnectionState: o,\n\t\tretryCount: c\n\t};\n}\nfunction $t(e, t) {\n\treturn {\n\t\tmarket: t.market || e,\n\t\tbaseMint: t.baseMint ?? \"\",\n\t\tquoteMint: t.quoteMint ?? \"\",\n\t\tbids: en(t.bids),\n\t\tasks: en(t.asks),\n\t\tspread: t.spread,\n\t\tmidPrice: t.midPrice,\n\t\ttimestamp: t.timestamp\n\t};\n}\nfunction en(e) {\n\treturn e.filter(rn);\n}\nfunction tn(e) {\n\ttry {\n\t\tlet t = JSON.parse(e);\n\t\treturn nn(t) ? t : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction nn(e) {\n\tif (!e || typeof e != \"object\") return !1;\n\tlet t = e;\n\treturn typeof t.market == \"string\" && typeof t.baseMint == \"string\" && typeof t.quoteMint == \"string\" && Array.isArray(t.bids) && Array.isArray(t.asks) && t.bids.every(rn) && t.asks.every(rn) && typeof t.spread == \"number\" && typeof t.midPrice == \"number\" && (t.timestamp === void 0 || typeof t.timestamp == \"string\");\n}\nfunction rn(e) {\n\tif (!e || typeof e != \"object\") return !1;\n\tlet t = e;\n\treturn [\n\t\t\"price\",\n\t\t\"size\",\n\t\t\"total\"\n\t].every((e) => typeof t[e] == \"number\");\n}\n//#endregion\n//#region src/components/trading/Orderbook.tsx\nfunction an({ marketAddress: e, tickSize: t = .01, maxLevels: n = 15, onPriceClick: r, className: i = \"\" }) {\n\tlet { t: a, formatCurrency: o, formatNumber: c, formatPercent: l, formatCompact: u } = s(), { data: d, isLoading: f, connectionState: m } = Qt(e), h = m === \"connected\", g = L(() => {\n\t\tif (!d) return {\n\t\t\tbids: [],\n\t\t\tasks: [],\n\t\t\tmaxTotal: 1,\n\t\t\tspread: 0\n\t\t};\n\t\tlet e = (e, r) => {\n\t\t\tlet i = /* @__PURE__ */ new Map();\n\t\t\tfor (let n of e) {\n\t\t\t\tlet e = r ? Math.ceil(n.price / t) * t : Math.floor(n.price / t) * t, a = i.get(e);\n\t\t\t\ta ? (a.size += n.size, a.total += n.total) : i.set(e, {\n\t\t\t\t\tprice: e,\n\t\t\t\t\tsize: n.size,\n\t\t\t\t\ttotal: n.total\n\t\t\t\t});\n\t\t\t}\n\t\t\tlet a = Array.from(i.values());\n\t\t\treturn a.sort((e, t) => r ? e.price - t.price : t.price - e.price), a.slice(0, n);\n\t\t}, r = e(d.bids, !1), i = e(d.asks, !0);\n\t\treturn {\n\t\t\tbids: r,\n\t\t\tasks: i,\n\t\t\tmaxTotal: Math.max(...r.map((e) => e.total), ...i.map((e) => e.total), 1),\n\t\t\tspread: d.spread\n\t\t};\n\t}, [\n\t\td,\n\t\tt,\n\t\tn\n\t]);\n\treturn f ? /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-flex ct-justify-center ct-py-8\",\n\t\tchildren: /* @__PURE__ */ B(Q, {})\n\t}) : d ? /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-text-sm ${i}`,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-items-center ct-justify-between ct-bg-[var(--ct-surface-muted)] ct-px-3 ct-py-2 ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: a(\"orderbook.title\")\n\t\t\t\t}), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\ttitle: a(h ? \"orderbook.liveTooltip\" : \"orderbook.pollingTooltip\"),\n\t\t\t\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1.5 ${h ? \"ct-text-[var(--ct-success)]\" : \"ct-text-[var(--ct-warning)]\"}`,\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, {\n\t\t\t\t\t\ttone: h ? \"success\" : \"warning\",\n\t\t\t\t\t\tpulse: h\n\t\t\t\t\t}), a(h ? \"orderbook.live\" : \"orderbook.polling\")]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-grid ct-grid-cols-3 ct-gap-2 ct-border-b ct-border-[var(--ct-border)] ct-px-3 ct-py-1.5 ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ B(\"div\", { children: a(\"orderbook.price\") }),\n\t\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-text-right\",\n\t\t\t\t\t\tchildren: a(\"orderbook.size\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-text-right\",\n\t\t\t\t\t\tchildren: a(\"orderbook.total\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(p, {\n\t\t\t\taxis: \"y\",\n\t\t\t\tariaLabel: `${a(\"orderbook.title\")}: ${a(\"trading.sell\")}`,\n\t\t\t\tclassName: \"ct-max-h-48 ct-overflow-y-auto\",\n\t\t\t\tchildren: g.asks.slice().reverse().map((e, t) => /* @__PURE__ */ B(on, {\n\t\t\t\t\tlevel: e,\n\t\t\t\t\tside: \"ask\",\n\t\t\t\t\tmaxTotal: g.maxTotal,\n\t\t\t\t\tinteractive: !!r,\n\t\t\t\t\tariaLabel: a(\"orderbook.selectLevel\", {\n\t\t\t\t\t\tprice: c(e.price, { maximumFractionDigits: 4 }),\n\t\t\t\t\t\tside: a(\"trading.buy\")\n\t\t\t\t\t}),\n\t\t\t\t\tonClick: r ? () => r(e.price, \"buy\") : void 0,\n\t\t\t\t\tformatNumber: c,\n\t\t\t\t\tformatCompact: u\n\t\t\t\t}, `ask-${t}`))\n\t\t\t}),\n\t\t\t/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-border-y ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-px-3 ct-py-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-flex ct-items-center ct-justify-between ct-text-xs\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: a(\"orderbook.spread\")\n\t\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-sm ct-font-semibold ct-tabular-num ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ B(E, { value: l(g.spread, { maximumFractionDigits: 3 }) })\n\t\t\t\t\t})]\n\t\t\t\t}), d.midPrice > 0 && /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-tabular-num ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: a(\"orderbook.mid\", { price: o(d.midPrice, { maximumFractionDigits: 4 }) })\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(p, {\n\t\t\t\taxis: \"y\",\n\t\t\t\tariaLabel: `${a(\"orderbook.title\")}: ${a(\"trading.buy\")}`,\n\t\t\t\tclassName: \"ct-max-h-48 ct-overflow-y-auto\",\n\t\t\t\tchildren: g.bids.map((e, t) => /* @__PURE__ */ B(on, {\n\t\t\t\t\tlevel: e,\n\t\t\t\t\tside: \"bid\",\n\t\t\t\t\tmaxTotal: g.maxTotal,\n\t\t\t\t\tinteractive: !!r,\n\t\t\t\t\tariaLabel: a(\"orderbook.selectLevel\", {\n\t\t\t\t\t\tprice: c(e.price, { maximumFractionDigits: 4 }),\n\t\t\t\t\t\tside: a(\"trading.sell\")\n\t\t\t\t\t}),\n\t\t\t\t\tonClick: r ? () => r(e.price, \"sell\") : void 0,\n\t\t\t\t\tformatNumber: c,\n\t\t\t\t\tformatCompact: u\n\t\t\t\t}, `bid-${t}`))\n\t\t\t})\n\t\t]\n\t}) : /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-px-4 ct-py-10 ct-text-center\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(j, {}),\n\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\tchildren: a(\"orderbook.noData\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"p\", {\n\t\t\t\tclassName: \"ct-mx-auto ct-mt-2 ct-max-w-xs ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: a(\"orderbook.noDataHint\")\n\t\t\t})\n\t\t]\n\t});\n}\nfunction on({ level: e, side: t, maxTotal: n, onClick: r, interactive: i, ariaLabel: a, formatNumber: o, formatCompact: s }) {\n\tlet c = t === \"ask\";\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tonClick: r,\n\t\trole: i ? \"button\" : void 0,\n\t\ttabIndex: i ? 0 : void 0,\n\t\t\"aria-label\": i ? a : void 0,\n\t\tonKeyDown: i ? (e) => {\n\t\t\t(e.key === \"Enter\" || e.key === \" \") && (e.preventDefault(), r?.());\n\t\t} : void 0,\n\t\tclassName: `ct-relative ct-px-3 ct-py-1.5 ct-transition-colors ${i ? \"ct-focusable ct-cursor-pointer\" : \"\"} ${c ? \"hover:ct-bg-[var(--ct-sell-bg)]\" : \"hover:ct-bg-[var(--ct-buy-bg)]\"}`,\n\t\tchildren: [/* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: `ct-depth-bar ct-absolute ct-inset-y-0 ct-left-0 ${c ? \"ct-bg-[var(--ct-destructive)]\" : \"ct-bg-[var(--ct-success)]\"} ct-opacity-10`,\n\t\t\tstyle: { transform: `scaleX(${e.total / n})` }\n\t\t}), /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-relative ct-grid ct-grid-cols-3 ct-gap-2 ct-tabular-num\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: `ct-font-medium ${c ? \"ct-text-[var(--ct-destructive)]\" : \"ct-text-[var(--ct-success)]\"}`,\n\t\t\t\t\tchildren: o(e.price, { maximumFractionDigits: 4 })\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-text-right ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: o(e.size, { maximumFractionDigits: 2 })\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-text-right ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: s(e.total)\n\t\t\t\t})\n\t\t\t]\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/components/trading/OpenOrdersTable.tsx\nfunction sn({ limitOrders: e, dcaOrders: t, isLoading: n, onCancel: r, className: i = \"\" }) {\n\tlet a = s(), { t: o, formatDate: c, formatNumber: l, tn: u, tEnum: d } = a, [f, p] = z(null), [m, h] = z(null), [g, _] = z(null), v = async (e) => {\n\t\tif (r) {\n\t\t\th(null), p(e), _(null);\n\t\t\ttry {\n\t\t\t\tawait r(e);\n\t\t\t} catch (e) {\n\t\t\t\t_(S(e, a) || o(\"orders.cancelFailed\"));\n\t\t\t} finally {\n\t\t\t\tp(null);\n\t\t\t}\n\t\t}\n\t};\n\tif (n) return /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-flex ct-justify-center ct-py-8\",\n\t\tchildren: /* @__PURE__ */ B(Q, {})\n\t});\n\tlet y = e.length === 0 && t.length === 0;\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: `ct-space-y-2 ${i}`,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(rt, {\n\t\t\t\tmessage: g,\n\t\t\t\tonDismiss: () => _(null)\n\t\t\t}),\n\t\t\ty && /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-px-4 ct-py-10 ct-text-center\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"info\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: o(\"orders.noOpenOrders\")\n\t\t\t\t})]\n\t\t\t}),\n\t\t\te.length > 0 && /* @__PURE__ */ V(\"table\", {\n\t\t\t\tclassName: \"ct-w-full ct-text-sm ct-tabular-num\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"thead\", { children: /* @__PURE__ */ V(\"tr\", {\n\t\t\t\t\tclassName: \"ct-border-b ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-left ct-py-2 ct-px-2\",\n\t\t\t\t\t\t\tchildren: o(\"orders.type\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-left ct-py-2\",\n\t\t\t\t\t\t\tchildren: o(\"orders.pair\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\t\tchildren: o(\"trading.amount\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\t\tchildren: o(\"orders.trigger\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\t\tchildren: o(\"common.status\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", { className: \"ct-text-right ct-py-2 ct-px-2\" })\n\t\t\t\t\t]\n\t\t\t\t}) }), /* @__PURE__ */ B(\"tbody\", {\n\t\t\t\t\tclassName: \"ct-stagger-dense\",\n\t\t\t\t\tchildren: e.map((e) => /* @__PURE__ */ V(\"tr\", {\n\t\t\t\t\t\tclassName: \"ct-progressive-row ct-border-b ct-border-[var(--ct-border)] ct-text-[var(--ct-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2\",\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\t\t\t\tclassName: `ct-px-2 ct-py-0.5 ct-rounded-cedros-sm ct-text-xs ct-font-medium ${e.orderType === \"stop-loss\" ? \"ct-bg-[var(--ct-destructive-bg)] ct-text-[var(--ct-destructive)]\" : e.orderType === \"take-profit\" ? \"ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\" : \"ct-bg-[var(--ct-info-bg)] ct-text-[var(--ct-info)]\"}`,\n\t\t\t\t\t\t\t\t\tchildren: d(\"orders.type\", e.orderType)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ V(\"td\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-font-mono ct-text-xs\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\te.inputMint.slice(0, 4),\n\t\t\t\t\t\t\t\t\t\"→\",\n\t\t\t\t\t\t\t\t\te.outputMint.slice(0, 4)\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right\",\n\t\t\t\t\t\t\t\tchildren: l(e.inAmount)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right\",\n\t\t\t\t\t\t\t\tchildren: e.triggerPrice ? l(e.triggerPrice) : \"-\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right\",\n\t\t\t\t\t\t\t\tchildren: d(\"orders.status\", e.status)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2 ct-text-right\",\n\t\t\t\t\t\t\t\tchildren: r && e.status === \"open\" && (f === e.orderId ? /* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\t\t\t\tdisabled: !0,\n\t\t\t\t\t\t\t\t\tclassName: \"ct-rounded-full ct-px-2 ct-py-1 ct-text-xs ct-font-medium ct-text-[var(--ct-destructive)] ct-opacity-50\",\n\t\t\t\t\t\t\t\t\tchildren: o(\"orders.cancelling\")\n\t\t\t\t\t\t\t\t}) : m === e.orderId ? /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-progressive-control ct-inline-flex ct-gap-1\",\n\t\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\t\t\t\t\tonClick: () => v(e.orderId),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-rounded-full ct-bg-[var(--ct-destructive-bg)] ct-px-2 ct-py-1 ct-text-xs ct-font-semibold ct-text-[var(--ct-destructive)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: o(\"orders.cancelConfirm\")\n\t\t\t\t\t\t\t\t\t}), /* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\t\t\t\t\tonClick: () => h(null),\n\t\t\t\t\t\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-rounded-full ct-px-2 ct-py-1 ct-text-xs ct-font-medium ct-text-[var(--ct-muted-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\t\t\t\t\t\t\t\t\tchildren: o(\"orders.cancelKeep\")\n\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ B(\"button\", {\n\t\t\t\t\t\t\t\t\tonClick: () => h(e.orderId),\n\t\t\t\t\t\t\t\t\tclassName: \"ct-progressive-control ct-focusable ct-pressable ct-rounded-full ct-px-2 ct-py-1 ct-text-xs ct-font-medium ct-text-[var(--ct-destructive)] hover:ct-bg-[var(--ct-destructive-bg)]\",\n\t\t\t\t\t\t\t\t\tchildren: o(\"orders.cancel\")\n\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t}, e.orderId))\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tt.length > 0 && /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-stagger-dense ct-space-y-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(\"h4\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-font-medium ct-text-[var(--ct-muted-foreground)] ct-px-2\",\n\t\t\t\t\tchildren: o(\"orders.dcaSchedules\")\n\t\t\t\t}), t.map((e) => /* @__PURE__ */ V(\"div\", {\n\t\t\t\t\tclassName: \"ct-panel ct-flex ct-items-center ct-justify-between ct-radius-card ct-px-3 ct-py-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", { children: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-sm ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\tchildren: u(\"orders.cycles\", e.totalCycles, {\n\t\t\t\t\t\t\tcompleted: l(e.completedCycles),\n\t\t\t\t\t\t\ttotal: l(e.totalCycles)\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)] ct-ml-2\",\n\t\t\t\t\t\tchildren: d(\"orders.status\", e.status)\n\t\t\t\t\t})] }), e.nextCycleAt && /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: o(\"orders.next\", { date: c(e.nextCycleAt) })\n\t\t\t\t\t})]\n\t\t\t\t}, e.dcaAccountId))]\n\t\t\t})\n\t\t]\n\t});\n}\n//#endregion\n//#region src/components/trading/PositionsTable.tsx\nfunction cn({ holdings: e, isLoading: t, totalValue: n, className: r = \"\" }) {\n\tlet { t: i, formatCurrency: a, formatNumber: o } = s();\n\treturn t ? /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-flex ct-justify-center ct-py-8\",\n\t\tchildren: /* @__PURE__ */ B(Q, {})\n\t}) : /* @__PURE__ */ V(\"div\", {\n\t\tclassName: r,\n\t\tchildren: [n && /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-flex ct-justify-between ct-items-center ct-px-2 ct-py-2 ct-mb-2\",\n\t\t\tchildren: [/* @__PURE__ */ B(\"span\", {\n\t\t\t\tclassName: \"ct-text-sm ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: i(\"portfolio.totalValue\")\n\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\tclassName: \"ct-text-lg ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\tchildren: /* @__PURE__ */ B(E, { value: a(n) })\n\t\t\t})]\n\t\t}), e.length === 0 ? /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-px-4 ct-py-10 ct-text-center\",\n\t\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"info\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\tchildren: i(\"portfolio.noHoldings\")\n\t\t\t})]\n\t\t}) : /* @__PURE__ */ V(\"table\", {\n\t\t\tclassName: \"ct-w-full ct-text-sm ct-tabular-num\",\n\t\t\tchildren: [/* @__PURE__ */ B(\"thead\", { children: /* @__PURE__ */ V(\"tr\", {\n\t\t\t\tclassName: \"ct-border-b ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-left ct-py-2 ct-px-2\",\n\t\t\t\t\t\tchildren: i(\"portfolio.token\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\tchildren: i(\"portfolio.balance\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\tchildren: i(\"portfolio.price\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2 ct-px-2\",\n\t\t\t\t\t\tchildren: i(\"portfolio.value\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}) }), /* @__PURE__ */ B(\"tbody\", {\n\t\t\t\tclassName: \"ct-stagger-dense\",\n\t\t\t\tchildren: e.map((e) => /* @__PURE__ */ V(\"tr\", {\n\t\t\t\t\tclassName: \"ct-border-b ct-border-[var(--ct-border)] ct-text-[var(--ct-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2 ct-font-medium\",\n\t\t\t\t\t\t\tchildren: e.symbol ?? e.mint.slice(0, 6)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right\",\n\t\t\t\t\t\t\tchildren: o(e.uiBalance)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right\",\n\t\t\t\t\t\t\tchildren: e.currentPrice ? a(e.currentPrice) : \"-\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2 ct-text-right ct-font-medium\",\n\t\t\t\t\t\t\tchildren: e.currentValue ? a(e.currentValue) : \"-\"\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}, e.mint))\n\t\t\t})]\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/components/portfolio/PnlTable.tsx\nfunction ln({ walletAddress: e, className: t = \"\" }) {\n\tlet n = s(), { t: r, formatCurrency: i, formatPercent: a } = n, o = W(), { data: c, isLoading: l, error: u } = D({\n\t\tkey: [\n\t\t\t\"pnl\",\n\t\t\to,\n\t\t\te\n\t\t],\n\t\tinitialData: null,\n\t\tload: async (t) => o.getPnl(e, t),\n\t\tmapError: (e) => S(e, n)\n\t}), d = c?.holdings ?? [];\n\treturn l ? /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-flex ct-justify-center ct-py-8\",\n\t\tchildren: /* @__PURE__ */ B(Q, {})\n\t}) : u ? /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-px-4 ct-py-8 ct-text-center\",\n\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"warning\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\tchildren: r(\"portfolio.pnlUnavailable\")\n\t\t})]\n\t}) : /* @__PURE__ */ V(\"div\", {\n\t\tclassName: t,\n\t\tchildren: [\n\t\t\tc && /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-flex ct-justify-between ct-px-2 ct-py-2 ct-mb-2 ct-text-sm ct-tabular-num\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", { children: [/* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: \"ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: [r(\"portfolio.costBasis\"), \" \"]\n\t\t\t\t}), /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-font-medium\",\n\t\t\t\t\tchildren: /* @__PURE__ */ B(E, { value: i(c.totalCostBasis) })\n\t\t\t\t})] }), /* @__PURE__ */ V(\"div\", { children: [/* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: \"ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: [r(\"portfolio.pnl\"), \" \"]\n\t\t\t\t}), /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1.5 ct-font-semibold ${un(c.totalUnrealizedPnl)}`,\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, { tone: c.totalUnrealizedPnl?.startsWith(\"-\") ? \"danger\" : \"success\" }), /* @__PURE__ */ B(E, { value: fn(c.totalUnrealizedPnl, i) })]\n\t\t\t\t})] })]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(p, {\n\t\t\t\taxis: \"x\",\n\t\t\t\tariaLabel: r(\"portfolio.pnl\"),\n\t\t\t\tclassName: \"ct-overflow-x-auto\",\n\t\t\t\tchildren: /* @__PURE__ */ V(\"table\", {\n\t\t\t\t\tclassName: \"ct-w-full ct-text-sm ct-tabular-num\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(\"thead\", { children: /* @__PURE__ */ V(\"tr\", {\n\t\t\t\t\t\tclassName: \"ct-border-b ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-text-left ct-py-2 ct-px-2\",\n\t\t\t\t\t\t\t\tchildren: r(\"portfolio.token\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\t\t\tchildren: r(\"portfolio.entry\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\t\t\tchildren: r(\"portfolio.current\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2 ct-px-2\",\n\t\t\t\t\t\t\t\tchildren: r(\"portfolio.pnl\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t]\n\t\t\t\t\t}) }), /* @__PURE__ */ B(\"tbody\", {\n\t\t\t\t\t\tclassName: \"ct-stagger-dense\",\n\t\t\t\t\t\tchildren: d.map((e) => /* @__PURE__ */ V(\"tr\", {\n\t\t\t\t\t\t\tclassName: \"ct-border-b ct-border-[var(--ct-border)] hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2 ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\t\t\t\tchildren: e.symbol ?? e.mint.slice(0, 6)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right\",\n\t\t\t\t\t\t\t\t\tchildren: e.entryPrice ? i(e.entryPrice) : \"-\"\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right\",\n\t\t\t\t\t\t\t\t\tchildren: i(e.currentPrice)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2 ct-text-right\",\n\t\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\t\t\t\t\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1 ct-rounded-full ct-px-2 ct-py-0.5 ct-text-xs ct-font-semibold ${dn(e.unrealizedPnl)}`,\n\t\t\t\t\t\t\t\t\t\tchildren: [fn(e.unrealizedPnl, i), e.unrealizedPnlPercent && /* @__PURE__ */ V(\"span\", {\n\t\t\t\t\t\t\t\t\t\t\tclassName: \"ct-opacity-80\",\n\t\t\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t\t\t\"(\",\n\t\t\t\t\t\t\t\t\t\t\t\tpn(e.unrealizedPnlPercent, a),\n\t\t\t\t\t\t\t\t\t\t\t\t\")\"\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}, e.mint))\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t}),\n\t\t\td.length === 0 && /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-px-4 ct-py-8 ct-text-center\",\n\t\t\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"info\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: r(\"portfolio.noHoldings\")\n\t\t\t\t})]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction un(e) {\n\treturn e?.startsWith(\"+\") ? \"ct-text-[var(--ct-success)]\" : e?.startsWith(\"-\") ? \"ct-text-[var(--ct-destructive)]\" : \"\";\n}\nfunction dn(e) {\n\treturn e?.startsWith(\"+\") ? \"ct-bg-[var(--ct-success-bg)] ct-text-[var(--ct-success)]\" : e?.startsWith(\"-\") ? \"ct-bg-[var(--ct-destructive-bg)] ct-text-[var(--ct-destructive)]\" : \"ct-bg-[var(--ct-surface-muted)] ct-text-[var(--ct-muted-foreground)]\";\n}\nfunction fn(e, t) {\n\tif (!e) return \"-\";\n\tlet n = Number(e);\n\treturn Number.isFinite(n) ? `${e.trim().startsWith(\"+\") && n > 0 ? \"+\" : \"\"}${t(n)}` : e;\n}\nfunction pn(e, t) {\n\tlet n = Number(e);\n\treturn Number.isFinite(n) ? `${e.trim().startsWith(\"+\") && n > 0 ? \"+\" : \"\"}${t(n, { maximumFractionDigits: 2 })}` : e;\n}\n//#endregion\n//#region src/components/portfolio/TradeHistoryTable.tsx\nvar mn = [];\nfunction hn({ walletAddress: e, mintFilter: t, limit: n = 50, className: r = \"\" }) {\n\tlet i = s(), { t: a, formatDate: o, formatNumber: c, tEnum: l } = i, u = W(), { data: d, isLoading: f, error: m } = D({\n\t\tkey: [\n\t\t\t\"trade-history\",\n\t\t\tu,\n\t\t\te,\n\t\t\tt,\n\t\t\tn\n\t\t],\n\t\tinitialData: mn,\n\t\tload: async (r) => (await u.getTradeHistory(e, t, n, r)).trades,\n\t\tmapError: (e) => S(e, i)\n\t});\n\treturn f ? /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-flex ct-justify-center ct-py-8\",\n\t\tchildren: /* @__PURE__ */ B(Q, {})\n\t}) : m ? /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-px-4 ct-py-8 ct-text-center\",\n\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"warning\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\tchildren: a(\"portfolio.tradeHistoryUnavailable\")\n\t\t})]\n\t}) : d.length === 0 ? /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-px-4 ct-py-10 ct-text-center\",\n\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"info\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\tchildren: a(\"portfolio.noTradeHistory\")\n\t\t})]\n\t}) : /* @__PURE__ */ B(p, {\n\t\taxis: \"x\",\n\t\tariaLabel: a(\"portfolio.date\"),\n\t\tclassName: `ct-overflow-x-auto ${r}`,\n\t\tchildren: /* @__PURE__ */ V(\"table\", {\n\t\t\tclassName: \"ct-w-full ct-text-sm ct-tabular-num\",\n\t\t\tchildren: [/* @__PURE__ */ B(\"thead\", { children: /* @__PURE__ */ V(\"tr\", {\n\t\t\t\tclassName: \"ct-border-b ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-text-xs ct-font-medium ct-uppercase ct-tracking-wide ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-left ct-py-2 ct-px-2\",\n\t\t\t\t\t\tchildren: a(\"portfolio.date\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-left ct-py-2\",\n\t\t\t\t\t\tchildren: a(\"portfolio.type\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\tchildren: a(\"portfolio.in\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2\",\n\t\t\t\t\t\tchildren: a(\"portfolio.out\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"th\", {\n\t\t\t\t\t\tclassName: \"ct-text-right ct-py-2 ct-px-2\",\n\t\t\t\t\t\tchildren: a(\"portfolio.source\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}) }), /* @__PURE__ */ B(\"tbody\", {\n\t\t\t\tclassName: \"ct-stagger-dense\",\n\t\t\t\tchildren: d.map((e, t) => /* @__PURE__ */ V(\"tr\", {\n\t\t\t\t\tclassName: \"ct-border-b ct-border-[var(--ct-border)] ct-text-[var(--ct-foreground)] hover:ct-bg-[var(--ct-surface-interactive)]\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2 ct-text-xs\",\n\t\t\t\t\t\t\tchildren: o(e.timestamp)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2\",\n\t\t\t\t\t\t\tchildren: l(\"trades.type\", e.tradeType)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right ct-text-xs\",\n\t\t\t\t\t\t\tchildren: c(e.inputAmount)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-text-right ct-text-xs\",\n\t\t\t\t\t\t\tchildren: c(e.outputAmount)\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ B(\"td\", {\n\t\t\t\t\t\t\tclassName: \"ct-py-2 ct-px-2 ct-text-right ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: e.source\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}, `${e.signature}-${t}`))\n\t\t\t})]\n\t\t})\n\t});\n}\n//#endregion\n//#region src/components/orders/MonitoredOrdersList.tsx\nvar gn = [];\nfunction _n({ walletAddress: e, className: t = \"\" }) {\n\tlet n = s(), { t: r, formatCurrency: i, tEnum: a } = n, o = W(), { data: c, isLoading: l, error: u } = D({\n\t\tkey: [\n\t\t\t\"monitored-orders\",\n\t\t\to,\n\t\t\te\n\t\t],\n\t\tinitialData: gn,\n\t\tload: async (t) => o.getMonitoredOrders(e, t),\n\t\tmapError: (e) => S(e, n)\n\t});\n\tif (l) return /* @__PURE__ */ B(\"div\", {\n\t\tclassName: \"ct-flex ct-justify-center ct-py-4\",\n\t\tchildren: /* @__PURE__ */ B(Q, {})\n\t});\n\tif (u) return /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-px-4 ct-py-8 ct-text-center\",\n\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"warning\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\tchildren: u\n\t\t})]\n\t});\n\tif (c.length === 0) return /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-px-4 ct-py-10 ct-text-center\",\n\t\tchildren: [/* @__PURE__ */ B(j, { tone: \"info\" }), /* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\tchildren: r(\"orders.noMonitored\")\n\t\t})]\n\t});\n\tlet d = (e) => {\n\t\tswitch (e) {\n\t\t\tcase \"monitoring\": return \"ct-text-[var(--ct-info)]\";\n\t\t\tcase \"executed\": return \"ct-text-[var(--ct-success)]\";\n\t\t\tcase \"cancelled\":\n\t\t\tcase \"failed\": return \"ct-text-[var(--ct-destructive)]\";\n\t\t\tcase \"action_pending\": return \"ct-text-[var(--ct-warning)]\";\n\t\t\tdefault: return \"ct-text-[var(--ct-muted-foreground)]\";\n\t\t}\n\t}, f = (e) => {\n\t\tswitch (e) {\n\t\t\tcase \"monitoring\": return \"info\";\n\t\t\tcase \"executed\": return \"success\";\n\t\t\tcase \"cancelled\":\n\t\t\tcase \"failed\": return \"danger\";\n\t\t\tcase \"action_pending\": return \"warning\";\n\t\t\tdefault: return \"default\";\n\t\t}\n\t};\n\treturn /* @__PURE__ */ B(\"div\", {\n\t\tclassName: `ct-stagger ct-space-y-2 ${t}`,\n\t\tchildren: c.map((e) => /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: `ct-panel ct-flex ct-items-center ct-justify-between ct-radius-card ct-border-l-2 ct-px-3 ct-py-2 ct-transition-colors hover:ct-bg-[var(--ct-surface-interactive)] ${vn(e.status)}`,\n\t\t\tchildren: [/* @__PURE__ */ V(\"div\", { children: [\n\t\t\t\t/* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: a(\"orders.type\", e.orderType)\n\t\t\t\t}),\n\t\t\t\te.currentTrigger && /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)] ct-ml-2\",\n\t\t\t\t\tchildren: r(\"orders.triggerPrice\", { price: i(e.currentTrigger) })\n\t\t\t\t}),\n\t\t\t\te.peakPrice && /* @__PURE__ */ B(\"span\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)] ct-ml-2\",\n\t\t\t\t\tchildren: r(\"orders.peakPrice\", { price: i(e.peakPrice) })\n\t\t\t\t})\n\t\t\t] }), /* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-text-right\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"span\", {\n\t\t\t\t\tclassName: `ct-inline-flex ct-items-center ct-gap-1.5 ct-text-xs ct-font-medium ${d(e.status)}`,\n\t\t\t\t\tchildren: [/* @__PURE__ */ B(b, {\n\t\t\t\t\t\ttone: f(e.status),\n\t\t\t\t\t\tpulse: e.status === \"monitoring\" || e.status === \"action_pending\"\n\t\t\t\t\t}), a(\"orders.status\", e.status)]\n\t\t\t\t}), e.fillPrice && /* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: r(\"orders.filledAt\", { price: i(e.fillPrice) })\n\t\t\t\t})]\n\t\t\t})]\n\t\t}, e.id))\n\t});\n}\nfunction vn(e) {\n\tswitch (e) {\n\t\tcase \"action_pending\": return \"ct-border-l-[var(--ct-warning)] ct-panel-warning\";\n\t\tcase \"executed\": return \"ct-border-l-[var(--ct-success)] ct-panel-success\";\n\t\tcase \"cancelled\":\n\t\tcase \"failed\": return \"ct-border-l-[var(--ct-destructive)]\";\n\t\tcase \"monitoring\": return \"ct-border-l-[var(--ct-info)]\";\n\t\tdefault: return \"ct-border-l-[var(--ct-border)]\";\n\t}\n}\n//#endregion\n//#region src/components/trading/TradingPageParts.tsx\nfunction yn({ chartType: e, tradingViewSymbol: t, theme: n, orderFormProps: r }) {\n\tlet { t: i } = s();\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-flex ct-min-h-[34rem] ct-flex-col xl:ct-flex-row\",\n\t\tchildren: [/* @__PURE__ */ B(\"div\", {\n\t\t\tclassName: \"ct-min-h-[22rem] ct-min-w-0 ct-flex-1 xl:ct-border-r xl:ct-border-[var(--ct-border)]\",\n\t\t\tchildren: /* @__PURE__ */ B(qt, {\n\t\t\t\tchartType: e,\n\t\t\t\tsymbol: t,\n\t\t\t\ttheme: n\n\t\t\t})\n\t\t}), /* @__PURE__ */ B(p, {\n\t\t\taxis: \"y\",\n\t\t\tariaLabel: i(\"trading.orderType\"),\n\t\t\tclassName: \"ct-hidden ct-w-80 ct-flex-shrink-0 ct-overflow-y-auto ct-bg-[var(--ct-surface)] xl:ct-block\",\n\t\t\tchildren: /* @__PURE__ */ B(Rt, { ...r })\n\t\t})]\n\t});\n}\nfunction bn(e) {\n\tlet t = ce();\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-border-t ct-border-[var(--ct-border)]\",\n\t\tchildren: [/* @__PURE__ */ B(xn, {\n\t\t\t...e,\n\t\t\tidBase: t\n\t\t}), /* @__PURE__ */ B(p, {\n\t\t\taxis: \"y\",\n\t\t\tariaLabel: e.tabLabel(e.activeTab),\n\t\t\tclassName: \"ct-max-h-72 ct-overflow-auto\",\n\t\t\tchildren: /* @__PURE__ */ B(re, {\n\t\t\t\tidBase: t,\n\t\t\t\tactiveId: e.activeTab,\n\t\t\t\tchildren: /* @__PURE__ */ B(_, {\n\t\t\t\t\tactiveKey: e.activeTab,\n\t\t\t\t\torder: e.availableTabs,\n\t\t\t\t\tchildren: /* @__PURE__ */ B(Sn, { ...e })\n\t\t\t\t})\n\t\t\t})\n\t\t})]\n\t});\n}\nfunction xn({ activeTab: e, availableTabs: t, tabLabel: n, orderCount: r, onSelect: i, idBase: a }) {\n\tlet { t: o, formatNumber: c } = s(), l = t.map((e) => ({\n\t\tid: e,\n\t\tlabel: e === \"orders\" && r > 0 ? `${n(e)} (${c(r)})` : n(e)\n\t}));\n\treturn /* @__PURE__ */ B(p, {\n\t\taxis: \"x\",\n\t\tariaLabel: o(\"trading.tab.group\"),\n\t\tclassName: \"ct-overflow-x-auto ct-border-b ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)]\",\n\t\tchildren: /* @__PURE__ */ B(O, {\n\t\t\ttabs: l,\n\t\t\tactiveId: e,\n\t\t\tonChange: i,\n\t\t\tariaLabel: o(\"trading.tab.group\"),\n\t\t\tidBase: a,\n\t\t\tclassName: \"ct-flex ct-min-w-max ct-gap-2 ct-px-3 ct-py-2\",\n\t\t\ttabClassName: (e) => `ct-focusable ct-pressable ct-whitespace-nowrap ct-rounded-full ct-px-3 ct-py-1.5 ct-text-sm ct-font-medium ${e ? \"ct-primary-action ct-text-[var(--ct-primary-foreground)]\" : \"ct-text-[var(--ct-muted-foreground)] hover:ct-bg-[var(--ct-surface-interactive)] hover:ct-text-[var(--ct-foreground)]\"}`\n\t\t})\n\t});\n}\nfunction Sn(e) {\n\tlet { activeTab: t, walletAddress: n } = e;\n\tif (t !== \"orderbook\" && !n) return /* @__PURE__ */ B(Cn, {});\n\tlet r = n ?? \"\";\n\treturn t === \"positions\" ? /* @__PURE__ */ B(cn, {\n\t\tholdings: e.positions?.holdings ?? [],\n\t\tisLoading: e.positionsLoading,\n\t\ttotalValue: e.positions?.totalValue\n\t}) : t === \"orders\" ? /* @__PURE__ */ B(sn, {\n\t\tlimitOrders: e.limitOrders,\n\t\tdcaOrders: e.dcaOrders,\n\t\tisLoading: e.ordersLoading,\n\t\tonCancel: e.onCancel\n\t}) : t === \"pnl\" ? /* @__PURE__ */ B(ln, { walletAddress: r }) : t === \"history\" ? /* @__PURE__ */ B(hn, { walletAddress: r }) : t === \"monitored\" ? /* @__PURE__ */ B(_n, { walletAddress: r }) : t === \"orderbook\" && e.manifestMarket ? /* @__PURE__ */ B(an, { marketAddress: e.manifestMarket }) : /* @__PURE__ */ B(Cn, {});\n}\nfunction Cn() {\n\tlet { t: e } = s();\n\treturn /* @__PURE__ */ V(\"div\", {\n\t\tclassName: \"ct-px-4 ct-py-12 ct-text-center\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ B(j, { tone: \"info\" }),\n\t\t\t/* @__PURE__ */ B(\"h3\", {\n\t\t\t\tclassName: \"ct-mt-4 ct-text-sm ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\tchildren: e(\"public.empty.walletTitle\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ B(\"p\", {\n\t\t\t\tclassName: \"ct-mx-auto ct-mt-2 ct-max-w-md ct-text-sm ct-leading-6 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\tchildren: e(\"public.empty.walletBody\")\n\t\t\t})\n\t\t]\n\t});\n}\n//#endregion\n//#region src/components/trading/TradingPage.tsx\nfunction wn({ walletAddress: e, walletId: t, inputMint: n = \"So11111111111111111111111111111111111111112\", outputMint: r = \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\", inputSymbol: i = \"SOL\", outputSymbol: a = \"USDC\", tradingViewSymbol: o = \"SOLUSD\", chartType: c = \"tradingview\", manifestMarket: l, theme: u = \"dark\", onSign: d, onOrderSuccess: f, className: p = \"\" }) {\n\tlet { t: m, formatNumber: h } = s(), g = W(), [_, v] = z(\"positions\"), y = lt() && !!(e && d), ee = y ? e ?? null : null, { limitOrders: b, dcaOrders: x, isLoading: S, cancelOrder: C, refresh: w } = Ce(ee), { positions: T, isLoading: E } = J(ee), D = (e) => m(e === \"positions\" ? \"trading.tab.positions\" : e === \"orders\" ? \"trading.tab.orders\" : e === \"pnl\" ? \"trading.tab.pnl\" : e === \"history\" ? \"trading.tab.history\" : e === \"monitored\" ? \"trading.tab.monitored\" : \"trading.tab.orderbook\");\n\tif (!y) return /* @__PURE__ */ B(pt, {\n\t\teyebrow: \"Cedros Trade\",\n\t\ttitle: m(\"metadata.page.trading.displayName\"),\n\t\tdescription: m(\"metadata.surface.trading.body\"),\n\t\tprimaryBadge: m(\"public.badge.unavailable\"),\n\t\tclassName: p,\n\t\tchildren: /* @__PURE__ */ B(at, {\n\t\t\ttitle: m(\"public.tradingUnavailable.title\"),\n\t\t\tbody: m(\"public.tradingUnavailable.body\")\n\t\t})\n\t});\n\tlet O = async (t) => {\n\t\tif (!e || !d) return;\n\t\tlet n = await d((await C(t, e)).transaction);\n\t\tawait g.executeTransaction(n, \"rpc\"), await w();\n\t};\n\treturn /* @__PURE__ */ B(pt, {\n\t\teyebrow: \"Cedros Trade\",\n\t\ttitle: m(\"metadata.page.trading.displayName\"),\n\t\tdescription: m(\"metadata.surface.trading.body\"),\n\t\tprimaryBadge: m(\"public.badge.walletRequired\"),\n\t\tsecondaryBadge: m(\"public.badge.hostSigned\"),\n\t\tclassName: p,\n\t\tstats: [{\n\t\t\tlabel: m(\"trading.tab.orders\"),\n\t\t\tvalue: h(b.length)\n\t\t}, {\n\t\t\tlabel: m(\"trading.tab.orderbook\"),\n\t\t\tvalue: m(l ? \"orderbook.live\" : \"common.unavailable\")\n\t\t}],\n\t\tnotices: [{\n\t\t\ttitle: m(\"public.notice.walletTitle\"),\n\t\t\tbody: m(\"public.notice.walletBody\")\n\t\t}, {\n\t\t\ttitle: m(\"public.notice.signingTitle\"),\n\t\t\tbody: m(\"public.notice.signingBody\")\n\t\t}],\n\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-panel-elevated ct-overflow-hidden ct-radius-panel\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ B(yn, {\n\t\t\t\t\tchartType: c,\n\t\t\t\t\ttradingViewSymbol: o,\n\t\t\t\t\ttheme: u,\n\t\t\t\t\torderFormProps: {\n\t\t\t\t\t\twalletAddress: e,\n\t\t\t\t\t\twalletId: t,\n\t\t\t\t\t\tinputMint: n,\n\t\t\t\t\t\toutputMint: r,\n\t\t\t\t\t\tinputSymbol: i,\n\t\t\t\t\t\toutputSymbol: a,\n\t\t\t\t\t\tonSign: d,\n\t\t\t\t\t\tonSuccess: f\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(bn, {\n\t\t\t\t\tactiveTab: _,\n\t\t\t\t\tavailableTabs: [\n\t\t\t\t\t\t\"positions\",\n\t\t\t\t\t\t\"orders\",\n\t\t\t\t\t\t\"pnl\",\n\t\t\t\t\t\t\"history\",\n\t\t\t\t\t\t\"monitored\",\n\t\t\t\t\t\t...l ? [\"orderbook\"] : []\n\t\t\t\t\t],\n\t\t\t\t\ttabLabel: D,\n\t\t\t\t\torderCount: b.length,\n\t\t\t\t\tonSelect: v,\n\t\t\t\t\twalletAddress: e,\n\t\t\t\t\tmanifestMarket: l,\n\t\t\t\t\tpositions: T,\n\t\t\t\t\tpositionsLoading: E,\n\t\t\t\t\tlimitOrders: b,\n\t\t\t\t\tdcaOrders: x,\n\t\t\t\t\tordersLoading: S,\n\t\t\t\t\tonCancel: e && d ? O : void 0\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(\"div\", {\n\t\t\t\t\tclassName: \"xl:ct-hidden ct-border-t ct-border-[var(--ct-border)] ct-p-4\",\n\t\t\t\t\tchildren: /* @__PURE__ */ B(Rt, {\n\t\t\t\t\t\twalletAddress: e,\n\t\t\t\t\t\twalletId: t,\n\t\t\t\t\t\tinputMint: n,\n\t\t\t\t\t\toutputMint: r,\n\t\t\t\t\t\tinputSymbol: i,\n\t\t\t\t\t\toutputSymbol: a,\n\t\t\t\t\t\tonSign: d,\n\t\t\t\t\t\tonSuccess: f\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\n//#endregion\n//#region src/components/portfolio/PortfolioPage.tsx\nfunction Tn({ walletAddress: e, className: t = \"\" }) {\n\tlet { t: r, formatCurrency: i, formatNumber: a, formatTime: o } = s(), c = lt() ? e : void 0, { positions: l, isLoading: u, error: d, refresh: f } = J(c ?? null), [m, h] = z(null);\n\treturn I(() => {\n\t\tl && !u && h(Date.now());\n\t}, [l, u]), /* @__PURE__ */ B(pt, {\n\t\teyebrow: \"Cedros Trade\",\n\t\ttitle: r(\"portfolio.title\"),\n\t\tdescription: r(\"metadata.surface.portfolio.body\"),\n\t\tprimaryBadge: r(c ? \"public.badge.walletConnected\" : \"public.badge.unavailable\"),\n\t\tsecondaryBadge: c ? r(\"public.badge.privateDataSafe\") : void 0,\n\t\tclassName: t,\n\t\tstats: [{\n\t\t\tlabel: r(\"portfolio.totalValue\"),\n\t\t\tvalue: l ? i(l.totalValue) : r(\"common.unavailable\")\n\t\t}, {\n\t\t\tlabel: r(\"portfolio.openOrders\"),\n\t\t\tvalue: l ? a(l.openOrders) : \"0\"\n\t\t}],\n\t\tnotices: [{\n\t\t\ttitle: r(\"public.notice.indexerTitle\"),\n\t\t\tbody: r(\"public.notice.indexerBody\")\n\t\t}],\n\t\tchildren: /* @__PURE__ */ V(\"div\", {\n\t\t\tclassName: \"ct-mx-auto ct-w-full ct-max-w-3xl ct-space-y-4\",\n\t\t\tchildren: [/* @__PURE__ */ V(\"div\", {\n\t\t\t\tclassName: \"ct-panel ct-flex ct-flex-wrap ct-items-center ct-justify-between ct-gap-3 ct-radius-card ct-p-4\",\n\t\t\t\tchildren: [/* @__PURE__ */ V(\"div\", { children: [\n\t\t\t\t\t/* @__PURE__ */ B(\"h2\", {\n\t\t\t\t\t\tclassName: \"ct-text-lg ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\t\tchildren: r(\"portfolio.title\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: r(\"metadata.surface.portfolio.body\")\n\t\t\t\t\t}),\n\t\t\t\t\tm !== null && /* @__PURE__ */ B(\"p\", {\n\t\t\t\t\t\tclassName: \"ct-mt-1 ct-text-xs ct-tabular-num ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\tchildren: r(\"common.updated\", { time: o(m) })\n\t\t\t\t\t})\n\t\t\t\t] }), /* @__PURE__ */ B(n, {\n\t\t\t\t\tonClick: f,\n\t\t\t\t\tdisabled: u || !c,\n\t\t\t\t\tclassName: \"ct-focusable ct-pressable ct-inline-flex ct-items-center ct-gap-2 ct-radius-control ct-border ct-border-[var(--ct-border)] ct-bg-[var(--ct-surface-muted)] ct-px-3 ct-py-1.5 ct-text-sm ct-font-medium ct-text-[var(--ct-foreground)] hover:ct-bg-[var(--ct-surface-interactive)] disabled:ct-cursor-not-allowed disabled:ct-opacity-50\",\n\t\t\t\t\tchildren: /* @__PURE__ */ B(ee, { children: u ? /* @__PURE__ */ B(Q, { className: \"ct-h-4 ct-w-4\" }) : r(\"common.refresh\") })\n\t\t\t\t})]\n\t\t\t}), c ? /* @__PURE__ */ V(le, { children: [\n\t\t\t\t/* @__PURE__ */ B(rt, { message: d }),\n\t\t\t\t/* @__PURE__ */ B(nt, {\n\t\t\t\t\ttone: \"warning\",\n\t\t\t\t\tmessage: l?.degraded ? r(\"portfolio.degradedBalances\") : null\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ B(p, {\n\t\t\t\t\taxis: \"x\",\n\t\t\t\t\tariaLabel: r(\"portfolio.title\"),\n\t\t\t\t\tclassName: \"ct-panel ct-overflow-x-auto ct-radius-card\",\n\t\t\t\t\tchildren: /* @__PURE__ */ B(cn, {\n\t\t\t\t\t\tholdings: l?.holdings ?? [],\n\t\t\t\t\t\tisLoading: u\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t] }) : /* @__PURE__ */ B(at, {\n\t\t\t\ttitle: r(\"public.portfolioUnavailable.title\"),\n\t\t\t\tbody: r(\"public.portfolioUnavailable.body\")\n\t\t\t})]\n\t\t})\n\t});\n}\n//#endregion\nexport { Ce as $, Pe as A, We as B, tt as C, Ae as D, je as E, Me as F, Ke as G, Ye as H, Je as I, Le as J, ze as K, qe as L, Be as M, Ue as N, ke as O, Xe as P, Te as Q, Z as R, Q as S, Ge as T, Ie as U, Ve as V, De as W, Y as X, He as Y, Ee as Z, ut as _, ln as a, W as at, rt as b, qt as c, Rt as d, J as et, kt as f, pt as g, wt as h, hn as i, G as it, Oe as j, Ne as k, Wt as l, Et as m, wn as n, K as nt, cn as o, be as ot, Ot as p, Re as q, _n as r, ye as rt, sn as s, H as st, Tn as t, q as tt, zt as u, $ as v, Ze as w, nt as x, lt as y, Fe as z };\n","imports":[{"dynamic":false,"end":355,"specifier":"./Tabs-C-5A_i9z.js","start":337},{"dynamic":false,"end":510,"specifier":"react","start":505},{"dynamic":false,"end":583,"specifier":"react/jsx-runtime","start":566},{"dynamic":true,"end":100565,"specifier":"./lightweight-charts.production-YBpnU30V.js","start":100520}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/runtimeStyles-B9yeV1b6.js","kind":"module","text":"import { G as e, I as t, J as n, L as r, R as i, U as a, a as o, m as s, r as c } from \"./Tabs-C-5A_i9z.js\";\nimport { O as l, Q as u, X as d, f, g as ee, h as p, it as m, k as h, n as g, ot as te, rt as _, t as ne, v as re, z as ie } from \"./portfolio-CSi-hzZM.js\";\nimport { t as ae } from \"./cedros-extension.manifest-Dqn5Guvt.js\";\nimport { useEffect as v, useId as y, useRef as b, useState as x } from \"react\";\nimport { jsx as S, jsxs as C } from \"react/jsx-runtime\";\n//#region src/components/shared/TradeSelect.tsx\nfunction oe({ label: e, value: t, options: n, onChange: r, disabled: i = !1, searchLabel: a, emptyLabel: o }) {\n\tlet s = y(), c = b(null), u = b(null), d = b(null), f = b(null), [ee, p] = x(!1), [m, g] = x(\"\"), [te, _] = x(0), [ne, re] = x(!1), [ae, oe] = x(320), [w, T] = x(36), E = b({\n\t\ttext: \"\",\n\t\ttime: 0\n\t}), D = !!a, O = n.filter((e) => !m || `${e.label} ${e.searchText ?? \"\"}`.toLocaleLowerCase().includes(m.toLocaleLowerCase())), k = n.find((e) => e.value === t), A = ee && !i, j = Math.min(te, O.length - 1), M = j >= 0 ? `${s}-option-${j}` : void 0, N = (e = !1) => {\n\t\tp(!1), e && u.current?.focus();\n\t}, P = () => {\n\t\tif (i) return;\n\t\tlet e = u.current?.getBoundingClientRect();\n\t\tif (e && u.current) {\n\t\t\tlet t = Number.parseFloat(getComputedStyle(u.current).getPropertyValue(\"--ct-select-row-height\")) || 32, r = Math.min(320, n.length * t + (D ? t + 1 : 0) + 10), i = Math.max(0, window.innerHeight - e.bottom - 12), a = Math.max(0, e.top - 12), o = i < r && a > i;\n\t\t\tre(o);\n\t\t\tlet s = Math.min(320, o ? a : i), c = (D ? t + 1 : 0) + 10, l = Math.floor(Math.max(0, s - c) / t);\n\t\t\toe(l ? c + Math.min(n.length, l) * t : s), T(e.height);\n\t\t}\n\t\tg(\"\"), _(Math.max(0, n.findIndex((e) => e.value === t))), p(!0);\n\t}, F = (e) => {\n\t\ti || (r(e.value), N(!0));\n\t};\n\tv(() => {\n\t\tif (!A) return;\n\t\td.current?.focus();\n\t\tlet e = (e) => {\n\t\t\te.target instanceof Node && !c.current?.contains(e.target) && p(!1);\n\t\t}, t = () => p(!1);\n\t\treturn document.addEventListener(\"pointerdown\", e), window.addEventListener(\"resize\", t), () => {\n\t\t\tdocument.removeEventListener(\"pointerdown\", e), window.removeEventListener(\"resize\", t);\n\t\t};\n\t}, [A]), v(() => {\n\t\ti && p(!1);\n\t}, [i]), v(() => {\n\t\tif (!A || !M || !f.current) return;\n\t\tlet e = f.current, t = e.querySelector(`[id=\"${M}\"]`);\n\t\tif (!t) return;\n\t\tlet n = t.offsetTop - e.offsetTop;\n\t\tn < e.scrollTop ? e.scrollTop = n : n + t.offsetHeight > e.scrollTop + e.clientHeight && (e.scrollTop = n + t.offsetHeight - e.clientHeight);\n\t}, [M, A]);\n\tlet I = (e) => {\n\t\tif (!i) {\n\t\t\tif (e.key === \"Escape\") {\n\t\t\t\te.preventDefault(), N(!0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"Tab\") {\n\t\t\t\tN();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!A) {\n\t\t\t\t[\n\t\t\t\t\t\"ArrowDown\",\n\t\t\t\t\t\"ArrowUp\",\n\t\t\t\t\t\"Enter\",\n\t\t\t\t\t\" \"\n\t\t\t\t].includes(e.key) && (e.preventDefault(), P());\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n\t\t\t\te.preventDefault();\n\t\t\t\tlet t = e.key === \"ArrowDown\" ? 1 : -1;\n\t\t\t\t_(O.length ? (j + t + O.length) % O.length : 0);\n\t\t\t} else if ((e.key === \"Home\" || e.key === \"End\") && !D) e.preventDefault(), _(e.key === \"Home\" ? 0 : Math.max(0, O.length - 1));\n\t\t\telse if (e.key === \"Enter\" || !D && e.key === \" \") e.preventDefault(), O[j] && F(O[j]);\n\t\t\telse if (!D && e.key.length === 1 && !e.ctrlKey && !e.metaKey) {\n\t\t\t\tlet t = Date.now(), n = (t - E.current.time < 700 ? E.current.text : \"\") + e.key.toLocaleLowerCase();\n\t\t\t\tE.current = {\n\t\t\t\t\ttext: n,\n\t\t\t\t\ttime: t\n\t\t\t\t};\n\t\t\t\tlet r = O.findIndex((e) => e.label.toLocaleLowerCase().startsWith(n));\n\t\t\t\tr >= 0 && _(r);\n\t\t\t}\n\t\t}\n\t};\n\treturn /* @__PURE__ */ C(\"div\", {\n\t\tref: c,\n\t\tclassName: \"ct-select\",\n\t\tonBlur: (e) => {\n\t\t\te.currentTarget.contains(e.relatedTarget) || N();\n\t\t},\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ S(\"span\", {\n\t\t\t\tid: `${s}-label`,\n\t\t\t\tclassName: \"ct-select-label\",\n\t\t\t\tchildren: e\n\t\t\t}),\n\t\t\t/* @__PURE__ */ C(\"button\", {\n\t\t\t\tref: u,\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"combobox\",\n\t\t\t\t\"aria-labelledby\": `${s}-label ${s}-value`,\n\t\t\t\t\"aria-expanded\": A,\n\t\t\t\t\"aria-controls\": A ? `${s}-list` : void 0,\n\t\t\t\t\"aria-haspopup\": \"listbox\",\n\t\t\t\t\"aria-activedescendant\": A && !D ? M : void 0,\n\t\t\t\tclassName: \"ct-select-trigger\",\n\t\t\t\tdisabled: i || n.length === 0,\n\t\t\t\tonClick: () => A ? N() : P(),\n\t\t\t\tonKeyDown: I,\n\t\t\t\tchildren: [/* @__PURE__ */ S(\"span\", {\n\t\t\t\t\tid: `${s}-value`,\n\t\t\t\t\ttitle: k?.label,\n\t\t\t\t\tchildren: k?.label ?? e\n\t\t\t\t}), /* @__PURE__ */ S(h, {})]\n\t\t\t}),\n\t\t\tA && /* @__PURE__ */ C(\"div\", {\n\t\t\t\tclassName: `ct-select-panel${ne ? \" ct-select-panel--above\" : \"\"}`,\n\t\t\t\tstyle: {\n\t\t\t\t\tmaxHeight: ae,\n\t\t\t\t\t...ne ? { bottom: w + 4 } : {}\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\tD && /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\t\tclassName: \"ct-select-search\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ S(ie, {}), /* @__PURE__ */ S(\"input\", {\n\t\t\t\t\t\t\tref: d,\n\t\t\t\t\t\t\trole: \"combobox\",\n\t\t\t\t\t\t\t\"aria-label\": a,\n\t\t\t\t\t\t\tplaceholder: a,\n\t\t\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\t\t\t\"aria-controls\": `${s}-list`,\n\t\t\t\t\t\t\t\"aria-activedescendant\": M,\n\t\t\t\t\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\t\t\t\tvalue: m,\n\t\t\t\t\t\t\tonChange: (e) => {\n\t\t\t\t\t\t\t\tg(e.target.value), _(0);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonKeyDown: I\n\t\t\t\t\t\t})]\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ S(\"div\", {\n\t\t\t\t\t\tref: f,\n\t\t\t\t\t\tid: `${s}-list`,\n\t\t\t\t\t\trole: \"listbox\",\n\t\t\t\t\t\t\"aria-labelledby\": `${s}-label`,\n\t\t\t\t\t\tclassName: \"ct-select-options\",\n\t\t\t\t\t\tchildren: O.map((e, n) => /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\t\t\tid: `${s}-option-${n}`,\n\t\t\t\t\t\t\trole: \"option\",\n\t\t\t\t\t\t\t\"aria-selected\": e.value === t,\n\t\t\t\t\t\t\tclassName: \"ct-select-option\",\n\t\t\t\t\t\t\t\"data-active\": n === j,\n\t\t\t\t\t\t\ttitle: e.label,\n\t\t\t\t\t\t\tonPointerMove: () => _(n),\n\t\t\t\t\t\t\tonMouseDown: (e) => e.preventDefault(),\n\t\t\t\t\t\t\tonClick: () => F(e),\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ S(\"span\", {\n\t\t\t\t\t\t\t\tclassName: \"ct-select-check\",\n\t\t\t\t\t\t\t\tchildren: e.value === t && /* @__PURE__ */ S(l, {})\n\t\t\t\t\t\t\t}), /* @__PURE__ */ S(\"span\", { children: e.label })]\n\t\t\t\t\t\t}, e.value))\n\t\t\t\t\t}),\n\t\t\t\t\tO.length === 0 && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\t\tclassName: \"ct-select-empty\",\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tchildren: o\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t]\n\t});\n}\n//#endregion\n//#region node_modules/@wallet-standard/app/lib/esm/wallets.js\nvar w = function(e, t, n, r) {\n\tif (n === \"a\" && !r) throw TypeError(\"Private accessor was defined without a getter\");\n\tif (typeof t == \"function\" ? e !== t || !r : !t.has(e)) throw TypeError(\"Cannot read private member from an object whose class did not declare it\");\n\treturn n === \"m\" ? r : n === \"a\" ? r.call(e) : r ? r.value : t.get(e);\n}, T = function(e, t, n, r, i) {\n\tif (r === \"m\") throw TypeError(\"Private method is not writable\");\n\tif (r === \"a\" && !i) throw TypeError(\"Private accessor was defined without a setter\");\n\tif (typeof t == \"function\" ? e !== t || !i : !t.has(e)) throw TypeError(\"Cannot write private member to an object whose class did not declare it\");\n\treturn r === \"a\" ? i.call(e, n) : i ? i.value = n : t.set(e, n), n;\n}, E, D = void 0, O = /* @__PURE__ */ new Set();\nfunction k(e) {\n\tP = void 0, O.add(e);\n}\nfunction A(e) {\n\tP = void 0, O.delete(e);\n}\nvar j = {};\nfunction M() {\n\tif (D || (D = Object.freeze({\n\t\tregister: N,\n\t\tget: F,\n\t\ton: I\n\t}), typeof window > \"u\")) return D;\n\tlet e = Object.freeze({ register: N });\n\ttry {\n\t\twindow.addEventListener(\"wallet-standard:register-wallet\", ({ detail: t }) => t(e));\n\t} catch (e) {\n\t\tconsole.error(\"wallet-standard:register-wallet event listener could not be added\\n\", e);\n\t}\n\ttry {\n\t\twindow.dispatchEvent(new L(e));\n\t} catch (e) {\n\t\tconsole.error(\"wallet-standard:app-ready event could not be dispatched\\n\", e);\n\t}\n\treturn D;\n}\nfunction N(...e) {\n\treturn e = e.filter((e) => !O.has(e)), e.length ? (e.forEach((e) => k(e)), j.register?.forEach((t) => se(() => t(...e))), function() {\n\t\te.forEach((e) => A(e)), j.unregister?.forEach((t) => se(() => t(...e)));\n\t}) : () => {};\n}\nvar P;\nfunction F() {\n\treturn P ||= [...O], P;\n}\nfunction I(e, t) {\n\treturn j[e]?.push(t) || (j[e] = [t]), function() {\n\t\tj[e] = j[e]?.filter((e) => t !== e);\n\t};\n}\nfunction se(e) {\n\ttry {\n\t\te();\n\t} catch (e) {\n\t\tconsole.error(e);\n\t}\n}\nvar L = class extends Event {\n\tget detail() {\n\t\treturn w(this, E, \"f\");\n\t}\n\tget type() {\n\t\treturn \"wallet-standard:app-ready\";\n\t}\n\tconstructor(e) {\n\t\tsuper(\"wallet-standard:app-ready\", {\n\t\t\tbubbles: !1,\n\t\t\tcancelable: !1,\n\t\t\tcomposed: !1\n\t\t}), E.set(this, void 0), T(this, E, e, \"f\");\n\t}\n\tpreventDefault() {\n\t\tthrow Error(\"preventDefault cannot be called\");\n\t}\n\tstopImmediatePropagation() {\n\t\tthrow Error(\"stopImmediatePropagation cannot be called\");\n\t}\n\tstopPropagation() {\n\t\tthrow Error(\"stopPropagation cannot be called\");\n\t}\n};\nE = /* @__PURE__ */ new WeakMap();\n//#endregion\n//#region node_modules/base-x/src/esm/index.js\nfunction R(e) {\n\tif (e.length >= 255) throw TypeError(\"Alphabet too long\");\n\tlet t = new Uint8Array(256);\n\tfor (let e = 0; e < t.length; e++) t[e] = 255;\n\tfor (let n = 0; n < e.length; n++) {\n\t\tlet r = e.charAt(n), i = r.charCodeAt(0);\n\t\tif (t[i] !== 255) throw TypeError(r + \" is ambiguous\");\n\t\tt[i] = n;\n\t}\n\tlet n = e.length, r = e.charAt(0), i = Math.log(n) / Math.log(256), a = Math.log(256) / Math.log(n);\n\tfunction o(t) {\n\t\tif (t instanceof Uint8Array || (ArrayBuffer.isView(t) ? t = new Uint8Array(t.buffer, t.byteOffset, t.byteLength) : Array.isArray(t) && (t = Uint8Array.from(t))), !(t instanceof Uint8Array)) throw TypeError(\"Expected Uint8Array\");\n\t\tif (t.length === 0) return \"\";\n\t\tlet i = 0, o = 0, s = 0, c = t.length;\n\t\tfor (; s !== c && t[s] === 0;) s++, i++;\n\t\tlet l = (c - s) * a + 1 >>> 0, u = new Uint8Array(l);\n\t\tfor (; s !== c;) {\n\t\t\tlet e = t[s], r = 0;\n\t\t\tfor (let t = l - 1; (e !== 0 || r < o) && t !== -1; t--, r++) e += 256 * u[t] >>> 0, u[t] = e % n >>> 0, e = e / n >>> 0;\n\t\t\tif (e !== 0) throw Error(\"Non-zero carry\");\n\t\t\to = r, s++;\n\t\t}\n\t\tlet d = l - o;\n\t\tfor (; d !== l && u[d] === 0;) d++;\n\t\tlet f = r.repeat(i);\n\t\tfor (; d < l; ++d) f += e.charAt(u[d]);\n\t\treturn f;\n\t}\n\tfunction s(e) {\n\t\tif (typeof e != \"string\") throw TypeError(\"Expected String\");\n\t\tif (e.length === 0) return new Uint8Array();\n\t\tlet a = 0, o = 0, s = 0;\n\t\tfor (; e[a] === r;) o++, a++;\n\t\tlet c = (e.length - a) * i + 1 >>> 0, l = new Uint8Array(c);\n\t\tfor (; a < e.length;) {\n\t\t\tlet r = e.charCodeAt(a);\n\t\t\tif (r > 255) return;\n\t\t\tlet i = t[r];\n\t\t\tif (i === 255) return;\n\t\t\tlet o = 0;\n\t\t\tfor (let e = c - 1; (i !== 0 || o < s) && e !== -1; e--, o++) i += n * l[e] >>> 0, l[e] = i % 256 >>> 0, i = i / 256 >>> 0;\n\t\t\tif (i !== 0) throw Error(\"Non-zero carry\");\n\t\t\ts = o, a++;\n\t\t}\n\t\tlet u = c - s;\n\t\tfor (; u !== c && l[u] === 0;) u++;\n\t\tlet d = new Uint8Array(o + (c - u)), f = o;\n\t\tfor (; u !== c;) d[f++] = l[u++];\n\t\treturn d;\n\t}\n\tfunction c(e) {\n\t\tlet t = s(e);\n\t\tif (t) return t;\n\t\tthrow Error(\"Non-base\" + n + \" character\");\n\t}\n\treturn {\n\t\tencode: o,\n\t\tdecodeUnsafe: s,\n\t\tdecode: c\n\t};\n}\nvar z = R(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\"), ce = \"solana:mainnet\";\nfunction le(e, t) {\n\treturn typeof e == \"object\" && !!e && \"version\" in e && e.version === \"1.0.0\" && t in e && typeof Reflect.get(e, t) == \"function\";\n}\nfunction ue(e) {\n\treturn e.chains.includes(\"solana:mainnet\") && le(e.features[\"standard:connect\"], \"connect\") && le(e.features[\"standard:events\"], \"on\") && le(e.features[\"solana:signTransaction\"], \"signTransaction\");\n}\nfunction de(e) {\n\treturn e.chains.includes(\"solana:mainnet\") && e.features.includes(\"solana:signTransaction\") && e.publicKey.length === 32;\n}\nfunction fe(e) {\n\tif (!/^[A-Za-z0-9+/]+={0,2}$/.test(e) || e.length % 4 || e.length > 4096) throw Error();\n\treturn Uint8Array.from(atob(e), (e) => e.charCodeAt(0));\n}\nfunction pe(e) {\n\treturn btoa(String.fromCharCode(...e));\n}\nfunction me(e) {\n\tlet [t, n] = B(e, 0), r = e.slice(n, n + 64);\n\treturn t > 0 && r.length === 64 && r.some(Boolean) ? z.encode(r) : \"\";\n}\nfunction B(e, t) {\n\tlet n = 0;\n\tfor (let r = 0; r < 3; r++) {\n\t\tlet i = e[t + r];\n\t\tif (i === void 0) break;\n\t\tif (n |= (i & 127) << 7 * r, i < 128 && n <= 65535) return [n, t + r + 1];\n\t}\n\tthrow Error();\n}\nfunction he(e, t) {\n\treturn e.length === t.length && e.every((e, n) => e === t[n]);\n}\nfunction ge(e, t, n) {\n\tlet [r, i] = B(e, 0), [a, o] = B(t, 0), s = i + r * 64;\n\tif (!r || r > 16 || r !== a || i !== o || t.length !== e.length || e.length > 1232 || s >= e.length || !he(e.slice(s), t.slice(s))) throw Error();\n\tlet c = e[s];\n\tif (c >= 128 && c !== 128) throw Error();\n\tlet l = s + +(c === 128);\n\tif (e[l] !== r) throw Error();\n\tlet [u, d] = B(e, l + 3);\n\tif (u < r || d + u * 32 > e.length) throw Error();\n\tlet f = Array.from({ length: r }, (e, t) => t).find((t) => he(e.slice(d + t * 32, d + (t + 1) * 32), n.publicKey));\n\tif (f === void 0 || !t.slice(i + f * 64, i + (f + 1) * 64).some(Boolean)) throw Error();\n\tfor (let n = 0; n < r; n++) {\n\t\tlet r = e.slice(i + n * 64, i + (n + 1) * 64);\n\t\tif (n !== f && r.some(Boolean) && !he(r, t.slice(i + n * 64, i + (n + 1) * 64))) throw Error();\n\t}\n}\n//#endregion\n//#region src/components/swap/swapReceipt.ts\nfunction V(e) {\n\treturn `cedros-trade:swap-receipt:${e}`;\n}\nfunction _e(e) {\n\ttry {\n\t\tlet t = sessionStorage.getItem(V(e));\n\t\tif (!t) return null;\n\t\tlet r = JSON.parse(t);\n\t\treturn r && typeof r == \"object\" && \"status\" in r && r.status === \"pending\" && \"signature\" in r && r.signature === \"\" ? {\n\t\t\tstatus: \"pending\",\n\t\t\tsignature: \"\"\n\t\t} : n(r);\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction ve(e, t) {\n\ttry {\n\t\treturn t ? sessionStorage.setItem(V(e), JSON.stringify({\n\t\t\tstatus: t.status,\n\t\t\tsignature: t.signature\n\t\t})) : sessionStorage.removeItem(V(e)), !0;\n\t} catch {\n\t\treturn !1;\n\t}\n}\n//#endregion\n//#region src/components/swap/ExternalWalletSwap.tsx\nvar H = \"ct-field ct-focusable ct-w-full ct-min-w-0 ct-rounded-cedros ct-border ct-border-[var(--ct-border)] ct-p-3\", ye = \"ct-focusable ct-pressable ct-primary-action ct-w-full ct-radius-control ct-px-5 ct-py-3 ct-font-semibold ct-text-[var(--ct-primary-foreground)] disabled:ct-cursor-not-allowed disabled:ct-opacity-50\";\nfunction U({ initialOutputMint: n, showHeader: r = !0 }) {\n\tlet { api: a, config: l } = te(), { t: f, locale: p, formatNumber: m } = t(), { tokens: h, error: g, isLoading: _, refresh: ne } = u(), [ie, ae] = x([]), [y, w] = x(null), T = b(null), [E, D] = x({\n\t\tinputMint: c,\n\t\toutputMint: n ?? \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n\t}), O = o(h, E), k = h.find((e) => e.mint === O?.inputMint), A = h.find((e) => e.mint === O?.outputMint), [j, N] = x(\"\"), [P, F] = x(50), [I, se] = x(!1), { data: L, error: R, isLoading: z, refresh: le } = s({\n\t\tkey: [\"external-swap-policy\", a],\n\t\tinitialData: null,\n\t\tcacheTimeMs: 0,\n\t\tload: async (e) => {\n\t\t\tlet t = await a.getSwapDefaults(e);\n\t\t\tif (typeof t.externalWalletSwapsEnabled != \"boolean\" || !Number.isInteger(t.defaultSlippageBps) || t.defaultSlippageBps < 0 || t.defaultSlippageBps > 5e3) throw Error();\n\t\t\treturn t;\n\t\t},\n\t\tmapError: () => f(\"jupiter.policyUnavailable\")\n\t});\n\tv(() => {\n\t\tL && !I && F(L.defaultSlippageBps);\n\t}, [L, I]);\n\tlet B = P, he = L?.externalWalletSwapsEnabled === !0 && !R && !z, [V, U] = x(null), [W, G] = x(null), [K, be] = x(() => _e(l.serverUrl)), [xe, Se] = x(!1), [q, Ce] = x(!1), we = b(!1), [Te, J] = x(null), Y = b(!0);\n\tv(() => {\n\t\tY.current = !0;\n\t\tlet e = M(), t = () => ae(e.get().filter(ue));\n\t\tt();\n\t\tlet n = e.on(\"register\", t), r = e.on(\"unregister\", (...e) => {\n\t\t\tT.current && e.includes(T.current.wallet) && (T.current = null, w(null), U(null)), t();\n\t\t});\n\t\treturn () => {\n\t\t\tY.current = !1, T.current = null, n(), r();\n\t\t};\n\t}, []), v(() => {\n\t\tif (y) return y.wallet.features[\"standard:events\"].on(\"change\", () => {\n\t\t\tT.current = null, w(null), U(null);\n\t\t});\n\t}, [y]), v(() => {\n\t\tif (!V) return;\n\t\tlet e = setTimeout(() => {\n\t\t\tU(null), J(f(\"jupiter.reviewExpired\"));\n\t\t}, Math.max(0, V.expires - Date.now()));\n\t\treturn () => clearTimeout(e);\n\t}, [V, f]);\n\tlet X = W !== null || K?.status === \"pending\";\n\td(X && xe);\n\tlet Z = (e) => {\n\t\tbe(e), Se(!ve(l.serverUrl, e));\n\t}, Ee = (e) => {\n\t\te(), U(null), Z(null), J(null);\n\t}, De = async (t, n) => {\n\t\tif (!we.current) {\n\t\t\twe.current = !0, Ce(!0), J(null);\n\t\t\ttry {\n\t\t\t\tawait t();\n\t\t\t} catch (t) {\n\t\t\t\tY.current && J(t instanceof e && t.status === 403 ? f(\"jupiter.disabled\") : n);\n\t\t\t} finally {\n\t\t\t\twe.current = !1, Y.current && Ce(!1);\n\t\t\t}\n\t\t}\n\t}, Oe = (e) => De(async () => {\n\t\tlet { accounts: t } = await e.features[\"standard:connect\"].connect(), n = t.find(de);\n\t\tif (!n || !ue(e)) throw Error();\n\t\tif (!Y.current) return;\n\t\tlet r = {\n\t\t\twallet: e,\n\t\t\taccount: n\n\t\t};\n\t\tT.current = r, w(r), U(null), Z(null);\n\t}, f(\"jupiter.connectFailed\")), ke = () => De(async () => {\n\t\tlet t = T.current, n = k ? re(j, k.decimals, p) : null;\n\t\tif (!t || !O || !n) throw Error();\n\t\tU(null), Z(null);\n\t\tlet r = await a.getSwapDefaults();\n\t\tif (r.externalWalletSwapsEnabled !== !0) throw new e(403, \"permission_denied\", \"Swaps disabled\");\n\t\tlet i = I ? P : r.defaultSlippageBps;\n\t\tI || F(i);\n\t\tlet o = await a.getExternalOrder({\n\t\t\t...O,\n\t\t\tamount: n,\n\t\t\tslippageBps: i,\n\t\t\ttaker: t.account.address\n\t\t}), s = Math.min(Date.now() + 6e4, o.expireAt ? Date.parse(o.expireAt) : Infinity);\n\t\tif (s <= Date.now()) {\n\t\t\tJ(f(\"jupiter.reviewExpired\"));\n\t\t\treturn;\n\t\t}\n\t\tY.current && T.current === t && U({\n\t\t\torder: o,\n\t\t\tconnection: t,\n\t\t\texpires: s\n\t\t});\n\t}, f(\"jupiter.orderFailed\")), Q = async (e, t = !1) => {\n\t\tlet n = await a.executeExternalOrder(e.signedTransaction, e.requestId);\n\t\tif (Y.current) {\n\t\t\tif (t && n.status === \"failed\") {\n\t\t\t\tZ({\n\t\t\t\t\tstatus: \"pending\",\n\t\t\t\t\tsignature: K?.signature ?? \"\"\n\t\t\t\t}), J(f(\"jupiter.unknown\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tZ(n), G(null), U(null);\n\t\t}\n\t}, Ae = () => De(async () => {\n\t\tif (K?.signature) {\n\t\t\tlet e;\n\t\t\ttry {\n\t\t\t\te = await a.getExternalStatus(K.signature);\n\t\t\t} catch (e) {\n\t\t\t\tif (W) {\n\t\t\t\t\tawait Q(W, !0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\tif (!Y.current) return;\n\t\t\tif (Z(e), e.status !== \"pending\") {\n\t\t\t\tG(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tW && await Q(W, !0);\n\t}, f(\"jupiter.unknown\")), je = () => De(async () => {\n\t\tif (!V || T.current !== V.connection) throw Error();\n\t\tif (Date.now() >= V.expires) {\n\t\t\tU(null), J(f(\"jupiter.reviewExpired\"));\n\t\t\treturn;\n\t\t}\n\t\tlet { wallet: e, account: t } = V.connection, n = fe(V.order.transaction), [r] = await e.features[\"solana:signTransaction\"].signTransaction({\n\t\t\taccount: t,\n\t\t\ttransaction: n.slice(),\n\t\t\tchain: ce\n\t\t});\n\t\tif (!r || !Y.current || T.current !== V.connection) throw Error();\n\t\tif (Date.now() >= V.expires) {\n\t\t\tU(null), J(f(\"jupiter.reviewExpired\"));\n\t\t\treturn;\n\t\t}\n\t\tge(n, r.signedTransaction, t);\n\t\tlet i = {\n\t\t\tsignedTransaction: pe(r.signedTransaction),\n\t\t\trequestId: V.order.requestId\n\t\t};\n\t\tZ({\n\t\t\tstatus: \"pending\",\n\t\t\tsignature: me(r.signedTransaction)\n\t\t}), G(i), U(null);\n\t\ttry {\n\t\t\tawait Q(i);\n\t\t} catch {\n\t\t\tJ(f(\"jupiter.unknown\"));\n\t\t}\n\t}, f(\"jupiter.signFailed\")), $ = q || X || !he, Me = k ? re(j, k.decimals, p) : null, Ne = (e, t) => i(e, t, p, t);\n\treturn /* @__PURE__ */ S(ee, {\n\t\tshowHeader: r,\n\t\tclassName: \"ct-external-swap\",\n\t\teyebrow: f(\"jupiter.eyebrow\"),\n\t\ttitle: f(\"jupiter.title\"),\n\t\tdescription: f(\"jupiter.description\"),\n\t\tchildren: /* @__PURE__ */ C(\"div\", {\n\t\t\tclassName: \"ct-swap-card ct-panel ct-mx-auto ct-w-full ct-max-w-xl ct-space-y-5 ct-rounded-cedros ct-p-6\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ S(\"p\", {\n\t\t\t\t\tclassName: \"ct-text-sm ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: f(\"jupiter.approval\")\n\t\t\t\t}),\n\t\t\t\tz && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\trole: \"status\",\n\t\t\t\t\tchildren: f(\"jupiter.policyLoading\")\n\t\t\t\t}),\n\t\t\t\tR && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\trole: \"alert\",\n\t\t\t\t\tchildren: R\n\t\t\t\t}),\n\t\t\t\t!z && !R && L?.externalWalletSwapsEnabled === !1 && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\trole: \"status\",\n\t\t\t\t\tchildren: f(\"jupiter.disabled\")\n\t\t\t\t}),\n\t\t\t\t!z && (R || L?.externalWalletSwapsEnabled === !1) && /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclassName: H,\n\t\t\t\t\tdisabled: q,\n\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\tU(null), le({ force: !0 });\n\t\t\t\t\t},\n\t\t\t\t\tchildren: f(\"common.retry\")\n\t\t\t\t}),\n\t\t\t\ty ? /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\tclassName: \"ct-space-y-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ C(\"p\", {\n\t\t\t\t\t\tclassName: \"ct-break-all\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\ty.wallet.name,\n\t\t\t\t\t\t\t\": \",\n\t\t\t\t\t\t\ty.account.address\n\t\t\t\t\t\t]\n\t\t\t\t\t}), /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: H,\n\t\t\t\t\t\tdisabled: q || X,\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tT.current = null, w(null), U(null);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: f(\"jupiter.disconnect\")\n\t\t\t\t\t})]\n\t\t\t\t}) : /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\tclassName: \"ct-space-y-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ S(\"h2\", {\n\t\t\t\t\t\tclassName: \"ct-font-semibold\",\n\t\t\t\t\t\tchildren: f(\"jupiter.connect\")\n\t\t\t\t\t}), ie.length ? ie.map((e, t) => /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: H,\n\t\t\t\t\t\tdisabled: $,\n\t\t\t\t\t\tonClick: () => void Oe(e),\n\t\t\t\t\t\tchildren: e.name\n\t\t\t\t\t}, `${e.name}-${t}`)) : /* @__PURE__ */ S(\"p\", { children: f(\"jupiter.noWallet\") })]\n\t\t\t\t}),\n\t\t\t\t_ && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\trole: \"status\",\n\t\t\t\t\tchildren: f(\"swap.loadingTokenPolicy\")\n\t\t\t\t}),\n\t\t\t\tg && /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\trole: \"alert\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ S(\"p\", { children: g }), /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: H,\n\t\t\t\t\t\tdisabled: $,\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tU(null), ne();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: f(\"common.retry\")\n\t\t\t\t\t})]\n\t\t\t\t}),\n\t\t\t\t!_ && !g && !O && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\trole: \"alert\",\n\t\t\t\t\tchildren: f(\"swap.tokenPolicyIncomplete\")\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ C(\"fieldset\", {\n\t\t\t\t\tdisabled: $ || _ || !!g || !O,\n\t\t\t\t\tclassName: \"ct-swap-fields ct-m-0 ct-min-w-0 ct-space-y-4 ct-border-0 ct-p-0\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ S(oe, {\n\t\t\t\t\t\t\tlabel: f(\"jupiter.pay\"),\n\t\t\t\t\t\t\tvalue: O?.inputMint ?? \"\",\n\t\t\t\t\t\t\tdisabled: $ || _ || !!g || !O,\n\t\t\t\t\t\t\toptions: h.map((e) => ({\n\t\t\t\t\t\t\t\tvalue: e.mint,\n\t\t\t\t\t\t\t\tlabel: `${e.symbol} — ${e.name}`,\n\t\t\t\t\t\t\t\tsearchText: e.mint\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\tsearchLabel: f(\"swap.searchToken\"),\n\t\t\t\t\t\t\temptyLabel: f(\"swap.noTokensFound\"),\n\t\t\t\t\t\t\tonChange: (e) => Ee(() => D({\n\t\t\t\t\t\t\t\tinputMint: e,\n\t\t\t\t\t\t\t\toutputMint: O?.outputMint ?? \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ C(\"label\", {\n\t\t\t\t\t\t\tclassName: \"ct-block\",\n\t\t\t\t\t\t\tchildren: [f(\"jupiter.amount\"), /* @__PURE__ */ S(\"input\", {\n\t\t\t\t\t\t\t\tclassName: H,\n\t\t\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\t\t\tautoComplete: \"off\",\n\t\t\t\t\t\t\t\tvalue: j,\n\t\t\t\t\t\t\t\tonChange: (e) => Ee(() => N(e.target.value))\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tj && !Me && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\t\t\trole: \"alert\",\n\t\t\t\t\t\t\tchildren: f(\"errors.invalidAmount\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ S(oe, {\n\t\t\t\t\t\t\tlabel: f(\"jupiter.receive\"),\n\t\t\t\t\t\t\tvalue: O?.outputMint ?? \"\",\n\t\t\t\t\t\t\tdisabled: $ || _ || !!g || !O,\n\t\t\t\t\t\t\toptions: h.filter((e) => e.mint !== O?.inputMint).map((e) => ({\n\t\t\t\t\t\t\t\tvalue: e.mint,\n\t\t\t\t\t\t\t\tlabel: `${e.symbol} — ${e.name}`,\n\t\t\t\t\t\t\t\tsearchText: e.mint\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\tsearchLabel: f(\"swap.searchToken\"),\n\t\t\t\t\t\t\temptyLabel: f(\"swap.noTokensFound\"),\n\t\t\t\t\t\t\tonChange: (e) => Ee(() => D({\n\t\t\t\t\t\t\t\tinputMint: O?.inputMint ?? \"So11111111111111111111111111111111111111112\",\n\t\t\t\t\t\t\t\toutputMint: e\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ S(oe, {\n\t\t\t\t\t\t\tlabel: f(\"swap.slippage\"),\n\t\t\t\t\t\t\tvalue: String(B),\n\t\t\t\t\t\t\tdisabled: $ || _ || !!g || !O,\n\t\t\t\t\t\t\toptions: [...new Set([\n\t\t\t\t\t\t\t\tB,\n\t\t\t\t\t\t\t\t10,\n\t\t\t\t\t\t\t\t50,\n\t\t\t\t\t\t\t\t100\n\t\t\t\t\t\t\t])].sort((e, t) => e - t).map((e) => ({\n\t\t\t\t\t\t\t\tvalue: String(e),\n\t\t\t\t\t\t\t\tlabel: `${m(e / 100)}%`\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\tonChange: (e) => Ee(() => {\n\t\t\t\t\t\t\t\tse(!0), F(Number(e));\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\t!X && !V && /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclassName: ye,\n\t\t\t\t\tdisabled: $ || _ || !!g || !y || !O || !Me,\n\t\t\t\t\tonClick: () => void ke(),\n\t\t\t\t\tchildren: f(q ? \"jupiter.working\" : \"jupiter.review\")\n\t\t\t\t}),\n\t\t\t\tV && k && A && /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\tclassName: \"ct-space-y-3 ct-rounded-cedros ct-border ct-border-[var(--ct-border)] ct-p-4\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ S(\"h2\", {\n\t\t\t\t\t\t\tclassName: \"ct-font-semibold\",\n\t\t\t\t\t\t\tchildren: f(\"jupiter.reviewTitle\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ C(\"p\", { children: [\n\t\t\t\t\t\t\tNe(V.order.amount, k.decimals),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\tk.symbol,\n\t\t\t\t\t\t\t\" → \",\n\t\t\t\t\t\t\tNe(V.order.outAmount, A.decimals),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\tA.symbol\n\t\t\t\t\t\t] }),\n\t\t\t\t\t\t/* @__PURE__ */ C(\"p\", { children: [\n\t\t\t\t\t\t\tf(\"jupiter.minimum\"),\n\t\t\t\t\t\t\t\": \",\n\t\t\t\t\t\t\tNe(V.order.otherAmountThreshold, A.decimals),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\tA.symbol\n\t\t\t\t\t\t] }),\n\t\t\t\t\t\t/* @__PURE__ */ C(\"p\", { children: [\n\t\t\t\t\t\t\tf(\"swap.slippage\"),\n\t\t\t\t\t\t\t\": \",\n\t\t\t\t\t\t\tm(V.order.slippageBps / 100),\n\t\t\t\t\t\t\t\"%\"\n\t\t\t\t\t\t] }),\n\t\t\t\t\t\t/* @__PURE__ */ S(\"p\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-sm ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\t\t\tchildren: f(\"jupiter.reviewValidity\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ C(\"p\", { children: [\n\t\t\t\t\t\t\tf(\"jupiter.impact\"),\n\t\t\t\t\t\t\t\": \",\n\t\t\t\t\t\t\tm(V.order.priceImpactPct),\n\t\t\t\t\t\t\t\"%\"\n\t\t\t\t\t\t] }),\n\t\t\t\t\t\t/* @__PURE__ */ C(\"p\", { children: [\n\t\t\t\t\t\t\tf(\"jupiter.fee\"),\n\t\t\t\t\t\t\t\": \",\n\t\t\t\t\t\t\tm(V.order.feeBps / 100),\n\t\t\t\t\t\t\t\"%\"\n\t\t\t\t\t\t] }),\n\t\t\t\t\t\t/* @__PURE__ */ C(\"p\", { children: [\n\t\t\t\t\t\t\tf(\"jupiter.network\"),\n\t\t\t\t\t\t\t\": \",\n\t\t\t\t\t\t\tNe(String(BigInt(V.order.signatureFeeLamports) + BigInt(V.order.prioritizationFeeLamports) + BigInt(V.order.rentFeeLamports)), 9),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\th.find((e) => e.mint === \"So11111111111111111111111111111111111111112\")?.symbol ?? \"SOL\"\n\t\t\t\t\t\t] }),\n\t\t\t\t\t\t/* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tclassName: ye,\n\t\t\t\t\t\t\tdisabled: q,\n\t\t\t\t\t\t\tonClick: () => void je(),\n\t\t\t\t\t\t\tchildren: f(\"jupiter.approve\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tclassName: H,\n\t\t\t\t\t\t\tdisabled: q,\n\t\t\t\t\t\t\tonClick: () => U(null),\n\t\t\t\t\t\t\tchildren: f(\"common.cancel\")\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\tX && /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\tclassName: \"ct-panel ct-panel-warning ct-space-y-3 ct-rounded-cedros ct-p-4\",\n\t\t\t\t\trole: \"status\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ S(\"p\", { children: f(\"jupiter.unknown\") }),\n\t\t\t\t\t\t(W || K?.signature) && /* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tclassName: ye,\n\t\t\t\t\t\t\tdisabled: q,\n\t\t\t\t\t\t\tonClick: () => void Ae(),\n\t\t\t\t\t\t\tchildren: f(\"jupiter.checkStatus\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ S(\"p\", {\n\t\t\t\t\t\t\tclassName: \"ct-text-sm\",\n\t\t\t\t\t\t\tchildren: f(\"jupiter.walletRecovery\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ S(\"button\", {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tclassName: H,\n\t\t\t\t\t\t\tdisabled: q,\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\tG(null), Z(null), J(null);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: f(\"jupiter.acknowledge\")\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\txe && X && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\trole: \"alert\",\n\t\t\t\t\tchildren: f(\"jupiter.recoveryUnavailable\")\n\t\t\t\t}),\n\t\t\t\tTe && /* @__PURE__ */ S(\"p\", {\n\t\t\t\t\trole: \"alert\",\n\t\t\t\t\tchildren: Te\n\t\t\t\t}),\n\t\t\t\tK && /* @__PURE__ */ C(\"div\", {\n\t\t\t\t\tclassName: \"ct-space-y-2\",\n\t\t\t\t\trole: \"status\",\n\t\t\t\t\tchildren: [K.status !== \"pending\" && /* @__PURE__ */ S(\"p\", { children: f(K.status === \"confirmed\" ? \"jupiter.confirmed\" : \"jupiter.failed\") }), K.signature && /* @__PURE__ */ S(\"a\", {\n\t\t\t\t\t\tclassName: \"ct-underline\",\n\t\t\t\t\t\thref: `https://solscan.io/tx/${encodeURIComponent(K.signature)}`,\n\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\trel: \"noopener noreferrer\",\n\t\t\t\t\t\tchildren: f(\"jupiter.explorer\")\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nvar W = \"main\";\nfunction G(e, t) {\n\tlet n = Ce(t), r = e && typeof e == \"object\" && !Array.isArray(e) ? e : {}, i = \"props\" in r ? r.props : r, a = i && typeof i == \"object\" && !Array.isArray(i) ? i : {}, o = \"surface\" in a ? a.surface : void 0, s = o === \"swap\" || o === \"transfer\" || o === \"trading\" || o === \"portfolio\" ? o : \"swap\", c = n[s];\n\treturn {\n\t\tsurface: s,\n\t\theading: \"heading\" in a && typeof a.heading == \"string\" ? a.heading : c.heading,\n\t\tbody: \"body\" in a && typeof a.body == \"string\" ? a.body : c.body,\n\t\tshowHeader: \"showHeader\" in a && typeof a.showHeader == \"boolean\" ? a.showHeader : c.showHeader\n\t};\n}\nfunction K(e, t) {\n\treturn e === \"swap\" ? /* @__PURE__ */ S(p, {}) : e === \"transfer\" ? /* @__PURE__ */ S(f, {}) : e === \"portfolio\" ? /* @__PURE__ */ S(ne, {}) : /* @__PURE__ */ S(g, { theme: t });\n}\nvar be = () => null;\nfunction xe(e) {\n\treturn {\n\t\tserverUrl: e.config?.serverUrl ?? \"/extensions/cedros-trade\",\n\t\tgetAccessToken: e.config?.getAccessToken ?? be,\n\t\tapiKey: e.config?.apiKey,\n\t\ti18n: e.config?.i18n\n\t};\n}\nfunction Se(e) {\n\tlet n = G(e, t()), r = xe(e), i = e.colorMode ?? \"system\", a = e.props ?? e;\n\treturn /* @__PURE__ */ S(_, {\n\t\tconfig: r,\n\t\ttheme: i,\n\t\tchildren: n.surface === \"swap\" && a.executionMode === \"jupiter\" ? /* @__PURE__ */ S(U, {\n\t\t\tinitialOutputMint: a.initialOutputMint,\n\t\t\tshowHeader: n.showHeader\n\t\t}, r.serverUrl) : /* @__PURE__ */ S(q, {\n\t\t\tsurface: n.surface,\n\t\t\theading: n.heading,\n\t\t\tbody: n.body,\n\t\t\tshowHeader: n.showHeader\n\t\t})\n\t});\n}\nfunction q({ surface: e, heading: t, body: n, showHeader: r }) {\n\tlet { isDark: i } = m();\n\treturn /* @__PURE__ */ C(\"div\", {\n\t\tclassName: \"cedros-trade-block\",\n\t\t\"data-ca5ss4b-block\": \"cedros-trade:trade-surface\",\n\t\tchildren: [r && /* @__PURE__ */ C(\"header\", {\n\t\t\tclassName: \"ct-panel-elevated ct-enter-slow ct-relative ct-mb-6 ct-overflow-hidden ct-rounded-cedros ct-p-5\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ S(\"div\", {\n\t\t\t\t\tclassName: \"ct-gradient-brand-fill ct-pointer-events-none ct-absolute ct-inset-x-0 ct-top-0 ct-h-1\",\n\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ S(\"h1\", {\n\t\t\t\t\tclassName: \"ct-text-2xl ct-font-semibold ct-text-[var(--ct-foreground)]\",\n\t\t\t\t\tchildren: t\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ S(\"p\", {\n\t\t\t\t\tclassName: \"ct-mt-2 ct-text-sm ct-leading-6 ct-text-[var(--ct-muted-foreground)]\",\n\t\t\t\t\tchildren: n\n\t\t\t\t})\n\t\t\t]\n\t\t}), K(e, i ? \"dark\" : \"light\")]\n\t});\n}\nfunction Ce(e) {\n\tlet t = (t) => e?.t ? e.t(t) : a[t];\n\treturn {\n\t\tswap: {\n\t\t\tsurface: \"swap\",\n\t\t\theading: t(\"swap.previewTitle\"),\n\t\t\tbody: t(\"metadata.surface.swap.body\"),\n\t\t\tshowHeader: !1\n\t\t},\n\t\ttransfer: {\n\t\t\tsurface: \"transfer\",\n\t\t\theading: t(\"transfer.title\"),\n\t\t\tbody: t(\"metadata.surface.transfer.body\"),\n\t\t\tshowHeader: !1\n\t\t},\n\t\ttrading: {\n\t\t\tsurface: \"trading\",\n\t\t\theading: t(\"metadata.page.trading.displayName\"),\n\t\t\tbody: t(\"metadata.surface.trading.body\"),\n\t\t\tshowHeader: !1\n\t\t},\n\t\tportfolio: {\n\t\t\tsurface: \"portfolio\",\n\t\t\theading: t(\"portfolio.title\"),\n\t\t\tbody: t(\"metadata.surface.portfolio.body\"),\n\t\t\tshowHeader: !1\n\t\t}\n\t};\n}\nvar we = Ce(), Te = {\n\ttype: \"cedros-trade:trade-surface\",\n\tdisplayName: a[\"metadata.block.tradeSurface.displayName\"],\n\tdescription: a[\"metadata.block.tradeSurface.description\"],\n\tcategory: \"trading\",\n\tComponent: Se,\n\tnativeFallback: a[\"metadata.block.tradeSurface.nativeFallback\"]\n}, J = [{\n\tid: W,\n\tlabel: \"Main\",\n\torder: 0\n}];\nfunction Y(e, t, n) {\n\treturn {\n\t\tid: e,\n\t\tlabel: t,\n\t\tdisplayName: t,\n\t\tcontentTypes: [\"page\"],\n\t\tzones: J,\n\t\tblocks: [{\n\t\t\ttype: Te.type,\n\t\t\tzoneId: W,\n\t\t\tprops: we[n]\n\t\t}]\n\t};\n}\nvar X = [\n\tY(\"cedros-trade:quote-template\", a[\"metadata.template.swap.displayName\"], \"swap\"),\n\tY(\"cedros-trade:swap-template\", a[\"metadata.template.swap.displayName\"], \"swap\"),\n\tY(\"cedros-trade:transfer-template\", a[\"metadata.template.transfer.displayName\"], \"transfer\"),\n\tY(\"cedros-trade:trading-template\", a[\"metadata.template.trading.displayName\"], \"trading\"),\n\tY(\"cedros-trade:portfolio-template\", a[\"metadata.template.portfolio.displayName\"], \"portfolio\")\n];\n//#endregion\n//#region src/i18n/webMetadata.ts\nfunction Z(e) {\n\tlet t = r(e);\n\treturn {\n\t\tmanifest: ae,\n\t\tcontentBlocks: [Ee(t.t)],\n\t\tcontentTemplates: De(t.t)\n\t};\n}\nfunction Ee(e) {\n\treturn {\n\t\t...Te,\n\t\tdisplayName: e(\"metadata.block.tradeSurface.displayName\"),\n\t\tdescription: e(\"metadata.block.tradeSurface.description\"),\n\t\tComponent: Se,\n\t\tnativeFallback: e(\"metadata.block.tradeSurface.nativeFallback\")\n\t};\n}\nfunction De(e) {\n\treturn X.map((t) => {\n\t\tlet n = Oe(t.id, e);\n\t\treturn {\n\t\t\t...t,\n\t\t\tdisplayName: n,\n\t\t\tlabel: n,\n\t\t\tblocks: t.blocks.map((t) => ({\n\t\t\t\t...t,\n\t\t\t\tprops: ke(t.props, e)\n\t\t\t}))\n\t\t};\n\t});\n}\nfunction Oe(e, t) {\n\treturn e.endsWith(\"quote-template\") || e.endsWith(\"swap-template\") ? t(\"metadata.template.swap.displayName\") : e.endsWith(\"transfer-template\") ? t(\"metadata.template.transfer.displayName\") : e.endsWith(\"trading-template\") ? t(\"metadata.template.trading.displayName\") : t(\"metadata.template.portfolio.displayName\");\n}\nfunction ke(e, t) {\n\treturn e.surface === \"swap\" ? Q(e, \"swap\", t(\"swap.previewTitle\"), t(\"metadata.surface.swap.body\")) : e.surface === \"transfer\" ? Q(e, \"transfer\", t(\"transfer.title\"), t(\"metadata.surface.transfer.body\")) : e.surface === \"portfolio\" ? Q(e, \"portfolio\", t(\"portfolio.title\"), t(\"metadata.surface.portfolio.body\")) : Q(e, \"trading\", t(\"metadata.page.trading.displayName\"), t(\"metadata.surface.trading.body\"));\n}\nfunction Q(e, t, n, r) {\n\treturn {\n\t\tsurface: t,\n\t\theading: n,\n\t\tbody: r,\n\t\tshowHeader: !!e.showHeader\n\t};\n}\n//#endregion\n//#region src/styles/trade.css?inline\nvar Ae = \".cedros-trade .ct-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cedros-trade .ct-pointer-events-none{pointer-events:none}.cedros-trade .ct-fixed{position:fixed}.cedros-trade .ct-absolute{position:absolute}.cedros-trade .ct-relative{position:relative}.cedros-trade .ct-sticky{position:sticky}.cedros-trade .ct-inset-0{inset:0}.cedros-trade .ct-inset-x-0{left:0;right:0}.cedros-trade .ct-inset-y-0{top:0;bottom:0}.cedros-trade .ct-left-0{left:0}.cedros-trade .ct-left-7{left:1.75rem}.cedros-trade .ct-right-3{right:.75rem}.cedros-trade .ct-top-0{top:0}.cedros-trade .ct-top-1\\\\/2{top:50%}.cedros-trade .ct-z-10{z-index:10}.cedros-trade .ct-z-50{z-index:50}.cedros-trade .ct-z-\\\\[1000\\\\]{z-index:1000}.cedros-trade .ct-m-0{margin:0}.cedros-trade .ct-mx-4{margin-left:1rem;margin-right:1rem}.cedros-trade .ct-mx-auto{margin-left:auto;margin-right:auto}.cedros-trade .ct-mb-1{margin-bottom:.25rem}.cedros-trade .ct-mb-2{margin-bottom:.5rem}.cedros-trade .ct-mb-4{margin-bottom:1rem}.cedros-trade .ct-mb-6{margin-bottom:1.5rem}.cedros-trade .ct-ml-1{margin-left:.25rem}.cedros-trade .ct-ml-2{margin-left:.5rem}.cedros-trade .ct-mt-0\\\\.5{margin-top:.125rem}.cedros-trade .ct-mt-1{margin-top:.25rem}.cedros-trade .ct-mt-1\\\\.5{margin-top:.375rem}.cedros-trade .ct-mt-2{margin-top:.5rem}.cedros-trade .ct-mt-3{margin-top:.75rem}.cedros-trade .ct-mt-4{margin-top:1rem}.cedros-trade .ct-mt-5{margin-top:1.25rem}.cedros-trade .ct-block{display:block}.cedros-trade .ct-flex{display:flex}.cedros-trade .ct-inline-flex{display:inline-flex}.cedros-trade .ct-grid{display:grid}.cedros-trade .ct-hidden{display:none}.cedros-trade .ct-h-1{height:.25rem}.cedros-trade .ct-h-2{height:.5rem}.cedros-trade .ct-h-3{height:.75rem}.cedros-trade .ct-h-3\\\\.5{height:.875rem}.cedros-trade .ct-h-4{height:1rem}.cedros-trade .ct-h-5{height:1.25rem}.cedros-trade .ct-h-6{height:1.5rem}.cedros-trade .ct-h-7{height:1.75rem}.cedros-trade .ct-h-8{height:2rem}.cedros-trade .ct-h-\\\\[1em\\\\]{height:1em}.cedros-trade .ct-h-full{height:100%}.cedros-trade .ct-max-h-48{max-height:12rem}.cedros-trade .ct-max-h-72{max-height:18rem}.cedros-trade .ct-max-h-\\\\[82vh\\\\]{max-height:82vh}.cedros-trade .ct-min-h-8{min-height:2rem}.cedros-trade .ct-min-h-9{min-height:2.25rem}.cedros-trade .ct-min-h-\\\\[22rem\\\\]{min-height:22rem}.cedros-trade .ct-min-h-\\\\[3\\\\.35rem\\\\]{min-height:3.35rem}.cedros-trade .ct-min-h-\\\\[34rem\\\\]{min-height:34rem}.cedros-trade .ct-min-h-\\\\[400px\\\\]{min-height:400px}.cedros-trade .ct-min-h-screen{min-height:100vh}.cedros-trade .ct-w-16{width:4rem}.cedros-trade .ct-w-2{width:.5rem}.cedros-trade .ct-w-20{width:5rem}.cedros-trade .ct-w-28{width:7rem}.cedros-trade .ct-w-3{width:.75rem}.cedros-trade .ct-w-3\\\\.5{width:.875rem}.cedros-trade .ct-w-4{width:1rem}.cedros-trade .ct-w-5{width:1.25rem}.cedros-trade .ct-w-7{width:1.75rem}.cedros-trade .ct-w-8{width:2rem}.cedros-trade .ct-w-80{width:20rem}.cedros-trade .ct-w-\\\\[1em\\\\]{width:1em}.cedros-trade .ct-w-full{width:100%}.cedros-trade .ct-min-w-0{min-width:0}.cedros-trade .ct-min-w-\\\\[100px\\\\]{min-width:100px}.cedros-trade .ct-min-w-\\\\[112px\\\\]{min-width:112px}.cedros-trade .ct-min-w-\\\\[48rem\\\\]{min-width:48rem}.cedros-trade .ct-min-w-max{min-width:max-content}.cedros-trade .ct-max-w-2xl{max-width:42rem}.cedros-trade .ct-max-w-3xl{max-width:48rem}.cedros-trade .ct-max-w-56{max-width:14rem}.cedros-trade .ct-max-w-6xl{max-width:72rem}.cedros-trade .ct-max-w-lg{max-width:32rem}.cedros-trade .ct-max-w-md{max-width:28rem}.cedros-trade .ct-max-w-sm{max-width:24rem}.cedros-trade .ct-max-w-xl{max-width:36rem}.cedros-trade .ct-max-w-xs{max-width:20rem}.cedros-trade .ct-flex-1{flex:1}.cedros-trade .ct-flex-none{flex:none}.cedros-trade .ct-flex-shrink-0,.cedros-trade .ct-shrink-0{flex-shrink:0}.cedros-trade .ct-basis-56{flex-basis:14rem}.cedros-trade .ct-basis-64{flex-basis:16rem}.cedros-trade .ct-basis-72{flex-basis:18rem}.cedros-trade .-ct-translate-y-1\\\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cedros-trade .ct-cursor-pointer{cursor:pointer}.cedros-trade .ct-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cedros-trade .ct-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cedros-trade .ct-grid-cols-\\\\[repeat\\\\(auto-fit\\\\,minmax\\\\(7rem\\\\,1fr\\\\)\\\\)\\\\]{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr))}.cedros-trade .ct-flex-col{flex-direction:column}.cedros-trade .ct-flex-wrap{flex-wrap:wrap}.cedros-trade .ct-items-start{align-items:flex-start}.cedros-trade .ct-items-center{align-items:center}.cedros-trade .ct-items-baseline{align-items:baseline}.cedros-trade .ct-justify-end{justify-content:flex-end}.cedros-trade .ct-justify-center{justify-content:center}.cedros-trade .ct-justify-between{justify-content:space-between}.cedros-trade .ct-gap-1{gap:.25rem}.cedros-trade .ct-gap-1\\\\.5{gap:.375rem}.cedros-trade .ct-gap-2{gap:.5rem}.cedros-trade .ct-gap-2\\\\.5{gap:.625rem}.cedros-trade .ct-gap-3{gap:.75rem}.cedros-trade .ct-gap-4{gap:1rem}.cedros-trade .ct-gap-5{gap:1.25rem}.cedros-trade .ct-gap-6{gap:1.5rem}.cedros-trade .ct-gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.cedros-trade .ct-gap-y-1{row-gap:.25rem}.cedros-trade :is(.ct-space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-1\\\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.cedros-trade .ct-self-center{align-self:center}.cedros-trade .ct-overflow-auto{overflow:auto}.cedros-trade .ct-overflow-hidden{overflow:hidden}.cedros-trade .ct-overflow-x-auto{overflow-x:auto}.cedros-trade .ct-overflow-y-auto{overflow-y:auto}.cedros-trade .ct-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cedros-trade .ct-whitespace-nowrap{white-space:nowrap}.cedros-trade .ct-break-words{overflow-wrap:break-word}.cedros-trade .ct-break-all{word-break:break-all}.cedros-trade .ct-rounded{border-radius:.25rem}.cedros-trade .ct-rounded-cedros{border-radius:var(--ct-radius,.625rem)}.cedros-trade .ct-rounded-cedros-lg{border-radius:var(--ct-radius-lg)}.cedros-trade .ct-rounded-cedros-sm{border-radius:var(--ct-radius-sm)}.cedros-trade .ct-rounded-full{border-radius:9999px}.cedros-trade .ct-border{border-width:1px}.cedros-trade .ct-border-0{border-width:0}.cedros-trade .ct-border-y{border-top-width:1px;border-bottom-width:1px}.cedros-trade .ct-border-b{border-bottom-width:1px}.cedros-trade .ct-border-l-2{border-left-width:2px}.cedros-trade .ct-border-t{border-top-width:1px}.cedros-trade .ct-border-\\\\[var\\\\(--ct-border\\\\)\\\\]{border-color:var(--ct-border)}.cedros-trade .ct-border-\\\\[var\\\\(--ct-destructive\\\\)\\\\]{border-color:var(--ct-destructive)}.cedros-trade .ct-border-\\\\[var\\\\(--ct-info\\\\)\\\\]{border-color:var(--ct-info)}.cedros-trade .ct-border-\\\\[var\\\\(--ct-primary\\\\)\\\\]{border-color:var(--ct-primary)}.cedros-trade .ct-border-\\\\[var\\\\(--ct-success\\\\)\\\\]{border-color:var(--ct-success)}.cedros-trade .ct-border-\\\\[var\\\\(--ct-warning\\\\)\\\\]{border-color:var(--ct-warning)}.cedros-trade .ct-border-current{border-color:currentColor}.cedros-trade .ct-border-l-\\\\[var\\\\(--ct-border\\\\)\\\\]{border-left-color:var(--ct-border)}.cedros-trade .ct-border-l-\\\\[var\\\\(--ct-destructive\\\\)\\\\]{border-left-color:var(--ct-destructive)}.cedros-trade .ct-border-l-\\\\[var\\\\(--ct-info\\\\)\\\\]{border-left-color:var(--ct-info)}.cedros-trade .ct-border-l-\\\\[var\\\\(--ct-primary\\\\)\\\\]{border-left-color:var(--ct-primary)}.cedros-trade .ct-border-l-\\\\[var\\\\(--ct-success\\\\)\\\\]{border-left-color:var(--ct-success)}.cedros-trade .ct-border-l-\\\\[var\\\\(--ct-warning\\\\)\\\\]{border-left-color:var(--ct-warning)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-destructive\\\\)\\\\]{background-color:var(--ct-destructive)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-destructive-bg\\\\)\\\\]{background-color:var(--ct-destructive-bg)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-info-bg\\\\)\\\\]{background-color:var(--ct-info-bg)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-muted\\\\)\\\\]{background-color:var(--ct-muted)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-overlay\\\\)\\\\]{background-color:var(--ct-overlay)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-primary\\\\)\\\\]{background-color:var(--ct-primary)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-success\\\\)\\\\]{background-color:var(--ct-success)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-success-bg\\\\)\\\\]{background-color:var(--ct-success-bg)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-surface\\\\)\\\\]{background-color:var(--ct-surface)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-surface-elevated\\\\)\\\\]{background-color:var(--ct-surface-elevated)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-surface-muted\\\\)\\\\]{background-color:var(--ct-surface-muted)}.cedros-trade .ct-bg-\\\\[var\\\\(--ct-warning-bg\\\\)\\\\]{background-color:var(--ct-warning-bg)}.cedros-trade .ct-bg-black\\\\/40{background-color:#0006}.cedros-trade .ct-bg-current{background-color:currentColor}.cedros-trade .ct-p-0{padding:0}.cedros-trade .ct-p-1{padding:.25rem}.cedros-trade .ct-p-1\\\\.5{padding:.375rem}.cedros-trade .ct-p-2{padding:.5rem}.cedros-trade .ct-p-3{padding:.75rem}.cedros-trade .ct-p-4{padding:1rem}.cedros-trade .ct-p-5{padding:1.25rem}.cedros-trade .ct-p-6{padding:1.5rem}.cedros-trade .ct-px-1\\\\.5{padding-left:.375rem;padding-right:.375rem}.cedros-trade .ct-px-2{padding-left:.5rem;padding-right:.5rem}.cedros-trade .ct-px-2\\\\.5{padding-left:.625rem;padding-right:.625rem}.cedros-trade .ct-px-3{padding-left:.75rem;padding-right:.75rem}.cedros-trade .ct-px-4{padding-left:1rem;padding-right:1rem}.cedros-trade .ct-px-5{padding-left:1.25rem;padding-right:1.25rem}.cedros-trade .ct-py-0\\\\.5{padding-top:.125rem;padding-bottom:.125rem}.cedros-trade .ct-py-1{padding-top:.25rem;padding-bottom:.25rem}.cedros-trade .ct-py-1\\\\.5{padding-top:.375rem;padding-bottom:.375rem}.cedros-trade .ct-py-10{padding-top:2.5rem;padding-bottom:2.5rem}.cedros-trade .ct-py-12{padding-top:3rem;padding-bottom:3rem}.cedros-trade .ct-py-2{padding-top:.5rem;padding-bottom:.5rem}.cedros-trade .ct-py-2\\\\.5{padding-top:.625rem;padding-bottom:.625rem}.cedros-trade .ct-py-3{padding-top:.75rem;padding-bottom:.75rem}.cedros-trade .ct-py-3\\\\.5{padding-top:.875rem;padding-bottom:.875rem}.cedros-trade .ct-py-4{padding-top:1rem;padding-bottom:1rem}.cedros-trade .ct-py-7{padding-top:1.75rem;padding-bottom:1.75rem}.cedros-trade .ct-py-8{padding-top:2rem;padding-bottom:2rem}.cedros-trade .ct-pb-2{padding-bottom:.5rem}.cedros-trade .ct-pl-3{padding-left:.75rem}.cedros-trade .ct-pl-9{padding-left:2.25rem}.cedros-trade .ct-pr-3{padding-right:.75rem}.cedros-trade .ct-pr-9{padding-right:2.25rem}.cedros-trade .ct-text-left{text-align:left}.cedros-trade .ct-text-center{text-align:center}.cedros-trade .ct-text-right{text-align:right}.cedros-trade .ct-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.cedros-trade .ct-text-2xl{font-size:1.5rem;line-height:2rem}.cedros-trade .ct-text-3xl{font-size:1.875rem;line-height:2.25rem}.cedros-trade .ct-text-\\\\[10px\\\\]{font-size:10px}.cedros-trade .ct-text-\\\\[9px\\\\]{font-size:9px}.cedros-trade .ct-text-lg{font-size:1.125rem;line-height:1.75rem}.cedros-trade .ct-text-sm{font-size:.875rem;line-height:1.25rem}.cedros-trade .ct-text-xl{font-size:1.25rem;line-height:1.75rem}.cedros-trade .ct-text-xs{font-size:.75rem;line-height:1rem}.cedros-trade .ct-font-bold{font-weight:700}.cedros-trade .ct-font-medium{font-weight:500}.cedros-trade .ct-font-normal{font-weight:400}.cedros-trade .ct-font-semibold{font-weight:600}.cedros-trade .ct-uppercase{text-transform:uppercase}.cedros-trade .ct-capitalize{text-transform:capitalize}.cedros-trade .ct-leading-5{line-height:1.25rem}.cedros-trade .ct-leading-6{line-height:1.5rem}.cedros-trade .ct-leading-none{line-height:1}.cedros-trade .ct-leading-tight{line-height:1.25}.cedros-trade .ct-tracking-tight{letter-spacing:-.025em}.cedros-trade .ct-tracking-wide{letter-spacing:.025em}.cedros-trade .ct-text-\\\\[var\\\\(--ct-destructive\\\\)\\\\]{color:var(--ct-destructive)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-destructive-foreground\\\\)\\\\]{color:var(--ct-destructive-foreground)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-foreground\\\\)\\\\]{color:var(--ct-foreground)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-info\\\\)\\\\]{color:var(--ct-info)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-muted-foreground\\\\)\\\\]{color:var(--ct-muted-foreground)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-primary\\\\)\\\\]{color:var(--ct-primary)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-primary-foreground\\\\)\\\\]{color:var(--ct-primary-foreground)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-success\\\\)\\\\]{color:var(--ct-success)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-success-foreground\\\\)\\\\]{color:var(--ct-success-foreground)}.cedros-trade .ct-text-\\\\[var\\\\(--ct-warning\\\\)\\\\]{color:var(--ct-warning)}.cedros-trade .ct-text-current{color:currentColor}.cedros-trade .ct-underline{text-decoration-line:underline}.cedros-trade .ct-placeholder-\\\\[var\\\\(--ct-muted-foreground\\\\)\\\\]::placeholder{color:var(--ct-muted-foreground)}.cedros-trade .ct-accent-\\\\[var\\\\(--ct-primary\\\\)\\\\]{accent-color:var(--ct-primary)}.cedros-trade .ct-opacity-10{opacity:.1}.cedros-trade .ct-opacity-50{opacity:.5}.cedros-trade .ct-opacity-80{opacity:.8}.cedros-trade .ct-shadow-cedros{--tw-shadow:var(--ct-shadow-sm);--tw-shadow-colored:var(--ct-shadow-sm);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.cedros-trade .ct-outline-none{outline-offset:2px;outline:2px solid #0000}.cedros-trade .ct-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.cedros-trade{--ct-background:var(--ca5ss4b-runtime-panel,var(--ca5ss4br-bg,var(--cd-card-bg,#fafafa)));--ct-foreground:var(--ca5ss4b-runtime-text,var(--ca5ss4br-fg,var(--cd-fg,#171717)));--ct-surface:var(--ca5ss4br-panel,color-mix(in srgb, var(--ct-background) 88%, #fff 12%));--ct-surface-elevated:color-mix(in srgb, var(--ct-background) 74%, #fff 26%);--ct-surface-muted:var(--ca5ss4b-runtime-accent-soft,var(--cd-muted-bg,color-mix(in srgb, var(--ct-surface) 88%, var(--ct-foreground) 12%)));--ct-surface-interactive:color-mix(in srgb, var(--ct-surface-muted) 84%, var(--ct-primary) 16%);--ct-muted:var(--ct-surface-muted);--ct-muted-foreground:var(--ca5ss4b-runtime-muted,var(--ca5ss4br-muted,var(--cd-muted,#737373)));--ct-border:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#e5e5e5)));--ct-border-strong:color-mix(in srgb, var(--ct-border) 70%, var(--ct-foreground) 30%);--ct-input:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#e5e5e5)));--ct-ring:var(--ca5ss4b-runtime-accent,var(--ca5ss4br-primary,var(--cd-ring,#a3a3a3)));--ct-primary:var(--ca5ss4b-runtime-action-bg,var(--ca5ss4br-primary,var(--cd-primary,#262626)));--ct-primary-foreground:var(--ca5ss4b-runtime-action-fg,var(--ca5ss4br-primary-fg,var(--cd-primary-fg,#fff)));--ct-destructive:var(--ca5ss4b-runtime-error,var(--ca5ss4br-error,var(--cd-error,#dc2626)));--ct-destructive-foreground:#fff;--ct-success:var(--ca5ss4br-success,var(--cd-success,#16a34a));--ct-success-foreground:#fff;--ct-warning:var(--ca5ss4b-runtime-warning,var(--cd-warning,#d97706));--ct-info:var(--ca5ss4b-runtime-accent,var(--ca5ss4br-link,var(--cd-info,#2563eb)));--ct-radius:var(--ca5ss4br-radius,var(--cd-radius,8px));--ct-radius-sm:max(calc(var(--ct-radius) - 3px), .25rem);--ct-radius-lg:calc(var(--ct-radius) + 4px);--ct-radius-control:max(0px, calc(var(--ct-radius) - 1px));--ct-radius-card:var(--ct-radius);--ct-radius-panel:calc(var(--ct-radius) + 4px);--ct-shadow-sm:var(--cd-shadow-sm,0 1px 2px #0f172a12, 0 1px 0 #ffffffb8 inset);--ct-shadow-md:var(--cd-shadow,0 6px 16px -6px #0f172a29, 0 2px 4px -2px #0f172a14);--ct-shadow-lg:var(--cd-shadow-lg,0 16px 48px #0f172a1f);--ct-shadow-focus:0 0 0 2px var(--ct-surface), 0 0 0 4px color-mix(in srgb, var(--ct-ring) 38%, transparent);--ct-overlay:#0f172a9e;--ct-warning-foreground:#fff;--ct-info-foreground:#fff;--ct-tracking-tight:0;--ct-tracking-wide:0;--ct-spin:.72s;--ct-duration-micro:.14s;--ct-duration-fast:.2s;--ct-duration-panel:.32s;--ct-ease-spring:cubic-bezier(.16, 1, .3, 1);--ct-gradient-brand:linear-gradient(135deg, color-mix(in srgb, var(--ct-primary) 92%, #0f172a 8%), #0f766e);--ct-gradient-surface:radial-gradient(circle at top left, color-mix(in srgb, var(--ct-primary) 12%, transparent), transparent 34rem), linear-gradient(180deg, var(--ct-surface), var(--ct-background));--ct-gradient-market:linear-gradient(135deg, color-mix(in srgb, var(--ct-success) 18%, transparent), color-mix(in srgb, var(--ct-primary) 12%, transparent) 48%, color-mix(in srgb, var(--ct-destructive) 12%, transparent));--ct-success-bg:var(--cd-success-bg,rgb(var(--ct-buy-rgb) / .12));--ct-warning-bg:var(--cd-warning-bg,rgb(var(--ct-warning-rgb) / .13));--ct-destructive-bg:var(--cd-danger-bg,var(--cd-error-bg,rgb(var(--ct-sell-rgb) / .11)));--ct-info-bg:var(--cd-info-bg,rgb(var(--ct-info-rgb) / .12));--ct-selected-bg:color-mix(in srgb, var(--ct-primary) 14%, var(--ct-surface));--ct-disabled-bg:color-mix(in srgb, var(--ct-muted) 82%, var(--ct-background) 18%);--ct-buy:var(--ct-success);--ct-sell:var(--ct-destructive);--ct-buy-rgb:22 163 74;--ct-sell-rgb:220 38 38;--ct-warning-rgb:217 119 6;--ct-info-rgb:37 99 235;--ct-buy-bg:rgb(var(--ct-buy-rgb) / .1);--ct-sell-bg:rgb(var(--ct-sell-rgb) / .1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-feature-settings:\\\"cv02\\\", \\\"cv03\\\", \\\"cv04\\\", \\\"tnum\\\";text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@supports (animation-timing-function:linear(0, 1)){.cedros-trade{--ct-ease-spring:linear(0, .009, .036 2.1%, .158 4.6%, .52 9.6%, .78 13.4%, .953 17.2%, 1.035 21.4%, 1.056 25.7%, 1.035 31.4%, .994 40.5%, .985 46.2%, 1.003 63.2%, 1)}}:where(.cedros-trade),:where(.cedros-trade *){box-sizing:border-box}:where(.cedros-trade button,.cedros-trade input,.cedros-trade select){font:inherit}:where(.cedros-trade button){appearance:none;color:inherit;background:0 0;border:0}@media (width<=40rem){.cedros-trade{overflow-wrap:anywhere;min-width:0}.cedros-trade button,.cedros-trade input:not([type=checkbox]):not([type=radio]),.cedros-trade select,.cedros-trade summary{min-height:2.75rem}.cedros-trade .ct-token-selector-sheet-wrap{max-width:calc(100vw - 1rem)}}.cedros-trade table{border-collapse:collapse}.ca5ss4b-dark .cedros-trade,.cedros-trade.cedros-trade--dark,.cedros-trade.cedros-trade--dark .cedros-trade{--ct-background:var(--ca5ss4b-runtime-panel,var(--ca5ss4br-bg,var(--cd-card-bg,#0a0a0a)));--ct-foreground:var(--ca5ss4b-runtime-text,var(--ca5ss4br-fg,var(--cd-fg,#fafafa)));--ct-surface:var(--ca5ss4br-panel,color-mix(in srgb, var(--ct-background) 78%, #171717 22%));--ct-surface-elevated:color-mix(in srgb, var(--ct-background) 64%, #262626 36%);--ct-surface-muted:var(--ca5ss4b-runtime-accent-soft,var(--cd-muted-bg,color-mix(in srgb, var(--ct-surface) 78%, var(--ct-foreground) 22%)));--ct-surface-interactive:color-mix(in srgb, var(--ct-surface-muted) 72%, var(--ct-primary) 28%);--ct-muted:var(--ct-surface-muted);--ct-muted-foreground:var(--ca5ss4b-runtime-muted,var(--ca5ss4br-muted,var(--cd-muted,#9aa8bd)));--ct-border:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#263244)));--ct-border-strong:color-mix(in srgb, var(--ct-border) 64%, #e2e8f0 36%);--ct-input:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#263244)));--ct-shadow-sm:var(--cd-shadow-sm,0 1px 1px #0000005c, 0 1px 0 #ffffff0a inset);--ct-shadow-md:var(--cd-shadow,0 8px 20px -6px #00000080, 0 2px 6px -2px #0006);--ct-shadow-lg:var(--cd-shadow-lg,0 22px 70px #0000005c);--ct-shadow-focus:0 0 0 2px var(--ct-surface), 0 0 0 4px color-mix(in srgb, var(--ct-ring) 46%, transparent);--ct-overlay:#020617b8;--ct-gradient-surface:radial-gradient(circle at top left, color-mix(in srgb, var(--ct-primary) 18%, transparent), transparent 34rem), linear-gradient(180deg, var(--ct-surface), var(--ct-background));--ct-buy-rgb:34 197 94;--ct-sell-rgb:248 113 113;--ct-warning-rgb:251 191 36;--ct-info-rgb:96 165 250;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.cedros-trade .ct-panel{border:1px solid var(--ct-border);background:var(--ct-panel-bg,var(--ct-surface));box-shadow:var(--ct-shadow-sm)}.cedros-trade .ct-panel-elevated{border:1px solid color-mix(in srgb, var(--ct-border) 78%, transparent);background:linear-gradient(180deg, var(--ct-surface-elevated), var(--ct-surface));box-shadow:var(--ct-shadow-lg)}.cedros-trade .ct-panel-info{--ct-panel-bg:var(--ct-info-bg)}.cedros-trade .ct-panel-success{--ct-panel-bg:var(--ct-success-bg)}.cedros-trade .ct-panel-warning{--ct-panel-bg:var(--ct-warning-bg)}.cedros-trade .ct-panel-danger{--ct-panel-bg:var(--ct-destructive-bg)}.cedros-trade .ct-market-wash{background:radial-gradient(circle at 20% 15%, rgb(var(--ct-buy-rgb) / .16), transparent 22rem), radial-gradient(circle at 80% 20%, rgb(var(--ct-info-rgb) / .14), transparent 24rem), radial-gradient(circle at 74% 86%, rgb(var(--ct-sell-rgb) / .09), transparent 20rem), var(--ct-background)}.cedros-trade .ct-dot-grid{background-image:radial-gradient(color-mix(in srgb, var(--ct-muted-foreground) 28%, transparent) 1px, transparent 1px);background-size:18px 18px}.cedros-trade .ct-field{border-radius:var(--ct-radius-control);background:color-mix(in srgb, var(--ct-surface-muted) 86%, var(--ct-background) 14%);border-color:var(--ct-border);min-width:0;box-shadow:inset 0 1px #ffffff80}.ca5ss4b-dark .cedros-trade .ct-field,.cedros-trade.cedros-trade--dark .ct-field{box-shadow:inset 0 1px #ffffff0a}.cedros-trade .ct-field:focus,.cedros-trade .ct-focusable:focus-visible{border-color:color-mix(in srgb, var(--ct-ring) 72%, var(--ct-border) 28%);box-shadow:var(--ct-shadow-focus);outline:none}.cedros-trade .ct-pressable{transition:transform var(--ct-duration-fast) var(--ct-ease-spring), background-color var(--ct-duration-fast) ease-out, border-color var(--ct-duration-fast) ease-out, box-shadow var(--ct-duration-fast) ease-out, opacity var(--ct-duration-fast) ease-out;transform:translateY(0)scale(1)}.cedros-trade .ct-pressable:hover{transform:translateY(-1px)}.cedros-trade .ct-pressable:active{transform:translateY(0)scale(.985)}.cedros-trade .ct-pressable:disabled{transform:none}.cedros-trade .ct-primary-action{background:var(--ct-gradient-brand);box-shadow:0 10px 24px -6px color-mix(in srgb, var(--ct-primary) 32%, transparent), inset 0 1px 0 #fff3}.cedros-trade .ct-success-action{background:linear-gradient(135deg, color-mix(in srgb, var(--ct-success) 92%, #064e3b 8%), #0f766e);box-shadow:0 10px 24px -6px rgb(var(--ct-buy-rgb) / .26), inset 0 1px 0 #fff3}.cedros-trade .ct-danger-action{background:linear-gradient(135deg, color-mix(in srgb, var(--ct-destructive) 90%, #7f1d1d 10%), #be123c);box-shadow:0 10px 24px -6px rgb(var(--ct-sell-rgb) / .24), inset 0 1px 0 #fff3}.cedros-trade .ct-primary-action,.cedros-trade .ct-success-action,.cedros-trade .ct-danger-action{transition:filter var(--ct-duration-fast) ease-out, box-shadow var(--ct-duration-fast) ease-out, transform var(--ct-duration-fast) var(--ct-ease-spring)}.cedros-trade .ct-radius-control{border-radius:var(--ct-radius-control)}.cedros-trade .ct-radius-card{border-radius:var(--ct-radius-card)}.cedros-trade .ct-radius-panel{border-radius:var(--ct-radius-panel)}.cedros-trade .ct-primary-action:hover:not(:disabled),.cedros-trade .ct-success-action:hover:not(:disabled),.cedros-trade .ct-danger-action:hover:not(:disabled){filter:saturate(1.05)brightness(1.045)}.cedros-trade .ct-sheen{isolation:isolate;position:relative;overflow:hidden}.cedros-trade .ct-sheen:after{content:\\\"\\\";pointer-events:none;background:linear-gradient(115deg,#0000 32%,#ffffff38 48%,#0000 64%);transition:transform .76s;position:absolute;inset:0;transform:translate(-130%)}.cedros-trade .ct-sheen:hover:not(:disabled):after{transform:translate(130%)}.cedros-trade .ct-status-dot{width:.5rem;height:.5rem;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 14%, transparent);background:currentColor;border-radius:999px}.cedros-trade .ct-skeleton{background:linear-gradient(90deg, var(--ct-muted), color-mix(in srgb, var(--ct-muted) 72%, var(--ct-foreground) 8%), var(--ct-muted));background-size:220% 100%;animation:1.5s ease-in-out infinite ct-shimmer}.cedros-trade .ct-enter{animation:.36s ease-out backwards ct-enter}.cedros-trade .ct-enter-slow{animation:.52s ease-out backwards ct-enter}.cedros-trade .ct-stagger>*{animation:.36s ease-out backwards ct-enter}.cedros-trade .ct-stagger>:nth-child(2){animation-delay:45ms}.cedros-trade .ct-stagger>:nth-child(3){animation-delay:90ms}.cedros-trade .ct-stagger>:nth-child(4){animation-delay:.135s}.cedros-trade .ct-stagger>:nth-child(5){animation-delay:.18s}.cedros-trade .ct-stagger>:nth-child(6){animation-delay:.225s}.cedros-trade .ct-stagger>:nth-child(7){animation-delay:.27s}.cedros-trade .ct-stagger>:nth-child(8){animation-delay:.315s}.cedros-trade .ct-stagger>:nth-child(9){animation-delay:.36s}.cedros-trade .ct-stagger>:nth-child(10){animation-delay:.405s}.cedros-trade .ct-stagger>:nth-child(n+11){animation-delay:.44s}.cedros-trade .ct-stagger-dense>*{animation:.28s ease-out backwards ct-enter}.cedros-trade .ct-stagger-dense>:nth-child(2){animation-delay:24ms}.cedros-trade .ct-stagger-dense>:nth-child(3){animation-delay:48ms}.cedros-trade .ct-stagger-dense>:nth-child(4){animation-delay:72ms}.cedros-trade .ct-stagger-dense>:nth-child(5){animation-delay:96ms}.cedros-trade .ct-stagger-dense>:nth-child(6){animation-delay:.12s}.cedros-trade .ct-stagger-dense>:nth-child(7){animation-delay:.144s}.cedros-trade .ct-stagger-dense>:nth-child(n+8){animation-delay:.168s}.cedros-trade .ct-rolling-label{min-height:1.2em;display:inline-grid;overflow:hidden}.cedros-trade .ct-rolling-label__text{grid-area:1/1;animation:.22s ease-out both ct-roll-label}.cedros-trade .ct-empty-visual{border:1px solid color-mix(in srgb, var(--ct-border) 72%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--ct-primary) 16%, transparent), transparent), var(--ct-surface-elevated);width:4.5rem;height:4.5rem;box-shadow:var(--ct-shadow-sm);border-radius:1.35rem;margin-inline:auto;position:relative}.cedros-trade .ct-empty-visual:before,.cedros-trade .ct-empty-visual:after{content:\\\"\\\";border-radius:999px;position:absolute}.cedros-trade .ct-empty-visual:before{background:linear-gradient(90deg, var(--ct-empty-accent,var(--ct-success)), var(--ct-primary));height:.42rem;inset:1rem .9rem auto}.cedros-trade .ct-empty-visual:after{border:2px solid var(--ct-empty-accent-2,var(--ct-warning));width:1.1rem;height:1.1rem;bottom:1rem;right:1rem}@keyframes ct-enter{0%{opacity:0}to{opacity:1}}@keyframes ct-roll-label{0%{opacity:0;transform:translateY(.55em)}to{opacity:1;transform:translateY(0)}}@keyframes ct-shimmer{0%{background-position:160% 0}to{background-position:-60% 0}}@media (prefers-reduced-motion:reduce){.cedros-trade .ct-enter,.cedros-trade .ct-enter-slow,.cedros-trade .ct-stagger>*,.cedros-trade .ct-stagger-dense>*,.cedros-trade .ct-rolling-label__text,.cedros-trade .ct-skeleton{animation:none}.cedros-trade .ct-pressable,.cedros-trade .ct-pressable:hover,.cedros-trade .ct-pressable:active{transition-duration:1ms;transform:none}}.cedros-trade{width:100%;min-width:0;font-family:inherit}.cedros-trade .ct-shell-surface{background:0 0}.cedros-trade .ct-public-heading>.ct-panel-elevated{box-shadow:none;background:0 0;border:0;padding:0}.cedros-trade .ct-public-heading>.ct-panel-elevated>.ct-gradient-brand-fill{display:none}.cedros-trade.ct-external-swap{overflow:visible}.cedros-trade.ct-external-swap>div{padding:12px 0 40px}.cedros-trade .ct-swap-card{border-radius:var(--ct-radius);background:var(--ct-surface);max-width:560px;box-shadow:none;padding:24px;font-size:14px;line-height:1.5}.cedros-trade .ct-swap-fields{border:0;min-width:0;margin:0;padding:0}.cedros-trade .ct-swap-fields label,.cedros-trade .ct-select-label{font-size:13px;font-weight:500;display:block}.cedros-trade .ct-swap-fields input,.cedros-trade .ct-select-trigger{width:100%;min-width:0;height:36px;min-height:36px;font:inherit;background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:var(--ct-radius-control);color:var(--ct-foreground);align-items:center;gap:8px;margin-top:8px;padding:0 12px;font-size:13px;font-weight:400;display:flex}.cedros-trade .ct-swap-card button{font-size:13px;font-weight:500}.cedros-trade .ct-swap-card>button{width:100%;height:32px;min-height:32px;padding:0 12px}.cedros-trade .ct-swap-card .ct-primary-action{background:var(--ca5ss4b-runtime-action-bg,var(--cd-primary,var(--ct-foreground)));height:32px;color:var(--ca5ss4b-runtime-action-fg,var(--cd-primary-fg,var(--ct-surface)));border-radius:var(--ct-radius-control);box-shadow:none;border:1px solid #0000;padding:0 12px}.cedros-trade .ct-swap-card button:focus-visible,.cedros-trade .ct-swap-card input:focus-visible{outline:2px solid var(--ct-ring);outline-offset:2px}.cedros-trade .ct-swap-card button:disabled{opacity:.5;cursor:not-allowed}.cedros-trade .ct-select{--ct-select-row-height:32px;min-width:0;position:relative}.cedros-trade .ct-select-trigger{text-align:left;cursor:pointer;justify-content:space-between}.cedros-trade .ct-select-trigger>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cedros-trade .ct-select-trigger>svg{opacity:.5;flex:0 0 16px;width:16px;height:16px}.cedros-trade .ct-select-panel{z-index:var(--z-dropdown,50);border:1px solid var(--ct-border);border-radius:var(--ct-radius);background:var(--ct-surface);width:100%;max-height:320px;color:var(--ct-foreground);box-shadow:var(--ct-shadow-md);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.cedros-trade .ct-select-panel--above{top:auto;bottom:40px}.cedros-trade .ct-select-search{border-bottom:1px solid var(--ct-border);border-radius:max(0px, calc(var(--ct-radius) - 4px));flex:0 0 33px;align-items:center;gap:8px;min-width:0;padding:0 8px;display:flex}.cedros-trade .ct-select-search:focus-within{box-shadow:inset 0 0 0 1px var(--ct-ring)}.cedros-trade .ct-select-search>svg{width:16px;height:16px;color:var(--ct-muted-foreground);flex-shrink:0}.cedros-trade .ct-select-search input{appearance:none;background:0 0;border:0;border-radius:0;flex:1 1 0;width:0;min-width:0;height:32px;min-height:32px;margin:0;padding:0}.cedros-trade .ct-select-search input:focus,.cedros-trade .ct-swap-card .ct-select-search input:focus-visible{box-shadow:none;outline:none}.cedros-trade .ct-select-options{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.cedros-trade .ct-select-option{height:var(--ct-select-row-height);cursor:pointer;border-radius:max(0px, calc(var(--ct-radius) - 4px));align-items:center;gap:8px;padding:0 8px;font-size:13px;font-weight:400;display:flex}.cedros-trade .ct-select-option[data-active=true]{background:var(--ct-surface-muted)}.cedros-trade .ct-select-option>span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cedros-trade .ct-select-check{flex:0 0 16px;width:16px;display:flex}.cedros-trade .ct-select-check svg{width:16px;height:16px}.cedros-trade .ct-select-empty{color:var(--ct-muted-foreground);margin:0;padding:8px;font-size:13px}@media (width<=640px){.cedros-trade .ct-swap-card{padding:16px}.cedros-trade .ct-select{--ct-select-row-height:44px}.cedros-trade .ct-select-trigger{height:44px;min-height:44px}.cedros-trade .ct-select-search{flex-basis:45px}.cedros-trade .ct-select-search input{height:44px;min-height:44px}}.cedros-trade .last\\\\:ct-border-b-0:last-child{border-bottom-width:0}.cedros-trade .hover\\\\:ct-border-\\\\[var\\\\(--ct-border-strong\\\\)\\\\]:hover{border-color:var(--ct-border-strong)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-buy-bg\\\\)\\\\]:hover{background-color:var(--ct-buy-bg)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-destructive-bg\\\\)\\\\]:hover{background-color:var(--ct-destructive-bg)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-info-bg\\\\)\\\\]:hover{background-color:var(--ct-info-bg)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-muted\\\\)\\\\]:hover{background-color:var(--ct-muted)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-primary\\\\)\\\\]:hover{background-color:var(--ct-primary)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-sell-bg\\\\)\\\\]:hover{background-color:var(--ct-sell-bg)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-surface-interactive\\\\)\\\\]:hover{background-color:var(--ct-surface-interactive)}.cedros-trade .hover\\\\:ct-bg-\\\\[var\\\\(--ct-warning-bg\\\\)\\\\]:hover{background-color:var(--ct-warning-bg)}.cedros-trade .hover\\\\:ct-text-\\\\[var\\\\(--ct-foreground\\\\)\\\\]:hover{color:var(--ct-foreground)}.cedros-trade .hover\\\\:ct-text-\\\\[var\\\\(--ct-primary-foreground\\\\)\\\\]:hover{color:var(--ct-primary-foreground)}.cedros-trade .hover\\\\:ct-text-\\\\[var\\\\(--ct-warning\\\\)\\\\]:hover{color:var(--ct-warning)}.cedros-trade .hover\\\\:ct-opacity-70:hover{opacity:.7}.cedros-trade .disabled\\\\:ct-cursor-not-allowed:disabled{cursor:not-allowed}.cedros-trade .disabled\\\\:ct-opacity-50:disabled{opacity:.5}@media (width>=640px){.cedros-trade .sm\\\\:ct-col-span-2{grid-column:span 2/span 2}.cedros-trade .sm\\\\:ct-block{display:block}.cedros-trade .sm\\\\:ct-hidden{display:none}.cedros-trade .sm\\\\:ct-w-auto{width:auto}.cedros-trade .sm\\\\:ct-flex-none{flex:none}.cedros-trade .sm\\\\:ct-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cedros-trade .sm\\\\:ct-grid-cols-\\\\[8rem_1fr\\\\]{grid-template-columns:8rem 1fr}.cedros-trade .sm\\\\:ct-flex-row{flex-direction:row}.cedros-trade .sm\\\\:ct-justify-end{justify-content:flex-end}.cedros-trade .sm\\\\:ct-gap-2{gap:.5rem}.cedros-trade .sm\\\\:ct-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cedros-trade .sm\\\\:ct-p-5{padding:1.25rem}.cedros-trade .sm\\\\:ct-p-6{padding:1.5rem}.cedros-trade .sm\\\\:ct-px-6{padding-left:1.5rem;padding-right:1.5rem}.cedros-trade .sm\\\\:ct-text-3xl{font-size:1.875rem;line-height:2.25rem}.cedros-trade .sm\\\\:ct-text-4xl{font-size:2.25rem;line-height:2.5rem}.cedros-trade .sm\\\\:ct-text-base{font-size:1rem;line-height:1.5rem}}@media (width>=768px){.cedros-trade .md\\\\:ct-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.cedros-trade .lg\\\\:ct-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cedros-trade .lg\\\\:ct-grid-cols-\\\\[minmax\\\\(0\\\\,1fr\\\\)_minmax\\\\(17rem\\\\,24rem\\\\)\\\\]{grid-template-columns:minmax(0,1fr) minmax(17rem,24rem)}.cedros-trade .lg\\\\:ct-items-end{align-items:flex-end}.cedros-trade .lg\\\\:ct-py-10{padding-top:2.5rem;padding-bottom:2.5rem}}@media (width>=1280px){.cedros-trade .xl\\\\:ct-block{display:block}.cedros-trade .xl\\\\:ct-hidden{display:none}.cedros-trade .xl\\\\:ct-flex-row{flex-direction:row}.cedros-trade .xl\\\\:ct-border-r{border-right-width:1px}.cedros-trade .xl\\\\:ct-border-\\\\[var\\\\(--ct-border\\\\)\\\\]{border-color:var(--ct-border)}}\", je = \".cedros-trade .ct-eyebrow{text-transform:uppercase;letter-spacing:var(--ct-tracking-wide);color:var(--ct-muted-foreground);font-size:.6875rem;font-weight:600;line-height:1rem}.cedros-trade .ct-tabular-num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:\\\"tnum\\\" 1;letter-spacing:0}.cedros-trade .ct-display-num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:\\\"tnum\\\" 1;letter-spacing:var(--ct-tracking-tight);font-weight:600}.cedros-trade .ct-text-gradient{background:var(--ct-gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.cedros-trade .ct-gradient-brand-fill{background:var(--ct-gradient-brand)}.cedros-trade .ct-token-avatar{background:var(--ct-gradient-brand);color:var(--ct-primary-foreground)}.cedros-trade .ct-card-interactive{transition:transform var(--ct-duration-fast) var(--ct-ease-spring), box-shadow var(--ct-duration-fast) ease-out, border-color var(--ct-duration-fast) ease-out}.cedros-trade .ct-card-interactive:hover{border-color:var(--ct-border-strong);box-shadow:var(--ct-shadow-md);transform:translateY(-2px)}.cedros-trade .ct-card-interactive:active{transform:translateY(0)}.cedros-trade .ct-icon-medallion{border-radius:var(--ct-radius-lg);width:2.75rem;height:2.75rem;color:var(--ct-primary);border:1px solid color-mix(in srgb, var(--ct-border) 70%, transparent);background:linear-gradient(150deg, color-mix(in srgb, var(--ct-primary) 18%, transparent), color-mix(in srgb, var(--ct-surface-elevated) 92%, transparent));box-shadow:var(--ct-shadow-sm), inset 0 1px 0 #ffffff1f;justify-content:center;align-items:center;display:inline-flex}.cedros-trade .ct-icon-medallion-lg{border-radius:1.25rem;width:3.5rem;height:3.5rem}.cedros-trade .ct-divider-gradient{background:linear-gradient(90deg, transparent, var(--ct-border) 16%, var(--ct-border) 84%, transparent);border:0;height:1px}.cedros-trade .ct-depth-bar{width:100%;transform:scaleX(var(--ct-depth-scale,0));transform-origin:0;transition:transform var(--ct-duration-panel) var(--ct-ease-spring)}.cedros-trade .ct-spinner{border:2px solid color-mix(in srgb, currentColor 22%, transparent);animation:ct-spin var(--ct-spin,.72s) linear infinite;border-top-color:currentColor;border-radius:999px;display:inline-block}.cedros-trade .ct-status-dot--pulse{animation:1.8s ease-out infinite ct-status-pulse}.cedros-trade .ct-rotatable{transition:transform var(--ct-duration-panel) var(--ct-ease-spring)}.cedros-trade .ct-directional-panel{min-width:0;position:relative;overflow:clip}.cedros-trade .ct-directional-panel__item{width:100%}.cedros-trade .ct-collapsible{opacity:0;transition:grid-template-rows var(--ct-duration-panel) var(--ct-ease-spring), opacity var(--ct-duration-fast) ease-out;grid-template-rows:0fr;display:grid}.cedros-trade .ct-collapsible--open{opacity:1;grid-template-rows:1fr}.cedros-trade .ct-collapsible__inner{min-height:0;overflow:hidden}.cedros-trade .ct-motion-pressable{transform-origin:50%}.cedros-trade .ct-scroll-boundary{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-mask-image:var(--ct-scroll-mask,none);-webkit-mask-image:var(--ct-scroll-mask,none);mask-image:var(--ct-scroll-mask,none)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=x][data-scroll-start=false][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(90deg, transparent, #000 1rem, #000 calc(100% - 1rem), transparent)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=x][data-scroll-start=false][data-scroll-end=true]{--ct-scroll-mask:linear-gradient(90deg, transparent, #000 1rem)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=x][data-scroll-start=true][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(90deg, #000 calc(100% - 1rem), transparent)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=y][data-scroll-start=false][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(transparent, #000 1rem, #000 calc(100% - 1rem), transparent)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=y][data-scroll-start=false][data-scroll-end=true]{--ct-scroll-mask:linear-gradient(transparent, #000 1rem)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=y][data-scroll-start=true][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(#000 calc(100% - 1rem), transparent)}.cedros-trade .ct-progressive-control{transition:opacity var(--ct-duration-micro) ease-out, transform var(--ct-duration-fast) var(--ct-ease-spring)}.cedros-trade .ct-token-sheet-handle{display:none}@media (width<=639px){.cedros-trade .ct-token-selector-overlay{align-items:flex-end;padding:0}.cedros-trade .ct-token-selector-sheet-wrap{max-width:none}.cedros-trade .ct-token-selector-sheet{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:min(88dvh,44rem)}.cedros-trade .ct-token-sheet-handle{cursor:grab;touch-action:none;flex:none;justify-content:center;align-items:center;width:100%;height:1.5rem;display:flex}.cedros-trade .ct-token-sheet-handle:active{cursor:grabbing}.cedros-trade .ct-token-sheet-handle>span{background:var(--ct-border-strong);transform-origin:50%;border-radius:999px;width:2.75rem;height:.25rem;display:block}}@media (hover:hover) and (pointer:fine){.cedros-trade .ct-progressive-row .ct-progressive-control:not([data-persist=true]){opacity:0;pointer-events:none}.cedros-trade .ct-progressive-row:hover .ct-progressive-control,.cedros-trade .ct-progressive-row:focus-within .ct-progressive-control{opacity:1;pointer-events:auto}}.cedros-trade .ct-rotated{transform:rotate(180deg)}.cedros-trade .ct-flash-up{animation:.6s ease-out ct-flash-up}.cedros-trade .ct-flash-down{animation:.6s ease-out ct-flash-down}.cedros-trade .ct-pop{animation:.42s cubic-bezier(.2,.9,.3,1.35) both ct-pop}.cedros-trade .ct-check-draw path{stroke-dasharray:34;stroke-dashoffset:34px;animation:.52s ease-out 60ms forwards ct-draw}.cedros-trade .ct-aurora{isolation:isolate;position:relative}.cedros-trade .ct-aurora:before{content:\\\"\\\";z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(38% 48% at 18% 18%, color-mix(in srgb, var(--ct-primary) 30%, transparent), transparent 72%), radial-gradient(34% 42% at 82% 16%, color-mix(in srgb, var(--ct-info) 24%, transparent), transparent 72%), radial-gradient(40% 46% at 70% 82%, color-mix(in srgb, var(--ct-success) 18%, transparent), transparent 72%);filter:blur(40px);height:150%;animation:22s ease-in-out infinite alternate ct-aurora-drift;position:absolute;inset:-45% -12% auto}@keyframes ct-spin{to{transform:rotate(360deg)}}@keyframes ct-status-pulse{0%{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 30%, transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb, currentColor 0%, transparent)}to{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 0%, transparent)}}@keyframes ct-flash-up{0%{background-color:rgb(var(--ct-buy-rgb) / .3)}to{background-color:#0000}}@keyframes ct-flash-down{0%{background-color:rgb(var(--ct-sell-rgb) / .3)}to{background-color:#0000}}@keyframes ct-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes ct-draw{to{stroke-dashoffset:0}}@keyframes ct-aurora-drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(3%,2%)scale(1.08)}}@media (prefers-reduced-motion:reduce){.cedros-trade .ct-spinner,.cedros-trade .ct-status-dot--pulse,.cedros-trade .ct-flash-up,.cedros-trade .ct-flash-down,.cedros-trade .ct-pop,.cedros-trade .ct-check-draw path,.cedros-trade .ct-aurora:before{animation:none}.cedros-trade .ct-check-draw path{stroke-dashoffset:0}.cedros-trade .ct-pressable,.cedros-trade .ct-pressable:hover,.cedros-trade .ct-pressable:active,.cedros-trade .ct-card-interactive,.cedros-trade .ct-card-interactive:hover,.cedros-trade .ct-rotatable,.cedros-trade .ct-depth-bar,.cedros-trade .ct-sheen:after{transition-duration:1ms;transform:none}.cedros-trade .ct-collapsible,.cedros-trade .ct-progressive-control{transition-duration:1ms}}\", $ = \".cedros-trade.cedros-trade-admin{--ct-background:var(--cd-bg,oklch(100% 0 0));--ct-foreground:var(--cd-fg,oklch(14.5% 0 0));--ct-surface:var(--cd-card-bg,var(--ct-background));--ct-surface-elevated:var(--cd-card-bg,var(--ct-surface));--ct-surface-muted:var(--cd-muted-bg,color-mix(in srgb, var(--ct-surface) 88%, var(--ct-foreground) 12%));--ct-surface-interactive:var(--cd-accent,var(--ct-surface-muted));--ct-muted:var(--ct-surface-muted);--ct-muted-foreground:var(--cd-muted,oklch(55.6% 0 0));--ct-border:var(--cd-border,oklch(92.2% 0 0));--ct-border-strong:color-mix(in srgb, var(--ct-border) 70%, var(--ct-foreground) 30%);--ct-input:var(--cd-border,var(--ct-border));--ct-ring:var(--cd-ring,oklch(70.8% 0 0));--ct-primary:var(--cd-primary,oklch(20.5% 0 0));--ct-primary-foreground:var(--cd-primary-fg,oklch(98.5% 0 0));--ct-destructive:var(--cd-error,oklch(57.7% .245 27.325));--ct-destructive-foreground:var(--cd-error-fg,#fff);--ct-success:var(--cd-success,oklch(55% .15 145));--ct-warning:var(--cd-warning-fg,var(--cd-warning,oklch(52% .12 75)));--ct-info:var(--cd-info,var(--cd-link,oklch(48% .08 220)));--ct-radius:var(--cd-radius,.5rem);--ct-radius-sm:max(calc(var(--ct-radius) - 3px), .25rem);--ct-radius-lg:var(--admin-radius,.75rem);--ct-radius-control:max(calc(var(--ct-radius) - 1px), .25rem);--ct-radius-card:var(--ct-radius);--ct-radius-panel:var(--ct-radius-lg);--ct-shadow-sm:var(--cd-shadow,0 1px 2px #00000014);--ct-shadow-md:var(--cd-shadow,0 6px 16px -6px #00000029);--ct-shadow-lg:var(--cd-shadow-lg,0 16px 48px #0000001f);--ct-shadow-focus:0 0 0 3px color-mix(in srgb, var(--ct-ring) 14%, transparent);--ct-container-settings:var(--cd-container-settings,45rem);--ct-gradient-brand:var(--ct-primary);--ct-gradient-surface:var(--ct-background);--ct-gradient-market:var(--ct-background);--ct-success-bg:var(--cd-success-bg,color-mix(in srgb, var(--ct-success) 14%, var(--ct-background)));--ct-warning-bg:var(--cd-warning-bg,color-mix(in srgb, var(--ct-warning) 18%, var(--ct-background)));--ct-destructive-bg:var(--cd-error-bg,color-mix(in srgb, var(--ct-destructive) 12%, var(--ct-background)));--ct-info-bg:var(--cd-info-bg,color-mix(in srgb, var(--ct-info) 12%, var(--ct-background)));--ct-selected-bg:color-mix(in srgb, var(--ct-primary) 8%, var(--ct-surface));--ct-disabled-bg:color-mix(in srgb, var(--ct-muted) 82%, var(--ct-background) 18%);background:0 0}.cedros-trade.cedros-trade-admin .ct-shell-surface,.cedros-trade.cedros-trade-admin .ct-dot-grid{background:0 0}.cedros-trade.cedros-trade-admin .cedros-data-card,.cedros-trade.cedros-trade-admin .ct-admin-metric{border:1px solid var(--ct-border);border-radius:var(--ct-radius);background:var(--ct-surface);box-shadow:var(--ct-shadow-sm)}.cedros-trade.cedros-trade-admin .cedros-data-card{padding:.9rem 1rem}.cedros-trade.cedros-trade-admin .ct-admin-metric{padding:.75rem}.cedros-trade.cedros-trade-admin .cedros-data-summary-grid{gap:1rem;display:grid}.cedros-trade.cedros-trade-admin .cedros-data-input{border-color:var(--ct-border);background:var(--cd-input-bg,transparent);height:2.25rem;transition:background-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), border-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), box-shadow var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1))}.cedros-trade.cedros-trade-admin .cedros-data-toolbar .cedros-data-input,.cedros-trade.cedros-trade-admin .cedros-data-btn--sm{height:2rem;min-height:2rem}.cedros-trade.cedros-trade-admin .cedros-data-btn{border-radius:max(calc(var(--ct-radius) - 1px), .25rem);height:2.25rem;min-height:2.25rem;transition:background-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), border-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), box-shadow var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1))}.cedros-trade.cedros-trade-admin .ct-primary-action,.cedros-trade.cedros-trade-admin .ct-danger-action{box-shadow:var(--ct-shadow-sm)}.cedros-trade.cedros-trade-admin .ct-primary-action{background:var(--ct-primary)}.cedros-trade.cedros-trade-admin .ct-danger-action{background:var(--ct-destructive)}.cedros-trade.cedros-trade-admin .ct-primary-action:hover:not(:disabled){background:color-mix(in srgb, var(--ct-primary) 88%, var(--ct-background))}.cedros-trade.cedros-trade-admin .ct-danger-action:hover:not(:disabled){background:color-mix(in srgb, var(--ct-destructive) 88%, var(--ct-background))}.cedros-trade.cedros-trade-admin .ct-pressable:hover:not(:disabled),.cedros-trade.cedros-trade-admin .ct-card-interactive:hover{transform:translateY(-1px)}.cedros-trade.cedros-trade-admin .ct-pressable:active:not(:disabled){transition-duration:var(--motion-duration-micro,.1s);transform:scale(.98)}.cedros-trade.cedros-trade-admin .ct-card-interactive:hover{box-shadow:var(--ct-shadow-sm);border-color:var(--ct-border-strong)}.cedros-trade.cedros-trade-admin .ct-field:focus:not(:focus-visible),.cedros-trade.cedros-trade-admin .ct-focusable:focus:not(:focus-visible),.cedros-trade.cedros-trade-admin .cedros-data-btn:focus:not(:focus-visible){border-color:var(--ct-border);box-shadow:none}.cedros-trade.cedros-trade-admin .ct-field:focus-visible,.cedros-trade.cedros-trade-admin .ct-focusable:focus-visible,.cedros-trade.cedros-trade-admin .cedros-data-btn:focus-visible{border-color:var(--ct-ring);box-shadow:var(--ct-shadow-focus);outline:none}.cedros-trade.cedros-trade-admin .ct-panel-info{border-color:color-mix(in srgb, var(--ct-info) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-panel-success{border-color:color-mix(in srgb, var(--ct-success) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-panel-warning{border-color:color-mix(in srgb, var(--ct-warning) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-panel-danger{border-color:color-mix(in srgb, var(--ct-destructive) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-admin-empty{border:1px dashed color-mix(in srgb, var(--ct-border) 85%, var(--ct-muted-foreground));background:var(--ct-surface);flex-direction:column;justify-content:center;align-items:center;min-height:9rem;display:flex}.cedros-trade.cedros-trade-admin .cedros-data-empty-state__illustration{border:1px solid var(--ct-border);background:var(--ct-surface-muted);width:2.5rem;height:2.5rem;color:var(--ct-muted-foreground);border-radius:999px;justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex}.cedros-trade.cedros-trade-admin .cedros-data-empty-state__illustration svg,.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear svg,.cedros-trade.cedros-trade-admin .cedros-trade-admin__menu-trigger svg,.cedros-trade.cedros-trade-admin .cedros-data-dialog__close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.cedros-trade.cedros-trade-admin .cedros-trade-admin__filtered-empty{min-height:4rem;color:var(--ct-muted-foreground);text-align:center;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.8125rem;display:flex}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0;display:flex}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-header-text{flex:18rem;min-width:0}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-title{color:var(--ct-foreground);margin:0;font-size:.875rem;font-weight:600;line-height:1.25}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-subtitle{max-width:60ch;color:var(--ct-muted-foreground);margin:.25rem 0 0;font-size:.8125rem;line-height:1.5}.cedros-trade.cedros-trade-admin .cedros-trade-admin__settings-column{width:100%;max-width:var(--ct-container-settings)}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-wrap{width:min(100%,18rem);position:relative}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-wrap .cedros-data-input{padding-right:2rem}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear{border-radius:var(--ct-radius-sm);width:1.5rem;height:1.5rem;color:var(--ct-muted-foreground);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear:hover{background:var(--ct-surface-interactive);color:var(--ct-foreground)}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear:focus-visible{box-shadow:var(--ct-shadow-focus);outline:none}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line{background:linear-gradient(90deg, var(--ct-surface-muted), color-mix(in srgb, var(--ct-surface-muted) 58%, var(--ct-background)), var(--ct-surface-muted));max-width:100%;height:.75rem;animation:cedros-trade-admin-shimmer var(--motion-duration-standard,1.4s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)) infinite;background-size:220% 100%;border-radius:999px;display:block}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line+.ct-admin-skeleton-line{margin-top:.75rem}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line--title{width:42%}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line--short{width:64%}@keyframes cedros-trade-admin-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line{animation:none}.cedros-trade.cedros-trade-admin .cedros-data-btn{transition-duration:var(--motion-duration-micro,1ms)}}\", Me = \".cedros-trade.cedros-trade-admin .cedros-trade-admin__menu-trigger{width:2rem;padding:0}.cedros-trade.cedros-trade-admin .cedros-dropdown-menu__content{z-index:var(--z-dropdown,50);border:1px solid var(--ct-border);border-radius:var(--ct-radius);background:var(--ct-surface);min-width:11rem;max-width:min(20rem,100vw - 1rem);max-height:min(20rem,100dvh - 1rem);box-shadow:var(--ct-shadow-md);padding:.25rem;position:fixed;overflow-y:auto}.cedros-trade.cedros-trade-admin .cedros-dropdown-menu__item{border-radius:var(--ct-radius-sm);width:100%;height:2rem;color:var(--ct-foreground);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 .5rem;font-size:.8125rem;display:flex;overflow:hidden}.cedros-trade.cedros-trade-admin .cedros-dropdown-menu__item:hover,.cedros-trade.cedros-trade-admin .cedros-dropdown-menu__item:focus-visible{background:var(--ct-surface-interactive);outline:none}.cedros-trade.cedros-trade-admin .cedros-dropdown-menu__item--danger{color:var(--ct-destructive)}.cedros-trade.cedros-trade-admin .cedros-dropdown-menu__separator{background:var(--ct-border);height:1px;margin:.25rem -.25rem}.cedros-trade.cedros-trade-admin .cedros-data-dialog__overlay{z-index:var(--z-modal,1000);background:color-mix(in srgb, var(--ct-foreground) 45%, transparent);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cedros-trade.cedros-trade-admin .cedros-data-dialog{border:1px solid var(--ct-border);border-radius:var(--ct-radius-lg);background:var(--ct-surface);width:min(100%,26.25rem);max-height:min(85dvh,44rem);box-shadow:var(--ct-shadow-lg);overflow-y:auto}@media (width<=40rem){.cedros-trade.cedros-trade-admin .cedros-data-dialog__overlay{align-items:flex-end;padding:0}.cedros-trade.cedros-trade-admin .cedros-data-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--ct-radius-lg) var(--ct-radius-lg) 0 0}.cedros-trade.cedros-trade-admin .cedros-trade-admin__dialog-footer{flex-wrap:wrap}.cedros-trade.cedros-trade-admin .cedros-trade-admin__dialog-footer>*{flex:8rem}}.cedros-trade.cedros-trade-admin .cedros-data-dialog__heading{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 0;display:flex;position:relative}.cedros-trade.cedros-trade-admin .cedros-data-dialog__title{color:var(--ct-foreground);margin:0;font-size:1.15rem;font-weight:600;line-height:1.25}.cedros-trade.cedros-trade-admin .cedros-data-dialog__description{color:var(--ct-muted-foreground);margin:.5rem 0 0;font-size:.8125rem;line-height:1.5}.cedros-trade.cedros-trade-admin .cedros-data-dialog__close{flex:none;width:2rem;padding:0}.cedros-trade.cedros-trade-admin .cedros-data-dialog__body{color:var(--ct-foreground);padding:1rem 1.25rem;font-size:.8125rem}.cedros-trade.cedros-trade-admin .cedros-trade-admin__dialog-footer{justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem 1.25rem;display:flex}\", Ne = \"cedros-trade-styles\", Pe = [\n\tAe,\n\tje,\n\t$,\n\tMe\n].filter(Boolean).join(\"\\n\");\nfunction Fe(e, t = Ne) {\n\tif (typeof document > \"u\" || !e || document.getElementById(t)) return;\n\tlet n = document.createElement(\"style\");\n\tn.id = t, n.textContent = e, (document.head ?? document.documentElement).appendChild(n);\n}\nfunction Ie() {\n\tFe(Pe);\n}\n//#endregion\nexport { Z as n, Ie as t };\n","imports":[{"dynamic":false,"end":106,"specifier":"./Tabs-C-5A_i9z.js","start":88},{"dynamic":false,"end":263,"specifier":"./portfolio-CSi-hzZM.js","start":240},{"dynamic":false,"end":330,"specifier":"./cedros-extension.manifest-Dqn5Guvt.js","start":291},{"dynamic":false,"end":410,"specifier":"react","start":405},{"dynamic":false,"end":467,"specifier":"react/jsx-runtime","start":450}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/style.css","kind":"style","text":".cedros-trade .ct-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cedros-trade .ct-pointer-events-none{pointer-events:none}.cedros-trade .ct-fixed{position:fixed}.cedros-trade .ct-absolute{position:absolute}.cedros-trade .ct-relative{position:relative}.cedros-trade .ct-sticky{position:sticky}.cedros-trade .ct-inset-0{inset:0}.cedros-trade .ct-inset-x-0{left:0;right:0}.cedros-trade .ct-inset-y-0{top:0;bottom:0}.cedros-trade .ct-left-0{left:0}.cedros-trade .ct-left-7{left:1.75rem}.cedros-trade .ct-right-3{right:.75rem}.cedros-trade .ct-top-0{top:0}.cedros-trade .ct-top-1\\/2{top:50%}.cedros-trade .ct-z-10{z-index:10}.cedros-trade .ct-z-50{z-index:50}.cedros-trade .ct-z-\\[1000\\]{z-index:1000}.cedros-trade .ct-m-0{margin:0}.cedros-trade .ct-mx-4{margin-left:1rem;margin-right:1rem}.cedros-trade .ct-mx-auto{margin-left:auto;margin-right:auto}.cedros-trade .ct-mb-1{margin-bottom:.25rem}.cedros-trade .ct-mb-2{margin-bottom:.5rem}.cedros-trade .ct-mb-4{margin-bottom:1rem}.cedros-trade .ct-mb-6{margin-bottom:1.5rem}.cedros-trade .ct-ml-1{margin-left:.25rem}.cedros-trade .ct-ml-2{margin-left:.5rem}.cedros-trade .ct-mt-0\\.5{margin-top:.125rem}.cedros-trade .ct-mt-1{margin-top:.25rem}.cedros-trade .ct-mt-1\\.5{margin-top:.375rem}.cedros-trade .ct-mt-2{margin-top:.5rem}.cedros-trade .ct-mt-3{margin-top:.75rem}.cedros-trade .ct-mt-4{margin-top:1rem}.cedros-trade .ct-mt-5{margin-top:1.25rem}.cedros-trade .ct-block{display:block}.cedros-trade .ct-flex{display:flex}.cedros-trade .ct-inline-flex{display:inline-flex}.cedros-trade .ct-grid{display:grid}.cedros-trade .ct-hidden{display:none}.cedros-trade .ct-h-1{height:.25rem}.cedros-trade .ct-h-2{height:.5rem}.cedros-trade .ct-h-3{height:.75rem}.cedros-trade .ct-h-3\\.5{height:.875rem}.cedros-trade .ct-h-4{height:1rem}.cedros-trade .ct-h-5{height:1.25rem}.cedros-trade .ct-h-6{height:1.5rem}.cedros-trade .ct-h-7{height:1.75rem}.cedros-trade .ct-h-8{height:2rem}.cedros-trade .ct-h-\\[1em\\]{height:1em}.cedros-trade .ct-h-full{height:100%}.cedros-trade .ct-max-h-48{max-height:12rem}.cedros-trade .ct-max-h-72{max-height:18rem}.cedros-trade .ct-max-h-\\[82vh\\]{max-height:82vh}.cedros-trade .ct-min-h-8{min-height:2rem}.cedros-trade .ct-min-h-9{min-height:2.25rem}.cedros-trade .ct-min-h-\\[22rem\\]{min-height:22rem}.cedros-trade .ct-min-h-\\[3\\.35rem\\]{min-height:3.35rem}.cedros-trade .ct-min-h-\\[34rem\\]{min-height:34rem}.cedros-trade .ct-min-h-\\[400px\\]{min-height:400px}.cedros-trade .ct-min-h-screen{min-height:100vh}.cedros-trade .ct-w-16{width:4rem}.cedros-trade .ct-w-2{width:.5rem}.cedros-trade .ct-w-20{width:5rem}.cedros-trade .ct-w-28{width:7rem}.cedros-trade .ct-w-3{width:.75rem}.cedros-trade .ct-w-3\\.5{width:.875rem}.cedros-trade .ct-w-4{width:1rem}.cedros-trade .ct-w-5{width:1.25rem}.cedros-trade .ct-w-7{width:1.75rem}.cedros-trade .ct-w-8{width:2rem}.cedros-trade .ct-w-80{width:20rem}.cedros-trade .ct-w-\\[1em\\]{width:1em}.cedros-trade .ct-w-full{width:100%}.cedros-trade .ct-min-w-0{min-width:0}.cedros-trade .ct-min-w-\\[100px\\]{min-width:100px}.cedros-trade .ct-min-w-\\[112px\\]{min-width:112px}.cedros-trade .ct-min-w-\\[48rem\\]{min-width:48rem}.cedros-trade .ct-min-w-max{min-width:max-content}.cedros-trade .ct-max-w-2xl{max-width:42rem}.cedros-trade .ct-max-w-3xl{max-width:48rem}.cedros-trade .ct-max-w-56{max-width:14rem}.cedros-trade .ct-max-w-6xl{max-width:72rem}.cedros-trade .ct-max-w-lg{max-width:32rem}.cedros-trade .ct-max-w-md{max-width:28rem}.cedros-trade .ct-max-w-sm{max-width:24rem}.cedros-trade .ct-max-w-xl{max-width:36rem}.cedros-trade .ct-max-w-xs{max-width:20rem}.cedros-trade .ct-flex-1{flex:1}.cedros-trade .ct-flex-none{flex:none}.cedros-trade .ct-flex-shrink-0,.cedros-trade .ct-shrink-0{flex-shrink:0}.cedros-trade .ct-basis-56{flex-basis:14rem}.cedros-trade .ct-basis-64{flex-basis:16rem}.cedros-trade .ct-basis-72{flex-basis:18rem}.cedros-trade .-ct-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cedros-trade .ct-cursor-pointer{cursor:pointer}.cedros-trade .ct-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cedros-trade .ct-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cedros-trade .ct-grid-cols-\\[repeat\\(auto-fit\\,minmax\\(7rem\\,1fr\\)\\)\\]{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr))}.cedros-trade .ct-flex-col{flex-direction:column}.cedros-trade .ct-flex-wrap{flex-wrap:wrap}.cedros-trade .ct-items-start{align-items:flex-start}.cedros-trade .ct-items-center{align-items:center}.cedros-trade .ct-items-baseline{align-items:baseline}.cedros-trade .ct-justify-end{justify-content:flex-end}.cedros-trade .ct-justify-center{justify-content:center}.cedros-trade .ct-justify-between{justify-content:space-between}.cedros-trade .ct-gap-1{gap:.25rem}.cedros-trade .ct-gap-1\\.5{gap:.375rem}.cedros-trade .ct-gap-2{gap:.5rem}.cedros-trade .ct-gap-2\\.5{gap:.625rem}.cedros-trade .ct-gap-3{gap:.75rem}.cedros-trade .ct-gap-4{gap:1rem}.cedros-trade .ct-gap-5{gap:1.25rem}.cedros-trade .ct-gap-6{gap:1.5rem}.cedros-trade .ct-gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.cedros-trade .ct-gap-y-1{row-gap:.25rem}.cedros-trade :is(.ct-space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-3>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.cedros-trade :is(.ct-space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.cedros-trade .ct-self-center{align-self:center}.cedros-trade .ct-overflow-auto{overflow:auto}.cedros-trade .ct-overflow-hidden{overflow:hidden}.cedros-trade .ct-overflow-x-auto{overflow-x:auto}.cedros-trade .ct-overflow-y-auto{overflow-y:auto}.cedros-trade .ct-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cedros-trade .ct-whitespace-nowrap{white-space:nowrap}.cedros-trade .ct-break-words{overflow-wrap:break-word}.cedros-trade .ct-break-all{word-break:break-all}.cedros-trade .ct-rounded{border-radius:.25rem}.cedros-trade .ct-rounded-cedros{border-radius:var(--ct-radius,.625rem)}.cedros-trade .ct-rounded-cedros-lg{border-radius:var(--ct-radius-lg)}.cedros-trade .ct-rounded-cedros-sm{border-radius:var(--ct-radius-sm)}.cedros-trade .ct-rounded-full{border-radius:9999px}.cedros-trade .ct-border{border-width:1px}.cedros-trade .ct-border-0{border-width:0}.cedros-trade .ct-border-y{border-top-width:1px;border-bottom-width:1px}.cedros-trade .ct-border-b{border-bottom-width:1px}.cedros-trade .ct-border-l-2{border-left-width:2px}.cedros-trade .ct-border-t{border-top-width:1px}.cedros-trade .ct-border-\\[var\\(--ct-border\\)\\]{border-color:var(--ct-border)}.cedros-trade .ct-border-\\[var\\(--ct-destructive\\)\\]{border-color:var(--ct-destructive)}.cedros-trade .ct-border-\\[var\\(--ct-info\\)\\]{border-color:var(--ct-info)}.cedros-trade .ct-border-\\[var\\(--ct-primary\\)\\]{border-color:var(--ct-primary)}.cedros-trade .ct-border-\\[var\\(--ct-success\\)\\]{border-color:var(--ct-success)}.cedros-trade .ct-border-\\[var\\(--ct-warning\\)\\]{border-color:var(--ct-warning)}.cedros-trade .ct-border-current{border-color:currentColor}.cedros-trade .ct-border-l-\\[var\\(--ct-border\\)\\]{border-left-color:var(--ct-border)}.cedros-trade .ct-border-l-\\[var\\(--ct-destructive\\)\\]{border-left-color:var(--ct-destructive)}.cedros-trade .ct-border-l-\\[var\\(--ct-info\\)\\]{border-left-color:var(--ct-info)}.cedros-trade .ct-border-l-\\[var\\(--ct-primary\\)\\]{border-left-color:var(--ct-primary)}.cedros-trade .ct-border-l-\\[var\\(--ct-success\\)\\]{border-left-color:var(--ct-success)}.cedros-trade .ct-border-l-\\[var\\(--ct-warning\\)\\]{border-left-color:var(--ct-warning)}.cedros-trade .ct-bg-\\[var\\(--ct-destructive\\)\\]{background-color:var(--ct-destructive)}.cedros-trade .ct-bg-\\[var\\(--ct-destructive-bg\\)\\]{background-color:var(--ct-destructive-bg)}.cedros-trade .ct-bg-\\[var\\(--ct-info-bg\\)\\]{background-color:var(--ct-info-bg)}.cedros-trade .ct-bg-\\[var\\(--ct-muted\\)\\]{background-color:var(--ct-muted)}.cedros-trade .ct-bg-\\[var\\(--ct-overlay\\)\\]{background-color:var(--ct-overlay)}.cedros-trade .ct-bg-\\[var\\(--ct-primary\\)\\]{background-color:var(--ct-primary)}.cedros-trade .ct-bg-\\[var\\(--ct-success\\)\\]{background-color:var(--ct-success)}.cedros-trade .ct-bg-\\[var\\(--ct-success-bg\\)\\]{background-color:var(--ct-success-bg)}.cedros-trade .ct-bg-\\[var\\(--ct-surface\\)\\]{background-color:var(--ct-surface)}.cedros-trade .ct-bg-\\[var\\(--ct-surface-elevated\\)\\]{background-color:var(--ct-surface-elevated)}.cedros-trade .ct-bg-\\[var\\(--ct-surface-muted\\)\\]{background-color:var(--ct-surface-muted)}.cedros-trade .ct-bg-\\[var\\(--ct-warning-bg\\)\\]{background-color:var(--ct-warning-bg)}.cedros-trade .ct-bg-black\\/40{background-color:#0006}.cedros-trade .ct-bg-current{background-color:currentColor}.cedros-trade .ct-p-0{padding:0}.cedros-trade .ct-p-1{padding:.25rem}.cedros-trade .ct-p-1\\.5{padding:.375rem}.cedros-trade .ct-p-2{padding:.5rem}.cedros-trade .ct-p-3{padding:.75rem}.cedros-trade .ct-p-4{padding:1rem}.cedros-trade .ct-p-5{padding:1.25rem}.cedros-trade .ct-p-6{padding:1.5rem}.cedros-trade .ct-px-1\\.5{padding-left:.375rem;padding-right:.375rem}.cedros-trade .ct-px-2{padding-left:.5rem;padding-right:.5rem}.cedros-trade .ct-px-2\\.5{padding-left:.625rem;padding-right:.625rem}.cedros-trade .ct-px-3{padding-left:.75rem;padding-right:.75rem}.cedros-trade .ct-px-4{padding-left:1rem;padding-right:1rem}.cedros-trade .ct-px-5{padding-left:1.25rem;padding-right:1.25rem}.cedros-trade .ct-py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.cedros-trade .ct-py-1{padding-top:.25rem;padding-bottom:.25rem}.cedros-trade .ct-py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.cedros-trade .ct-py-10{padding-top:2.5rem;padding-bottom:2.5rem}.cedros-trade .ct-py-12{padding-top:3rem;padding-bottom:3rem}.cedros-trade .ct-py-2{padding-top:.5rem;padding-bottom:.5rem}.cedros-trade .ct-py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.cedros-trade .ct-py-3{padding-top:.75rem;padding-bottom:.75rem}.cedros-trade .ct-py-3\\.5{padding-top:.875rem;padding-bottom:.875rem}.cedros-trade .ct-py-4{padding-top:1rem;padding-bottom:1rem}.cedros-trade .ct-py-7{padding-top:1.75rem;padding-bottom:1.75rem}.cedros-trade .ct-py-8{padding-top:2rem;padding-bottom:2rem}.cedros-trade .ct-pb-2{padding-bottom:.5rem}.cedros-trade .ct-pl-3{padding-left:.75rem}.cedros-trade .ct-pl-9{padding-left:2.25rem}.cedros-trade .ct-pr-3{padding-right:.75rem}.cedros-trade .ct-pr-9{padding-right:2.25rem}.cedros-trade .ct-text-left{text-align:left}.cedros-trade .ct-text-center{text-align:center}.cedros-trade .ct-text-right{text-align:right}.cedros-trade .ct-font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.cedros-trade .ct-text-2xl{font-size:1.5rem;line-height:2rem}.cedros-trade .ct-text-3xl{font-size:1.875rem;line-height:2.25rem}.cedros-trade .ct-text-\\[10px\\]{font-size:10px}.cedros-trade .ct-text-\\[9px\\]{font-size:9px}.cedros-trade .ct-text-lg{font-size:1.125rem;line-height:1.75rem}.cedros-trade .ct-text-sm{font-size:.875rem;line-height:1.25rem}.cedros-trade .ct-text-xl{font-size:1.25rem;line-height:1.75rem}.cedros-trade .ct-text-xs{font-size:.75rem;line-height:1rem}.cedros-trade .ct-font-bold{font-weight:700}.cedros-trade .ct-font-medium{font-weight:500}.cedros-trade .ct-font-normal{font-weight:400}.cedros-trade .ct-font-semibold{font-weight:600}.cedros-trade .ct-uppercase{text-transform:uppercase}.cedros-trade .ct-capitalize{text-transform:capitalize}.cedros-trade .ct-leading-5{line-height:1.25rem}.cedros-trade .ct-leading-6{line-height:1.5rem}.cedros-trade .ct-leading-none{line-height:1}.cedros-trade .ct-leading-tight{line-height:1.25}.cedros-trade .ct-tracking-tight{letter-spacing:-.025em}.cedros-trade .ct-tracking-wide{letter-spacing:.025em}.cedros-trade .ct-text-\\[var\\(--ct-destructive\\)\\]{color:var(--ct-destructive)}.cedros-trade .ct-text-\\[var\\(--ct-destructive-foreground\\)\\]{color:var(--ct-destructive-foreground)}.cedros-trade .ct-text-\\[var\\(--ct-foreground\\)\\]{color:var(--ct-foreground)}.cedros-trade .ct-text-\\[var\\(--ct-info\\)\\]{color:var(--ct-info)}.cedros-trade .ct-text-\\[var\\(--ct-muted-foreground\\)\\]{color:var(--ct-muted-foreground)}.cedros-trade .ct-text-\\[var\\(--ct-primary\\)\\]{color:var(--ct-primary)}.cedros-trade .ct-text-\\[var\\(--ct-primary-foreground\\)\\]{color:var(--ct-primary-foreground)}.cedros-trade .ct-text-\\[var\\(--ct-success\\)\\]{color:var(--ct-success)}.cedros-trade .ct-text-\\[var\\(--ct-success-foreground\\)\\]{color:var(--ct-success-foreground)}.cedros-trade .ct-text-\\[var\\(--ct-warning\\)\\]{color:var(--ct-warning)}.cedros-trade .ct-text-current{color:currentColor}.cedros-trade .ct-underline{text-decoration-line:underline}.cedros-trade .ct-placeholder-\\[var\\(--ct-muted-foreground\\)\\]::placeholder{color:var(--ct-muted-foreground)}.cedros-trade .ct-accent-\\[var\\(--ct-primary\\)\\]{accent-color:var(--ct-primary)}.cedros-trade .ct-opacity-10{opacity:.1}.cedros-trade .ct-opacity-50{opacity:.5}.cedros-trade .ct-opacity-80{opacity:.8}.cedros-trade .ct-shadow-cedros{--tw-shadow:var(--ct-shadow-sm);--tw-shadow-colored:var(--ct-shadow-sm);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.cedros-trade .ct-outline-none{outline-offset:2px;outline:2px solid #0000}.cedros-trade .ct-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.cedros-trade{--ct-background:var(--ca5ss4b-runtime-panel,var(--ca5ss4br-bg,var(--cd-card-bg,#fafafa)));--ct-foreground:var(--ca5ss4b-runtime-text,var(--ca5ss4br-fg,var(--cd-fg,#171717)));--ct-surface:var(--ca5ss4br-panel,color-mix(in srgb, var(--ct-background) 88%, #fff 12%));--ct-surface-elevated:color-mix(in srgb, var(--ct-background) 74%, #fff 26%);--ct-surface-muted:var(--ca5ss4b-runtime-accent-soft,var(--cd-muted-bg,color-mix(in srgb, var(--ct-surface) 88%, var(--ct-foreground) 12%)));--ct-surface-interactive:color-mix(in srgb, var(--ct-surface-muted) 84%, var(--ct-primary) 16%);--ct-muted:var(--ct-surface-muted);--ct-muted-foreground:var(--ca5ss4b-runtime-muted,var(--ca5ss4br-muted,var(--cd-muted,#737373)));--ct-border:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#e5e5e5)));--ct-border-strong:color-mix(in srgb, var(--ct-border) 70%, var(--ct-foreground) 30%);--ct-input:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#e5e5e5)));--ct-ring:var(--ca5ss4b-runtime-accent,var(--ca5ss4br-primary,var(--cd-ring,#a3a3a3)));--ct-primary:var(--ca5ss4b-runtime-action-bg,var(--ca5ss4br-primary,var(--cd-primary,#262626)));--ct-primary-foreground:var(--ca5ss4b-runtime-action-fg,var(--ca5ss4br-primary-fg,var(--cd-primary-fg,#fff)));--ct-destructive:var(--ca5ss4b-runtime-error,var(--ca5ss4br-error,var(--cd-error,#dc2626)));--ct-destructive-foreground:#fff;--ct-success:var(--ca5ss4br-success,var(--cd-success,#16a34a));--ct-success-foreground:#fff;--ct-warning:var(--ca5ss4b-runtime-warning,var(--cd-warning,#d97706));--ct-info:var(--ca5ss4b-runtime-accent,var(--ca5ss4br-link,var(--cd-info,#2563eb)));--ct-radius:var(--ca5ss4br-radius,var(--cd-radius,8px));--ct-radius-sm:max(calc(var(--ct-radius) - 3px), .25rem);--ct-radius-lg:calc(var(--ct-radius) + 4px);--ct-radius-control:max(0px, calc(var(--ct-radius) - 1px));--ct-radius-card:var(--ct-radius);--ct-radius-panel:calc(var(--ct-radius) + 4px);--ct-shadow-sm:var(--cd-shadow-sm,0 1px 2px #0f172a12, 0 1px 0 #ffffffb8 inset);--ct-shadow-md:var(--cd-shadow,0 6px 16px -6px #0f172a29, 0 2px 4px -2px #0f172a14);--ct-shadow-lg:var(--cd-shadow-lg,0 16px 48px #0f172a1f);--ct-shadow-focus:0 0 0 2px var(--ct-surface), 0 0 0 4px color-mix(in srgb, var(--ct-ring) 38%, transparent);--ct-overlay:#0f172a9e;--ct-warning-foreground:#fff;--ct-info-foreground:#fff;--ct-tracking-tight:0;--ct-tracking-wide:0;--ct-spin:.72s;--ct-duration-micro:.14s;--ct-duration-fast:.2s;--ct-duration-panel:.32s;--ct-ease-spring:cubic-bezier(.16, 1, .3, 1);--ct-gradient-brand:linear-gradient(135deg, color-mix(in srgb, var(--ct-primary) 92%, #0f172a 8%), #0f766e);--ct-gradient-surface:radial-gradient(circle at top left, color-mix(in srgb, var(--ct-primary) 12%, transparent), transparent 34rem), linear-gradient(180deg, var(--ct-surface), var(--ct-background));--ct-gradient-market:linear-gradient(135deg, color-mix(in srgb, var(--ct-success) 18%, transparent), color-mix(in srgb, var(--ct-primary) 12%, transparent) 48%, color-mix(in srgb, var(--ct-destructive) 12%, transparent));--ct-success-bg:var(--cd-success-bg,rgb(var(--ct-buy-rgb) / .12));--ct-warning-bg:var(--cd-warning-bg,rgb(var(--ct-warning-rgb) / .13));--ct-destructive-bg:var(--cd-danger-bg,var(--cd-error-bg,rgb(var(--ct-sell-rgb) / .11)));--ct-info-bg:var(--cd-info-bg,rgb(var(--ct-info-rgb) / .12));--ct-selected-bg:color-mix(in srgb, var(--ct-primary) 14%, var(--ct-surface));--ct-disabled-bg:color-mix(in srgb, var(--ct-muted) 82%, var(--ct-background) 18%);--ct-buy:var(--ct-success);--ct-sell:var(--ct-destructive);--ct-buy-rgb:22 163 74;--ct-sell-rgb:220 38 38;--ct-warning-rgb:217 119 6;--ct-info-rgb:37 99 235;--ct-buy-bg:rgb(var(--ct-buy-rgb) / .1);--ct-sell-bg:rgb(var(--ct-sell-rgb) / .1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-feature-settings:\"cv02\", \"cv03\", \"cv04\", \"tnum\";text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@supports (animation-timing-function:linear(0, 1)){.cedros-trade{--ct-ease-spring:linear(0, .009, .036 2.1%, .158 4.6%, .52 9.6%, .78 13.4%, .953 17.2%, 1.035 21.4%, 1.056 25.7%, 1.035 31.4%, .994 40.5%, .985 46.2%, 1.003 63.2%, 1)}}:where(.cedros-trade),:where(.cedros-trade *){box-sizing:border-box}:where(.cedros-trade button,.cedros-trade input,.cedros-trade select){font:inherit}:where(.cedros-trade button){appearance:none;color:inherit;background:0 0;border:0}@media (width<=40rem){.cedros-trade{overflow-wrap:anywhere;min-width:0}.cedros-trade button,.cedros-trade input:not([type=checkbox]):not([type=radio]),.cedros-trade select,.cedros-trade summary{min-height:2.75rem}.cedros-trade .ct-token-selector-sheet-wrap{max-width:calc(100vw - 1rem)}}.cedros-trade table{border-collapse:collapse}.ca5ss4b-dark .cedros-trade,.cedros-trade.cedros-trade--dark,.cedros-trade.cedros-trade--dark .cedros-trade{--ct-background:var(--ca5ss4b-runtime-panel,var(--ca5ss4br-bg,var(--cd-card-bg,#0a0a0a)));--ct-foreground:var(--ca5ss4b-runtime-text,var(--ca5ss4br-fg,var(--cd-fg,#fafafa)));--ct-surface:var(--ca5ss4br-panel,color-mix(in srgb, var(--ct-background) 78%, #171717 22%));--ct-surface-elevated:color-mix(in srgb, var(--ct-background) 64%, #262626 36%);--ct-surface-muted:var(--ca5ss4b-runtime-accent-soft,var(--cd-muted-bg,color-mix(in srgb, var(--ct-surface) 78%, var(--ct-foreground) 22%)));--ct-surface-interactive:color-mix(in srgb, var(--ct-surface-muted) 72%, var(--ct-primary) 28%);--ct-muted:var(--ct-surface-muted);--ct-muted-foreground:var(--ca5ss4b-runtime-muted,var(--ca5ss4br-muted,var(--cd-muted,#9aa8bd)));--ct-border:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#263244)));--ct-border-strong:color-mix(in srgb, var(--ct-border) 64%, #e2e8f0 36%);--ct-input:var(--ca5ss4b-runtime-border,var(--ca5ss4br-border,var(--cd-border,#263244)));--ct-shadow-sm:var(--cd-shadow-sm,0 1px 1px #0000005c, 0 1px 0 #ffffff0a inset);--ct-shadow-md:var(--cd-shadow,0 8px 20px -6px #00000080, 0 2px 6px -2px #0006);--ct-shadow-lg:var(--cd-shadow-lg,0 22px 70px #0000005c);--ct-shadow-focus:0 0 0 2px var(--ct-surface), 0 0 0 4px color-mix(in srgb, var(--ct-ring) 46%, transparent);--ct-overlay:#020617b8;--ct-gradient-surface:radial-gradient(circle at top left, color-mix(in srgb, var(--ct-primary) 18%, transparent), transparent 34rem), linear-gradient(180deg, var(--ct-surface), var(--ct-background));--ct-buy-rgb:34 197 94;--ct-sell-rgb:248 113 113;--ct-warning-rgb:251 191 36;--ct-info-rgb:96 165 250;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.cedros-trade .ct-panel{border:1px solid var(--ct-border);background:var(--ct-panel-bg,var(--ct-surface));box-shadow:var(--ct-shadow-sm)}.cedros-trade .ct-panel-elevated{border:1px solid color-mix(in srgb, var(--ct-border) 78%, transparent);background:linear-gradient(180deg, var(--ct-surface-elevated), var(--ct-surface));box-shadow:var(--ct-shadow-lg)}.cedros-trade .ct-panel-info{--ct-panel-bg:var(--ct-info-bg)}.cedros-trade .ct-panel-success{--ct-panel-bg:var(--ct-success-bg)}.cedros-trade .ct-panel-warning{--ct-panel-bg:var(--ct-warning-bg)}.cedros-trade .ct-panel-danger{--ct-panel-bg:var(--ct-destructive-bg)}.cedros-trade .ct-market-wash{background:radial-gradient(circle at 20% 15%, rgb(var(--ct-buy-rgb) / .16), transparent 22rem), radial-gradient(circle at 80% 20%, rgb(var(--ct-info-rgb) / .14), transparent 24rem), radial-gradient(circle at 74% 86%, rgb(var(--ct-sell-rgb) / .09), transparent 20rem), var(--ct-background)}.cedros-trade .ct-dot-grid{background-image:radial-gradient(color-mix(in srgb, var(--ct-muted-foreground) 28%, transparent) 1px, transparent 1px);background-size:18px 18px}.cedros-trade .ct-field{border-radius:var(--ct-radius-control);background:color-mix(in srgb, var(--ct-surface-muted) 86%, var(--ct-background) 14%);border-color:var(--ct-border);min-width:0;box-shadow:inset 0 1px #ffffff80}.ca5ss4b-dark .cedros-trade .ct-field,.cedros-trade.cedros-trade--dark .ct-field{box-shadow:inset 0 1px #ffffff0a}.cedros-trade .ct-field:focus,.cedros-trade .ct-focusable:focus-visible{border-color:color-mix(in srgb, var(--ct-ring) 72%, var(--ct-border) 28%);box-shadow:var(--ct-shadow-focus);outline:none}.cedros-trade .ct-pressable{transition:transform var(--ct-duration-fast) var(--ct-ease-spring), background-color var(--ct-duration-fast) ease-out, border-color var(--ct-duration-fast) ease-out, box-shadow var(--ct-duration-fast) ease-out, opacity var(--ct-duration-fast) ease-out;transform:translateY(0)scale(1)}.cedros-trade .ct-pressable:hover{transform:translateY(-1px)}.cedros-trade .ct-pressable:active{transform:translateY(0)scale(.985)}.cedros-trade .ct-pressable:disabled{transform:none}.cedros-trade .ct-primary-action{background:var(--ct-gradient-brand);box-shadow:0 10px 24px -6px color-mix(in srgb, var(--ct-primary) 32%, transparent), inset 0 1px 0 #fff3}.cedros-trade .ct-success-action{background:linear-gradient(135deg, color-mix(in srgb, var(--ct-success) 92%, #064e3b 8%), #0f766e);box-shadow:0 10px 24px -6px rgb(var(--ct-buy-rgb) / .26), inset 0 1px 0 #fff3}.cedros-trade .ct-danger-action{background:linear-gradient(135deg, color-mix(in srgb, var(--ct-destructive) 90%, #7f1d1d 10%), #be123c);box-shadow:0 10px 24px -6px rgb(var(--ct-sell-rgb) / .24), inset 0 1px 0 #fff3}.cedros-trade .ct-primary-action,.cedros-trade .ct-success-action,.cedros-trade .ct-danger-action{transition:filter var(--ct-duration-fast) ease-out, box-shadow var(--ct-duration-fast) ease-out, transform var(--ct-duration-fast) var(--ct-ease-spring)}.cedros-trade .ct-radius-control{border-radius:var(--ct-radius-control)}.cedros-trade .ct-radius-card{border-radius:var(--ct-radius-card)}.cedros-trade .ct-radius-panel{border-radius:var(--ct-radius-panel)}.cedros-trade .ct-primary-action:hover:not(:disabled),.cedros-trade .ct-success-action:hover:not(:disabled),.cedros-trade .ct-danger-action:hover:not(:disabled){filter:saturate(1.05)brightness(1.045)}.cedros-trade .ct-sheen{isolation:isolate;position:relative;overflow:hidden}.cedros-trade .ct-sheen:after{content:\"\";pointer-events:none;background:linear-gradient(115deg,#0000 32%,#ffffff38 48%,#0000 64%);transition:transform .76s;position:absolute;inset:0;transform:translate(-130%)}.cedros-trade .ct-sheen:hover:not(:disabled):after{transform:translate(130%)}.cedros-trade .ct-status-dot{width:.5rem;height:.5rem;box-shadow:0 0 0 4px color-mix(in srgb, currentColor 14%, transparent);background:currentColor;border-radius:999px}.cedros-trade .ct-skeleton{background:linear-gradient(90deg, var(--ct-muted), color-mix(in srgb, var(--ct-muted) 72%, var(--ct-foreground) 8%), var(--ct-muted));background-size:220% 100%;animation:1.5s ease-in-out infinite ct-shimmer}.cedros-trade .ct-enter{animation:.36s ease-out backwards ct-enter}.cedros-trade .ct-enter-slow{animation:.52s ease-out backwards ct-enter}.cedros-trade .ct-stagger>*{animation:.36s ease-out backwards ct-enter}.cedros-trade .ct-stagger>:nth-child(2){animation-delay:45ms}.cedros-trade .ct-stagger>:nth-child(3){animation-delay:90ms}.cedros-trade .ct-stagger>:nth-child(4){animation-delay:.135s}.cedros-trade .ct-stagger>:nth-child(5){animation-delay:.18s}.cedros-trade .ct-stagger>:nth-child(6){animation-delay:.225s}.cedros-trade .ct-stagger>:nth-child(7){animation-delay:.27s}.cedros-trade .ct-stagger>:nth-child(8){animation-delay:.315s}.cedros-trade .ct-stagger>:nth-child(9){animation-delay:.36s}.cedros-trade .ct-stagger>:nth-child(10){animation-delay:.405s}.cedros-trade .ct-stagger>:nth-child(n+11){animation-delay:.44s}.cedros-trade .ct-stagger-dense>*{animation:.28s ease-out backwards ct-enter}.cedros-trade .ct-stagger-dense>:nth-child(2){animation-delay:24ms}.cedros-trade .ct-stagger-dense>:nth-child(3){animation-delay:48ms}.cedros-trade .ct-stagger-dense>:nth-child(4){animation-delay:72ms}.cedros-trade .ct-stagger-dense>:nth-child(5){animation-delay:96ms}.cedros-trade .ct-stagger-dense>:nth-child(6){animation-delay:.12s}.cedros-trade .ct-stagger-dense>:nth-child(7){animation-delay:.144s}.cedros-trade .ct-stagger-dense>:nth-child(n+8){animation-delay:.168s}.cedros-trade .ct-rolling-label{min-height:1.2em;display:inline-grid;overflow:hidden}.cedros-trade .ct-rolling-label__text{grid-area:1/1;animation:.22s ease-out both ct-roll-label}.cedros-trade .ct-empty-visual{border:1px solid color-mix(in srgb, var(--ct-border) 72%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--ct-primary) 16%, transparent), transparent), var(--ct-surface-elevated);width:4.5rem;height:4.5rem;box-shadow:var(--ct-shadow-sm);border-radius:1.35rem;margin-inline:auto;position:relative}.cedros-trade .ct-empty-visual:before,.cedros-trade .ct-empty-visual:after{content:\"\";border-radius:999px;position:absolute}.cedros-trade .ct-empty-visual:before{background:linear-gradient(90deg, var(--ct-empty-accent,var(--ct-success)), var(--ct-primary));height:.42rem;inset:1rem .9rem auto}.cedros-trade .ct-empty-visual:after{border:2px solid var(--ct-empty-accent-2,var(--ct-warning));width:1.1rem;height:1.1rem;bottom:1rem;right:1rem}@keyframes ct-enter{0%{opacity:0}to{opacity:1}}@keyframes ct-roll-label{0%{opacity:0;transform:translateY(.55em)}to{opacity:1;transform:translateY(0)}}@keyframes ct-shimmer{0%{background-position:160% 0}to{background-position:-60% 0}}@media (prefers-reduced-motion:reduce){.cedros-trade .ct-enter,.cedros-trade .ct-enter-slow,.cedros-trade .ct-stagger>*,.cedros-trade .ct-stagger-dense>*,.cedros-trade .ct-rolling-label__text,.cedros-trade .ct-skeleton{animation:none}.cedros-trade .ct-pressable,.cedros-trade .ct-pressable:hover,.cedros-trade .ct-pressable:active{transition-duration:1ms;transform:none}}.cedros-trade{width:100%;min-width:0;font-family:inherit}.cedros-trade .ct-shell-surface{background:0 0}.cedros-trade .ct-public-heading>.ct-panel-elevated{box-shadow:none;background:0 0;border:0;padding:0}.cedros-trade .ct-public-heading>.ct-panel-elevated>.ct-gradient-brand-fill{display:none}.cedros-trade.ct-external-swap{overflow:visible}.cedros-trade.ct-external-swap>div{padding:12px 0 40px}.cedros-trade .ct-swap-card{border-radius:var(--ct-radius);background:var(--ct-surface);max-width:560px;box-shadow:none;padding:24px;font-size:14px;line-height:1.5}.cedros-trade .ct-swap-fields{border:0;min-width:0;margin:0;padding:0}.cedros-trade .ct-swap-fields label,.cedros-trade .ct-select-label{font-size:13px;font-weight:500;display:block}.cedros-trade .ct-swap-fields input,.cedros-trade .ct-select-trigger{width:100%;min-width:0;height:36px;min-height:36px;font:inherit;background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:var(--ct-radius-control);color:var(--ct-foreground);align-items:center;gap:8px;margin-top:8px;padding:0 12px;font-size:13px;font-weight:400;display:flex}.cedros-trade .ct-swap-card button{font-size:13px;font-weight:500}.cedros-trade .ct-swap-card>button{width:100%;height:32px;min-height:32px;padding:0 12px}.cedros-trade .ct-swap-card .ct-primary-action{background:var(--ca5ss4b-runtime-action-bg,var(--cd-primary,var(--ct-foreground)));height:32px;color:var(--ca5ss4b-runtime-action-fg,var(--cd-primary-fg,var(--ct-surface)));border-radius:var(--ct-radius-control);box-shadow:none;border:1px solid #0000;padding:0 12px}.cedros-trade .ct-swap-card button:focus-visible,.cedros-trade .ct-swap-card input:focus-visible{outline:2px solid var(--ct-ring);outline-offset:2px}.cedros-trade .ct-swap-card button:disabled{opacity:.5;cursor:not-allowed}.cedros-trade .ct-select{--ct-select-row-height:32px;min-width:0;position:relative}.cedros-trade .ct-select-trigger{text-align:left;cursor:pointer;justify-content:space-between}.cedros-trade .ct-select-trigger>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cedros-trade .ct-select-trigger>svg{opacity:.5;flex:0 0 16px;width:16px;height:16px}.cedros-trade .ct-select-panel{z-index:var(--z-dropdown,50);border:1px solid var(--ct-border);border-radius:var(--ct-radius);background:var(--ct-surface);width:100%;max-height:320px;color:var(--ct-foreground);box-shadow:var(--ct-shadow-md);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.cedros-trade .ct-select-panel--above{top:auto;bottom:40px}.cedros-trade .ct-select-search{border-bottom:1px solid var(--ct-border);border-radius:max(0px, calc(var(--ct-radius) - 4px));flex:0 0 33px;align-items:center;gap:8px;min-width:0;padding:0 8px;display:flex}.cedros-trade .ct-select-search:focus-within{box-shadow:inset 0 0 0 1px var(--ct-ring)}.cedros-trade .ct-select-search>svg{width:16px;height:16px;color:var(--ct-muted-foreground);flex-shrink:0}.cedros-trade .ct-select-search input{appearance:none;background:0 0;border:0;border-radius:0;flex:1 1 0;width:0;min-width:0;height:32px;min-height:32px;margin:0;padding:0}.cedros-trade .ct-select-search input:focus,.cedros-trade .ct-swap-card .ct-select-search input:focus-visible{box-shadow:none;outline:none}.cedros-trade .ct-select-options{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow-y:auto}.cedros-trade .ct-select-option{height:var(--ct-select-row-height);cursor:pointer;border-radius:max(0px, calc(var(--ct-radius) - 4px));align-items:center;gap:8px;padding:0 8px;font-size:13px;font-weight:400;display:flex}.cedros-trade .ct-select-option[data-active=true]{background:var(--ct-surface-muted)}.cedros-trade .ct-select-option>span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cedros-trade .ct-select-check{flex:0 0 16px;width:16px;display:flex}.cedros-trade .ct-select-check svg{width:16px;height:16px}.cedros-trade .ct-select-empty{color:var(--ct-muted-foreground);margin:0;padding:8px;font-size:13px}@media (width<=640px){.cedros-trade .ct-swap-card{padding:16px}.cedros-trade .ct-select{--ct-select-row-height:44px}.cedros-trade .ct-select-trigger{height:44px;min-height:44px}.cedros-trade .ct-select-search{flex-basis:45px}.cedros-trade .ct-select-search input{height:44px;min-height:44px}}.cedros-trade .last\\:ct-border-b-0:last-child{border-bottom-width:0}.cedros-trade .hover\\:ct-border-\\[var\\(--ct-border-strong\\)\\]:hover{border-color:var(--ct-border-strong)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-buy-bg\\)\\]:hover{background-color:var(--ct-buy-bg)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-destructive-bg\\)\\]:hover{background-color:var(--ct-destructive-bg)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-info-bg\\)\\]:hover{background-color:var(--ct-info-bg)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-muted\\)\\]:hover{background-color:var(--ct-muted)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-primary\\)\\]:hover{background-color:var(--ct-primary)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-sell-bg\\)\\]:hover{background-color:var(--ct-sell-bg)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-surface-interactive\\)\\]:hover{background-color:var(--ct-surface-interactive)}.cedros-trade .hover\\:ct-bg-\\[var\\(--ct-warning-bg\\)\\]:hover{background-color:var(--ct-warning-bg)}.cedros-trade .hover\\:ct-text-\\[var\\(--ct-foreground\\)\\]:hover{color:var(--ct-foreground)}.cedros-trade .hover\\:ct-text-\\[var\\(--ct-primary-foreground\\)\\]:hover{color:var(--ct-primary-foreground)}.cedros-trade .hover\\:ct-text-\\[var\\(--ct-warning\\)\\]:hover{color:var(--ct-warning)}.cedros-trade .hover\\:ct-opacity-70:hover{opacity:.7}.cedros-trade .disabled\\:ct-cursor-not-allowed:disabled{cursor:not-allowed}.cedros-trade .disabled\\:ct-opacity-50:disabled{opacity:.5}@media (width>=640px){.cedros-trade .sm\\:ct-col-span-2{grid-column:span 2/span 2}.cedros-trade .sm\\:ct-block{display:block}.cedros-trade .sm\\:ct-hidden{display:none}.cedros-trade .sm\\:ct-w-auto{width:auto}.cedros-trade .sm\\:ct-flex-none{flex:none}.cedros-trade .sm\\:ct-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cedros-trade .sm\\:ct-grid-cols-\\[8rem_1fr\\]{grid-template-columns:8rem 1fr}.cedros-trade .sm\\:ct-flex-row{flex-direction:row}.cedros-trade .sm\\:ct-justify-end{justify-content:flex-end}.cedros-trade .sm\\:ct-gap-2{gap:.5rem}.cedros-trade .sm\\:ct-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cedros-trade .sm\\:ct-p-5{padding:1.25rem}.cedros-trade .sm\\:ct-p-6{padding:1.5rem}.cedros-trade .sm\\:ct-px-6{padding-left:1.5rem;padding-right:1.5rem}.cedros-trade .sm\\:ct-text-3xl{font-size:1.875rem;line-height:2.25rem}.cedros-trade .sm\\:ct-text-4xl{font-size:2.25rem;line-height:2.5rem}.cedros-trade .sm\\:ct-text-base{font-size:1rem;line-height:1.5rem}}@media (width>=768px){.cedros-trade .md\\:ct-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.cedros-trade .lg\\:ct-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cedros-trade .lg\\:ct-grid-cols-\\[minmax\\(0\\,1fr\\)_minmax\\(17rem\\,24rem\\)\\]{grid-template-columns:minmax(0,1fr) minmax(17rem,24rem)}.cedros-trade .lg\\:ct-items-end{align-items:flex-end}.cedros-trade .lg\\:ct-py-10{padding-top:2.5rem;padding-bottom:2.5rem}}@media (width>=1280px){.cedros-trade .xl\\:ct-block{display:block}.cedros-trade .xl\\:ct-hidden{display:none}.cedros-trade .xl\\:ct-flex-row{flex-direction:row}.cedros-trade .xl\\:ct-border-r{border-right-width:1px}.cedros-trade .xl\\:ct-border-\\[var\\(--ct-border\\)\\]{border-color:var(--ct-border)}}.cedros-trade .ct-eyebrow{text-transform:uppercase;letter-spacing:var(--ct-tracking-wide);color:var(--ct-muted-foreground);font-size:.6875rem;font-weight:600;line-height:1rem}.cedros-trade .ct-tabular-num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:\"tnum\" 1;letter-spacing:0}.cedros-trade .ct-display-num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:\"tnum\" 1;letter-spacing:var(--ct-tracking-tight);font-weight:600}.cedros-trade .ct-text-gradient{background:var(--ct-gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.cedros-trade .ct-gradient-brand-fill{background:var(--ct-gradient-brand)}.cedros-trade .ct-token-avatar{background:var(--ct-gradient-brand);color:var(--ct-primary-foreground)}.cedros-trade .ct-card-interactive{transition:transform var(--ct-duration-fast) var(--ct-ease-spring), box-shadow var(--ct-duration-fast) ease-out, border-color var(--ct-duration-fast) ease-out}.cedros-trade .ct-card-interactive:hover{border-color:var(--ct-border-strong);box-shadow:var(--ct-shadow-md);transform:translateY(-2px)}.cedros-trade .ct-card-interactive:active{transform:translateY(0)}.cedros-trade .ct-icon-medallion{border-radius:var(--ct-radius-lg);width:2.75rem;height:2.75rem;color:var(--ct-primary);border:1px solid color-mix(in srgb, var(--ct-border) 70%, transparent);background:linear-gradient(150deg, color-mix(in srgb, var(--ct-primary) 18%, transparent), color-mix(in srgb, var(--ct-surface-elevated) 92%, transparent));box-shadow:var(--ct-shadow-sm), inset 0 1px 0 #ffffff1f;justify-content:center;align-items:center;display:inline-flex}.cedros-trade .ct-icon-medallion-lg{border-radius:1.25rem;width:3.5rem;height:3.5rem}.cedros-trade .ct-divider-gradient{background:linear-gradient(90deg, transparent, var(--ct-border) 16%, var(--ct-border) 84%, transparent);border:0;height:1px}.cedros-trade .ct-depth-bar{width:100%;transform:scaleX(var(--ct-depth-scale,0));transform-origin:0;transition:transform var(--ct-duration-panel) var(--ct-ease-spring)}.cedros-trade .ct-spinner{border:2px solid color-mix(in srgb, currentColor 22%, transparent);animation:ct-spin var(--ct-spin,.72s) linear infinite;border-top-color:currentColor;border-radius:999px;display:inline-block}.cedros-trade .ct-status-dot--pulse{animation:1.8s ease-out infinite ct-status-pulse}.cedros-trade .ct-rotatable{transition:transform var(--ct-duration-panel) var(--ct-ease-spring)}.cedros-trade .ct-directional-panel{min-width:0;position:relative;overflow:clip}.cedros-trade .ct-directional-panel__item{width:100%}.cedros-trade .ct-collapsible{opacity:0;transition:grid-template-rows var(--ct-duration-panel) var(--ct-ease-spring), opacity var(--ct-duration-fast) ease-out;grid-template-rows:0fr;display:grid}.cedros-trade .ct-collapsible--open{opacity:1;grid-template-rows:1fr}.cedros-trade .ct-collapsible__inner{min-height:0;overflow:hidden}.cedros-trade .ct-motion-pressable{transform-origin:50%}.cedros-trade .ct-scroll-boundary{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-mask-image:var(--ct-scroll-mask,none);-webkit-mask-image:var(--ct-scroll-mask,none);mask-image:var(--ct-scroll-mask,none)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=x][data-scroll-start=false][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(90deg, transparent, #000 1rem, #000 calc(100% - 1rem), transparent)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=x][data-scroll-start=false][data-scroll-end=true]{--ct-scroll-mask:linear-gradient(90deg, transparent, #000 1rem)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=x][data-scroll-start=true][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(90deg, #000 calc(100% - 1rem), transparent)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=y][data-scroll-start=false][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(transparent, #000 1rem, #000 calc(100% - 1rem), transparent)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=y][data-scroll-start=false][data-scroll-end=true]{--ct-scroll-mask:linear-gradient(transparent, #000 1rem)}.cedros-trade .ct-scroll-boundary[data-scroll-axis=y][data-scroll-start=true][data-scroll-end=false]{--ct-scroll-mask:linear-gradient(#000 calc(100% - 1rem), transparent)}.cedros-trade .ct-progressive-control{transition:opacity var(--ct-duration-micro) ease-out, transform var(--ct-duration-fast) var(--ct-ease-spring)}.cedros-trade .ct-token-sheet-handle{display:none}@media (width<=639px){.cedros-trade .ct-token-selector-overlay{align-items:flex-end;padding:0}.cedros-trade .ct-token-selector-sheet-wrap{max-width:none}.cedros-trade .ct-token-selector-sheet{border-bottom-right-radius:0;border-bottom-left-radius:0;max-height:min(88dvh,44rem)}.cedros-trade .ct-token-sheet-handle{cursor:grab;touch-action:none;flex:none;justify-content:center;align-items:center;width:100%;height:1.5rem;display:flex}.cedros-trade .ct-token-sheet-handle:active{cursor:grabbing}.cedros-trade .ct-token-sheet-handle>span{background:var(--ct-border-strong);transform-origin:50%;border-radius:999px;width:2.75rem;height:.25rem;display:block}}@media (hover:hover) and (pointer:fine){.cedros-trade .ct-progressive-row .ct-progressive-control:not([data-persist=true]){opacity:0;pointer-events:none}.cedros-trade .ct-progressive-row:hover .ct-progressive-control,.cedros-trade .ct-progressive-row:focus-within .ct-progressive-control{opacity:1;pointer-events:auto}}.cedros-trade .ct-rotated{transform:rotate(180deg)}.cedros-trade .ct-flash-up{animation:.6s ease-out ct-flash-up}.cedros-trade .ct-flash-down{animation:.6s ease-out ct-flash-down}.cedros-trade .ct-pop{animation:.42s cubic-bezier(.2,.9,.3,1.35) both ct-pop}.cedros-trade .ct-check-draw path{stroke-dasharray:34;stroke-dashoffset:34px;animation:.52s ease-out 60ms forwards ct-draw}.cedros-trade .ct-aurora{isolation:isolate;position:relative}.cedros-trade .ct-aurora:before{content:\"\";z-index:-1;pointer-events:none;opacity:.55;background:radial-gradient(38% 48% at 18% 18%, color-mix(in srgb, var(--ct-primary) 30%, transparent), transparent 72%), radial-gradient(34% 42% at 82% 16%, color-mix(in srgb, var(--ct-info) 24%, transparent), transparent 72%), radial-gradient(40% 46% at 70% 82%, color-mix(in srgb, var(--ct-success) 18%, transparent), transparent 72%);filter:blur(40px);height:150%;animation:22s ease-in-out infinite alternate ct-aurora-drift;position:absolute;inset:-45% -12% auto}@keyframes ct-spin{to{transform:rotate(360deg)}}@keyframes ct-status-pulse{0%{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 30%, transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb, currentColor 0%, transparent)}to{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 0%, transparent)}}@keyframes ct-flash-up{0%{background-color:rgb(var(--ct-buy-rgb) / .3)}to{background-color:#0000}}@keyframes ct-flash-down{0%{background-color:rgb(var(--ct-sell-rgb) / .3)}to{background-color:#0000}}@keyframes ct-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes ct-draw{to{stroke-dashoffset:0}}@keyframes ct-aurora-drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(3%,2%)scale(1.08)}}@media (prefers-reduced-motion:reduce){.cedros-trade .ct-spinner,.cedros-trade .ct-status-dot--pulse,.cedros-trade .ct-flash-up,.cedros-trade .ct-flash-down,.cedros-trade .ct-pop,.cedros-trade .ct-check-draw path,.cedros-trade .ct-aurora:before{animation:none}.cedros-trade .ct-check-draw path{stroke-dashoffset:0}.cedros-trade .ct-pressable,.cedros-trade .ct-pressable:hover,.cedros-trade .ct-pressable:active,.cedros-trade .ct-card-interactive,.cedros-trade .ct-card-interactive:hover,.cedros-trade .ct-rotatable,.cedros-trade .ct-depth-bar,.cedros-trade .ct-sheen:after{transition-duration:1ms;transform:none}.cedros-trade .ct-collapsible,.cedros-trade .ct-progressive-control{transition-duration:1ms}}.cedros-trade.cedros-trade-admin{--ct-background:var(--cd-bg,oklch(100% 0 0));--ct-foreground:var(--cd-fg,oklch(14.5% 0 0));--ct-surface:var(--cd-card-bg,var(--ct-background));--ct-surface-elevated:var(--cd-card-bg,var(--ct-surface));--ct-surface-muted:var(--cd-muted-bg,color-mix(in srgb, var(--ct-surface) 88%, var(--ct-foreground) 12%));--ct-surface-interactive:var(--cd-accent,var(--ct-surface-muted));--ct-muted:var(--ct-surface-muted);--ct-muted-foreground:var(--cd-muted,oklch(55.6% 0 0));--ct-border:var(--cd-border,oklch(92.2% 0 0));--ct-border-strong:color-mix(in srgb, var(--ct-border) 70%, var(--ct-foreground) 30%);--ct-input:var(--cd-border,var(--ct-border));--ct-ring:var(--cd-ring,oklch(70.8% 0 0));--ct-primary:var(--cd-primary,oklch(20.5% 0 0));--ct-primary-foreground:var(--cd-primary-fg,oklch(98.5% 0 0));--ct-destructive:var(--cd-error,oklch(57.7% .245 27.325));--ct-destructive-foreground:var(--cd-error-fg,#fff);--ct-success:var(--cd-success,oklch(55% .15 145));--ct-warning:var(--cd-warning-fg,var(--cd-warning,oklch(52% .12 75)));--ct-info:var(--cd-info,var(--cd-link,oklch(48% .08 220)));--ct-radius:var(--cd-radius,.5rem);--ct-radius-sm:max(calc(var(--ct-radius) - 3px), .25rem);--ct-radius-lg:var(--admin-radius,.75rem);--ct-radius-control:max(calc(var(--ct-radius) - 1px), .25rem);--ct-radius-card:var(--ct-radius);--ct-radius-panel:var(--ct-radius-lg);--ct-shadow-sm:var(--cd-shadow,0 1px 2px #00000014);--ct-shadow-md:var(--cd-shadow,0 6px 16px -6px #00000029);--ct-shadow-lg:var(--cd-shadow-lg,0 16px 48px #0000001f);--ct-shadow-focus:0 0 0 3px color-mix(in srgb, var(--ct-ring) 14%, transparent);--ct-container-settings:var(--cd-container-settings,45rem);--ct-gradient-brand:var(--ct-primary);--ct-gradient-surface:var(--ct-background);--ct-gradient-market:var(--ct-background);--ct-success-bg:var(--cd-success-bg,color-mix(in srgb, var(--ct-success) 14%, var(--ct-background)));--ct-warning-bg:var(--cd-warning-bg,color-mix(in srgb, var(--ct-warning) 18%, var(--ct-background)));--ct-destructive-bg:var(--cd-error-bg,color-mix(in srgb, var(--ct-destructive) 12%, var(--ct-background)));--ct-info-bg:var(--cd-info-bg,color-mix(in srgb, var(--ct-info) 12%, var(--ct-background)));--ct-selected-bg:color-mix(in srgb, var(--ct-primary) 8%, var(--ct-surface));--ct-disabled-bg:color-mix(in srgb, var(--ct-muted) 82%, var(--ct-background) 18%);background:0 0}.cedros-trade.cedros-trade-admin .ct-shell-surface,.cedros-trade.cedros-trade-admin .ct-dot-grid{background:0 0}.cedros-trade.cedros-trade-admin .cedros-data-card,.cedros-trade.cedros-trade-admin .ct-admin-metric{border:1px solid var(--ct-border);border-radius:var(--ct-radius);background:var(--ct-surface);box-shadow:var(--ct-shadow-sm)}.cedros-trade.cedros-trade-admin .cedros-data-card{padding:.9rem 1rem}.cedros-trade.cedros-trade-admin .ct-admin-metric{padding:.75rem}.cedros-trade.cedros-trade-admin .cedros-data-summary-grid{gap:1rem;display:grid}.cedros-trade.cedros-trade-admin .cedros-data-input{border-color:var(--ct-border);background:var(--cd-input-bg,transparent);height:2.25rem;transition:background-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), border-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), box-shadow var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1))}.cedros-trade.cedros-trade-admin .cedros-data-toolbar .cedros-data-input,.cedros-trade.cedros-trade-admin .cedros-data-btn--sm{height:2rem;min-height:2rem}.cedros-trade.cedros-trade-admin .cedros-data-btn{border-radius:max(calc(var(--ct-radius) - 1px), .25rem);height:2.25rem;min-height:2.25rem;transition:background-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), border-color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), color var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)), box-shadow var(--motion-duration-fast,.16s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1))}.cedros-trade.cedros-trade-admin .ct-primary-action,.cedros-trade.cedros-trade-admin .ct-danger-action{box-shadow:var(--ct-shadow-sm)}.cedros-trade.cedros-trade-admin .ct-primary-action{background:var(--ct-primary)}.cedros-trade.cedros-trade-admin .ct-danger-action{background:var(--ct-destructive)}.cedros-trade.cedros-trade-admin .ct-primary-action:hover:not(:disabled){background:color-mix(in srgb, var(--ct-primary) 88%, var(--ct-background))}.cedros-trade.cedros-trade-admin .ct-danger-action:hover:not(:disabled){background:color-mix(in srgb, var(--ct-destructive) 88%, var(--ct-background))}.cedros-trade.cedros-trade-admin .ct-pressable:hover:not(:disabled),.cedros-trade.cedros-trade-admin .ct-card-interactive:hover{transform:translateY(-1px)}.cedros-trade.cedros-trade-admin .ct-pressable:active:not(:disabled){transition-duration:var(--motion-duration-micro,.1s);transform:scale(.98)}.cedros-trade.cedros-trade-admin .ct-card-interactive:hover{box-shadow:var(--ct-shadow-sm);border-color:var(--ct-border-strong)}.cedros-trade.cedros-trade-admin .ct-field:focus:not(:focus-visible),.cedros-trade.cedros-trade-admin .ct-focusable:focus:not(:focus-visible),.cedros-trade.cedros-trade-admin .cedros-data-btn:focus:not(:focus-visible){border-color:var(--ct-border);box-shadow:none}.cedros-trade.cedros-trade-admin .ct-field:focus-visible,.cedros-trade.cedros-trade-admin .ct-focusable:focus-visible,.cedros-trade.cedros-trade-admin .cedros-data-btn:focus-visible{border-color:var(--ct-ring);box-shadow:var(--ct-shadow-focus);outline:none}.cedros-trade.cedros-trade-admin .ct-panel-info{border-color:color-mix(in srgb, var(--ct-info) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-panel-success{border-color:color-mix(in srgb, var(--ct-success) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-panel-warning{border-color:color-mix(in srgb, var(--ct-warning) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-panel-danger{border-color:color-mix(in srgb, var(--ct-destructive) 30%, var(--ct-border))}.cedros-trade.cedros-trade-admin .ct-admin-empty{border:1px dashed color-mix(in srgb, var(--ct-border) 85%, var(--ct-muted-foreground));background:var(--ct-surface);flex-direction:column;justify-content:center;align-items:center;min-height:9rem;display:flex}.cedros-trade.cedros-trade-admin .cedros-data-empty-state__illustration{border:1px solid var(--ct-border);background:var(--ct-surface-muted);width:2.5rem;height:2.5rem;color:var(--ct-muted-foreground);border-radius:999px;justify-content:center;align-items:center;margin-bottom:.5rem;display:inline-flex}.cedros-trade.cedros-trade-admin .cedros-data-empty-state__illustration svg,.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear svg,.cedros-trade.cedros-trade-admin .cedros-trade-admin__menu-trigger svg,.cedros-trade.cedros-trade-admin .cedros-data-dialog__close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.cedros-trade.cedros-trade-admin .cedros-trade-admin__filtered-empty{min-height:4rem;color:var(--ct-muted-foreground);text-align:center;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.8125rem;display:flex}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0;display:flex}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-header-text{flex:18rem;min-width:0}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-title{color:var(--ct-foreground);margin:0;font-size:.875rem;font-weight:600;line-height:1.25}.cedros-trade.cedros-trade-admin .cedros-trade-admin__section-subtitle{max-width:60ch;color:var(--ct-muted-foreground);margin:.25rem 0 0;font-size:.8125rem;line-height:1.5}.cedros-trade.cedros-trade-admin .cedros-trade-admin__settings-column{width:100%;max-width:var(--ct-container-settings)}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-wrap{width:min(100%,18rem);position:relative}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-wrap .cedros-data-input{padding-right:2rem}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear{border-radius:var(--ct-radius-sm);width:1.5rem;height:1.5rem;color:var(--ct-muted-foreground);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear:hover{background:var(--ct-surface-interactive);color:var(--ct-foreground)}.cedros-trade.cedros-trade-admin .cedros-trade-admin__search-clear:focus-visible{box-shadow:var(--ct-shadow-focus);outline:none}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line{background:linear-gradient(90deg, var(--ct-surface-muted), color-mix(in srgb, var(--ct-surface-muted) 58%, var(--ct-background)), var(--ct-surface-muted));max-width:100%;height:.75rem;animation:cedros-trade-admin-shimmer var(--motion-duration-standard,1.4s) var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1)) infinite;background-size:220% 100%;border-radius:999px;display:block}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line+.ct-admin-skeleton-line{margin-top:.75rem}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line--title{width:42%}.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line--short{width:64%}@keyframes cedros-trade-admin-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.cedros-trade.cedros-trade-admin .ct-admin-skeleton-line{animation:none}.cedros-trade.cedros-trade-admin .cedros-data-btn{transition-duration:var(--motion-duration-micro,1ms)}}\n/*$vite$:1*/"},{"path":"workspace/react/dist/Tabs-C-5A_i9z.js","kind":"module","text":"import * as e from \"react\";\nimport t, { Children as n, Component as r, Fragment as i, createContext as a, createElement as o, forwardRef as s, isValidElement as c, useCallback as l, useContext as u, useEffect as d, useId as f, useInsertionEffect as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _ } from \"react\";\nimport { Fragment as v, jsx as y, jsxs as b } from \"react/jsx-runtime\";\n//#region \\0rolldown/runtime.js\nvar x = Object.defineProperty, S = Object.getOwnPropertyDescriptor, C = Object.getOwnPropertyNames, w = Object.prototype.hasOwnProperty, ee = (e, t) => () => (e && (t = e(e = 0)), t), T = (e, t) => {\n\tlet n = {};\n\tfor (var r in e) x(n, r, {\n\t\tget: e[r],\n\t\tenumerable: !0\n\t});\n\treturn t || x(n, Symbol.toStringTag, { value: \"Module\" }), n;\n}, te = (e, t, n, r) => {\n\tif (t && typeof t == \"object\" || typeof t == \"function\") for (var i = C(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !w.call(e, s) && s !== n && x(e, s, {\n\t\tget: ((e) => t[e]).bind(null, s),\n\t\tenumerable: !(r = S(t, s)) || r.enumerable\n\t});\n\treturn e;\n}, ne = (e) => w.call(e, \"module.exports\") ? e[\"module.exports\"] : te(x({}, \"__esModule\", { value: !0 }), e);\n//#endregion\n//#region src/utils/externalOrder.ts\nfunction re(e, t) {\n\tlet n = () => /* @__PURE__ */ Error();\n\tif (!Number.isInteger(t.slippageBps) || t.slippageBps < 0 || t.slippageBps > 5e3 || !e || typeof e != \"object\") throw n();\n\tlet r = Object.fromEntries(Object.entries(e));\n\tfor (let e of [\n\t\t\"inputMint\",\n\t\t\"outputMint\",\n\t\t\"taker\",\n\t\t\"slippageBps\"\n\t]) if (r[e] !== t[e]) throw n();\n\tlet i = (e) => typeof e == \"string\" && /^\\d+$/.test(e) && BigInt(e) > 0n;\n\tif (r.inAmount !== t.amount || !i(r.outAmount) || !i(r.otherAmountThreshold) || BigInt(r.otherAmountThreshold) > BigInt(r.outAmount) || BigInt(r.otherAmountThreshold) < BigInt(r.outAmount) * BigInt(1e4 - t.slippageBps) / 10000n || typeof r.requestId != \"string\" || !/^[a-zA-Z0-9_-]{8,128}$/.test(r.requestId) || typeof r.transaction != \"string\" || !/^[A-Za-z0-9+/]{128,4096}={0,2}$/.test(r.transaction)) throw n();\n\tlet a = (e, t = !1) => {\n\t\tlet i = r[e];\n\t\tif (typeof i != \"number\" || !Number.isFinite(i) || !t && i < 0) throw n();\n\t\treturn i;\n\t}, o = (e) => {\n\t\tlet t = a(e);\n\t\tif (!Number.isSafeInteger(t)) throw n();\n\t\treturn t;\n\t};\n\tif (r.expireAt !== void 0 && (typeof r.expireAt != \"string\" || !Number.isFinite(Date.parse(r.expireAt)))) throw n();\n\treturn {\n\t\t...t,\n\t\toutAmount: r.outAmount,\n\t\totherAmountThreshold: r.otherAmountThreshold,\n\t\trequestId: r.requestId,\n\t\ttransaction: r.transaction,\n\t\tpriceImpactPct: a(\"priceImpactPct\", !0),\n\t\tfeeBps: o(\"feeBps\"),\n\t\tsignatureFeeLamports: o(\"signatureFeeLamports\"),\n\t\tprioritizationFeeLamports: o(\"prioritizationFeeLamports\"),\n\t\trentFeeLamports: o(\"rentFeeLamports\"),\n\t\t...typeof r.expireAt == \"string\" ? { expireAt: r.expireAt } : {}\n\t};\n}\nfunction ie(e) {\n\tif (!e || typeof e != \"object\" || !(\"status\" in e) || !(\"signature\" in e) || typeof e.signature != \"string\") throw Error();\n\tif (e.status === \"confirmed\" && /^[1-9A-HJ-NP-Za-km-z]{64,88}$/.test(e.signature)) return {\n\t\tstatus: \"confirmed\",\n\t\tsignature: e.signature\n\t};\n\tif (e.status === \"failed\" && (!e.signature || /^[1-9A-HJ-NP-Za-km-z]{64,88}$/.test(e.signature))) return {\n\t\tstatus: \"failed\",\n\t\tsignature: e.signature\n\t};\n\tthrow Error();\n}\nfunction ae(e) {\n\treturn e && typeof e == \"object\" && \"status\" in e && e.status === \"pending\" && \"signature\" in e && typeof e.signature == \"string\" && /^[1-9A-HJ-NP-Za-km-z]{64,88}$/.test(e.signature) ? {\n\t\tstatus: \"pending\",\n\t\tsignature: e.signature\n\t} : ie(e);\n}\n//#endregion\n//#region src/utils/apiClient.ts\nvar oe = class {\n\tconstructor(e, t, n) {\n\t\tthis.baseUrl = e, this.tokenFn = t, this.apiKey = n;\n\t}\n\tasync request(e, t) {\n\t\tlet n = {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t...t?.headers\n\t\t}, r = this.tokenFn?.();\n\t\tr && (n.Authorization = `Bearer ${r}`), this.apiKey && (n[\"x-api-key\"] = this.apiKey);\n\t\tlet i = await fetch(`${this.baseUrl}${e}`, {\n\t\t\t...t,\n\t\t\theaders: n\n\t\t});\n\t\tif (!i.ok) {\n\t\t\tlet e = ce(await i.json().catch(() => null), i.status, i.statusText);\n\t\t\tthrow new se(i.status, e.code, e.message);\n\t\t}\n\t\treturn i.json();\n\t}\n\tget(e) {\n\t\treturn this.request(e);\n\t}\n\tpost(e, t, n) {\n\t\treturn this.request(e, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify(t),\n\t\t\t...n ? { signal: n } : {}\n\t\t});\n\t}\n\tgetTokens(e, t) {\n\t\treturn this.post(\"/tokens\", {\n\t\t\top: \"list\",\n\t\t\tcategory: e\n\t\t}, t);\n\t}\n\tgetToken(e) {\n\t\treturn this.post(\"/tokens\", {\n\t\t\top: \"get\",\n\t\t\tmint: e\n\t\t});\n\t}\n\tgetExternalOrder(e) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"external-order\",\n\t\t\t...e\n\t\t}).then((t) => re(t, e));\n\t}\n\texecuteExternalOrder(e, t) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"external-execute\",\n\t\t\tsignedTransaction: e,\n\t\t\trequestId: t\n\t\t}).then(ie);\n\t}\n\tgetExternalStatus(e) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"external-status\",\n\t\t\tsignature: e\n\t\t}).then((t) => {\n\t\t\tlet n = ae(t);\n\t\t\tif (n.signature !== e) throw new se(502, \"invalid_response\", \"Transaction status mismatch\");\n\t\t\treturn n;\n\t\t});\n\t}\n\tgetQuote(e) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"quote\",\n\t\t\t...e\n\t\t}).then((t) => ue(t, e));\n\t}\n\tgetSwapDefaults(e) {\n\t\treturn this.post(\"/swap\", { op: \"defaults\" }, e);\n\t}\n\tbuildSwap(e, t) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"build\",\n\t\t\tquote: e,\n\t\t\tuserPublicKey: t\n\t\t});\n\t}\n\tcompareQuotes(e, t, n, r, i) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"compare\",\n\t\t\tinputMint: e,\n\t\t\toutputMint: t,\n\t\t\tamount: n,\n\t\t\tslippageBps: r\n\t\t}, i).then((i) => de(i, {\n\t\t\tinputMint: e,\n\t\t\toutputMint: t,\n\t\t\tamount: n,\n\t\t\tslippageBps: r\n\t\t}));\n\t}\n\texecuteSwap(e, t, n) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"execute\",\n\t\t\tsignedTransaction: e,\n\t\t\tprovider: t,\n\t\t\trequestId: n\n\t\t});\n\t}\n\tsimulateSwap(e) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"simulate\",\n\t\t\tsignedTransaction: e\n\t\t}).then(le);\n\t}\n\tgetSwapRoutes() {\n\t\treturn this.post(\"/swap\", { op: \"routes\" });\n\t}\n\tgetProviders() {\n\t\treturn this.post(\"/swap\", { op: \"providers\" });\n\t}\n\tgetPrice(e, t) {\n\t\treturn this.post(\"/prices\", {\n\t\t\top: \"mint\",\n\t\t\tmint: e\n\t\t}, t);\n\t}\n\tasync getPriceBySymbol(e) {\n\t\tlet t = (await this.getTokens()).tokens.find((t) => t.symbol.toLowerCase() === e.toLowerCase());\n\t\tif (!t) throw new se(404, \"not_found\", \"token symbol not found\");\n\t\treturn this.post(\"/prices\", {\n\t\t\top: \"mint\",\n\t\t\tmint: t.mint,\n\t\t\tcoingeckoId: t.coingeckoId\n\t\t});\n\t}\n\tgetBatchPrices(e, t) {\n\t\treturn this.post(\"/prices\", {\n\t\t\top: \"batch\",\n\t\t\tmints: e\n\t\t}, t);\n\t}\n\tbuildTransfer(e) {\n\t\treturn this.post(\"/transfers\", {\n\t\t\top: \"build\",\n\t\t\t...e\n\t\t});\n\t}\n\texecuteTransfer(e) {\n\t\treturn this.post(\"/transfers\", {\n\t\t\top: \"execute\",\n\t\t\tsignedTransaction: e,\n\t\t\tprovider: \"rpc\"\n\t\t});\n\t}\n\texecuteTransaction(e, t = \"rpc\", n) {\n\t\treturn this.post(\"/swap\", {\n\t\t\top: \"execute\",\n\t\t\tsignedTransaction: e,\n\t\t\tprovider: t,\n\t\t\trequestId: n\n\t\t});\n\t}\n\tresolveAddress(e) {\n\t\treturn this.post(\"/transfers\", {\n\t\t\top: \"resolve\",\n\t\t\taddress: e\n\t\t});\n\t}\n\tcreateLimitOrder(e) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"limit\",\n\t\t\t...e\n\t\t});\n\t}\n\tcreateStopLoss(e) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"stop-loss\",\n\t\t\t...e\n\t\t});\n\t}\n\tcreateTakeProfit(e) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"take-profit\",\n\t\t\t...e\n\t\t});\n\t}\n\tcreateDca(e) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"dca\",\n\t\t\t...e\n\t\t});\n\t}\n\tcancelOrder(e, t) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"cancel\",\n\t\t\torderId: e,\n\t\t\tmaker: t\n\t\t});\n\t}\n\tcreateTrailingStop(e) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"trailing-stop\",\n\t\t\t...e\n\t\t});\n\t}\n\tcreateOco(e) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"oco\",\n\t\t\t...e\n\t\t});\n\t}\n\tcreateBracket(e) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"bracket\",\n\t\t\t...e\n\t\t});\n\t}\n\tgetOpenOrders(e, t) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"open\",\n\t\t\twallet: e\n\t\t}, t);\n\t}\n\tgetMonitoredOrders(e, t) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"monitored\",\n\t\t\twallet: e\n\t\t}, t);\n\t}\n\tgetExecutions(e, t) {\n\t\treturn this.post(\"/orders\", {\n\t\t\top: \"executions\",\n\t\t\torderId: e,\n\t\t\twallet: t\n\t\t});\n\t}\n\tasync getPositions(e, t) {\n\t\treturn _e(await this.post(\"/positions\", {\n\t\t\top: \"balances\",\n\t\t\taddress: e\n\t\t}, t));\n\t}\n\tgetPnl(e, t) {\n\t\treturn this.post(\"/positions\", {\n\t\t\top: \"pnl\",\n\t\t\taddress: e\n\t\t}, t);\n\t}\n\tgetTradeHistory(e, t, n, r) {\n\t\treturn this.post(\"/positions\", {\n\t\t\top: \"history\",\n\t\t\taddress: e,\n\t\t\tmint: t,\n\t\t\tlimit: n\n\t\t}, r).then((e) => ({ trades: e.trades ?? e.history ?? [] }));\n\t}\n\tgetOrderbook(e, t) {\n\t\treturn this.post(\"/orderbook\", {\n\t\t\top: \"book\",\n\t\t\tmarket: e\n\t\t}, t);\n\t}\n\tfindMarkets(e, t) {\n\t\treturn this.post(\"/orderbook\", {\n\t\t\top: \"markets\",\n\t\t\tbaseMint: e,\n\t\t\tquoteMint: t\n\t\t});\n\t}\n\tplaceManifestOrder(e) {\n\t\treturn this.post(\"/orderbook\", {\n\t\t\top: \"place\",\n\t\t\t...e\n\t\t});\n\t}\n\tgetPendingActions(e, t) {\n\t\treturn this.post(\"/actions\", {\n\t\t\top: \"list\",\n\t\t\twallet: e\n\t\t}, t);\n\t}\n\tcompleteAction(e, t, n) {\n\t\treturn this.post(\"/actions\", {\n\t\t\top: \"complete\",\n\t\t\tactionId: e,\n\t\t\twallet: n,\n\t\t\tsignature: t\n\t\t});\n\t}\n\tdismissAction(e, t) {\n\t\treturn this.post(\"/actions\", {\n\t\t\top: \"dismiss\",\n\t\t\tactionId: e,\n\t\t\twallet: t\n\t\t});\n\t}\n\tgetHealth() {\n\t\treturn this.get(\"/health\");\n\t}\n}, se = class extends Error {\n\tconstructor(e, t, n) {\n\t\tsuper(n), this.status = e, this.code = t, this.name = \"TradeApiError\";\n\t}\n};\nfunction ce(e, t, n) {\n\tif (e && typeof e == \"object\") {\n\t\tlet r = e;\n\t\tif (typeof r.error == \"string\") return {\n\t\t\tcode: r.error,\n\t\t\tmessage: String(r.detail ?? r.message ?? n)\n\t\t};\n\t\tif (r.error && typeof r.error == \"object\") {\n\t\t\tlet e = r.error;\n\t\t\treturn {\n\t\t\t\tcode: String(e.code ?? Se(t)),\n\t\t\t\tmessage: String(e.message ?? r.detail ?? n)\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tcode: Se(t),\n\t\tmessage: n\n\t};\n}\nfunction le(e) {\n\tlet t = () => new se(502, \"PROVIDER_ERROR\", \"Invalid simulation response\");\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) throw t();\n\tlet n = ve(e.simulation), r = n ? ye(n, \"err\") : void 0, i = e.error ?? r, a = typeof e.success == \"boolean\" ? e.success : typeof e.ok == \"boolean\" ? e.ok : r === void 0 ? void 0 : r === null;\n\tif (a === void 0 || a && i != null) throw t();\n\tlet o = Array.isArray(e.logs) ? e.logs : xe(n, \"logs\"), s = typeof e.unitsConsumed == \"number\" ? e.unitsConsumed : be(n, \"unitsConsumed\");\n\treturn {\n\t\tsuccess: a,\n\t\t...o ? { logs: o } : {},\n\t\t...typeof s == \"number\" ? { unitsConsumed: s } : {},\n\t\t...!a && i !== void 0 ? { error: i } : {},\n\t\t...e.simulation === void 0 ? {} : { simulation: e.simulation }\n\t};\n}\nfunction ue(e, t) {\n\tlet n = fe(e, t);\n\tif (!n) throw ge();\n\treturn n;\n}\nfunction de(e, t) {\n\tif (!Array.isArray(e)) throw ge();\n\tlet n = /* @__PURE__ */ new Map();\n\tfor (let r of e) {\n\t\tlet e = fe(r, t);\n\t\tif (!e) continue;\n\t\tlet i = e.provider.toLocaleLowerCase(\"en-US\"), a = n.get(i);\n\t\t(!a || BigInt(e.outAmount) > BigInt(a.outAmount)) && n.set(i, e);\n\t}\n\tlet r = [...n.values()];\n\tif (r.sort((e, t) => he(t.outAmount, e.outAmount)), r.length === 0) throw ge();\n\treturn r;\n}\nfunction fe(e, t) {\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) return null;\n\tlet n = e, r = typeof n.provider == \"string\" ? n.provider.trim() : \"\";\n\tif (!r || t.provider && r !== t.provider || n.inputMint !== t.inputMint || n.outputMint !== t.outputMint || n.inAmount !== t.amount || !me(n.inAmount) || !me(n.outAmount) || n.otherAmountThreshold !== void 0 && n.otherAmountThreshold !== null && (!pe(n.otherAmountThreshold) || BigInt(n.otherAmountThreshold) > BigInt(n.outAmount)) || typeof n.priceImpactPct != \"number\" || !Number.isFinite(n.priceImpactPct)) return null;\n\tlet i = n.slippageBps;\n\treturn typeof i != \"number\" || !Number.isInteger(i) || i < 0 || i > 5e3 || t.slippageBps !== void 0 && i !== t.slippageBps || typeof n.gasless != \"boolean\" ? null : {\n\t\tprovider: r,\n\t\tinputMint: t.inputMint,\n\t\toutputMint: t.outputMint,\n\t\tinAmount: t.amount,\n\t\toutAmount: n.outAmount,\n\t\t...typeof n.otherAmountThreshold == \"string\" ? { otherAmountThreshold: n.otherAmountThreshold } : {},\n\t\tpriceImpactPct: n.priceImpactPct,\n\t\tslippageBps: i,\n\t\t...n.routeData === void 0 ? {} : { routeData: n.routeData },\n\t\tgasless: n.gasless\n\t};\n}\nfunction pe(e) {\n\treturn typeof e == \"string\" && /^\\d+$/.test(e);\n}\nfunction me(e) {\n\treturn pe(e) && BigInt(e) > 0n;\n}\nfunction he(e, t) {\n\tlet n = BigInt(e), r = BigInt(t);\n\treturn n < r ? -1 : +(n > r);\n}\nfunction ge() {\n\treturn new se(502, \"PROVIDER_ERROR\", \"No provider returned a valid quote\");\n}\nfunction _e(e) {\n\treturn {\n\t\tholdings: [e.solBalance, ...e.tokens ?? []].filter(Boolean).map((e) => ({\n\t\t\tmint: e.mint,\n\t\t\tsymbol: e.symbol ?? void 0,\n\t\t\tbalance: e.amount,\n\t\t\tdecimals: e.decimals,\n\t\t\tuiBalance: String(e.uiAmount ?? \"0\")\n\t\t})),\n\t\topenOrders: 0,\n\t\ttotalValue: \"0\",\n\t\tdegraded: e.degraded ?? !1\n\t};\n}\nfunction ve(e) {\n\treturn !e || typeof e != \"object\" || Array.isArray(e) ? null : e;\n}\nfunction ye(e, t) {\n\treturn e?.[t];\n}\nfunction be(e, t) {\n\tlet n = ye(e, t);\n\treturn typeof n == \"number\" ? n : void 0;\n}\nfunction xe(e, t) {\n\tlet n = ye(e, t);\n\treturn Array.isArray(n) && n.every((e) => typeof e == \"string\") ? n : void 0;\n}\nfunction Se(e) {\n\treturn e === 401 || e === 403 ? \"UNAUTHORIZED\" : e === 429 ? \"RATE_LIMITED\" : e >= 400 && e < 500 ? \"BAD_REQUEST\" : e >= 500 ? \"PROVIDER_ERROR\" : \"UNKNOWN\";\n}\nfunction Ce(e) {\n\treturn typeof e == \"object\" && !!e && \"name\" in e && e.name === \"AbortError\";\n}\n//#endregion\n//#region src/i18n/messages.ts\nvar we = {\n\t\"jupiter.enable\": \"Allow swaps signed by visitors in their existing Solana wallets\",\n\t\"jupiter.policyLoading\": \"Checking swap availability…\",\n\t\"jupiter.policyUnavailable\": \"Swap availability could not be checked. Retry before connecting your wallet.\",\n\t\"jupiter.reviewValidity\": \"This quote is valid for up to one minute. If it expires, review a fresh quote before signing.\",\n\t\"jupiter.reviewExpired\": \"This quote expired. Review a fresh quote to continue. No swap was submitted.\",\n\t\"jupiter.eyebrow\": \"Solana trading\",\n\t\"jupiter.title\": \"Swap tokens\",\n\t\"jupiter.description\": \"Connect your Solana wallet, compare the current exchange rate, and review your swap with Jupiter.\",\n\t\"jupiter.approval\": \"Your wallet asks you to approve each swap. Review the tokens, amount, fees, and minimum received before signing.\",\n\t\"jupiter.connect\": \"Connect your Solana wallet\",\n\t\"jupiter.disconnect\": \"Disconnect from this page\",\n\t\"jupiter.noWallet\": \"Open this page in your Phantom or Solflare wallet browser, or enable a compatible Solana wallet extension.\",\n\t\"jupiter.connectFailed\": \"The wallet connection was not completed. Try again in your wallet.\",\n\t\"jupiter.orderFailed\": \"No executable quote is available. Check your amount and wallet balance, then try again.\",\n\t\"jupiter.disabled\": \"Swaps are currently unavailable on this site. No new swap was submitted. Try again after the site owner enables them.\",\n\t\"jupiter.signFailed\": \"The swap was not submitted. Wallet approval was declined, the quote expired, or the wallet changed. Review a fresh quote to continue.\",\n\t\"jupiter.unknown\": \"The swap status is not confirmed yet. Check the same transaction before starting another swap.\",\n\t\"jupiter.walletRecovery\": \"You can also check your wallet activity. Leaving this page does not cancel a submitted transaction. After returning, check its status here or verify the outcome in your wallet.\",\n\t\"jupiter.acknowledge\": \"I verified the outcome in my wallet — stop tracking here\",\n\t\"jupiter.recoveryUnavailable\": \"This browser cannot save recovery information. Keep this page open until the transaction status is known.\",\n\t\"jupiter.pay\": \"You pay\",\n\t\"jupiter.amount\": \"Amount\",\n\t\"jupiter.receive\": \"You receive\",\n\t\"jupiter.review\": \"Review swap\",\n\t\"jupiter.working\": \"Working…\",\n\t\"jupiter.reviewTitle\": \"Review your swap\",\n\t\"jupiter.minimum\": \"Minimum received\",\n\t\"jupiter.impact\": \"Price impact\",\n\t\"jupiter.fee\": \"Swap fee\",\n\t\"jupiter.network\": \"Estimated network and account fees\",\n\t\"jupiter.approve\": \"Approve in wallet\",\n\t\"jupiter.checkStatus\": \"Check transaction status\",\n\t\"jupiter.confirmed\": \"Swap confirmed.\",\n\t\"jupiter.failed\": \"The swap failed. Network fees may still apply. Review a new quote before trying again.\",\n\t\"jupiter.explorer\": \"View transaction\",\n\t\"common.loading\": \"Loading...\",\n\t\"common.close\": \"Close\",\n\t\"common.dismiss\": \"Dismiss\",\n\t\"common.remove\": \"Remove\",\n\t\"common.cancel\": \"Cancel\",\n\t\"common.save\": \"Save\",\n\t\"common.create\": \"Create\",\n\t\"common.refresh\": \"Refresh\",\n\t\"common.retry\": \"Retry\",\n\t\"common.updated\": \"Updated {time}\",\n\t\"common.actions\": \"Actions\",\n\t\"common.status\": \"Status\",\n\t\"common.ready\": \"Ready\",\n\t\"common.unknown\": \"unknown\",\n\t\"common.none\": \"none\",\n\t\"common.notSet\": \"not set\",\n\t\"common.optional\": \"optional\",\n\t\"common.defaultLimit\": \"default limit\",\n\t\"common.unavailable\": \"Unavailable\",\n\t\"common.milliseconds\": \"{value} ms\",\n\t\"common.minutesShort\": \"{value} min\",\n\t\"common.secondsShort\": \"{value} s\",\n\t\"errors.requestFailed\": \"The request did not go through. Check your connection and try again.\",\n\t\"errors.unauthorized\": \"You do not have permission to perform this action.\",\n\t\"errors.rateLimited\": \"Too many requests. Wait a moment and try again.\",\n\t\"errors.invalidMint\": \"Enter a valid token address.\",\n\t\"errors.invalidAmount\": \"Enter a valid amount.\",\n\t\"errors.tokenNotFound\": \"That token could not be found.\",\n\t\"errors.noProviders\": \"No swap providers are available right now. Try again later or contact the site owner.\",\n\t\"errors.indexerNotConfigured\": \"Portfolio data is not connected for this site yet.\",\n\t\"errors.badRequest\": \"The request was rejected. Review your input and try again.\",\n\t\"errors.provider\": \"A trading service is temporarily unavailable. Try again in a moment.\",\n\t\"errors.rpc\": \"Could not reach the Solana network. Try again shortly.\",\n\t\"errors.config\": \"Cedros Trade is not fully set up yet. Contact the site owner.\",\n\t\"errors.upstreamTimeout\": \"A service took too long to respond. Try again shortly.\",\n\t\"autosave.unsaved\": \"Unsaved changes\",\n\t\"autosave.saving\": \"Saving...\",\n\t\"autosave.saved\": \"Saved just now\",\n\t\"autosave.idle\": \"Saved\",\n\t\"autosave.offline\": \"Offline - changes will sync\",\n\t\"autosave.conflict\": \"Conflict - review changes\",\n\t\"autosave.failed\": \"Save failed - retry\",\n\t\"autosave.review\": \"Review\",\n\t\"autosave.discard\": \"Discard local changes\",\n\t\"admin.group.tools\": \"Tools\",\n\t\"admin.group.settings\": \"Settings\",\n\t\"admin.group.extensionSettings\": \"Extension Settings\",\n\t\"admin.nav.overview\": \"Overview\",\n\t\"admin.nav.providers\": \"Quote routes\",\n\t\"admin.nav.tokens\": \"Token registry\",\n\t\"admin.nav.monitor\": \"Future automation\",\n\t\"admin.nav.settings\": \"Trade settings\",\n\t\"admin.overview.title\": \"Quote preview\",\n\t\"admin.overview.totalQuotes\": \"Total quotes\",\n\t\"admin.overview.totalSwaps\": \"Total swaps\",\n\t\"admin.overview.monitorMode\": \"Monitor mode\",\n\t\"admin.overview.serviceStatus\": \"Service status\",\n\t\"admin.overview.executionsSucceeded\": \"Executions succeeded\",\n\t\"admin.overview.executionsFailed\": \"Executions failed\",\n\t\"admin.overview.executionFailureRate\": \"Execution failure rate\",\n\t\"admin.overview.description\": \"Confirm that visitors can receive a current, owner-approved Solana conversion estimate before publishing the quote page.\",\n\t\"admin.overview.activityTitle\": \"Future transaction diagnostics\",\n\t\"admin.overview.activityBody\": \"These dry-run order and execution counts are retained for future wallet integration. They are not required to publish the quote preview.\",\n\t\"admin.overview.emptyTitle\": \"Runtime data unavailable\",\n\t\"admin.overview.emptyBody\": \"Bind the Cedros Trade server routes to populate health and metric summaries.\",\n\t\"admin.readiness.title\": \"Launch readiness\",\n\t\"admin.readiness.description\": \"Verify the same runtime, token policy, and provider comparison that visitors use on the quote page.\",\n\t\"admin.readiness.quoteReady\": \"Quote preview ready\",\n\t\"admin.readiness.needsAttention\": \"Quote preview needs attention\",\n\t\"admin.readiness.ready\": \"Ready\",\n\t\"admin.readiness.blocked\": \"Blocked\",\n\t\"admin.readiness.notChecked\": \"Not checked\",\n\t\"admin.readiness.runtime\": \"Trade runtime\",\n\t\"admin.readiness.runtimeReady\": \"The packaged Wasm route is responding.\",\n\t\"admin.readiness.runtimeBlocked\": \"The packaged Wasm route is not responding.\",\n\t\"admin.readiness.provider\": \"Launch-pair routes\",\n\t\"admin.readiness.providerReady\": \"All {responded} of {expected} approved routes returned a quote for the launch pair, {pair}.\",\n\t\"admin.readiness.providerPartial\": \"{responded} of {expected} approved routes returned a quote for the launch pair, {pair}. Missing: {providers}. Retry or disable a route the site does not intend to offer.\",\n\t\"admin.readiness.providerUnknown\": \"The approved route policy could not be loaded, so complete coverage cannot be verified. Retry before publishing.\",\n\t\"admin.readiness.providerBlocked\": \"No enabled provider returned a quote for the launch pair, {pair}. Review quote-route access and try again.\",\n\t\"admin.readiness.providerWaiting\": \"The launch-pair quote will be checked after the token policy is available and includes a compatible pair.\",\n\t\"admin.readiness.defaultPair\": \"Launch pair unavailable\",\n\t\"admin.readiness.sampleReady\": \"What a visitor would see now\",\n\t\"admin.readiness.samplePartial\": \"Best estimate from responding routes\",\n\t\"admin.readiness.sampleEstimate\": \"{input} {inputSymbol} → {output} {outputSymbol} via {provider}\",\n\t\"admin.readiness.sampleImpact\": \"Price impact {impact}\",\n\t\"admin.readiness.sampleMinimum\": \"Minimum received {amount} {symbol}\",\n\t\"admin.readiness.scope\": \"This check uses one unit of the displayed launch pair. Other approved pairs and amounts are quoted when visitors enter them; this is a current estimate, not a guarantee or a transaction.\",\n\t\"admin.readiness.tokens\": \"Token policy\",\n\t\"admin.readiness.tokenCount\": \"{count} reviewed tokens are available.\",\n\t\"admin.readiness.tokensUnavailable\": \"The approved token policy could not be loaded. Retry before publishing.\",\n\t\"admin.readiness.tokensIncomplete\": \"Only {count} reviewed token entries are available. Add at least two compatible tokens before publishing.\",\n\t\"admin.readiness.transactions\": \"Wallet transactions\",\n\t\"admin.readiness.transactionsBlocked\": \"General swap and order signing are not available through a documented Cedros public-block contract. Keep transactional pages unpublished; quote preview can still be used when the checks above pass.\",\n\t\"admin.readiness.hostHandoff\": \"Host handoff required\",\n\t\"admin.readiness.publishNext\": \"The quote path is ready. In Cedros Pages, review the unpublished Solana Quote Preview draft and publish it when it is right for this site.\",\n\t\"admin.readiness.recheck\": \"Run check again\",\n\t\"admin.readiness.checking\": \"Checking…\",\n\t\"admin.readiness.checkedAt\": \"Checked {time}\",\n\t\"admin.integrations.title\": \"Integration boundaries\",\n\t\"admin.integrations.description\": \"Review the official Cedros contracts that own identity, CRM, checkout, subscriptions, and payment rails before enabling production traffic.\",\n\t\"admin.integrations.loginUser\": \"Cedros Login user context\",\n\t\"admin.integrations.loginAdmin\": \"Cedros Login admin auth\",\n\t\"admin.integrations.crmProfile\": \"CRM profiles and tags\",\n\t\"admin.integrations.payBoundary\": \"Cedros Pay checkout boundary\",\n\t\"admin.integrations.available\": \"Available\",\n\t\"admin.integrations.missing\": \"Missing\",\n\t\"admin.integrations.hostOwned\": \"Host-owned\",\n\t\"admin.integrations.notConsumed\": \"Not consumed\",\n\t\"admin.integrations.audited\": \"Audited\",\n\t\"admin.integrations.paySummary\": \"Cedros Trade does not create checkout, subscription, x402, Stripe, refund, dispute, or paid-access flows. Any future commerce or entitlement gate must depend on Cedros Pay 2.0 contracts and fail closed when Pay state is missing, pending, failed, refunded, disputed, stale, or unavailable.\",\n\t\"admin.providers.title\": \"Quote routes\",\n\t\"admin.providers.description\": \"Choose which approved providers visitors compare, and keep unavailable routes disabled until host access is configured.\",\n\t\"admin.providers.healthy\": \"Healthy\",\n\t\"admin.providers.unhealthy\": \"Unhealthy\",\n\t\"admin.providers.notChecked\": \"Not checked\",\n\t\"admin.providers.notCheckedBody\": \"This provider has no lightweight health probe. Launch readiness verifies it with a real comparison quote.\",\n\t\"admin.providers.dflowCredentialMissing\": \"DFlow is unavailable until the host stores its API credential.\",\n\t\"admin.providers.configureDflowFirst\": \"Configure the host-managed dflowApiKey secret before enabling DFlow.\",\n\t\"admin.providers.gasless\": \"Gasless\",\n\t\"admin.providers.mevProtected\": \"MEV-protected\",\n\t\"admin.providers.enabled\": \"Enabled\",\n\t\"admin.providers.disabled\": \"Disabled\",\n\t\"admin.providers.enable\": \"Enable\",\n\t\"admin.providers.disable\": \"Disable\",\n\t\"admin.providers.enabling\": \"Enabling…\",\n\t\"admin.providers.disabling\": \"Disabling…\",\n\t\"admin.providers.enabledSuccess\": \"{provider} enabled for visitor quotes.\",\n\t\"admin.providers.disabledSuccess\": \"{provider} disabled for visitor quotes.\",\n\t\"admin.providers.toggleError\": \"Could not update providers. No change was saved — try again.\",\n\t\"admin.providers.keepOne\": \"Keep at least one provider enabled so visitors can request quotes.\",\n\t\"admin.providers.emptyTitle\": \"No providers returned\",\n\t\"admin.providers.emptyBody\": \"Provider records appear after the server route and approved upstream bindings are available.\",\n\t\"admin.tokens.title\": \"Token registry\",\n\t\"admin.tokens.description\": \"Review which tokens visitors can select in the public quote preview.\",\n\t\"admin.tokens.count\": \"{count} tokens\",\n\t\"admin.tokens.count.one\": \"{count} token\",\n\t\"admin.tokens.add\": \"Add token\",\n\t\"admin.tokens.addTitle\": \"Add token\",\n\t\"admin.tokens.editTitle\": \"Edit {symbol}\",\n\t\"admin.tokens.saveChanges\": \"Save changes\",\n\t\"admin.tokens.search\": \"Filter tokens…\",\n\t\"admin.tokens.mintPlaceholder\": \"Mint address\",\n\t\"admin.tokens.symbolPlaceholder\": \"Symbol (e.g. SOL)\",\n\t\"admin.tokens.namePlaceholder\": \"Name (e.g. Solana)\",\n\t\"admin.tokens.decimalsPlaceholder\": \"Decimals\",\n\t\"admin.tokens.logoUrlPlaceholder\": \"Logo URL\",\n\t\"admin.tokens.coingeckoIdPlaceholder\": \"CoinGecko ID\",\n\t\"admin.tokens.tradingviewSymbolPlaceholder\": \"TradingView symbol\",\n\t\"admin.tokens.categoriesPlaceholder\": \"Categories (comma-separated)\",\n\t\"admin.tokens.tableToken\": \"Token\",\n\t\"admin.tokens.tableMint\": \"Mint\",\n\t\"admin.tokens.tableDecimals\": \"Dec\",\n\t\"admin.tokens.tableCategories\": \"Categories\",\n\t\"admin.tokens.edit\": \"Edit\",\n\t\"admin.tokens.delete\": \"Delete token\",\n\t\"admin.tokens.moreActions\": \"More actions for {symbol}\",\n\t\"admin.tokens.clearSearch\": \"Clear search\",\n\t\"admin.tokens.confirmDelete\": \"Delete {symbol} token?\",\n\t\"admin.tokens.added\": \"Token added.\",\n\t\"admin.tokens.updated\": \"Token updated.\",\n\t\"admin.tokens.removed\": \"Token removed.\",\n\t\"admin.tokens.restored\": \"Default tokens restored.\",\n\t\"admin.tokens.restoreDefaults\": \"Restore default tokens\",\n\t\"admin.tokens.registryChanged\": \"The token registry changed. Review the refreshed tokens before saving again. Your draft is still here.\",\n\t\"admin.tokens.errorMissing\": \"This token is no longer in the registry. Cancel this edit to return to the current tokens.\",\n\t\"admin.tokens.failed\": \"Could not save token registry\",\n\t\"admin.tokens.emptyTitle\": \"No tokens yet\",\n\t\"admin.tokens.emptyBody\": \"Add at least two approved tokens so visitors can request a conversion estimate. New tokens save once the token registry route is bound.\",\n\t\"admin.tokens.noSearchResultsTitle\": \"No tokens match your search\",\n\t\"admin.tokens.noSearchResultsBody\": \"No registered token matches “{term}”. Clear the search to see all tokens.\",\n\t\"admin.tokens.deletePendingTitle\": \"Confirm token removal\",\n\t\"admin.tokens.deletePendingBody\": \"This removes mint {mint} from the registry and can make the public quote page hide or reject it. This cannot be undone.\",\n\t\"admin.tokens.errorRequired\": \"Mint, symbol, name, and decimals are required.\",\n\t\"admin.tokens.errorDecimals\": \"Decimals must be an integer from 0 to 18.\",\n\t\"admin.tokens.errorDuplicateMint\": \"A token with that mint already exists.\",\n\t\"admin.tokens.errorMinimum\": \"Keep at least two approved assets so visitors can compare a conversion.\",\n\t\"admin.tokens.errorLimit\": \"The token registry supports at most 100 approved assets.\",\n\t\"admin.tokens.errorMetadataLength\": \"Symbol and token metadata are too long.\",\n\t\"admin.tokens.errorLogoUrl\": \"Logo URL must be a valid HTTPS URL.\",\n\t\"admin.tokens.errorCategories\": \"Use at most 16 categories, with no more than 32 characters per category.\",\n\t\"admin.monitor.title\": \"Price monitor\",\n\t\"admin.monitor.description\": \"Inspect monitored-order volume, poll cadence, execution totals, and dry-run status before automation is enabled.\",\n\t\"admin.monitor.resume\": \"Resume\",\n\t\"admin.monitor.pause\": \"Pause\",\n\t\"admin.monitor.activeOrders\": \"Active orders\",\n\t\"admin.monitor.pollInterval\": \"Poll interval\",\n\t\"admin.monitor.totalExecutions\": \"Total executions\",\n\t\"admin.monitor.paused\": \"Paused\",\n\t\"admin.monitor.running\": \"Running\",\n\t\"admin.monitor.dryRun\": \"Test mode\",\n\t\"admin.monitor.dryRunNoticeTitle\": \"Running in test mode\",\n\t\"admin.monitor.dryRunNoticeBody\": \"The price monitor evaluates orders and records what it would do, but does not place or sign real trades. Live execution stays off until Cedros publishes a general signing contract.\",\n\t\"admin.monitor.emptyTitle\": \"Monitor status unavailable\",\n\t\"admin.monitor.emptyBody\": \"Metrics will appear after the price-monitor job and metrics route are bound.\",\n\t\"admin.settings.title\": \"Trade settings\",\n\t\"admin.settings.description\": \"Choose which quote routes visitors can use and the protection applied by default.\",\n\t\"admin.settings.tabs\": \"Quote settings sections\",\n\t\"admin.settings.runtimeConfig\": \"Quote protection\",\n\t\"admin.settings.runtimeSummary\": \"Quote runtime\",\n\t\"admin.settings.futureAutomationTitle\": \"Future automation\",\n\t\"admin.settings.futureAutomationBody\": \"Optional compatibility diagnostics for monitored orders. Live execution remains unavailable until Cedros publishes verified wallet ownership and a general signing contract.\",\n\t\"admin.settings.saved\": \"Trade settings saved.\",\n\t\"admin.settings.network\": \"Network\",\n\t\"admin.settings.rpcUrl\": \"RPC URL\",\n\t\"admin.settings.jupiterPreview\": \"Jupiter quote preview\",\n\t\"admin.settings.jupiterCompatibility\": \"Jupiter transaction compatibility\",\n\t\"admin.settings.jupiterPrice\": \"Jupiter price\",\n\t\"admin.settings.jupiterKey\": \"Jupiter key\",\n\t\"admin.settings.ultra\": \"Ultra\",\n\t\"admin.settings.dflow\": \"DFlow\",\n\t\"admin.settings.dflowKey\": \"DFlow key\",\n\t\"admin.settings.coingecko\": \"CoinGecko\",\n\t\"admin.settings.coingeckoKey\": \"CoinGecko key\",\n\t\"admin.settings.slippage\": \"Quote protection\",\n\t\"admin.settings.slippageHint\": \"Maximum price movement allowed by the estimate. Keep 0.3% unless this site needs a deliberate exception. Range 0–50%.\",\n\t\"admin.settings.saveSlippage\": \"Save protection\",\n\t\"admin.settings.enabledProviders\": \"Enabled providers: {providers}\",\n\t\"admin.settings.enabledProviderCount\": \"Enabled quote routes\",\n\t\"admin.settings.connectionDetails\": \"Connection details\",\n\t\"admin.settings.errorSlippageRange\": \"Enter a percentage from 0 to 50 with no more than two decimal places.\",\n\t\"admin.settings.secretRedacted\": \"Stored as a secret; value is redacted.\",\n\t\"admin.settings.secretConfigured\": \"Configured; value is redacted.\",\n\t\"admin.status.loadingTitle\": \"Loading\",\n\t\"admin.status.loadingSummary\": \"Checking Cedros Trade status.\",\n\t\"admin.status.permissionTitle\": \"Permission required\",\n\t\"admin.status.permissionSummary\": \"Manage extensions permission is required.\",\n\t\"admin.status.serverUnboundTitle\": \"Server unbound\",\n\t\"admin.status.serverUnboundSummary\": \"Cedros Trade server routes are not configured.\",\n\t\"admin.status.statsUnavailableTitle\": \"Stats unavailable\",\n\t\"admin.status.statsUnavailableSummary\": \"Analytics data is unavailable; route checks still run separately.\",\n\t\"admin.status.analyticsError\": \"Analytics error\",\n\t\"admin.status.statusUnavailableTitle\": \"Status unavailable\",\n\t\"admin.status.retryLater\": \"Retry later\",\n\t\"admin.status.noRuntimeTitle\": \"No runtime data\",\n\t\"admin.status.noRuntimeSummary\": \"Bind the Cedros Trade server routes, then open settings to review providers and tokens.\",\n\t\"admin.status.noData\": \"No data\",\n\t\"admin.status.tradeTitle\": \"Trade status\",\n\t\"admin.status.tradeSummary\": \"Service {serviceStatus}; monitor {monitorStatus}.\",\n\t\"admin.status.quoteTitle\": \"Quote preview\",\n\t\"admin.status.quoteReadySummary\": \"The public quote path is responding through {providerCount} provider routes.\",\n\t\"admin.status.quotePartialSummary\": \"The public quote path is degraded: {responded} of {expected} approved routes responded.\",\n\t\"admin.status.quoteAttentionSummary\": \"The public quote path needs attention. Review runtime, provider access, and token policy before publishing.\",\n\t\"admin.status.runtimeAttentionSummary\": \"The trade runtime is not healthy. Recheck it before publishing the quote page.\",\n\t\"admin.status.tokenPolicyUnavailableSummary\": \"The approved token policy could not be loaded. Retry before publishing the quote page.\",\n\t\"admin.status.tokenPolicyIncompleteSummary\": \"Only {count} reviewed token entries are available. Add a compatible pair before publishing.\",\n\t\"admin.status.providerPolicyUnavailableSummary\": \"The approved route policy could not be loaded, so quote coverage is unknown.\",\n\t\"admin.status.quoteUnavailableSummary\": \"No enabled provider returned a quote for the launch pair. Review quote-route access and retry.\",\n\t\"admin.status.providersQuoted\": \"Routes compared\",\n\t\"admin.status.pairTested\": \"Launch pair\",\n\t\"admin.status.lastChecked\": \"Last checked\",\n\t\"admin.status.activeOrders\": \"Active orders\",\n\t\"admin.status.pendingActions\": \"Pending actions\",\n\t\"admin.status.state\": \"State\",\n\t\"admin.status.openMonitor\": \"Open monitor\",\n\t\"admin.status.unbound\": \"Unbound\",\n\t\"admin.metrics.notMeasured\": \"Not measured yet\",\n\t\"admin.status.service.healthy\": \"Healthy\",\n\t\"admin.status.service.degraded\": \"Degraded\",\n\t\"admin.status.service.ok\": \"OK\",\n\t\"admin.status.service.down\": \"Down\",\n\t\"admin.status.service.unknown\": \"Unknown\",\n\t\"swap.title\": \"Swap\",\n\t\"swap.previewTitle\": \"Conversion estimate\",\n\t\"swap.youPay\": \"You pay\",\n\t\"swap.youReceive\": \"You receive\",\n\t\"swap.switchTokens\": \"Switch tokens\",\n\t\"swap.provider\": \"Provider\",\n\t\"swap.gasless\": \"gasless\",\n\t\"swap.priceImpact\": \"Price impact\",\n\t\"swap.rate\": \"1 {inputSymbol} = {rate} {outputSymbol}\",\n\t\"swap.minReceived\": \"Min received\",\n\t\"swap.connectWallet\": \"Connect Wallet\",\n\t\"swap.previewOnly\": \"Wallet signing unavailable\",\n\t\"swap.signing\": \"Confirm in your wallet…\",\n\t\"swap.complete\": \"Swap Complete\",\n\t\"swap.fetchingQuote\": \"Fetching Quote...\",\n\t\"swap.enterAmount\": \"Enter Amount\",\n\t\"swap.submitAction\": \"Swap {inputAmount} {inputSymbol} → {outputAmount} {outputSymbol}\",\n\t\"swap.selectToken\": \"Select Token\",\n\t\"swap.searchToken\": \"Search by name, symbol, or mint...\",\n\t\"swap.noTokensFound\": \"No tokens found\",\n\t\"swap.favoriteToken\": \"Favorite {symbol}\",\n\t\"swap.unfavoriteToken\": \"Remove {symbol} from favorites\",\n\t\"swap.slippage\": \"Slippage\",\n\t\"swap.slippageRange\": \"Enter a slippage between 0% and 50%.\",\n\t\"swap.custom\": \"Custom\",\n\t\"swap.providerComparison\": \"Provider comparison\",\n\t\"swap.best\": \"Best\",\n\t\"swap.bestAvailable\": \"Best available\",\n\t\"swap.alternatives\": \"Available routes\",\n\t\"swap.bestAdvantage\": \"The best route returns {amount} {outputSymbol} more than the next available route.\",\n\t\"swap.coverageComplete\": \"All {count} approved routes were compared.\",\n\t\"swap.coverageComplete.one\": \"The approved route was compared.\",\n\t\"swap.coveragePartial\": \"Comparison incomplete: {responded} of {expected} approved routes responded. Missing: {providers}. This is the best available estimate; refresh before relying on it.\",\n\t\"swap.coverageUnknown\": \"The approved route list could not be verified. This estimate is still usable, but refresh before relying on it.\",\n\t\"swap.quoteSettings\": \"Quote settings\",\n\t\"swap.quoteReady\": \"Quote ready\",\n\t\"swap.quoteReadyBody\": \"Every approved route responded. This current estimate completes the preview and does not move funds.\",\n\t\"swap.quotePartialBody\": \"This is the best estimate from the routes that responded, not a complete comparison.\",\n\t\"swap.refreshRequired\": \"Refresh required\",\n\t\"swap.quoteStaleBody\": \"Market estimates change quickly. Refresh this result before using it to make a decision.\",\n\t\"swap.refreshQuote\": \"Refresh quote\",\n\t\"swap.loadingTokenPolicy\": \"Loading the site’s approved tokens…\",\n\t\"swap.tokenPolicyUnavailable\": \"Approved tokens are unavailable right now. Retry before requesting a quote. If this continues, contact the site owner.\",\n\t\"swap.tokenPolicyIncomplete\": \"Quote preview is unavailable because this site does not have two compatible approved tokens. Contact the site owner.\",\n\t\"swap.supportRecovery\": \"Still unavailable? Contact the site owner and include the token pair and approximate amount. Never share wallet credentials.\",\n\t\"transfer.title\": \"Send\",\n\t\"transfer.recipient\": \"Recipient\",\n\t\"transfer.recipientPlaceholder\": \"Wallet address or name.sol\",\n\t\"transfer.resolving\": \"Looking up name…\",\n\t\"transfer.resolvesTo\": \"Resolves to: {address}\",\n\t\"transfer.resolveFailed\": \"Could not resolve this .sol name. Check the spelling or paste a wallet address.\",\n\t\"transfer.errorEnterValidAmount\": \"Enter a valid amount.\",\n\t\"transfer.ataWarning\": \"This will create a token account for the recipient ({rent} rent).\",\n\t\"transfer.sent\": \"Sent!\",\n\t\"transfer.unavailable\": \"Wallet signing unavailable\",\n\t\"transaction.action.swap\": \"Swap\",\n\t\"transaction.action.transfer\": \"Transfer\",\n\t\"transaction.submitted\": \"{action} submitted\",\n\t\"transaction.confirmed\": \"{action} confirmed\",\n\t\"transaction.submittedBody\": \"The network has received the transaction. It may still take a moment to confirm.\",\n\t\"transaction.confirmedBody\": \"The network confirmed this transaction.\",\n\t\"transaction.viewExplorer\": \"View on explorer\",\n\t\"transaction.failed\": \"The transaction was not accepted. Review the wallet or provider message and try again.\",\n\t\"public.badge.ownerReviewed\": \"Owner-reviewed page\",\n\t\"public.badge.walletRequired\": \"Wallet required\",\n\t\"public.badge.hostSigned\": \"Host-signed actions\",\n\t\"public.badge.privateDataSafe\": \"Private data hidden\",\n\t\"public.badge.quotePreview\": \"Quote preview\",\n\t\"public.badge.transactionReady\": \"Transaction ready\",\n\t\"public.badge.walletConnected\": \"Wallet connected\",\n\t\"public.badge.unavailable\": \"Setup required\",\n\t\"public.quoteOnly.title\": \"Quotes are available; transactions are not\",\n\t\"public.quoteOnly.body\": \"You can review current rates and price impact. This page cannot request a wallet signature until the site connects a documented Cedros wallet signing experience.\",\n\t\"public.transactionUnavailable.title\": \"Transfers are not connected yet\",\n\t\"public.transactionUnavailable.body\": \"This site has not connected the authenticated wallet and signing experience required to prepare and approve a transfer. No transaction can be created from this page.\",\n\t\"public.tradingUnavailable.title\": \"Trading actions are not connected yet\",\n\t\"public.tradingUnavailable.body\": \"Orders and wallet-scoped activity stay unavailable until the site connects a documented wallet identity and signing experience. The extension will not infer wallet ownership from page input.\",\n\t\"public.portfolioUnavailable.title\": \"Portfolio access is not connected yet\",\n\t\"public.portfolioUnavailable.body\": \"This page needs a verified wallet identity from the Cedros host before it can request balances or trading activity. Public page input is not treated as wallet ownership.\",\n\t\"public.notice.walletTitle\": \"Wallet context required\",\n\t\"public.notice.walletBody\": \"Trading data and signing controls stay disabled until Cedros Login and the host wallet context identify the visitor.\",\n\t\"public.notice.signingTitle\": \"Signing is explicit\",\n\t\"public.notice.signingBody\": \"Cedros Trade builds transactions, then hands them to Cedros Wallet or the host wallet signing flow. Private keys and seed phrases are never requested here.\",\n\t\"public.notice.providerTitle\": \"Provider readiness\",\n\t\"public.notice.providerBody\": \"Quotes and market data depend on the site owner enabling approved provider routes before publishing this page.\",\n\t\"public.notice.indexerTitle\": \"Portfolio scope\",\n\t\"public.notice.indexerBody\": \"Balances are wallet scoped. P&L and history appear only when an approved indexer binding is available.\",\n\t\"public.integration.statusLabel\": \"Integration status\",\n\t\"public.integration.login.label\": \"Cedros Login\",\n\t\"public.integration.login.required\": \"Required\",\n\t\"public.integration.login.summary\": \"Signed-out, stale-session, deleted-user, missing-profile, and permission-denied states keep wallet-scoped data and signing controls disabled.\",\n\t\"public.integration.pay.label\": \"Cedros Pay\",\n\t\"public.integration.pay.notUsed\": \"No checkout here\",\n\t\"public.integration.pay.summary\": \"Stripe card, Solana x402 stablecoin, subscription, refund, dispute, and paid-access states belong to Cedros Pay surfaces, not Cedros Trade pages.\",\n\t\"public.empty.walletTitle\": \"Connect a wallet to continue\",\n\t\"public.empty.walletBody\": \"This section only shows wallet-scoped balances, orders, and history after the host provides authenticated wallet context.\",\n\t\"trading.tab.positions\": \"Positions\",\n\t\"trading.tab.orders\": \"Orders\",\n\t\"trading.tab.pnl\": \"P&L\",\n\t\"trading.tab.history\": \"History\",\n\t\"trading.tab.monitored\": \"Monitored\",\n\t\"trading.tab.orderbook\": \"Orderbook\",\n\t\"trading.tab.group\": \"Trading activity\",\n\t\"trading.buy\": \"Buy\",\n\t\"trading.sell\": \"Sell\",\n\t\"trading.orderSide\": \"Order side\",\n\t\"trading.limit\": \"Limit\",\n\t\"trading.stopLoss\": \"Stop Loss\",\n\t\"trading.takeProfit\": \"Take Profit\",\n\t\"trading.trailing\": \"Trailing\",\n\t\"trading.oco\": \"OCO\",\n\t\"trading.bracket\": \"Bracket\",\n\t\"trading.dca\": \"DCA\",\n\t\"trading.auto\": \"Auto\",\n\t\"trading.orderType\": \"Order type\",\n\t\"trading.limitPrice\": \"Limit Price\",\n\t\"trading.triggerPrice\": \"Trigger Price\",\n\t\"trading.markPrice\": \"Mark\",\n\t\"trading.amount\": \"Amount\",\n\t\"trading.cycles\": \"Cycles\",\n\t\"trading.interval\": \"Interval\",\n\t\"trading.hourly\": \"Hourly\",\n\t\"trading.daily\": \"Daily\",\n\t\"trading.weekly\": \"Weekly\",\n\t\"trading.trailPercentage\": \"Trail Percentage\",\n\t\"trading.percentBelowPeak\": \"% below peak\",\n\t\"trading.stopLossPrice\": \"Stop Loss Price\",\n\t\"trading.takeProfitPrice\": \"Take Profit Price\",\n\t\"trading.stopLossPercent\": \"Stop Loss %\",\n\t\"trading.takeProfitPercent\": \"Take Profit %\",\n\t\"trading.submit\": \"{side} {symbol}\",\n\t\"trading.errorWalletSigningRequired\": \"Wallet signing is required\",\n\t\"trading.errorEnterPrice\": \"Enter a price\",\n\t\"trading.errorEnterValidAmountPrice\": \"Enter a valid amount and price\",\n\t\"trading.errorEnterTriggerPrice\": \"Enter a trigger price\",\n\t\"trading.errorEnterValidAmount\": \"Enter a valid amount\",\n\t\"trading.errorEmbeddedWalletTrailing\": \"Embedded wallet required for trailing stops\",\n\t\"trading.errorEmbeddedWalletBracket\": \"Embedded wallet required for bracket orders\",\n\t\"trading.errorOcoPrices\": \"Enter both stop-loss and take-profit prices\",\n\t\"trading.errorEnableAutoFeature\": \"Enable at least one auto feature\",\n\t\"trading.errorValidCycleCount\": \"Enter a valid cycle count\",\n\t\"trading.auto.priceTargets\": \"Price Targets\",\n\t\"trading.auto.priceTargetsDesc\": \"Set multiple price targets to auto-sell portions\",\n\t\"trading.auto.profitProtection\": \"Profit Protection\",\n\t\"trading.auto.profitProtectionDesc\": \"Auto-sell if price drops from peak\",\n\t\"trading.auto.stopLossDesc\": \"Auto-sell if price drops below threshold\",\n\t\"trading.auto.trailingStop\": \"Trailing Stop\",\n\t\"trading.auto.trailingStopDesc\": \"Stop-loss that follows price upward\",\n\t\"trading.auto.pricePlaceholder\": \"Price\",\n\t\"trading.auto.dropPercentPlaceholder\": \"Drop %\",\n\t\"trading.auto.activateAbovePlaceholder\": \"Activate above\",\n\t\"trading.auto.stopPricePlaceholder\": \"Stop price\",\n\t\"trading.auto.trailPercentPlaceholder\": \"Trail %\",\n\t\"trading.auto.priceSuffix\": \"price\",\n\t\"trading.auto.triggerSuffix\": \"trigger\",\n\t\"trading.auto.addTarget\": \"+ Add Target\",\n\t\"trading.auto.removeTarget\": \"Remove target {index}\",\n\t\"trading.auto.summaryTakeProfit\": \"Take-profit at {price}\",\n\t\"trading.auto.summaryStopLoss\": \"Stop-loss at {price}\",\n\t\"trading.auto.summaryTrailing\": \"Trailing stop {percent}\",\n\t\"trading.chart.emptyTitle\": \"Chart data unavailable\",\n\t\"trading.chart.emptyBody\": \"Connect a market data route or switch to a hosted chart provider before publishing this trading page.\",\n\t\"orders.noOpenOrders\": \"No open orders\",\n\t\"orders.type\": \"Type\",\n\t\"orders.pair\": \"Pair\",\n\t\"orders.trigger\": \"Trigger\",\n\t\"orders.cancel\": \"Cancel\",\n\t\"orders.cancelConfirm\": \"Confirm cancel\",\n\t\"orders.cancelKeep\": \"Keep order\",\n\t\"orders.cancelling\": \"Cancelling...\",\n\t\"orders.cancelFailed\": \"Could not cancel the order. It is still active — try again.\",\n\t\"orders.dcaSchedules\": \"DCA Schedules\",\n\t\"orders.cycles\": \"{completed}/{total} cycles\",\n\t\"orders.cycles.one\": \"{completed}/{total} cycle\",\n\t\"orders.next\": \"Next: {date}\",\n\t\"orders.noMonitored\": \"No monitored orders\",\n\t\"orders.triggerPrice\": \"Trigger: {price}\",\n\t\"orders.peakPrice\": \"Peak: {price}\",\n\t\"orders.filledAt\": \"Filled @ {price}\",\n\t\"orders.pendingActions\": \"Pending Actions ({count})\",\n\t\"orders.pendingActions.one\": \"Pending Action ({count})\",\n\t\"orders.expires\": \"Expires {time}\",\n\t\"orders.sign\": \"Sign\",\n\t\"orders.actionTriggered\": \"{type} triggered — sign to execute\",\n\t\"orders.type.limit\": \"Limit\",\n\t\"orders.type.stopLoss\": \"Stop Loss\",\n\t\"orders.type.takeProfit\": \"Take Profit\",\n\t\"orders.type.trailingStop\": \"Trailing Stop\",\n\t\"orders.type.oco\": \"OCO\",\n\t\"orders.type.ocoSl\": \"OCO Stop Loss\",\n\t\"orders.type.ocoTpWatcher\": \"OCO Take Profit\",\n\t\"orders.type.bracket\": \"Bracket\",\n\t\"orders.type.dca\": \"DCA\",\n\t\"orders.status.open\": \"Open\",\n\t\"orders.status.filled\": \"Filled\",\n\t\"orders.status.monitoring\": \"Monitoring\",\n\t\"orders.status.executed\": \"Executed\",\n\t\"orders.status.cancelled\": \"Cancelled\",\n\t\"orders.status.failed\": \"Failed\",\n\t\"orders.status.actionPending\": \"Action Pending\",\n\t\"orders.status.independent\": \"Independent\",\n\t\"orders.status.pendingEntry\": \"Pending Entry\",\n\t\"orders.status.active\": \"Active\",\n\t\"orders.status.completed\": \"Completed\",\n\t\"orders.status.expired\": \"Expired\",\n\t\"trades.type.swap\": \"Swap\",\n\t\"trades.type.buy\": \"Buy\",\n\t\"trades.type.sell\": \"Sell\",\n\t\"trades.type.transfer\": \"Transfer\",\n\t\"portfolio.title\": \"Portfolio\",\n\t\"portfolio.connectWallet\": \"Connect a wallet to view your portfolio\",\n\t\"portfolio.totalValue\": \"Total Value\",\n\t\"portfolio.openOrders\": \"Open Orders\",\n\t\"portfolio.noHoldings\": \"No holdings\",\n\t\"portfolio.degradedBalances\": \"Token balances are unavailable right now. Showing SOL balance only.\",\n\t\"portfolio.token\": \"Token\",\n\t\"portfolio.balance\": \"Balance\",\n\t\"portfolio.price\": \"Price\",\n\t\"portfolio.value\": \"Value\",\n\t\"portfolio.pnlUnavailable\": \"P&L unavailable - indexer not configured\",\n\t\"portfolio.tradeHistoryUnavailable\": \"Trade history unavailable - indexer not configured\",\n\t\"portfolio.noTradeHistory\": \"No trade history\",\n\t\"portfolio.costBasis\": \"Cost Basis\",\n\t\"portfolio.pnl\": \"P&L\",\n\t\"portfolio.entry\": \"Entry\",\n\t\"portfolio.current\": \"Current\",\n\t\"portfolio.date\": \"Date\",\n\t\"portfolio.type\": \"Type\",\n\t\"portfolio.in\": \"In\",\n\t\"portfolio.out\": \"Out\",\n\t\"portfolio.source\": \"Source\",\n\t\"orderbook.noData\": \"No orderbook data\",\n\t\"orderbook.noDataHint\": \"This market has no live orderbook yet. It appears once a market data route is connected for this pair.\",\n\t\"orderbook.title\": \"Orderbook\",\n\t\"orderbook.live\": \"Live\",\n\t\"orderbook.liveTooltip\": \"Connected to a live market data feed.\",\n\t\"orderbook.polling\": \"Polling\",\n\t\"orderbook.pollingTooltip\": \"Refreshing on a timer. Live updates resume when the data feed reconnects.\",\n\t\"orderbook.selectLevel\": \"Use price {price} for a {side} order\",\n\t\"orderbook.price\": \"Price\",\n\t\"orderbook.size\": \"Size\",\n\t\"orderbook.total\": \"Total\",\n\t\"orderbook.spread\": \"Spread\",\n\t\"orderbook.mid\": \"Mid: {price}\",\n\t\"metadata.extension.description\": \"Owner-governed Solana conversion previews that compare approved providers while wallet-dependent compatibility surfaces remain secondary and fail-closed.\",\n\t\"metadata.dashboard.status.description\": \"Shows whether the visitor quote journey is ready to publish.\",\n\t\"metadata.block.tradeSurface.displayName\": \"Solana Quote Preview\",\n\t\"metadata.block.tradeSurface.description\": \"Owner-editable multi-provider conversion estimate, with preserved compatibility modes for host-integrated wallet surfaces.\",\n\t\"metadata.block.tradeSurface.nativeFallback\": \"Open this Cedros Trade page in the web experience.\",\n\t\"metadata.authoredSurface.tradePages.displayName\": \"Trade Pages (Compatibility Set)\",\n\t\"metadata.authoredSurface.tradePages.description\": \"The primary quote preview plus preserved setup-state pages for existing wallet-dependent Trade content.\",\n\t\"metadata.authoredSurface.tradePages.eyebrow\": \"Trade\",\n\t\"metadata.authoredUtility.tradePageSet.displayName\": \"Legacy Trade Page Set\",\n\t\"metadata.authoredUtility.tradePageSet.description\": \"Preserves the released four-page set for existing content; new sites should create only the Solana Quote Preview.\",\n\t\"metadata.template.swap.displayName\": \"Solana Quote Preview\",\n\t\"metadata.template.transfer.displayName\": \"Transfer Setup (Requires Host)\",\n\t\"metadata.template.trading.displayName\": \"Trading Setup (Requires Host)\",\n\t\"metadata.template.portfolio.displayName\": \"Portfolio Setup (Requires Host)\",\n\t\"metadata.page.swap.displayName\": \"Solana Quote Preview\",\n\t\"metadata.page.transfer.displayName\": \"Transfer Setup (Requires Host)\",\n\t\"metadata.page.trading.displayName\": \"Trading Setup (Requires Host)\",\n\t\"metadata.page.portfolio.displayName\": \"Portfolio Setup (Requires Host)\",\n\t\"metadata.page.swap.description\": \"Extension-owned public page that compares approved Solana providers and explains the best current conversion estimate without moving funds.\",\n\t\"metadata.page.transfer.description\": \"Compatibility page retained for existing authored content; it stays unavailable until Cedros supplies verified wallet identity and signing.\",\n\t\"metadata.page.trading.description\": \"Compatibility page retained for existing authored content; order actions stay unavailable without verified wallet identity and signing.\",\n\t\"metadata.page.portfolio.description\": \"Compatibility page retained for existing authored content; wallet-scoped data stays unavailable without verified wallet identity.\",\n\t\"metadata.surface.swap.body\": \"Compare approved Solana routes and understand the best current conversion estimate.\",\n\t\"metadata.surface.transfer.body\": \"Prepare a SOL or SPL transfer only after a documented authenticated wallet and signing integration is connected.\",\n\t\"metadata.surface.trading.body\": \"Manage smart Solana orders only after a documented verified-wallet signing integration is connected.\",\n\t\"metadata.surface.portfolio.body\": \"Review balances and activity only after the host supplies verified wallet identity.\",\n\t\"metadata.template.swapFallback\": \"Swap page unavailable in this export. Open the Cedros Trade web page.\",\n\t\"metadata.template.transferFallback\": \"Transfer page unavailable in this export. Open the Cedros Trade web page.\",\n\t\"metadata.template.tradingFallback\": \"Trading page unavailable in this export. Open the Cedros Trade web page.\",\n\t\"metadata.template.portfolioFallback\": \"Portfolio page unavailable in this export. Open the Cedros Trade web page.\",\n\t\"metadata.form.tradeSupport.title\": \"Quote Preview Support\",\n\t\"metadata.form.tradeSupport.description\": \"Owner-editable form for visitors who cannot obtain or understand a Cedros Trade conversion estimate.\",\n\t\"metadata.form.tradeSupport.submit\": \"Send request\",\n\t\"metadata.form.tradeSupport.successTitle\": \"Request received\",\n\t\"metadata.form.tradeSupport.successMessage\": \"Your request has been sent. The site owner will review it and follow up if more information is needed.\",\n\t\"metadata.form.name.label\": \"Name\",\n\t\"metadata.form.name.placeholder\": \"Your name\",\n\t\"metadata.form.email.label\": \"Email\",\n\t\"metadata.form.email.placeholder\": \"you@example.com\",\n\t\"metadata.form.email.help\": \"Used only to respond to this support request.\",\n\t\"metadata.form.issueType.label\": \"Issue type\",\n\t\"metadata.form.issue.swap\": \"Quote did not load\",\n\t\"metadata.form.issue.transfer\": \"Amount or rate looks wrong\",\n\t\"metadata.form.issue.order\": \"Token is unavailable\",\n\t\"metadata.form.issue.portfolio\": \"Quote details are unclear\",\n\t\"metadata.form.issue.other\": \"Other\",\n\t\"metadata.form.message.label\": \"Message\",\n\t\"metadata.form.message.placeholder\": \"Include the token symbols, approximate amount, and what you expected. Do not include private wallet credentials.\",\n\t\"metadata.form.consent.label\": \"I consent to being contacted about this support request.\",\n\t\"metadata.form.consent.help\": \"The site owner may use the submitted email address only to respond to this request.\",\n\t\"metadata.docs.gettingStarted.displayName\": \"Understanding Your Solana Quote\",\n\t\"metadata.docs.gettingStarted.title\": \"Understanding Your Solana Quote\",\n\t\"metadata.docs.gettingStarted.excerpt\": \"How to request, interpret, refresh, and troubleshoot a Cedros Trade conversion estimate.\",\n\t\"metadata.docs.gettingStarted.navLabel\": \"Understanding Quotes\",\n\t\"metadata.docs.gettingStarted.bodyMarkdown\": \"# Understanding Your Solana Quote\\n\\nCedros Trade compares current estimates from the Solana providers approved by this site. A quote helps you understand a possible conversion; it does not move funds or request a wallet signature.\\n\\n## Get An Estimate\\n\\n1. Choose the token you would provide and the token you want to receive.\\n2. Enter an amount.\\n3. Wait for the available providers to return estimates.\\n\\nThe page selects the estimate with the highest received amount from the providers that responded. If an approved route is missing, the page labels the result as best available and names the missing provider so you can refresh before relying on it.\\n\\n## Read The Result\\n\\n- **Rate** shows the estimated conversion for one input token.\\n- **Price impact** estimates how much the conversion may move the market price.\\n- **Minimum received** reflects the quote protection selected by the site.\\n- **Available routes** lets you compare the responding providers.\\n- **Updated** tells you when the estimate was received.\\n\\nQuotes can change quickly. Refresh the estimate before using it to make a decision.\\n\\n## If A Quote Does Not Load\\n\\nCheck the amount and token pair, then retry. A provider may be temporarily unavailable even when another provider is working. If no provider returns an estimate, use the Quote Preview Support form and include the token symbols and approximate amount. Never send a seed phrase, private key, password, one-time code, or API key.\\n\",\n\t\"metadata.docs.walletSafety.displayName\": \"Wallet Safety For Future Trade Actions\",\n\t\"metadata.docs.walletSafety.title\": \"Wallet Safety For Future Trade Actions\",\n\t\"metadata.docs.walletSafety.excerpt\": \"Internal compatibility guidance for a future documented wallet-signing integration.\",\n\t\"metadata.docs.walletSafety.navLabel\": \"Wallet Safety\",\n\t\"metadata.docs.walletSafety.bodyMarkdown\": \"# Wallet Safety For Future Trade Actions\\n\\nThis internal compatibility guide applies only if this site later connects a documented wallet identity and signing integration. The current public Cedros Trade quote preview does not move funds or request a signature.\\n\\n## Never Share\\n\\n- Seed phrases\\n- Private keys\\n- Passwords\\n- One-time codes\\n- API keys\\n- Card numbers or wallet recovery material\\n\\n## Review Before Signing\\n\\n- The connected wallet is the intended wallet.\\n- The token mint and symbol match what you expect.\\n- The amount, slippage, and recipient are correct.\\n- The transaction source is trusted by your site.\\n\\n## Support Notes\\n\\nA public wallet address or transaction signature may help authorized support investigate a future transaction issue. Never send private credentials through forms, chat, email, or docs comments.\\n\",\n\t\"metadata.onboarding.reviewReadiness.displayName\": \"Check quote readiness\",\n\t\"metadata.onboarding.reviewReadiness.description\": \"Confirm that the public runtime, token policy, and every enabled provider can complete the same real comparison quote.\",\n\t\"metadata.onboarding.configureProviders.displayName\": \"Review quote providers\",\n\t\"metadata.onboarding.configureProviders.description\": \"Keep only approved provider routes enabled and resolve any upstream access failure.\",\n\t\"metadata.onboarding.reviewTokenRegistry.displayName\": \"Review quote tokens\",\n\t\"metadata.onboarding.reviewTokenRegistry.description\": \"Confirm the token pairs visitors may compare on the public quote page.\",\n\t\"metadata.onboarding.configureSettings.displayName\": \"Review quote protection\",\n\t\"metadata.onboarding.configureSettings.description\": \"Accept the 0.3% default or choose a site-specific exception before publishing.\",\n\t\"metadata.onboarding.verifyMonitor.displayName\": \"Optional: review future automation\",\n\t\"metadata.onboarding.verifyMonitor.description\": \"Inspect the preserved dry-run monitor only when evaluating a future documented wallet-signing integration; it is not required for quote launch.\",\n\t\"metadata.analytics.swapBuilt.displayName\": \"Swap Built\",\n\t\"metadata.analytics.swapBuilt.description\": \"Counts successful swap transaction builds before a documented wallet signing handoff.\",\n\t\"metadata.analytics.quotePreviewed.displayName\": \"Quote Previewed\",\n\t\"metadata.analytics.quotePreviewed.description\": \"Counts completed public quote comparisons using redacted token, amount, slippage, and provider metadata.\",\n\t\"metadata.analytics.swapBuildFailed.displayName\": \"Swap Build Failed\",\n\t\"metadata.analytics.swapBuildFailed.description\": \"Counts failed swap transaction build attempts using redacted provider and bucket metadata.\",\n\t\"metadata.analytics.swapExecutionRecorded.displayName\": \"Swap Execution Recorded\",\n\t\"metadata.analytics.swapExecutionRecorded.description\": \"Counts submitted, confirmed, or failed swap execution outcomes without signatures.\",\n\t\"metadata.analytics.transferBuilt.displayName\": \"Transfer Built\",\n\t\"metadata.analytics.transferBuilt.description\": \"Counts successful SOL or SPL transfer transaction builds before a documented wallet signing handoff.\",\n\t\"metadata.analytics.orderSubmitted.displayName\": \"Order Submitted\",\n\t\"metadata.analytics.orderSubmitted.description\": \"Counts accepted smart or monitored order submissions after validation.\",\n\t\"metadata.analytics.tradeWorkflowBlocked.displayName\": \"Trade Workflow Blocked\",\n\t\"metadata.analytics.tradeWorkflowBlocked.description\": \"Counts transfer, order, or orderbook workflows blocked by missing host contracts.\",\n\t\"metadata.analytics.adminActionCompleted.displayName\": \"Admin Action Completed\",\n\t\"metadata.analytics.adminActionCompleted.description\": \"Counts completed provider, token registry, settings, and monitor actions in the admin module.\",\n\t\"metadata.analytics.monitorRunRecorded.displayName\": \"Monitor Run Recorded\",\n\t\"metadata.analytics.monitorRunRecorded.description\": \"Counts price monitor job run outcomes using redacted aggregate status metadata.\"\n};\n//#endregion\n//#region src/i18n/core.ts\nfunction Te(e = {}) {\n\tlet t = je(e.locale), n = e.currency || \"USD\", r = e.priceCurrency || \"USD\", i = e.exchangeRates, a = {\n\t\t...we,\n\t\t...e.messages\n\t}, o = new Intl.PluralRules(t), s = (e) => a[e] ?? we[e];\n\treturn {\n\t\tlocale: t,\n\t\ttimeZone: e.timeZone,\n\t\tcurrency: n,\n\t\tmessages: a,\n\t\tt: (e, t) => {\n\t\t\tlet n = s(e);\n\t\t\treturn n === void 0 ? e : Le(n, t);\n\t\t},\n\t\ttn: (e, n, r) => {\n\t\t\tlet i = a[`${e}.${o.select(n)}`] ?? s(e);\n\t\t\treturn i === void 0 ? e : Le(i, {\n\t\t\t\t...r,\n\t\t\t\tcount: Ve(t, n)\n\t\t\t});\n\t\t},\n\t\ttEnum: (e, t, n) => t == null || t === \"\" ? n ?? \"\" : s(`${e}.${ze(t)}`) ?? n ?? Be(t),\n\t\ttParts: (e) => Re(s(e) ?? e),\n\t\tformatNumber: (e, n) => Ve(t, e, n),\n\t\tformatCurrency: (e, a) => He(t, n, r, i, e, a),\n\t\tformatPercent: (e, n) => Ue(t, e, n),\n\t\tformatCompact: (e, n) => We(t, e, n),\n\t\tformatList: (e, n) => Ge(t, e, n),\n\t\tformatDate: (n, r) => Ke(t, e.timeZone, n, r),\n\t\tformatTime: (n, r) => qe(t, e.timeZone, n, r),\n\t\tparseNumber: (e) => Oe(e, t),\n\t\tnormalizeDecimal: (e) => De(e, t)\n\t};\n}\nfunction Ee(e, t) {\n\treturn {\n\t\t...e,\n\t\t...t,\n\t\tmessages: {\n\t\t\t...e?.messages,\n\t\t\t...t?.messages\n\t\t}\n\t};\n}\nfunction De(e, t = \"en-US\") {\n\tlet n = Ye(e.trim(), t), { decimal: r, groups: i } = Je(t);\n\tfor (let e of i) n = n.split(e).join(\"\");\n\treturn n = n.replace(/\\s/g, \"\"), r !== \".\" && (n = n.replace(r, \".\")), n;\n}\nfunction Oe(e, t = \"en-US\") {\n\tlet n = De(e, t);\n\tif (!/^-?\\d+(\\.\\d+)?$/.test(n)) return null;\n\tlet r = Number(n);\n\treturn Number.isFinite(r) ? r : null;\n}\nfunction ke(e, t, n = \"en-US\", r = 4) {\n\tif (!/^\\d+$/.test(e) || !Me(t) || !Me(r)) return e;\n\tlet i = Math.min(t, r), a = t - i, o = 10n ** BigInt(a), s = BigInt(e);\n\treturn Ne(o === 1n ? s : (s + o / 2n) / o, i, n);\n}\nfunction Ae(e, t, n, r, i = \"en-US\", a = 6) {\n\tif (!/^\\d+$/.test(e) || !/^\\d+$/.test(n) || !Me(t) || !Me(r) || !Me(a)) return null;\n\tlet o = BigInt(n);\n\tif (o === 0n) return null;\n\tlet s = BigInt(e) * 10n ** BigInt(r + a), c = o * 10n ** BigInt(t);\n\treturn Ne((s + c / 2n) / c, a, i);\n}\nfunction je(e) {\n\ttry {\n\t\treturn Intl.getCanonicalLocales(e || Fe())[0] || \"en-US\";\n\t} catch {\n\t\treturn \"en-US\";\n\t}\n}\nfunction Me(e) {\n\treturn Number.isInteger(e) && e >= 0 && e <= 30;\n}\nfunction Ne(e, t, n) {\n\tlet r = 10n ** BigInt(t), i = t === 0 ? e : e / r, a = t === 0 ? \"\" : (e % r).toString().padStart(t, \"0\").replace(/0+$/, \"\"), o = new Intl.NumberFormat(n, {\n\t\tuseGrouping: !0,\n\t\tmaximumFractionDigits: 0\n\t}).format(i);\n\treturn a ? `${o}${new Intl.NumberFormat(n, {\n\t\tuseGrouping: !1,\n\t\tminimumFractionDigits: 1\n\t}).formatToParts(1.1).find((e) => e.type === \"decimal\")?.value ?? \".\"}${Pe(a, n)}` : o;\n}\nfunction Pe(e, t) {\n\tlet n = new Intl.NumberFormat(t, { useGrouping: !1 }), r = Array.from({ length: 10 }, (e, t) => n.format(t));\n\treturn e.replace(/\\d/g, (e) => r[Number(e)]);\n}\nfunction Fe() {\n\treturn typeof navigator < \"u\" && navigator.language ? navigator.language : \"en-US\";\n}\nvar Ie = /\\{([a-zA-Z0-9_]+)\\}/g;\nfunction Le(e, t) {\n\treturn e == null ? \"\" : t ? e.replace(Ie, (e, n) => {\n\t\tlet r = t[n];\n\t\treturn r == null ? \"\" : String(r);\n\t}) : e;\n}\nfunction Re(e) {\n\tlet t = [], n = 0;\n\tfor (let r of e.matchAll(Ie)) {\n\t\tlet i = r.index ?? 0;\n\t\ti > n && t.push({\n\t\t\ttype: \"text\",\n\t\t\tvalue: e.slice(n, i)\n\t\t}), t.push({\n\t\t\ttype: \"arg\",\n\t\t\tname: r[1]\n\t\t}), n = i + r[0].length;\n\t}\n\treturn n < e.length && t.push({\n\t\ttype: \"text\",\n\t\tvalue: e.slice(n)\n\t}), t;\n}\nfunction ze(e) {\n\treturn e.trim().replace(/[-_\\s]+([a-zA-Z0-9])/g, (e, t) => t.toUpperCase()).replace(/[-_\\s]+/g, \"\");\n}\nfunction Be(e) {\n\treturn e.replace(/[-_]+/g, \" \").trim();\n}\nfunction Ve(e, t, n) {\n\tlet r = typeof t == \"number\" ? t : Number(t);\n\treturn Number.isFinite(r) ? new Intl.NumberFormat(e, n).format(r) : String(t);\n}\nfunction He(e, t, n, r, i, a) {\n\tlet o = typeof i == \"number\" ? i : Number(i);\n\tif (!Number.isFinite(o)) return String(i);\n\tlet { currency: s, ...c } = a ?? {}, l = s || t, u = o, d = l;\n\tif (l !== n) {\n\t\tlet e = r?.[l];\n\t\te != null && Number.isFinite(e) ? u = o * e : d = n;\n\t}\n\treturn new Intl.NumberFormat(e, {\n\t\tstyle: \"currency\",\n\t\tcurrency: d,\n\t\t...c\n\t}).format(u);\n}\nfunction Ue(e, t, n) {\n\tlet r = typeof t == \"number\" ? t : Number(t);\n\tif (!Number.isFinite(r)) return String(t);\n\tlet i = n?.valueIsFraction ? r : r / 100, { valueIsFraction: a, ...o } = n ?? {};\n\treturn new Intl.NumberFormat(e, {\n\t\tstyle: \"percent\",\n\t\t...o\n\t}).format(i);\n}\nfunction We(e, t, n) {\n\treturn Ve(e, t, {\n\t\tnotation: \"compact\",\n\t\tmaximumFractionDigits: 1,\n\t\t...n\n\t});\n}\nfunction Ge(e, t, n) {\n\treturn new Intl.ListFormat(e, n).format(t);\n}\nfunction Ke(e, t, n, r) {\n\tlet i = new Date(n);\n\treturn Number.isNaN(i.getTime()) ? String(n) : new Intl.DateTimeFormat(e, {\n\t\ttimeZone: t,\n\t\t...r\n\t}).format(i);\n}\nfunction qe(e, t, n, r) {\n\treturn Ke(e, t, n, {\n\t\thour: \"numeric\",\n\t\tminute: \"2-digit\",\n\t\t...r\n\t});\n}\nfunction Je(e) {\n\tlet t = new Intl.NumberFormat(e).formatToParts(12345.6), n = t.find((e) => e.type === \"decimal\")?.value ?? \".\", r = new Set(t.filter((e) => e.type === \"group\").map((e) => e.value));\n\treturn n !== \",\" && r.add(\",\"), {\n\t\tdecimal: n,\n\t\tgroups: Array.from(r)\n\t};\n}\nfunction Ye(e, t) {\n\tlet n = new Intl.NumberFormat(t, { useGrouping: !1 }).format(9876543210), r = new Map([...n].map((e, t) => [e, String(9 - t)]));\n\treturn [...e].map((e) => r.get(e) ?? e).join(\"\");\n}\n//#endregion\n//#region src/i18n/I18nProvider.tsx\nvar Xe = a(Te());\nfunction Ze({ children: e, locale: t, timeZone: n, currency: r, priceCurrency: i, exchangeRates: a, messages: o }) {\n\tlet s = h(() => Te({\n\t\tlocale: t,\n\t\ttimeZone: n,\n\t\tcurrency: r,\n\t\tpriceCurrency: i,\n\t\texchangeRates: a,\n\t\tmessages: o\n\t}), [\n\t\tr,\n\t\ta,\n\t\tt,\n\t\to,\n\t\ti,\n\t\tn\n\t]);\n\treturn /* @__PURE__ */ y(Xe.Provider, {\n\t\tvalue: s,\n\t\tchildren: e\n\t});\n}\nfunction Qe() {\n\treturn u(Xe);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/context/LayoutGroupContext.mjs\nvar $e = a({});\n//#endregion\n//#region node_modules/framer-motion/dist/es/utils/use-constant.mjs\nfunction E(e) {\n\tlet t = g(null);\n\treturn t.current === null && (t.current = e()), t.current;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs\nvar et = typeof window < \"u\" ? m : d, tt = /* @__PURE__ */ a(null);\n//#endregion\n//#region node_modules/motion-utils/dist/es/array.mjs\nfunction nt(e, t) {\n\te.indexOf(t) === -1 && e.push(t);\n}\nfunction rt(e, t) {\n\tlet n = e.indexOf(t);\n\tn > -1 && e.splice(n, 1);\n}\n//#endregion\n//#region node_modules/motion-utils/dist/es/clamp.mjs\nvar D = (e, t, n) => n > t ? t : n < e ? e : n, O = {}, it = (e) => /^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/u.test(e), at = (e) => typeof e == \"object\" && !!e, ot = (e) => /^0[^.\\s]+$/u.test(e);\n//#endregion\n//#region node_modules/motion-utils/dist/es/memo.mjs\n/*#__NO_SIDE_EFFECTS__*/\nfunction st(e) {\n\tlet t;\n\treturn () => (t === void 0 && (t = e()), t);\n}\n//#endregion\n//#region node_modules/motion-utils/dist/es/noop.mjs\nvar k = /* @__NO_SIDE_EFFECTS__ */ (e) => e, ct = (...e) => e.reduce((e, t) => (n) => t(e(n))), lt = /* @__NO_SIDE_EFFECTS__ */ (e, t, n) => {\n\tlet r = t - e;\n\treturn r ? (n - e) / r : 1;\n}, ut = class {\n\tconstructor() {\n\t\tthis.subscriptions = [];\n\t}\n\tadd(e) {\n\t\treturn nt(this.subscriptions, e), () => rt(this.subscriptions, e);\n\t}\n\tnotify(e, t, n) {\n\t\tlet r = this.subscriptions.length;\n\t\tif (r) if (r === 1) this.subscriptions[0](e, t, n);\n\t\telse for (let i = 0; i < r; i++) {\n\t\t\tlet r = this.subscriptions[i];\n\t\t\tr && r(e, t, n);\n\t\t}\n\t}\n\tgetSize() {\n\t\treturn this.subscriptions.length;\n\t}\n\tclear() {\n\t\tthis.subscriptions.length = 0;\n\t}\n}, A = /* @__NO_SIDE_EFFECTS__ */ (e) => e * 1e3, j = /* @__NO_SIDE_EFFECTS__ */ (e) => e / 1e3, dt = /* @__NO_SIDE_EFFECTS__ */ (e, t) => t ? 1e3 / t * e : 0, ft = (e, t, n) => (((1 - 3 * n + 3 * t) * e + (3 * n - 6 * t)) * e + 3 * t) * e, pt = 1e-7, mt = 12;\nfunction ht(e, t, n, r, i) {\n\tlet a, o, s = 0;\n\tdo\n\t\to = t + (n - t) / 2, a = ft(o, r, i) - e, a > 0 ? n = o : t = o;\n\twhile (Math.abs(a) > pt && ++s < mt);\n\treturn o;\n}\n/*#__NO_SIDE_EFFECTS__*/\nfunction gt(e, t, n, r) {\n\tif (e === t && n === r) return k;\n\tlet i = (t) => ht(t, 0, 1, e, n);\n\treturn (e) => e === 0 || e === 1 ? e : ft(i(e), t, r);\n}\n//#endregion\n//#region node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs\nvar _t = /* @__NO_SIDE_EFFECTS__ */ (e) => (t) => t <= .5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2, vt = /* @__NO_SIDE_EFFECTS__ */ (e) => (t) => 1 - e(1 - t), yt = /*@__PURE__*/ gt(.33, 1.53, .69, .99), bt = /*@__PURE__*/ vt(yt), xt = /*@__PURE__*/ _t(bt), St = (e) => e >= 1 ? 1 : (e *= 2) < 1 ? .5 * bt(e) : .5 * (2 - 2 ** (-10 * (e - 1))), Ct = (e) => 1 - Math.sin(Math.acos(e)), wt = /* @__PURE__ */ vt(Ct), Tt = /* @__PURE__ */ _t(Ct), Et = /*@__PURE__*/ gt(.42, 0, 1, 1), Dt = /*@__PURE__*/ gt(0, 0, .58, 1), Ot = /*@__PURE__*/ gt(.42, 0, .58, 1), kt = /* @__NO_SIDE_EFFECTS__ */ (e) => Array.isArray(e) && typeof e[0] != \"number\", At = /* @__NO_SIDE_EFFECTS__ */ (e) => Array.isArray(e) && typeof e[0] == \"number\", jt = {\n\tlinear: k,\n\teaseIn: Et,\n\teaseInOut: Ot,\n\teaseOut: Dt,\n\tcircIn: Ct,\n\tcircInOut: Tt,\n\tcircOut: wt,\n\tbackIn: bt,\n\tbackInOut: xt,\n\tbackOut: yt,\n\tanticipate: St\n}, Mt = (e) => typeof e == \"string\", Nt = (e) => {\n\tif (/* @__PURE__ */ At(e)) {\n\t\te.length;\n\t\tlet [t, n, r, i] = e;\n\t\treturn /* @__PURE__ */ gt(t, n, r, i);\n\t} else if (Mt(e)) return jt[e], `${e}`, jt[e];\n\treturn e;\n}, Pt = [\n\t\"setup\",\n\t\"read\",\n\t\"resolveKeyframes\",\n\t\"preUpdate\",\n\t\"update\",\n\t\"preRender\",\n\t\"render\",\n\t\"postRender\"\n];\n//#endregion\n//#region node_modules/motion-dom/dist/es/frameloop/render-step.mjs\nfunction Ft(e) {\n\tlet t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), r = !1, i = !1, a = /* @__PURE__ */ new WeakSet(), o = {\n\t\tdelta: 0,\n\t\ttimestamp: 0,\n\t\tisProcessing: !1\n\t};\n\tfunction s(t) {\n\t\ta.has(t) && (c.schedule(t), e()), t(o);\n\t}\n\tlet c = {\n\t\tschedule: (e, i = !1, o = !1) => {\n\t\t\tlet s = o && r ? t : n;\n\t\t\treturn i && a.add(e), s.add(e), e;\n\t\t},\n\t\tcancel: (e) => {\n\t\t\tn.delete(e), a.delete(e);\n\t\t},\n\t\tprocess: (e) => {\n\t\t\tif (o = e, r) {\n\t\t\t\ti = !0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tr = !0;\n\t\t\tlet a = t;\n\t\t\tt = n, n = a, t.forEach(s), t.clear(), r = !1, i && (i = !1, c.process(e));\n\t\t}\n\t};\n\treturn c;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/frameloop/batcher.mjs\nvar It = 40;\nfunction Lt(e, t) {\n\tlet n = !1, r = !0, i = {\n\t\tdelta: 0,\n\t\ttimestamp: 0,\n\t\tisProcessing: !1\n\t}, a = () => n = !0, o = Pt.reduce((e, t) => (e[t] = Ft(a), e), {}), { setup: s, read: c, resolveKeyframes: l, preUpdate: u, update: d, preRender: f, render: p, postRender: m } = o, h = () => {\n\t\tlet a = O.useManualTiming, o = a ? i.timestamp : performance.now();\n\t\tn = !1, a || (i.delta = r ? 1e3 / 60 : Math.max(Math.min(o - i.timestamp, It), 1)), i.timestamp = o, i.isProcessing = !0, s.process(i), c.process(i), l.process(i), u.process(i), d.process(i), f.process(i), p.process(i), m.process(i), i.isProcessing = !1, n && t && (r = !1, e(h));\n\t}, g = () => {\n\t\tn = !0, r = !0, i.isProcessing || e(h);\n\t};\n\treturn {\n\t\tschedule: Pt.reduce((e, t) => {\n\t\t\tlet r = o[t];\n\t\t\treturn e[t] = (e, t = !1, i = !1) => (n || g(), r.schedule(e, t, i)), e;\n\t\t}, {}),\n\t\tcancel: (e) => {\n\t\t\tfor (let t = 0; t < Pt.length; t++) o[Pt[t]].cancel(e);\n\t\t},\n\t\tstate: i,\n\t\tsteps: o\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/frameloop/frame.mjs\nvar { schedule: M, cancel: N, state: P, steps: Rt } = /* @__PURE__ */ Lt(typeof requestAnimationFrame < \"u\" ? requestAnimationFrame : k, !0), zt;\nfunction Bt() {\n\tzt = void 0;\n}\nvar F = {\n\tnow: () => (zt === void 0 && F.set(P.isProcessing || O.useManualTiming ? P.timestamp : performance.now()), zt),\n\tset: (e) => {\n\t\tzt = e, queueMicrotask(Bt);\n\t}\n}, Vt = (e) => (t) => typeof t == \"string\" && t.startsWith(e), Ht = /*@__PURE__*/ Vt(\"--\"), Ut = /*@__PURE__*/ Vt(\"var(--\"), Wt = (e) => Ut(e) ? Gt.test(e.split(\"/*\")[0].trim()) : !1, Gt = /var\\(--(?:[\\w-]+\\s*|[\\w-]+\\s*,(?:\\s*[^)(\\s]|\\s*\\((?:[^)(]|\\([^)(]*\\))*\\))+\\s*)\\)$/iu;\nfunction Kt(e) {\n\treturn typeof e == \"string\" ? e.split(\"/*\")[0].includes(\"var(--\") : !1;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/numbers/index.mjs\nvar qt = {\n\ttest: (e) => typeof e == \"number\",\n\tparse: parseFloat,\n\ttransform: (e) => e\n}, Jt = {\n\t...qt,\n\ttransform: (e) => D(0, 1, e)\n}, Yt = {\n\t...qt,\n\tdefault: 1\n}, Xt = (e) => Math.round(e * 1e5) / 1e5, Zt = /-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/gu;\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs\nfunction Qt(e) {\n\treturn e == null;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs\nvar $t = /^(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))$/iu, en = (e, t) => (n) => !!(typeof n == \"string\" && $t.test(n) && n.startsWith(e) || t && !Qt(n) && Object.prototype.hasOwnProperty.call(n, t)), tn = (e, t, n) => (r) => {\n\tif (typeof r != \"string\") return r;\n\tlet [i, a, o, s] = r.match(Zt);\n\treturn {\n\t\t[e]: parseFloat(i),\n\t\t[t]: parseFloat(a),\n\t\t[n]: parseFloat(o),\n\t\talpha: s === void 0 ? 1 : parseFloat(s)\n\t};\n}, nn = (e) => D(0, 255, e), rn = {\n\t...qt,\n\ttransform: (e) => Math.round(nn(e))\n}, an = {\n\ttest: /*@__PURE__*/ en(\"rgb\", \"red\"),\n\tparse: /*@__PURE__*/ tn(\"red\", \"green\", \"blue\"),\n\ttransform: ({ red: e, green: t, blue: n, alpha: r = 1 }) => \"rgba(\" + rn.transform(e) + \", \" + rn.transform(t) + \", \" + rn.transform(n) + \", \" + Xt(Jt.transform(r)) + \")\"\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/color/hex.mjs\nfunction on(e) {\n\tlet t = \"\", n = \"\", r = \"\", i = \"\";\n\treturn e.length > 5 ? (t = e.substring(1, 3), n = e.substring(3, 5), r = e.substring(5, 7), i = e.substring(7, 9)) : (t = e.substring(1, 2), n = e.substring(2, 3), r = e.substring(3, 4), i = e.substring(4, 5), t += t, n += n, r += r, i += i), {\n\t\tred: parseInt(t, 16),\n\t\tgreen: parseInt(n, 16),\n\t\tblue: parseInt(r, 16),\n\t\talpha: i ? parseInt(i, 16) / 255 : 1\n\t};\n}\nvar sn = {\n\ttest: /*@__PURE__*/ en(\"#\"),\n\tparse: on,\n\ttransform: an.transform\n}, cn = /* @__NO_SIDE_EFFECTS__ */ (e) => ({\n\ttest: (t) => typeof t == \"string\" && t.endsWith(e) && t.split(\" \").length === 1,\n\tparse: parseFloat,\n\ttransform: (t) => `${t}${e}`\n}), I = /*@__PURE__*/ cn(\"deg\"), L = /*@__PURE__*/ cn(\"%\"), R = /*@__PURE__*/ cn(\"px\"), ln = /*@__PURE__*/ cn(\"vh\"), un = /*@__PURE__*/ cn(\"vw\"), dn = {\n\t...L,\n\tparse: (e) => L.parse(e) / 100,\n\ttransform: (e) => L.transform(e * 100)\n}, fn = {\n\ttest: /*@__PURE__*/ en(\"hsl\", \"hue\"),\n\tparse: /*@__PURE__*/ tn(\"hue\", \"saturation\", \"lightness\"),\n\ttransform: ({ hue: e, saturation: t, lightness: n, alpha: r = 1 }) => \"hsla(\" + Math.round(e) + \", \" + L.transform(Xt(t)) + \", \" + L.transform(Xt(n)) + \", \" + Xt(Jt.transform(r)) + \")\"\n}, z = {\n\ttest: (e) => an.test(e) || sn.test(e) || fn.test(e),\n\tparse: (e) => an.test(e) ? an.parse(e) : fn.test(e) ? fn.parse(e) : sn.parse(e),\n\ttransform: (e) => typeof e == \"string\" ? e : e.hasOwnProperty(\"red\") ? an.transform(e) : fn.transform(e),\n\tgetAnimatableNone: (e) => {\n\t\tlet t = z.parse(e);\n\t\treturn t.alpha = 0, z.transform(t);\n\t}\n}, pn = /(?:#[\\da-f]{3,8}|(?:rgb|hsl)a?\\((?:-?[\\d.]+%?[,\\s]+){2}-?[\\d.]+%?\\s*(?:[,/]\\s*)?(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)?%?\\))/giu;\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/complex/index.mjs\nfunction mn(e) {\n\treturn isNaN(e) && typeof e == \"string\" && (e.match(Zt)?.length || 0) + (e.match(pn)?.length || 0) > 0;\n}\nvar hn = \"number\", gn = \"color\", _n = \"var\", vn = \"var(\", yn = \"${}\", bn = /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;\nfunction xn(e) {\n\tlet t = e.toString(), n = [], r = {\n\t\tcolor: [],\n\t\tnumber: [],\n\t\tvar: []\n\t}, i = [], a = 0;\n\treturn {\n\t\tvalues: n,\n\t\tsplit: t.replace(bn, (e) => (z.test(e) ? (r.color.push(a), i.push(gn), n.push(z.parse(e))) : e.startsWith(vn) ? (r.var.push(a), i.push(_n), n.push(e)) : (r.number.push(a), i.push(hn), n.push(parseFloat(e))), ++a, yn)).split(yn),\n\t\tindexes: r,\n\t\ttypes: i\n\t};\n}\nfunction Sn(e) {\n\treturn xn(e).values;\n}\nfunction Cn({ split: e, types: t }) {\n\tlet n = e.length;\n\treturn (r) => {\n\t\tlet i = \"\";\n\t\tfor (let a = 0; a < n; a++) if (i += e[a], r[a] !== void 0) {\n\t\t\tlet e = t[a];\n\t\t\te === hn ? i += Xt(r[a]) : e === gn ? i += z.transform(r[a]) : i += r[a];\n\t\t}\n\t\treturn i;\n\t};\n}\nfunction wn(e) {\n\treturn Cn(xn(e));\n}\nvar Tn = (e) => typeof e == \"number\" ? 0 : z.test(e) ? z.getAnimatableNone(e) : e, En = (e, t) => typeof e == \"number\" ? t?.trim().endsWith(\"/\") ? e : 0 : Tn(e);\nfunction Dn(e) {\n\tlet t = xn(e);\n\treturn Cn(t)(t.values.map((e, n) => En(e, t.split[n])));\n}\nvar B = {\n\ttest: mn,\n\tparse: Sn,\n\tcreateTransformer: wn,\n\tgetAnimatableNone: Dn\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs\nfunction On(e, t, n) {\n\treturn n < 0 && (n += 1), n > 1 && --n, n < 1 / 6 ? e + (t - e) * 6 * n : n < 1 / 2 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e;\n}\nfunction kn({ hue: e, saturation: t, lightness: n, alpha: r }) {\n\te /= 360, t /= 100, n /= 100;\n\tlet i = 0, a = 0, o = 0;\n\tif (!t) i = a = o = n;\n\telse {\n\t\tlet r = n < .5 ? n * (1 + t) : n + t - n * t, s = 2 * n - r;\n\t\ti = On(s, r, e + 1 / 3), a = On(s, r, e), o = On(s, r, e - 1 / 3);\n\t}\n\treturn {\n\t\tred: Math.round(i * 255),\n\t\tgreen: Math.round(a * 255),\n\t\tblue: Math.round(o * 255),\n\t\talpha: r\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/mix/immediate.mjs\nfunction An(e, t) {\n\treturn (n) => n > 0 ? t : e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/mix/number.mjs\nvar V = (e, t, n) => e + (t - e) * n, jn = (e, t, n) => {\n\tlet r = e * e, i = n * (t * t - r) + r;\n\treturn i < 0 ? 0 : Math.sqrt(i);\n}, Mn = [\n\tsn,\n\tan,\n\tfn\n], Nn = (e) => Mn.find((t) => t.test(e));\nfunction Pn(e) {\n\tlet t = Nn(e);\n\tif (`${e}`, !t) return !1;\n\tlet n = t.parse(e);\n\treturn t === fn && (n = kn(n)), n;\n}\nvar Fn = (e, t) => {\n\tlet n = Pn(e), r = Pn(t);\n\tif (!n || !r) return An(e, t);\n\tlet i = { ...n };\n\treturn (e) => (i.red = jn(n.red, r.red, e), i.green = jn(n.green, r.green, e), i.blue = jn(n.blue, r.blue, e), i.alpha = V(n.alpha, r.alpha, e), an.transform(i));\n}, In = new Set([\"none\", \"hidden\"]);\nfunction Ln(e, t) {\n\treturn In.has(e) ? (n) => n <= 0 ? e : t : (n) => n >= 1 ? t : e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/mix/complex.mjs\nfunction Rn(e, t) {\n\treturn (n) => V(e, t, n);\n}\nfunction zn(e) {\n\treturn typeof e == \"number\" ? Rn : typeof e == \"string\" ? Wt(e) ? An : z.test(e) ? Fn : Un : Array.isArray(e) ? Bn : typeof e == \"object\" ? z.test(e) ? Fn : Vn : An;\n}\nfunction Bn(e, t) {\n\tlet n = [...e], r = n.length, i = e.map((e, n) => zn(e)(e, t[n]));\n\treturn (e) => {\n\t\tfor (let t = 0; t < r; t++) n[t] = i[t](e);\n\t\treturn n;\n\t};\n}\nfunction Vn(e, t) {\n\tlet n = {\n\t\t...e,\n\t\t...t\n\t}, r = {};\n\tfor (let i in n) e[i] !== void 0 && t[i] !== void 0 && (r[i] = zn(e[i])(e[i], t[i]));\n\treturn (e) => {\n\t\tfor (let t in r) n[t] = r[t](e);\n\t\treturn n;\n\t};\n}\nfunction Hn(e, t) {\n\tlet n = [], r = {\n\t\tcolor: 0,\n\t\tvar: 0,\n\t\tnumber: 0\n\t};\n\tfor (let i = 0; i < t.values.length; i++) {\n\t\tlet a = t.types[i], o = e.indexes[a][r[a]];\n\t\tn[i] = e.values[o] ?? 0, r[a]++;\n\t}\n\treturn n;\n}\nvar Un = (e, t) => {\n\tlet n = B.createTransformer(t), r = xn(e), i = xn(t);\n\treturn r.indexes.var.length === i.indexes.var.length && r.indexes.color.length === i.indexes.color.length && r.indexes.number.length >= i.indexes.number.length ? In.has(e) && !i.values.length || In.has(t) && !r.values.length ? Ln(e, t) : ct(Bn(Hn(r, i), i.values), n) : (`${e}${t}`, An(e, t));\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/mix/index.mjs\nfunction Wn(e, t, n) {\n\treturn typeof e == \"number\" && typeof t == \"number\" && typeof n == \"number\" ? V(e, t, n) : zn(e)(e, t);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/drivers/frame.mjs\nvar Gn = (e) => {\n\tlet t = ({ timestamp: t }) => e(t);\n\treturn {\n\t\tstart: (e = !0) => M.update(t, e),\n\t\tstop: () => N(t),\n\t\tnow: () => P.isProcessing ? P.timestamp : F.now()\n\t};\n}, Kn = (e, t, n = 10) => {\n\tlet r = \"\", i = Math.max(Math.round(t / n), 2);\n\tfor (let t = 0; t < i; t++) r += Math.round(e(t / (i - 1)) * 1e4) / 1e4 + \", \";\n\treturn `linear(${r.substring(0, r.length - 2)})`;\n}, qn = 2e4;\nfunction Jn(e) {\n\tlet t = 0, n = e.next(t);\n\tfor (; !n.done && t < 2e4;) t += 50, n = e.next(t);\n\treturn t >= 2e4 ? Infinity : t;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs\nfunction Yn(e, t = 100, n) {\n\tlet r = n({\n\t\t...e,\n\t\tkeyframes: [0, t]\n\t}), i = Math.min(Jn(r), qn);\n\treturn {\n\t\ttype: \"keyframes\",\n\t\tease: (e) => r.next(i * e).value / t,\n\t\tduration: /* @__PURE__ */ j(i)\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/spring.mjs\nvar H = {\n\tstiffness: 100,\n\tdamping: 10,\n\tmass: 1,\n\tvelocity: 0,\n\tduration: 800,\n\tbounce: .3,\n\tvisualDuration: .3,\n\trestSpeed: {\n\t\tgranular: .01,\n\t\tdefault: 2\n\t},\n\trestDelta: {\n\t\tgranular: .005,\n\t\tdefault: .5\n\t},\n\tminDuration: .01,\n\tmaxDuration: 10,\n\tminDamping: .05,\n\tmaxDamping: 1\n};\nfunction Xn(e, t) {\n\treturn e * Math.sqrt(1 - t * t);\n}\nvar Zn = 12;\nfunction Qn(e, t, n) {\n\tlet r = n;\n\tfor (let n = 1; n < Zn; n++) r -= e(r) / t(r);\n\treturn r;\n}\nvar $n = .001;\nfunction er({ duration: e = H.duration, bounce: t = H.bounce, velocity: n = H.velocity, mass: r = H.mass }) {\n\tlet i, a;\n\tH.maxDuration;\n\tlet o = 1 - t;\n\to = D(H.minDamping, H.maxDamping, o), e = D(H.minDuration, H.maxDuration, /* @__PURE__ */ j(e)), o < 1 ? (i = (t) => {\n\t\tlet r = t * o, i = r * e, a = r - n, s = Xn(t, o), c = Math.exp(-i);\n\t\treturn $n - a / s * c;\n\t}, a = (t) => {\n\t\tlet r = t * o * e, a = r * n + n, s = o ** 2 * t ** 2 * e, c = Math.exp(-r), l = Xn(t ** 2, o);\n\t\treturn (-i(t) + $n > 0 ? -1 : 1) * ((a - s) * c) / l;\n\t}) : (i = (t) => -.001 + Math.exp(-t * e) * ((t - n) * e + 1), a = (t) => Math.exp(-t * e) * ((n - t) * (e * e)));\n\tlet s = 5 / e, c = Qn(i, a, s);\n\tif (e = /* @__PURE__ */ A(e), isNaN(c)) return {\n\t\tstiffness: H.stiffness,\n\t\tdamping: H.damping,\n\t\tduration: e\n\t};\n\t{\n\t\tlet t = c ** 2 * r;\n\t\treturn {\n\t\t\tstiffness: t,\n\t\t\tdamping: o * 2 * Math.sqrt(r * t),\n\t\t\tduration: e\n\t\t};\n\t}\n}\nvar tr = [\"duration\", \"bounce\"], nr = [\n\t\"stiffness\",\n\t\"damping\",\n\t\"mass\"\n];\nfunction rr(e, t) {\n\treturn t.some((t) => e[t] !== void 0);\n}\nfunction ir(e) {\n\tlet t = {\n\t\tvelocity: H.velocity,\n\t\tstiffness: H.stiffness,\n\t\tdamping: H.damping,\n\t\tmass: H.mass,\n\t\tisResolvedFromDuration: !1,\n\t\t...e\n\t};\n\tif (!rr(e, nr) && rr(e, tr)) if (t.velocity = 0, e.visualDuration) {\n\t\tlet n = e.visualDuration, r = 2 * Math.PI / (n * 1.2), i = r * r, a = 2 * D(.05, 1, 1 - (e.bounce || 0)) * Math.sqrt(i);\n\t\tt = {\n\t\t\t...t,\n\t\t\tmass: H.mass,\n\t\t\tstiffness: i,\n\t\t\tdamping: a\n\t\t};\n\t} else {\n\t\tlet n = er({\n\t\t\t...e,\n\t\t\tvelocity: 0\n\t\t});\n\t\tt = {\n\t\t\t...t,\n\t\t\t...n,\n\t\t\tmass: H.mass\n\t\t}, t.isResolvedFromDuration = !0;\n\t}\n\treturn t;\n}\nfunction ar(e = H.visualDuration, t = H.bounce) {\n\tlet n = typeof e == \"object\" ? e : {\n\t\tvisualDuration: e,\n\t\tkeyframes: [0, 1],\n\t\tbounce: t\n\t}, { restSpeed: r, restDelta: i } = n, a = n.keyframes[0], o = n.keyframes[n.keyframes.length - 1], s = {\n\t\tdone: !1,\n\t\tvalue: a\n\t}, { stiffness: c, damping: l, mass: u, duration: d, velocity: f, isResolvedFromDuration: p } = ir({\n\t\t...n,\n\t\tvelocity: -/* @__PURE__ */ j(n.velocity || 0)\n\t}), m = f || 0, h = l / (2 * Math.sqrt(c * u)), g = o - a, _ = /* @__PURE__ */ j(Math.sqrt(c / u)), v = Math.abs(g) < 5;\n\tr ||= v ? H.restSpeed.granular : H.restSpeed.default, i ||= v ? H.restDelta.granular : H.restDelta.default;\n\tlet y, b, x, S, C, w;\n\tif (h < 1) x = Xn(_, h), S = (m + h * _ * g) / x, y = (e) => o - Math.exp(-h * _ * e) * (S * Math.sin(x * e) + g * Math.cos(x * e)), C = h * _ * S + g * x, w = h * _ * g - S * x, b = (e) => Math.exp(-h * _ * e) * (C * Math.sin(x * e) + w * Math.cos(x * e));\n\telse if (h === 1) {\n\t\ty = (e) => o - Math.exp(-_ * e) * (g + (m + _ * g) * e);\n\t\tlet e = m + _ * g;\n\t\tb = (t) => Math.exp(-_ * t) * (_ * e * t - m);\n\t} else {\n\t\tlet e = _ * Math.sqrt(h * h - 1);\n\t\ty = (t) => {\n\t\t\tlet n = Math.exp(-h * _ * t), r = Math.min(e * t, 300);\n\t\t\treturn o - n * ((m + h * _ * g) * Math.sinh(r) + e * g * Math.cosh(r)) / e;\n\t\t};\n\t\tlet t = (m + h * _ * g) / e, n = h * _ * t - g * e, r = h * _ * g - t * e;\n\t\tb = (t) => {\n\t\t\tlet i = Math.exp(-h * _ * t), a = Math.min(e * t, 300);\n\t\t\treturn i * (n * Math.sinh(a) + r * Math.cosh(a));\n\t\t};\n\t}\n\tlet ee = {\n\t\tcalculatedDuration: p && d || null,\n\t\tvelocity: (e) => /* @__PURE__ */ A(b(e)),\n\t\tnext: (e) => {\n\t\t\tif (!p && h < 1) {\n\t\t\t\tlet t = Math.exp(-h * _ * e), n = Math.sin(x * e), a = Math.cos(x * e), c = o - t * (S * n + g * a), l = /* @__PURE__ */ A(t * (C * n + w * a));\n\t\t\t\treturn s.done = Math.abs(l) <= r && Math.abs(o - c) <= i, s.value = s.done ? o : c, s;\n\t\t\t}\n\t\t\tlet t = y(e);\n\t\t\tif (p) s.done = e >= d;\n\t\t\telse {\n\t\t\t\tlet n = /* @__PURE__ */ A(b(e));\n\t\t\t\ts.done = Math.abs(n) <= r && Math.abs(o - t) <= i;\n\t\t\t}\n\t\t\treturn s.value = s.done ? o : t, s;\n\t\t},\n\t\ttoString: () => {\n\t\t\tlet e = Math.min(Jn(ee), qn), t = Kn((t) => ee.next(e * t).value, e, 30);\n\t\t\treturn e + \"ms \" + t;\n\t\t},\n\t\ttoTransition: () => {}\n\t};\n\treturn ee;\n}\nar.applyToOptions = (e) => {\n\tlet t = Yn(e, 100, ar);\n\treturn e.ease = t.ease, e.duration = /* @__PURE__ */ A(t.duration), e.type = \"keyframes\", e;\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs\nvar or = 5;\nfunction sr(e, t, n) {\n\tlet r = Math.max(t - or, 0);\n\treturn /* @__PURE__ */ dt(n - e(r), t - r);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/inertia.mjs\nfunction cr({ keyframes: e, velocity: t = 0, power: n = .8, timeConstant: r = 325, bounceDamping: i = 10, bounceStiffness: a = 500, modifyTarget: o, min: s, max: c, restDelta: l = .5, restSpeed: u }) {\n\tlet d = e[0], f = {\n\t\tdone: !1,\n\t\tvalue: d\n\t}, p = (e) => s !== void 0 && e < s || c !== void 0 && e > c, m = (e) => s === void 0 ? c : c === void 0 || Math.abs(s - e) < Math.abs(c - e) ? s : c, h = n * t, g = d + h, _ = o === void 0 ? g : o(g);\n\t_ !== g && (h = _ - d);\n\tlet v = (e) => -h * Math.exp(-e / r), y = (e) => _ + v(e), b = (e) => {\n\t\tlet t = v(e), n = y(e);\n\t\tf.done = Math.abs(t) <= l, f.value = f.done ? _ : n;\n\t}, x, S, C = (e) => {\n\t\tp(f.value) && (x = e, S = ar({\n\t\t\tkeyframes: [f.value, m(f.value)],\n\t\t\tvelocity: sr(y, e, f.value),\n\t\t\tdamping: i,\n\t\t\tstiffness: a,\n\t\t\trestDelta: l,\n\t\t\trestSpeed: u\n\t\t}));\n\t};\n\treturn C(0), {\n\t\tcalculatedDuration: null,\n\t\tnext: (e) => {\n\t\t\tlet t = !1;\n\t\t\treturn !S && x === void 0 && (t = !0, b(e), C(e)), x !== void 0 && e >= x ? S.next(e - x) : (!t && b(e), f);\n\t\t}\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/interpolate.mjs\nfunction lr(e, t, n) {\n\tlet r = [], i = n || O.mix || Wn, a = e.length - 1;\n\tfor (let n = 0; n < a; n++) {\n\t\tlet a = i(e[n], e[n + 1]);\n\t\tt && (a = ct(Array.isArray(t) ? t[n] || k : t, a)), r.push(a);\n\t}\n\treturn r;\n}\nfunction ur(e, t, { clamp: n = !0, ease: r, mixer: i } = {}) {\n\tlet a = e.length;\n\tif (t.length, a === 1) return () => t[0];\n\tif (a === 2 && t[0] === t[1]) return () => t[1];\n\tlet o = e[0] === e[1];\n\te[0] > e[a - 1] && (e = [...e].reverse(), t = [...t].reverse());\n\tlet s = lr(t, r, i), c = s.length, l = (n) => {\n\t\tif (o && n < e[0]) return t[0];\n\t\tlet r = 0;\n\t\tif (c > 1) for (; r < e.length - 2 && !(n < e[r + 1]); r++);\n\t\tlet i = /* @__PURE__ */ lt(e[r], e[r + 1], n);\n\t\treturn s[r](i);\n\t};\n\treturn n ? (t) => l(D(e[0], e[a - 1], t)) : l;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs\nfunction dr(e, t) {\n\tlet n = e[e.length - 1];\n\tfor (let r = 1; r <= t; r++) {\n\t\tlet i = /* @__PURE__ */ lt(0, t, r);\n\t\te.push(V(n, 1, i));\n\t}\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs\nfunction fr(e) {\n\tlet t = [0];\n\treturn dr(t, e.length - 1), t;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs\nfunction pr(e, t) {\n\treturn e.map((e) => e * t);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs\nfunction mr(e, t) {\n\treturn e.map(() => t || Ot).splice(0, e.length - 1);\n}\nfunction hr({ duration: e = 300, keyframes: t, times: n, ease: r = \"easeInOut\" }) {\n\tlet i = /* @__PURE__ */ kt(r) ? r.map(Nt) : Nt(r), a = {\n\t\tdone: !1,\n\t\tvalue: t[0]\n\t}, o = ur(pr(n && n.length === t.length ? n : fr(t), e), t, { ease: Array.isArray(i) ? i : mr(t, i) });\n\treturn {\n\t\tcalculatedDuration: e,\n\t\tnext: (t) => (a.value = o(t), a.done = t >= e, a)\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs\nvar gr = (e) => e !== null;\nfunction _r(e, { repeat: t, repeatType: n = \"loop\" }, r, i = 1) {\n\tlet a = e.filter(gr), o = i < 0 || t && n !== \"loop\" && t % 2 == 1 ? 0 : a.length - 1;\n\treturn !o || r === void 0 ? a[o] : r;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs\nvar vr = {\n\tdecay: cr,\n\tinertia: cr,\n\ttween: hr,\n\tkeyframes: hr,\n\tspring: ar\n};\nfunction yr(e) {\n\ttypeof e.type == \"string\" && (e.type = vr[e.type]);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs\nvar br = class {\n\tconstructor() {\n\t\tthis.updateFinished();\n\t}\n\tget finished() {\n\t\treturn this._finished;\n\t}\n\tupdateFinished() {\n\t\tthis._finished = new Promise((e) => {\n\t\t\tthis.resolve = e;\n\t\t});\n\t}\n\tnotifyFinished() {\n\t\tthis.resolve();\n\t}\n\tthen(e, t) {\n\t\treturn this.finished.then(e, t);\n\t}\n}, xr = (e) => e / 100, Sr = class extends br {\n\tconstructor(e) {\n\t\tsuper(), this.state = \"idle\", this.startTime = null, this.isStopped = !1, this.currentTime = 0, this.holdTime = null, this.playbackSpeed = 1, this.delayState = {\n\t\t\tdone: !1,\n\t\t\tvalue: void 0\n\t\t}, this.stop = () => {\n\t\t\tlet { motionValue: e } = this.options;\n\t\t\te && e.updatedAt !== F.now() && this.tick(F.now()), this.isStopped = !0, this.state !== \"idle\" && (this.teardown(), this.options.onStop?.());\n\t\t}, this.options = e, this.initAnimation(), this.play(), e.autoplay === !1 && this.pause();\n\t}\n\tinitAnimation() {\n\t\tlet { options: e } = this;\n\t\tyr(e);\n\t\tlet { type: t = hr, repeat: n = 0, repeatDelay: r = 0, repeatType: i, velocity: a = 0 } = e, { keyframes: o } = e, s = t || hr;\n\t\ts !== hr && typeof o[0] != \"number\" && (this.mixKeyframes = ct(xr, Wn(o[0], o[1])), o = [0, 100]);\n\t\tlet c = s({\n\t\t\t...e,\n\t\t\tkeyframes: o\n\t\t});\n\t\ti === \"mirror\" && (this.mirroredGenerator = s({\n\t\t\t...e,\n\t\t\tkeyframes: [...o].reverse(),\n\t\t\tvelocity: -a\n\t\t})), c.calculatedDuration === null && (c.calculatedDuration = Jn(c));\n\t\tlet { calculatedDuration: l } = c;\n\t\tthis.calculatedDuration = l, this.resolvedDuration = l + r, this.totalDuration = this.resolvedDuration * (n + 1) - r, this.generator = c;\n\t}\n\tupdateTime(e) {\n\t\tlet t = Math.round(e - this.startTime) * this.playbackSpeed;\n\t\tthis.holdTime === null ? this.currentTime = t : this.currentTime = this.holdTime;\n\t}\n\ttick(e, t = !1) {\n\t\tlet { generator: n, totalDuration: r, mixKeyframes: i, mirroredGenerator: a, resolvedDuration: o, calculatedDuration: s } = this;\n\t\tif (this.startTime === null) return n.next(0);\n\t\tlet { delay: c = 0, keyframes: l, repeat: u, repeatType: d, repeatDelay: f, type: p, onUpdate: m, finalKeyframe: h } = this.options;\n\t\tthis.speed > 0 ? this.startTime = Math.min(this.startTime, e) : this.speed < 0 && (this.startTime = Math.min(e - r / this.speed, this.startTime)), t ? this.currentTime = e : this.updateTime(e);\n\t\tlet g = this.currentTime - c * (this.playbackSpeed >= 0 ? 1 : -1), _ = this.playbackSpeed >= 0 ? g < 0 : g > r;\n\t\tthis.currentTime = Math.max(g, 0), this.state === \"finished\" && this.holdTime === null && (this.currentTime = r);\n\t\tlet v = this.currentTime, y = n;\n\t\tif (u) {\n\t\t\tlet e = Math.min(this.currentTime, r) / o, t = Math.floor(e), n = e % 1;\n\t\t\t!n && e >= 1 && (n = 1), n === 1 && t--, t = Math.min(t, u + 1), t % 2 && (d === \"reverse\" ? (n = 1 - n, f && (n -= f / o)) : d === \"mirror\" && (y = a)), v = D(0, 1, n) * o;\n\t\t}\n\t\tlet b;\n\t\t_ ? (this.delayState.value = l[0], b = this.delayState) : b = y.next(v), i && !_ && (b.value = i(b.value));\n\t\tlet { done: x } = b;\n\t\t!_ && s !== null && (x = this.playbackSpeed >= 0 ? this.currentTime >= r : this.currentTime <= 0);\n\t\tlet S = this.holdTime === null && (this.state === \"finished\" || this.state === \"running\" && x);\n\t\treturn S && p !== cr && (b.value = _r(l, this.options, h, this.speed)), m && m(b.value), S && this.finish(), b;\n\t}\n\tthen(e, t) {\n\t\treturn this.finished.then(e, t);\n\t}\n\tget duration() {\n\t\treturn /* @__PURE__ */ j(this.calculatedDuration);\n\t}\n\tget iterationDuration() {\n\t\tlet { delay: e = 0 } = this.options || {};\n\t\treturn this.duration + /* @__PURE__ */ j(e);\n\t}\n\tget time() {\n\t\treturn /* @__PURE__ */ j(this.currentTime);\n\t}\n\tset time(e) {\n\t\te = /* @__PURE__ */ A(e), this.currentTime = e, this.startTime === null || this.holdTime !== null || this.playbackSpeed === 0 ? this.holdTime = e : this.driver && (this.startTime = this.driver.now() - e / this.playbackSpeed), this.driver ? this.driver.start(!1) : (this.startTime = 0, this.state = \"paused\", this.holdTime = e, this.tick(e));\n\t}\n\tgetGeneratorVelocity() {\n\t\tlet e = this.currentTime;\n\t\tif (e <= 0) return this.options.velocity || 0;\n\t\tif (this.generator.velocity) return this.generator.velocity(e);\n\t\tlet t = this.generator.next(e).value;\n\t\treturn sr((e) => this.generator.next(e).value, e, t);\n\t}\n\tget speed() {\n\t\treturn this.playbackSpeed;\n\t}\n\tset speed(e) {\n\t\tlet t = this.playbackSpeed !== e;\n\t\tt && this.driver && this.updateTime(F.now()), this.playbackSpeed = e, t && this.driver && (this.time = /* @__PURE__ */ j(this.currentTime));\n\t}\n\tplay() {\n\t\tif (this.isStopped) return;\n\t\tlet { driver: e = Gn, startTime: t } = this.options;\n\t\tthis.driver ||= e((e) => this.tick(e)), this.options.onPlay?.();\n\t\tlet n = this.driver.now();\n\t\tthis.state === \"finished\" ? (this.updateFinished(), this.startTime = n) : this.holdTime === null ? this.startTime ||= t ?? n : this.startTime = n - this.holdTime, this.state === \"finished\" && this.speed < 0 && (this.startTime += this.calculatedDuration), this.holdTime = null, this.state = \"running\", this.driver.start();\n\t}\n\tpause() {\n\t\tthis.state = \"paused\", this.updateTime(F.now()), this.holdTime = this.currentTime;\n\t}\n\tcomplete() {\n\t\tthis.state !== \"running\" && this.play(), this.state = \"finished\", this.holdTime = null;\n\t}\n\tfinish() {\n\t\tthis.notifyFinished(), this.teardown(), this.state = \"finished\", this.options.onComplete?.();\n\t}\n\tcancel() {\n\t\tthis.holdTime = null, this.startTime = 0, this.tick(0), this.teardown(), this.options.onCancel?.();\n\t}\n\tteardown() {\n\t\tthis.state = \"idle\", this.stopDriver(), this.startTime = this.holdTime = null;\n\t}\n\tstopDriver() {\n\t\tthis.driver &&= (this.driver.stop(), void 0);\n\t}\n\tsample(e) {\n\t\treturn this.startTime = 0, this.tick(e, !0);\n\t}\n\tattachTimeline(e) {\n\t\treturn this.options.allowFlatten && (this.options.type = \"keyframes\", this.options.ease = \"linear\", this.initAnimation()), this.driver?.stop(), e.observe(this);\n\t}\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs\nfunction Cr(e) {\n\tfor (let t = 1; t < e.length; t++) e[t] ?? (e[t] = e[t - 1]);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs\nvar wr = (e) => e * 180 / Math.PI, Tr = (e) => Dr(wr(Math.atan2(e[1], e[0]))), Er = {\n\tx: 4,\n\ty: 5,\n\ttranslateX: 4,\n\ttranslateY: 5,\n\tscaleX: 0,\n\tscaleY: 3,\n\tscale: (e) => (Math.abs(e[0]) + Math.abs(e[3])) / 2,\n\trotate: Tr,\n\trotateZ: Tr,\n\tskewX: (e) => wr(Math.atan(e[1])),\n\tskewY: (e) => wr(Math.atan(e[2])),\n\tskew: (e) => (Math.abs(e[1]) + Math.abs(e[2])) / 2\n}, Dr = (e) => (e %= 360, e < 0 && (e += 360), e), Or = Tr, kr = (e) => Math.sqrt(e[0] * e[0] + e[1] * e[1]), Ar = (e) => Math.sqrt(e[4] * e[4] + e[5] * e[5]), jr = {\n\tx: 12,\n\ty: 13,\n\tz: 14,\n\ttranslateX: 12,\n\ttranslateY: 13,\n\ttranslateZ: 14,\n\tscaleX: kr,\n\tscaleY: Ar,\n\tscale: (e) => (kr(e) + Ar(e)) / 2,\n\trotateX: (e) => Dr(wr(Math.atan2(e[6], e[5]))),\n\trotateY: (e) => Dr(wr(Math.atan2(-e[2], e[0]))),\n\trotateZ: Or,\n\trotate: Or,\n\tskewX: (e) => wr(Math.atan(e[4])),\n\tskewY: (e) => wr(Math.atan(e[1])),\n\tskew: (e) => (Math.abs(e[1]) + Math.abs(e[4])) / 2\n};\nfunction Mr(e) {\n\treturn +!!e.includes(\"scale\");\n}\nfunction Nr(e, t) {\n\tif (!e || e === \"none\") return Mr(t);\n\tlet n = e.match(/^matrix3d\\(([-\\d.e\\s,]+)\\)$/u), r, i;\n\tif (n) r = jr, i = n;\n\telse {\n\t\tlet t = e.match(/^matrix\\(([-\\d.e\\s,]+)\\)$/u);\n\t\tr = Er, i = t;\n\t}\n\tif (!i) return Mr(t);\n\tlet a = r[t], o = i[1].split(\",\").map(Fr);\n\treturn typeof a == \"function\" ? a(o) : o[a];\n}\nvar Pr = (e, t) => {\n\tlet { transform: n = \"none\" } = getComputedStyle(e);\n\treturn Nr(n, t);\n};\nfunction Fr(e) {\n\treturn parseFloat(e.trim());\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs\nvar Ir = [\n\t\"transformPerspective\",\n\t\"x\",\n\t\"y\",\n\t\"z\",\n\t\"translateX\",\n\t\"translateY\",\n\t\"translateZ\",\n\t\"scale\",\n\t\"scaleX\",\n\t\"scaleY\",\n\t\"rotate\",\n\t\"rotateX\",\n\t\"rotateY\",\n\t\"rotateZ\",\n\t\"skew\",\n\t\"skewX\",\n\t\"skewY\"\n], Lr = /* @__PURE__ */ new Set([...Ir, \"pathRotation\"]), Rr = (e) => e === qt || e === R, zr = new Set([\n\t\"x\",\n\t\"y\",\n\t\"z\"\n]), Br = Ir.filter((e) => !zr.has(e));\nfunction Vr(e) {\n\tlet t = [];\n\treturn Br.forEach((n) => {\n\t\tlet r = e.getValue(n);\n\t\tr !== void 0 && (t.push([n, r.get()]), r.set(+!!n.startsWith(\"scale\")));\n\t}), t;\n}\nvar U = {\n\twidth: ({ x: e }, { paddingLeft: t = \"0\", paddingRight: n = \"0\", boxSizing: r }) => {\n\t\tlet i = e.max - e.min;\n\t\treturn r === \"border-box\" ? i : i - parseFloat(t) - parseFloat(n);\n\t},\n\theight: ({ y: e }, { paddingTop: t = \"0\", paddingBottom: n = \"0\", boxSizing: r }) => {\n\t\tlet i = e.max - e.min;\n\t\treturn r === \"border-box\" ? i : i - parseFloat(t) - parseFloat(n);\n\t},\n\ttop: (e, { top: t }) => parseFloat(t),\n\tleft: (e, { left: t }) => parseFloat(t),\n\tbottom: ({ y: e }, { top: t }) => parseFloat(t) + (e.max - e.min),\n\tright: ({ x: e }, { left: t }) => parseFloat(t) + (e.max - e.min),\n\tx: (e, { transform: t }) => Nr(t, \"x\"),\n\ty: (e, { transform: t }) => Nr(t, \"y\")\n};\nU.translateX = U.x, U.translateY = U.y;\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs\nvar Hr = /* @__PURE__ */ new Set(), Ur = !1, Wr = !1, Gr = !1;\nfunction Kr() {\n\tif (Wr) {\n\t\tlet e = Array.from(Hr).filter((e) => e.needsMeasurement), t = new Set(e.map((e) => e.element)), n = /* @__PURE__ */ new Map();\n\t\tt.forEach((e) => {\n\t\t\tlet t = Vr(e);\n\t\t\tt.length && (n.set(e, t), e.render());\n\t\t}), e.forEach((e) => e.measureInitialState()), t.forEach((e) => {\n\t\t\te.render();\n\t\t\tlet t = n.get(e);\n\t\t\tt && t.forEach(([t, n]) => {\n\t\t\t\te.getValue(t)?.set(n);\n\t\t\t});\n\t\t}), e.forEach((e) => e.measureEndState()), e.forEach((e) => {\n\t\t\te.suspendedScrollY !== void 0 && window.scrollTo(0, e.suspendedScrollY);\n\t\t});\n\t}\n\tWr = !1, Ur = !1, Hr.forEach((e) => e.complete(Gr)), Hr.clear();\n}\nfunction qr() {\n\tHr.forEach((e) => {\n\t\te.readKeyframes(), e.needsMeasurement && (Wr = !0);\n\t});\n}\nfunction Jr() {\n\tGr = !0, qr(), Kr(), Gr = !1;\n}\nvar Yr = class {\n\tconstructor(e, t, n, r, i, a = !1) {\n\t\tthis.state = \"pending\", this.isAsync = !1, this.needsMeasurement = !1, this.unresolvedKeyframes = [...e], this.onComplete = t, this.name = n, this.motionValue = r, this.element = i, this.isAsync = a;\n\t}\n\tscheduleResolve() {\n\t\tthis.state = \"scheduled\", this.isAsync ? (Hr.add(this), Ur || (Ur = !0, M.read(qr), M.resolveKeyframes(Kr))) : (this.readKeyframes(), this.complete());\n\t}\n\treadKeyframes() {\n\t\tlet { unresolvedKeyframes: e, name: t, element: n, motionValue: r } = this;\n\t\tif (e[0] === null) {\n\t\t\tlet i = r?.get(), a = e[e.length - 1];\n\t\t\tif (i !== void 0) e[0] = i;\n\t\t\telse if (n && t) {\n\t\t\t\tlet r = n.readValue(t, a);\n\t\t\t\tr != null && (e[0] = r);\n\t\t\t}\n\t\t\te[0] === void 0 && (e[0] = a), r && i === void 0 && r.set(e[0]);\n\t\t}\n\t\tCr(e);\n\t}\n\tsetFinalKeyframe() {}\n\tmeasureInitialState() {}\n\trenderEndStyles() {}\n\tmeasureEndState() {}\n\tcomplete(e = !1) {\n\t\tthis.state = \"complete\", this.onComplete(this.unresolvedKeyframes, this.finalKeyframe, e), Hr.delete(this);\n\t}\n\tcancel() {\n\t\tthis.state === \"scheduled\" && (Hr.delete(this), this.state = \"pending\");\n\t}\n\tresume() {\n\t\tthis.state === \"pending\" && this.scheduleResolve();\n\t}\n}, Xr = (e) => e.startsWith(\"--\");\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/dom/style-set.mjs\nfunction Zr(e, t, n) {\n\tXr(t) ? e.style.setProperty(t, n) : e.style[t] = n;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/supports/flags.mjs\nvar Qr = {};\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/supports/memo.mjs\nfunction $r(e, t) {\n\tlet n = /* @__PURE__ */ st(e);\n\treturn () => Qr[t] ?? n();\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs\nvar ei = /* @__PURE__ */ $r(() => window.ScrollTimeline !== void 0, \"scrollTimeline\"), ti = /*@__PURE__*/ $r(() => {\n\ttry {\n\t\tdocument.createElement(\"div\").animate({ opacity: 0 }, { easing: \"linear(0, 1)\" });\n\t} catch {\n\t\treturn !1;\n\t}\n\treturn !0;\n}, \"linearEasing\"), ni = ([e, t, n, r]) => `cubic-bezier(${e}, ${t}, ${n}, ${r})`, ri = {\n\tlinear: \"linear\",\n\tease: \"ease\",\n\teaseIn: \"ease-in\",\n\teaseOut: \"ease-out\",\n\teaseInOut: \"ease-in-out\",\n\tcircIn: /*@__PURE__*/ ni([\n\t\t0,\n\t\t.65,\n\t\t.55,\n\t\t1\n\t]),\n\tcircOut: /*@__PURE__*/ ni([\n\t\t.55,\n\t\t0,\n\t\t1,\n\t\t.45\n\t]),\n\tbackIn: /*@__PURE__*/ ni([\n\t\t.31,\n\t\t.01,\n\t\t.66,\n\t\t-.59\n\t]),\n\tbackOut: /*@__PURE__*/ ni([\n\t\t.33,\n\t\t1.53,\n\t\t.69,\n\t\t.99\n\t])\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs\nfunction ii(e, t) {\n\tif (e) return typeof e == \"function\" ? ti() ? Kn(e, t) : \"ease-out\" : /* @__PURE__ */ At(e) ? ni(e) : Array.isArray(e) ? e.map((e) => ii(e, t) || ri.easeOut) : ri[e];\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs\nfunction ai(e, t, n, { delay: r = 0, duration: i = 300, repeat: a = 0, repeatType: o = \"loop\", ease: s = \"easeOut\", times: c } = {}, l = void 0) {\n\tlet u = { [t]: n };\n\tc && (u.offset = c);\n\tlet d = ii(s, i);\n\tArray.isArray(d) && (u.easing = d);\n\tlet f = {\n\t\tdelay: r,\n\t\tduration: i,\n\t\teasing: Array.isArray(d) ? \"linear\" : d,\n\t\tfill: \"both\",\n\t\titerations: a + 1,\n\t\tdirection: o === \"reverse\" ? \"alternate\" : \"normal\"\n\t};\n\treturn l && (f.pseudoElement = l), e.animate(u, f);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs\nfunction oi(e) {\n\treturn typeof e == \"function\" && \"applyToOptions\" in e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs\nfunction si({ type: e, ...t }) {\n\treturn oi(e) && ti() ? e.applyToOptions(t) : (t.duration ??= 300, t.ease ??= \"easeOut\", t);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs\nvar ci = class extends br {\n\tconstructor(e) {\n\t\tif (super(), this.finishedTime = null, this.isStopped = !1, this.manualStartTime = null, !e) return;\n\t\tlet { element: t, name: n, keyframes: r, pseudoElement: i, allowFlatten: a = !1, finalKeyframe: o, onComplete: s } = e;\n\t\tthis.isPseudoElement = !!i, this.allowFlatten = a, this.options = e, e.type;\n\t\tlet c = si(e);\n\t\tthis.animation = ai(t, n, r, c, i), c.autoplay === !1 && this.animation.pause(), this.animation.onfinish = () => {\n\t\t\tif (this.finishedTime = this.time, !i) {\n\t\t\t\tlet e = _r(r, this.options, o, this.speed);\n\t\t\t\tthis.updateMotionValue && this.updateMotionValue(e), Zr(t, n, e), this.animation.cancel();\n\t\t\t}\n\t\t\ts?.(), this.notifyFinished();\n\t\t};\n\t}\n\tplay() {\n\t\tthis.isStopped || (this.manualStartTime = null, this.animation.play(), this.state === \"finished\" && this.updateFinished());\n\t}\n\tpause() {\n\t\tthis.animation.pause();\n\t}\n\tcomplete() {\n\t\tthis.animation.finish?.();\n\t}\n\tcancel() {\n\t\ttry {\n\t\t\tthis.animation.cancel();\n\t\t} catch {}\n\t}\n\tstop() {\n\t\tif (this.isStopped) return;\n\t\tthis.isStopped = !0;\n\t\tlet { state: e } = this;\n\t\te === \"idle\" || e === \"finished\" || (this.updateMotionValue ? this.updateMotionValue() : this.commitStyles(), this.isPseudoElement || this.cancel());\n\t}\n\tcommitStyles() {\n\t\tlet e = this.options?.element;\n\t\t!this.isPseudoElement && e?.isConnected && this.animation.commitStyles?.();\n\t}\n\tget duration() {\n\t\tlet e = this.animation.effect?.getComputedTiming?.().duration || 0;\n\t\treturn /* @__PURE__ */ j(Number(e));\n\t}\n\tget iterationDuration() {\n\t\tlet { delay: e = 0 } = this.options || {};\n\t\treturn this.duration + /* @__PURE__ */ j(e);\n\t}\n\tget time() {\n\t\treturn /* @__PURE__ */ j(Number(this.animation.currentTime) || 0);\n\t}\n\tset time(e) {\n\t\tlet t = this.finishedTime !== null;\n\t\tthis.manualStartTime = null, this.finishedTime = null, this.animation.currentTime = /* @__PURE__ */ A(e), t && this.animation.pause();\n\t}\n\tget speed() {\n\t\treturn this.animation.playbackRate;\n\t}\n\tset speed(e) {\n\t\te < 0 && (this.finishedTime = null), this.animation.playbackRate = e;\n\t}\n\tget state() {\n\t\treturn this.finishedTime === null ? this.animation.playState : \"finished\";\n\t}\n\tget startTime() {\n\t\treturn this.manualStartTime ?? Number(this.animation.startTime);\n\t}\n\tset startTime(e) {\n\t\tthis.manualStartTime = this.animation.startTime = e;\n\t}\n\tattachTimeline({ timeline: e, rangeStart: t, rangeEnd: n, observe: r }) {\n\t\treturn this.allowFlatten && this.animation.effect?.updateTiming({ easing: \"linear\" }), this.animation.onfinish = null, e && ei() ? (this.animation.timeline = e, t && (this.animation.rangeStart = t), n && (this.animation.rangeEnd = n), k) : r(this);\n\t}\n}, li = {\n\tanticipate: St,\n\tbackInOut: xt,\n\tcircInOut: Tt\n};\nfunction ui(e) {\n\treturn e in li;\n}\nfunction di(e) {\n\ttypeof e.ease == \"string\" && ui(e.ease) && (e.ease = li[e.ease]);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs\nvar fi = 10, pi = class extends ci {\n\tconstructor(e) {\n\t\tdi(e), yr(e), super(e), e.startTime !== void 0 && e.autoplay !== !1 && (this.startTime = e.startTime), this.options = e;\n\t}\n\tupdateMotionValue(e) {\n\t\tlet { motionValue: t, onUpdate: n, onComplete: r, element: i, ...a } = this.options;\n\t\tif (!t) return;\n\t\tif (e !== void 0) {\n\t\t\tt.set(e);\n\t\t\treturn;\n\t\t}\n\t\tlet o = new Sr({\n\t\t\t...a,\n\t\t\tautoplay: !1\n\t\t}), s = Math.max(fi, F.now() - this.startTime), c = D(0, fi, s - fi), l = o.sample(s).value, { name: u } = this.options;\n\t\ti && u && Zr(i, u, l), t.setWithVelocity(o.sample(Math.max(0, s - c)).value, l, c), o.stop();\n\t}\n}, mi = (e, t) => t === \"zIndex\" ? !1 : !!(typeof e == \"number\" || Array.isArray(e) || typeof e == \"string\" && (B.test(e) || e === \"0\") && !e.startsWith(\"url(\"));\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs\nfunction hi(e) {\n\tlet t = e[0];\n\tif (e.length === 1) return !0;\n\tfor (let n = 0; n < e.length; n++) if (e[n] !== t) return !0;\n}\nfunction gi(e, t, n, r) {\n\tlet i = e[0];\n\tif (i === null) return !1;\n\tif (t === \"display\" || t === \"visibility\") return !0;\n\tlet a = e[e.length - 1], o = mi(i, t), s = mi(a, t);\n\treturn `${t}${i}${a}${o ? a : i}`, !o || !s ? !1 : hi(e) || (n === \"spring\" || oi(n)) && r;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs\nfunction _i(e) {\n\te.duration = 0, e.type = \"keyframes\";\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs\nvar vi = new Set([\n\t\"opacity\",\n\t\"clipPath\",\n\t\"filter\",\n\t\"transform\"\n]), yi = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\\(/;\nfunction bi(e) {\n\tfor (let t = 0; t < e.length; t++) if (typeof e[t] == \"string\" && yi.test(e[t])) return !0;\n\treturn !1;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs\nvar xi = new Set([\n\t\"color\",\n\t\"backgroundColor\",\n\t\"outlineColor\",\n\t\"fill\",\n\t\"stroke\",\n\t\"borderColor\",\n\t\"borderTopColor\",\n\t\"borderRightColor\",\n\t\"borderBottomColor\",\n\t\"borderLeftColor\"\n]), Si = /*@__PURE__*/ st(() => Object.hasOwnProperty.call(Element.prototype, \"animate\"));\nfunction Ci(e) {\n\tlet { motionValue: t, name: n, repeatDelay: r, repeatType: i, damping: a, type: o, keyframes: s } = e;\n\tif (!(t?.owner?.current instanceof HTMLElement)) return !1;\n\tlet { onUpdate: c, transformTemplate: l } = t.owner.getProps();\n\treturn Si() && n && (vi.has(n) || xi.has(n) && bi(s)) && (n !== \"transform\" || !l) && !c && !r && i !== \"mirror\" && a !== 0 && o !== \"inertia\";\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs\nvar wi = 40, Ti = class extends br {\n\tconstructor({ autoplay: e = !0, delay: t = 0, type: n = \"keyframes\", repeat: r = 0, repeatDelay: i = 0, repeatType: a = \"loop\", keyframes: o, name: s, motionValue: c, element: l, ...u }) {\n\t\tsuper(), this.stop = () => {\n\t\t\tthis._animation && (this._animation.stop(), this.stopTimeline?.()), this.keyframeResolver?.cancel();\n\t\t}, this.createdAt = F.now();\n\t\tlet d = {\n\t\t\tautoplay: e,\n\t\t\tdelay: t,\n\t\t\ttype: n,\n\t\t\trepeat: r,\n\t\t\trepeatDelay: i,\n\t\t\trepeatType: a,\n\t\t\tname: s,\n\t\t\tmotionValue: c,\n\t\t\telement: l,\n\t\t\t...u\n\t\t}, f = l?.KeyframeResolver || Yr;\n\t\tthis.keyframeResolver = new f(o, (e, t, n) => this.onKeyframesResolved(e, t, d, !n), s, c, l), this.keyframeResolver?.scheduleResolve();\n\t}\n\tonKeyframesResolved(e, t, n, r) {\n\t\tthis.keyframeResolver = void 0;\n\t\tlet { name: i, type: a, velocity: o, delay: s, isHandoff: c, onUpdate: l } = n;\n\t\tthis.resolvedAt = F.now();\n\t\tlet u = !0;\n\t\tgi(e, i, a, o) || (u = !1, (O.instantAnimations || !s) && l?.(_r(e, n, t)), e[0] = e[e.length - 1], _i(n), n.repeat = 0);\n\t\tlet d = {\n\t\t\tstartTime: r ? this.resolvedAt && this.resolvedAt - this.createdAt > wi ? this.resolvedAt : this.createdAt : void 0,\n\t\t\tfinalKeyframe: t,\n\t\t\t...n,\n\t\t\tkeyframes: e\n\t\t}, f = u && !c && Ci(d), p = d.motionValue?.owner?.current, m;\n\t\tif (f) try {\n\t\t\tm = new pi({\n\t\t\t\t...d,\n\t\t\t\telement: p\n\t\t\t});\n\t\t} catch {\n\t\t\tm = new Sr(d);\n\t\t}\n\t\telse m = new Sr(d);\n\t\tm.finished.then(() => {\n\t\t\tthis.notifyFinished();\n\t\t}).catch(k), this.pendingTimeline &&= (this.stopTimeline = m.attachTimeline(this.pendingTimeline), void 0), this._animation = m;\n\t}\n\tget finished() {\n\t\treturn this._animation ? this.animation.finished : this._finished;\n\t}\n\tthen(e, t) {\n\t\treturn this.finished.finally(e).then(() => {});\n\t}\n\tget animation() {\n\t\treturn this._animation || (this.keyframeResolver?.resume(), Jr()), this._animation;\n\t}\n\tget duration() {\n\t\treturn this.animation.duration;\n\t}\n\tget iterationDuration() {\n\t\treturn this.animation.iterationDuration;\n\t}\n\tget time() {\n\t\treturn this.animation.time;\n\t}\n\tset time(e) {\n\t\tthis.animation.time = e;\n\t}\n\tget speed() {\n\t\treturn this.animation.speed;\n\t}\n\tget state() {\n\t\treturn this.animation.state;\n\t}\n\tset speed(e) {\n\t\tthis.animation.speed = e;\n\t}\n\tget startTime() {\n\t\treturn this.animation.startTime;\n\t}\n\tattachTimeline(e) {\n\t\treturn this._animation ? this.stopTimeline = this.animation.attachTimeline(e) : this.pendingTimeline = e, () => this.stop();\n\t}\n\tplay() {\n\t\tthis.animation.play();\n\t}\n\tpause() {\n\t\tthis.animation.pause();\n\t}\n\tcomplete() {\n\t\tthis.animation.complete();\n\t}\n\tcancel() {\n\t\tthis._animation && this.animation.cancel(), this.keyframeResolver?.cancel();\n\t}\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs\nfunction Ei(e, t, n, r = 0, i = 1) {\n\tlet a = Array.from(e).sort((e, t) => e.sortNodePosition(t)).indexOf(t), o = e.size, s = (o - 1) * r;\n\treturn typeof n == \"function\" ? n(a, o) : i === 1 ? a * r : s - a * r;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/index.mjs\nvar Di = 30, Oi = (e) => !isNaN(parseFloat(e)), ki = { current: void 0 }, Ai = class {\n\tconstructor(e, t = {}) {\n\t\tthis.canTrackVelocity = null, this.events = {}, this.updateAndNotify = (e) => {\n\t\t\tlet t = F.now();\n\t\t\tif (this.updatedAt !== t && this.setPrevFrameValue(), this.prev = this.current, this.setCurrent(e), this.current !== this.prev && (this.events.change?.notify(this.current), this.dependents)) for (let e of this.dependents) e.dirty();\n\t\t}, this.hasAnimated = !1, this.setCurrent(e), this.owner = t.owner;\n\t}\n\tsetCurrent(e) {\n\t\tthis.current = e, this.updatedAt = F.now(), this.canTrackVelocity === null && e !== void 0 && (this.canTrackVelocity = Oi(this.current));\n\t}\n\tsetPrevFrameValue(e = this.current) {\n\t\tthis.prevFrameValue = e, this.prevUpdatedAt = this.updatedAt;\n\t}\n\tonChange(e) {\n\t\treturn this.on(\"change\", e);\n\t}\n\ton(e, t) {\n\t\tthis.events[e] || (this.events[e] = new ut());\n\t\tlet n = this.events[e].add(t);\n\t\treturn e === \"change\" ? () => {\n\t\t\tn(), M.read(() => {\n\t\t\t\tthis.events.change.getSize() || this.stop();\n\t\t\t});\n\t\t} : n;\n\t}\n\tclearListeners() {\n\t\tfor (let e in this.events) this.events[e].clear();\n\t}\n\tattach(e, t) {\n\t\tthis.passiveEffect = e, this.stopPassiveEffect = t;\n\t}\n\tset(e) {\n\t\tthis.passiveEffect ? this.passiveEffect(e, this.updateAndNotify) : this.updateAndNotify(e);\n\t}\n\tsetWithVelocity(e, t, n) {\n\t\tthis.set(t), this.prev = void 0, this.prevFrameValue = e, this.prevUpdatedAt = this.updatedAt - n;\n\t}\n\tjump(e, t = !0) {\n\t\tthis.updateAndNotify(e), this.prev = e, this.prevUpdatedAt = this.prevFrameValue = void 0, t && this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();\n\t}\n\tdirty() {\n\t\tthis.events.change?.notify(this.current);\n\t}\n\taddDependent(e) {\n\t\tthis.dependents ||= /* @__PURE__ */ new Set(), this.dependents.add(e);\n\t}\n\tremoveDependent(e) {\n\t\tthis.dependents && this.dependents.delete(e);\n\t}\n\tget() {\n\t\treturn ki.current && ki.current.push(this), this.current;\n\t}\n\tgetPrevious() {\n\t\treturn this.prev;\n\t}\n\tgetVelocity() {\n\t\tlet e = F.now();\n\t\tif (!this.canTrackVelocity || this.prevFrameValue === void 0 || e - this.updatedAt > Di) return 0;\n\t\tlet t = Math.min(this.updatedAt - this.prevUpdatedAt, Di);\n\t\treturn /* @__PURE__ */ dt(parseFloat(this.current) - parseFloat(this.prevFrameValue), t);\n\t}\n\tstart(e) {\n\t\treturn this.stop(), new Promise((t) => {\n\t\t\tthis.hasAnimated = !0, this.animation = e(t), this.events.animationStart && this.events.animationStart.notify();\n\t\t}).then(() => {\n\t\t\tthis.events.animationComplete && this.events.animationComplete.notify(), this.clearAnimation();\n\t\t});\n\t}\n\tstop() {\n\t\tthis.animation && (this.animation.stop(), this.events.animationCancel && this.events.animationCancel.notify()), this.clearAnimation();\n\t}\n\tisAnimating() {\n\t\treturn !!this.animation;\n\t}\n\tclearAnimation() {\n\t\tdelete this.animation;\n\t}\n\tdestroy() {\n\t\tthis.dependents?.clear(), this.events.destroy?.notify(), this.clearListeners(), this.stop(), this.stopPassiveEffect && this.stopPassiveEffect();\n\t}\n};\nfunction ji(e, t) {\n\treturn new Ai(e, t);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs\nfunction Mi(e, t) {\n\tif (e?.inherit && t) {\n\t\tlet { inherit: n, ...r } = e;\n\t\treturn {\n\t\t\t...t,\n\t\t\t...r\n\t\t};\n\t}\n\treturn e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs\nfunction Ni(e, t) {\n\tlet n = e?.[t] ?? e?.default ?? e;\n\treturn n === e ? n : Mi(n, e);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs\nvar Pi = {\n\ttype: \"spring\",\n\tstiffness: 500,\n\tdamping: 25,\n\trestSpeed: 10\n}, Fi = (e) => ({\n\ttype: \"spring\",\n\tstiffness: 550,\n\tdamping: e === 0 ? 2 * Math.sqrt(550) : 30,\n\trestSpeed: 10\n}), Ii = {\n\ttype: \"keyframes\",\n\tduration: .8\n}, Li = {\n\ttype: \"keyframes\",\n\tease: [\n\t\t.25,\n\t\t.1,\n\t\t.35,\n\t\t1\n\t],\n\tduration: .3\n}, Ri = (e, { keyframes: t }) => t.length > 2 ? Ii : Lr.has(e) ? e.startsWith(\"scale\") ? Fi(t[1]) : Pi : Li, zi = new Set([\n\t\"when\",\n\t\"delay\",\n\t\"delayChildren\",\n\t\"staggerChildren\",\n\t\"staggerDirection\",\n\t\"repeat\",\n\t\"repeatType\",\n\t\"repeatDelay\",\n\t\"from\",\n\t\"elapsed\"\n]);\nfunction Bi(e) {\n\tfor (let t in e) if (!zi.has(t)) return !0;\n\treturn !1;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs\nvar Vi = (e, t, n, r = {}, i, a) => (o) => {\n\tlet s = Ni(r, e) || {}, c = s.delay || r.delay || 0, { elapsed: l = 0 } = r;\n\tl -= /* @__PURE__ */ A(c);\n\tlet u = {\n\t\tkeyframes: Array.isArray(n) ? n : [null, n],\n\t\tease: \"easeOut\",\n\t\tvelocity: t.getVelocity(),\n\t\t...s,\n\t\tdelay: -l,\n\t\tonUpdate: (e) => {\n\t\t\tt.set(e), s.onUpdate && s.onUpdate(e);\n\t\t},\n\t\tonComplete: () => {\n\t\t\to(), s.onComplete && s.onComplete();\n\t\t},\n\t\tname: e,\n\t\tmotionValue: t,\n\t\telement: a ? void 0 : i\n\t};\n\tBi(s) || Object.assign(u, Ri(e, u)), u.duration &&= /* @__PURE__ */ A(u.duration), u.repeatDelay &&= /* @__PURE__ */ A(u.repeatDelay), u.from !== void 0 && (u.keyframes[0] = u.from);\n\tlet d = !1;\n\tif ((u.type === !1 || u.duration === 0 && !u.repeatDelay) && (_i(u), u.delay === 0 && (d = !0)), (O.instantAnimations || O.skipAnimations || i?.shouldSkipAnimations || s.skipAnimations) && (d = !0, _i(u), u.delay = 0), u.allowFlatten = !s.type && !s.ease, d && !a && t.get() !== void 0) {\n\t\tlet e = _r(u.keyframes, s);\n\t\tif (e !== void 0) {\n\t\t\tM.update(() => {\n\t\t\t\tu.onUpdate(e), u.onComplete();\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t}\n\treturn s.isSync ? new Sr(u) : new Ti(u);\n}, Hi = /^var\\(--(?:([\\w-]+)|([\\w-]+), ?([a-zA-Z\\d ()%#.,-]+))\\)/u;\nfunction Ui(e) {\n\tlet t = Hi.exec(e);\n\tif (!t) return [,];\n\tlet [, n, r, i] = t;\n\treturn [`--${n ?? r}`, i];\n}\nfunction Wi(e, t, n = 1) {\n\t`${e}`;\n\tlet [r, i] = Ui(e);\n\tif (!r) return;\n\tlet a = window.getComputedStyle(t).getPropertyValue(r);\n\tif (a) {\n\t\tlet e = a.trim();\n\t\treturn it(e) ? parseFloat(e) : e;\n\t}\n\treturn Wt(i) ? Wi(i, t, n + 1) : i;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs\nfunction Gi(e) {\n\tlet t = [{}, {}];\n\treturn e?.values.forEach((e, n) => {\n\t\tt[0][n] = e.get(), t[1][n] = e.getVelocity();\n\t}), t;\n}\nfunction Ki(e, t, n, r) {\n\tif (typeof t == \"function\") {\n\t\tlet [i, a] = Gi(r);\n\t\tt = t(n === void 0 ? e.custom : n, i, a);\n\t}\n\tif (typeof t == \"string\" && (t = e.variants && e.variants[t]), typeof t == \"function\") {\n\t\tlet [i, a] = Gi(r);\n\t\tt = t(n === void 0 ? e.custom : n, i, a);\n\t}\n\treturn t;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs\nfunction qi(e, t, n) {\n\tlet r = e.getProps();\n\treturn Ki(r, t, n === void 0 ? r.custom : n, e);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/keys-position.mjs\nvar Ji = new Set([\n\t\"width\",\n\t\"height\",\n\t\"top\",\n\t\"left\",\n\t\"right\",\n\t\"bottom\",\n\t...Ir\n]), Yi = (e) => Array.isArray(e);\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/setters.mjs\nfunction Xi(e, t, n) {\n\te.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, ji(n));\n}\nfunction Zi(e) {\n\treturn Yi(e) ? e[e.length - 1] || 0 : e;\n}\nfunction Qi(e, t) {\n\tlet { transitionEnd: n = {}, transition: r = {}, ...i } = qi(e, t) || {};\n\ti = {\n\t\t...i,\n\t\t...n\n\t};\n\tfor (let t in i) Xi(e, t, Zi(i[t]));\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs\nvar W = (e) => !!(e && e.getVelocity);\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/will-change/is.mjs\nfunction $i(e) {\n\treturn !!(W(e) && e.add);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs\nfunction ea(e, t) {\n\tlet n = e.getValue(\"willChange\");\n\tif ($i(n)) return n.add(t);\n\tif (!n && O.WillChange) {\n\t\tlet n = new O.WillChange(\"auto\");\n\t\te.addValue(\"willChange\", n), n.add(t);\n\t}\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs\nfunction ta(e) {\n\treturn e.replace(/([A-Z])/g, (e) => `-${e.toLowerCase()}`);\n}\nvar na = \"data-\" + ta(\"framerAppearId\");\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs\nfunction ra(e) {\n\treturn e.props[na];\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs\nfunction ia({ protectedKeys: e, needsAnimating: t }, n) {\n\tlet r = e.hasOwnProperty(n) && t[n] !== !0;\n\treturn t[n] = !1, r;\n}\nfunction aa(e, t, { delay: n = 0, transitionOverride: r, type: i } = {}) {\n\tlet { transition: a, transitionEnd: o, ...s } = t, c = e.getDefaultTransition();\n\ta = a ? Mi(a, c) : c;\n\tlet l = a?.reduceMotion, u = a?.skipAnimations;\n\tr && (a = r);\n\tlet d = [], f = i && e.animationState && e.animationState.getState()[i], p = a?.path;\n\tp && p.animateVisualElement(e, s, a, n, d);\n\tfor (let t in s) {\n\t\tlet r = e.getValue(t, e.latestValues[t] ?? null), i = s[t];\n\t\tif (i === void 0 || f && ia(f, t)) continue;\n\t\tlet o = {\n\t\t\tdelay: n,\n\t\t\t...Ni(a || {}, t)\n\t\t};\n\t\tu && (o.skipAnimations = !0);\n\t\tlet c = r.get();\n\t\tif (c !== void 0 && !r.isAnimating() && !Array.isArray(i) && i === c && !o.velocity) {\n\t\t\tM.update(() => r.set(i));\n\t\t\tcontinue;\n\t\t}\n\t\tlet p = !1;\n\t\tif (window.MotionHandoffAnimation) {\n\t\t\tlet n = ra(e);\n\t\t\tif (n) {\n\t\t\t\tlet e = window.MotionHandoffAnimation(n, t, M);\n\t\t\t\te !== null && (o.startTime = e, p = !0);\n\t\t\t}\n\t\t}\n\t\tea(e, t);\n\t\tlet m = l ?? e.shouldReduceMotion;\n\t\tr.start(Vi(t, r, i, m && Ji.has(t) ? { type: !1 } : o, e, p));\n\t\tlet h = r.animation;\n\t\th && d.push(h);\n\t}\n\tif (o) {\n\t\tlet t = () => M.update(() => {\n\t\t\to && Qi(e, o);\n\t\t});\n\t\td.length ? Promise.all(d).then(t) : t();\n\t}\n\treturn d;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs\nfunction oa(e, t, n = {}) {\n\tlet r = qi(e, t, n.type === \"exit\" ? e.presenceContext?.custom : void 0), { transition: i = e.getDefaultTransition() || {} } = r || {};\n\tn.transitionOverride && (i = n.transitionOverride);\n\tlet a = r ? () => Promise.all(aa(e, r, n)) : () => Promise.resolve(), o = e.variantChildren && e.variantChildren.size ? (r = 0) => {\n\t\tlet { delayChildren: a = 0, staggerChildren: o, staggerDirection: s } = i;\n\t\treturn sa(e, t, r, a, o, s, n);\n\t} : () => Promise.resolve(), { when: s } = i;\n\tif (s) {\n\t\tlet [e, t] = s === \"beforeChildren\" ? [a, o] : [o, a];\n\t\treturn e().then(() => t());\n\t} else return Promise.all([a(), o(n.delay)]);\n}\nfunction sa(e, t, n = 0, r = 0, i = 0, a = 1, o) {\n\tlet s = [];\n\tfor (let c of e.variantChildren) c.notify(\"AnimationStart\", t), s.push(oa(c, t, {\n\t\t...o,\n\t\tdelay: n + (typeof r == \"function\" ? 0 : r) + Ei(e.variantChildren, c, r, i, a)\n\t}).then(() => c.notify(\"AnimationComplete\", t)));\n\treturn Promise.all(s);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs\nfunction ca(e, t, n = {}) {\n\te.notify(\"AnimationStart\", t);\n\tlet r;\n\tif (Array.isArray(t)) {\n\t\tlet i = t.map((t) => oa(e, t, n));\n\t\tr = Promise.all(i);\n\t} else if (typeof t == \"string\") r = oa(e, t, n);\n\telse {\n\t\tlet i = typeof t == \"function\" ? qi(e, t, n.custom) : t;\n\t\tr = Promise.all(aa(e, i, n));\n\t}\n\treturn r.then(() => {\n\t\te.notify(\"AnimationComplete\", t);\n\t});\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/auto.mjs\nvar la = {\n\ttest: (e) => e === \"auto\",\n\tparse: (e) => e\n}, ua = (e) => (t) => t.test(e), da = [\n\tqt,\n\tR,\n\tL,\n\tI,\n\tun,\n\tln,\n\tla\n], fa = (e) => da.find(ua(e));\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs\nfunction pa(e) {\n\treturn typeof e == \"number\" ? e === 0 : e === null ? !0 : e === \"none\" || e === \"0\" || ot(e);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/complex/filter.mjs\nvar ma = new Set([\n\t\"brightness\",\n\t\"contrast\",\n\t\"saturate\",\n\t\"opacity\"\n]);\nfunction ha(e) {\n\tlet [t, n] = e.slice(0, -1).split(\"(\");\n\tif (t === \"drop-shadow\") return e;\n\tlet [r] = n.match(Zt) || [];\n\tif (!r) return e;\n\tlet i = n.replace(r, \"\"), a = +!!ma.has(t);\n\treturn r !== n && (a *= 100), t + \"(\" + a + i + \")\";\n}\nvar ga = /\\b([a-z-]*)\\(.*?\\)/gu, _a = {\n\t...B,\n\tgetAnimatableNone: (e) => {\n\t\tlet t = e.match(ga);\n\t\treturn t ? t.map(ha).join(\" \") : e;\n\t}\n}, va = {\n\t...B,\n\tgetAnimatableNone: (e) => {\n\t\tlet t = B.parse(e);\n\t\treturn B.createTransformer(e)(t.map((e) => typeof e == \"number\" ? 0 : typeof e == \"object\" ? {\n\t\t\t...e,\n\t\t\talpha: 1\n\t\t} : e));\n\t}\n}, ya = {\n\t...qt,\n\ttransform: Math.round\n}, ba = {\n\tborderWidth: R,\n\tborderTopWidth: R,\n\tborderRightWidth: R,\n\tborderBottomWidth: R,\n\tborderLeftWidth: R,\n\tborderRadius: R,\n\tborderTopLeftRadius: R,\n\tborderTopRightRadius: R,\n\tborderBottomRightRadius: R,\n\tborderBottomLeftRadius: R,\n\twidth: R,\n\tmaxWidth: R,\n\theight: R,\n\tmaxHeight: R,\n\ttop: R,\n\tright: R,\n\tbottom: R,\n\tleft: R,\n\tinset: R,\n\tinsetBlock: R,\n\tinsetBlockStart: R,\n\tinsetBlockEnd: R,\n\tinsetInline: R,\n\tinsetInlineStart: R,\n\tinsetInlineEnd: R,\n\tpadding: R,\n\tpaddingTop: R,\n\tpaddingRight: R,\n\tpaddingBottom: R,\n\tpaddingLeft: R,\n\tpaddingBlock: R,\n\tpaddingBlockStart: R,\n\tpaddingBlockEnd: R,\n\tpaddingInline: R,\n\tpaddingInlineStart: R,\n\tpaddingInlineEnd: R,\n\tmargin: R,\n\tmarginTop: R,\n\tmarginRight: R,\n\tmarginBottom: R,\n\tmarginLeft: R,\n\tmarginBlock: R,\n\tmarginBlockStart: R,\n\tmarginBlockEnd: R,\n\tmarginInline: R,\n\tmarginInlineStart: R,\n\tmarginInlineEnd: R,\n\tfontSize: R,\n\tbackgroundPositionX: R,\n\tbackgroundPositionY: R,\n\trotate: I,\n\tpathRotation: I,\n\trotateX: I,\n\trotateY: I,\n\trotateZ: I,\n\tscale: Yt,\n\tscaleX: Yt,\n\tscaleY: Yt,\n\tscaleZ: Yt,\n\tskew: I,\n\tskewX: I,\n\tskewY: I,\n\tdistance: R,\n\ttranslateX: R,\n\ttranslateY: R,\n\ttranslateZ: R,\n\tx: R,\n\ty: R,\n\tz: R,\n\tperspective: R,\n\ttransformPerspective: R,\n\topacity: Jt,\n\toriginX: dn,\n\toriginY: dn,\n\toriginZ: R,\n\tzIndex: ya,\n\tfillOpacity: Jt,\n\tstrokeOpacity: Jt,\n\tnumOctaves: ya\n}, xa = {\n\t...ba,\n\tcolor: z,\n\tbackgroundColor: z,\n\toutlineColor: z,\n\tfill: z,\n\tstroke: z,\n\tborderColor: z,\n\tborderTopColor: z,\n\tborderRightColor: z,\n\tborderBottomColor: z,\n\tborderLeftColor: z,\n\tfilter: _a,\n\tWebkitFilter: _a,\n\tmask: va,\n\tWebkitMask: va\n}, Sa = (e) => xa[e], Ca = /*@__PURE__*/ new Set([_a, va]);\nfunction wa(e, t) {\n\tlet n = Sa(e);\n\treturn Ca.has(n) || (n = B), n.getAnimatableNone ? n.getAnimatableNone(t) : void 0;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs\nvar Ta = new Set([\n\t\"auto\",\n\t\"none\",\n\t\"0\"\n]);\nfunction Ea(e, t, n) {\n\tlet r = 0, i;\n\tfor (; r < e.length && !i;) {\n\t\tlet t = e[r];\n\t\ttypeof t == \"string\" && !Ta.has(t) && xn(t).values.length && (i = e[r]), r++;\n\t}\n\tif (i && n) for (let r of t) e[r] = wa(n, i);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs\nvar Da = class extends Yr {\n\tconstructor(e, t, n, r, i) {\n\t\tsuper(e, t, n, r, i, !0);\n\t}\n\treadKeyframes() {\n\t\tlet { unresolvedKeyframes: e, element: t, name: n } = this;\n\t\tif (!t || !t.current) return;\n\t\tsuper.readKeyframes();\n\t\tfor (let n = 0; n < e.length; n++) {\n\t\t\tlet r = e[n];\n\t\t\tif (typeof r == \"string\" && (r = r.trim(), Wt(r))) {\n\t\t\t\tlet i = Wi(r, t.current);\n\t\t\t\ti !== void 0 && (e[n] = i), n === e.length - 1 && (this.finalKeyframe = r);\n\t\t\t}\n\t\t}\n\t\tif (this.resolveNoneKeyframes(), !Ji.has(n) || e.length !== 2) return;\n\t\tlet [r, i] = e, a = fa(r), o = fa(i);\n\t\tif (Kt(r) !== Kt(i) && U[n]) {\n\t\t\tthis.needsMeasurement = !0;\n\t\t\treturn;\n\t\t}\n\t\tif (a !== o) if (Rr(a) && Rr(o)) for (let t = 0; t < e.length; t++) {\n\t\t\tlet n = e[t];\n\t\t\ttypeof n == \"string\" && (e[t] = parseFloat(n));\n\t\t}\n\t\telse U[n] && (this.needsMeasurement = !0);\n\t}\n\tresolveNoneKeyframes() {\n\t\tlet { unresolvedKeyframes: e, name: t } = this, n = [];\n\t\tfor (let t = 0; t < e.length; t++) (e[t] === null || pa(e[t])) && n.push(t);\n\t\tn.length && Ea(e, n, t);\n\t}\n\tmeasureInitialState() {\n\t\tlet { element: e, unresolvedKeyframes: t, name: n } = this;\n\t\tif (!e || !e.current) return;\n\t\tn === \"height\" && (this.suspendedScrollY = window.pageYOffset), this.measuredOrigin = U[n](e.measureViewportBox(), window.getComputedStyle(e.current)), t[0] = this.measuredOrigin;\n\t\tlet r = t[t.length - 1];\n\t\tr !== void 0 && e.getValue(n, r).jump(r, !1);\n\t}\n\tmeasureEndState() {\n\t\tlet { element: e, name: t, unresolvedKeyframes: n } = this;\n\t\tif (!e || !e.current) return;\n\t\tlet r = e.getValue(t);\n\t\tr && r.jump(this.measuredOrigin, !1);\n\t\tlet i = n.length - 1, a = n[i];\n\t\tn[i] = U[t](e.measureViewportBox(), window.getComputedStyle(e.current)), a !== null && this.finalKeyframe === void 0 && (this.finalKeyframe = a), this.removedTransforms?.length && this.removedTransforms.forEach(([t, n]) => {\n\t\t\te.getValue(t).set(n);\n\t\t}), this.resolveNoneKeyframes();\n\t}\n}, Oa = [\n\t\"borderTopLeftRadius\",\n\t\"borderTopRightRadius\",\n\t\"borderBottomRightRadius\",\n\t\"borderBottomLeftRadius\"\n];\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/resolve-elements.mjs\nfunction ka(e, t, n) {\n\tif (e == null) return [];\n\tif (e instanceof EventTarget) return [e];\n\tif (typeof e == \"string\") {\n\t\tlet r = document;\n\t\tt && (r = t.current);\n\t\tlet i = n?.[e] ?? r.querySelectorAll(e);\n\t\treturn i ? Array.from(i) : [];\n\t}\n\treturn Array.from(e).filter((e) => e != null);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs\nvar Aa = (e, t) => t && typeof e == \"number\" ? t.transform(e) : e;\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/is-html-element.mjs\nfunction ja(e) {\n\treturn at(e) && \"offsetHeight\" in e && !(\"ownerSVGElement\" in e);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/frameloop/microtask.mjs\nvar { schedule: Ma, cancel: Na } = /* @__PURE__ */ Lt(queueMicrotask, !1), G = {\n\tx: !1,\n\ty: !1\n};\nfunction Pa() {\n\treturn G.x || G.y;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs\nfunction Fa(e) {\n\treturn e === \"x\" || e === \"y\" ? G[e] ? null : (G[e] = !0, () => {\n\t\tG[e] = !1;\n\t}) : G.x || G.y ? null : (G.x = G.y = !0, () => {\n\t\tG.x = G.y = !1;\n\t});\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/gestures/utils/setup.mjs\nfunction Ia(e, t) {\n\tlet n = ka(e), r = new AbortController();\n\treturn [\n\t\tn,\n\t\t{\n\t\t\tpassive: !0,\n\t\t\t...t,\n\t\t\tsignal: r.signal\n\t\t},\n\t\t() => r.abort()\n\t];\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/gestures/hover.mjs\nfunction La(e) {\n\treturn !(e.pointerType === \"touch\" || Pa());\n}\nfunction Ra(e, t, n = {}) {\n\tlet [r, i, a] = Ia(e, n);\n\treturn r.forEach((e) => {\n\t\tlet n = !1, r = !1, a, o = () => {\n\t\t\te.removeEventListener(\"pointerleave\", u);\n\t\t}, s = (e) => {\n\t\t\ta &&= (a(e), void 0), o();\n\t\t}, c = (e) => {\n\t\t\tn = !1, window.removeEventListener(\"pointerup\", c), window.removeEventListener(\"pointercancel\", c), r && (r = !1, s(e));\n\t\t}, l = () => {\n\t\t\tn = !0, window.addEventListener(\"pointerup\", c, i), window.addEventListener(\"pointercancel\", c, i);\n\t\t}, u = (e) => {\n\t\t\tif (e.pointerType !== \"touch\") {\n\t\t\t\tif (n) {\n\t\t\t\t\tr = !0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ts(e);\n\t\t\t}\n\t\t};\n\t\te.addEventListener(\"pointerenter\", (n) => {\n\t\t\tif (!La(n)) return;\n\t\t\tr = !1;\n\t\t\tlet o = t(e, n);\n\t\t\ttypeof o == \"function\" && (a = o, e.addEventListener(\"pointerleave\", u, i));\n\t\t}, i), e.addEventListener(\"pointerdown\", l, i);\n\t}), a;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs\nvar za = (e, t) => t ? e === t ? !0 : za(e, t.parentElement) : !1, Ba = (e) => e.pointerType === \"mouse\" ? typeof e.button != \"number\" || e.button <= 0 : e.isPrimary !== !1, Va = new Set([\n\t\"BUTTON\",\n\t\"INPUT\",\n\t\"SELECT\",\n\t\"TEXTAREA\",\n\t\"A\"\n]);\nfunction Ha(e) {\n\treturn Va.has(e.tagName) || e.isContentEditable === !0;\n}\nvar Ua = new Set([\n\t\"INPUT\",\n\t\"SELECT\",\n\t\"TEXTAREA\"\n]);\nfunction Wa(e) {\n\treturn Ua.has(e.tagName) || e.isContentEditable === !0;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs\nvar Ga = /* @__PURE__ */ new WeakSet();\n//#endregion\n//#region node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs\nfunction Ka(e) {\n\treturn (t) => {\n\t\tt.key === \"Enter\" && e(t);\n\t};\n}\nfunction qa(e, t) {\n\te.dispatchEvent(new PointerEvent(\"pointer\" + t, {\n\t\tisPrimary: !0,\n\t\tbubbles: !0\n\t}));\n}\nvar Ja = (e, t) => {\n\tlet n = e.currentTarget;\n\tif (!n) return;\n\tlet r = Ka(() => {\n\t\tif (Ga.has(n)) return;\n\t\tqa(n, \"down\");\n\t\tlet e = Ka(() => {\n\t\t\tqa(n, \"up\");\n\t\t});\n\t\tn.addEventListener(\"keyup\", e, t), n.addEventListener(\"blur\", () => qa(n, \"cancel\"), t);\n\t});\n\tn.addEventListener(\"keydown\", r, t), n.addEventListener(\"blur\", () => n.removeEventListener(\"keydown\", r), t);\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/gestures/press/index.mjs\nfunction Ya(e) {\n\treturn Ba(e) && !Pa();\n}\nvar Xa = /* @__PURE__ */ new WeakSet();\nfunction Za(e, t, n = {}) {\n\tlet [r, i, a] = Ia(e, n), o = (e) => {\n\t\tlet r = e.currentTarget;\n\t\tif (!Ya(e) || Xa.has(e)) return;\n\t\tGa.add(r), n.stopPropagation && Xa.add(e);\n\t\tlet a = t(r, e), o = {\n\t\t\t...i,\n\t\t\tcapture: !0\n\t\t}, s = (e, t) => {\n\t\t\twindow.removeEventListener(\"pointerup\", c, o), window.removeEventListener(\"pointercancel\", l, o), Ga.has(r) && Ga.delete(r), Ya(e) && typeof a == \"function\" && a(e, { success: t });\n\t\t}, c = (e) => {\n\t\t\ts(e, r === window || r === document || n.useGlobalTarget || za(r, e.target));\n\t\t}, l = (e) => {\n\t\t\ts(e, !1);\n\t\t};\n\t\twindow.addEventListener(\"pointerup\", c, o), window.addEventListener(\"pointercancel\", l, o);\n\t};\n\treturn r.forEach((e) => {\n\t\t(n.useGlobalTarget ? window : e).addEventListener(\"pointerdown\", o, i), ja(e) && (e.addEventListener(\"focus\", (e) => Ja(e, i)), !Ha(e) && !e.hasAttribute(\"tabindex\") && (e.tabIndex = 0));\n\t}), a;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/is-svg-element.mjs\nfunction Qa(e) {\n\treturn at(e) && \"ownerSVGElement\" in e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/resize/handle-element.mjs\nvar $a = /* @__PURE__ */ new WeakMap(), eo, to = (e, t, n) => (r, i) => i && i[0] ? i[0][e + \"Size\"] : Qa(r) && \"getBBox\" in r ? r.getBBox()[t] : r[n], no = /*@__PURE__*/ to(\"inline\", \"width\", \"offsetWidth\"), ro = /*@__PURE__*/ to(\"block\", \"height\", \"offsetHeight\");\nfunction io({ target: e, borderBoxSize: t }) {\n\t$a.get(e)?.forEach((n) => {\n\t\tn(e, {\n\t\t\tget width() {\n\t\t\t\treturn no(e, t);\n\t\t\t},\n\t\t\tget height() {\n\t\t\t\treturn ro(e, t);\n\t\t\t}\n\t\t});\n\t});\n}\nfunction ao(e) {\n\te.forEach(io);\n}\nfunction oo() {\n\ttypeof ResizeObserver > \"u\" || (eo = new ResizeObserver(ao));\n}\nfunction so(e, t) {\n\teo || oo();\n\tlet n = ka(e);\n\treturn n.forEach((e) => {\n\t\tlet n = $a.get(e);\n\t\tn || (n = /* @__PURE__ */ new Set(), $a.set(e, n)), n.add(t), eo?.observe(e);\n\t}), () => {\n\t\tn.forEach((e) => {\n\t\t\tlet n = $a.get(e);\n\t\t\tn?.delete(t), n?.size || eo?.unobserve(e);\n\t\t});\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/resize/handle-window.mjs\nvar co = /* @__PURE__ */ new Set(), lo;\nfunction uo() {\n\tlo = () => {\n\t\tlet e = {\n\t\t\tget width() {\n\t\t\t\treturn window.innerWidth;\n\t\t\t},\n\t\t\tget height() {\n\t\t\t\treturn window.innerHeight;\n\t\t\t}\n\t\t};\n\t\tco.forEach((t) => t(e));\n\t}, window.addEventListener(\"resize\", lo);\n}\nfunction fo(e) {\n\treturn co.add(e), lo || uo(), () => {\n\t\tco.delete(e), !co.size && typeof lo == \"function\" && (window.removeEventListener(\"resize\", lo), lo = void 0);\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/resize/index.mjs\nfunction po(e, t) {\n\treturn typeof e == \"function\" ? fo(e) : so(e, t);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/stats/buffer.mjs\nvar mo = {\n\tvalue: null,\n\taddProjectionMetrics: null\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs\nfunction ho(e) {\n\treturn Qa(e) && e.tagName === \"svg\";\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/transform.mjs\nfunction go(...e) {\n\tlet t = !Array.isArray(e[0]), n = t ? 0 : -1, r = e[0 + n], i = e[1 + n], a = e[2 + n], o = e[3 + n], s = ur(i, a, o);\n\treturn t ? s(r) : s;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/follow-value.mjs\nfunction _o(e, t, n = {}) {\n\tlet r = e.get(), i = null, a = r, o, s = typeof r == \"string\" ? r.replace(/[\\d.-]/g, \"\") : void 0, c = () => {\n\t\ti &&= (i.stop(), null), e.animation = void 0;\n\t}, l = () => {\n\t\tlet t = yo(e.get()), r = yo(a);\n\t\tif (t === r) {\n\t\t\tc();\n\t\t\treturn;\n\t\t}\n\t\tlet s = i ? i.getGeneratorVelocity() : e.getVelocity();\n\t\tc(), i = new Sr({\n\t\t\tkeyframes: [t, r],\n\t\t\tvelocity: s,\n\t\t\ttype: \"spring\",\n\t\t\trestDelta: .001,\n\t\t\trestSpeed: .01,\n\t\t\t...n,\n\t\t\tonUpdate: o\n\t\t});\n\t}, u = () => {\n\t\tl(), e.animation = i ?? void 0, e.events.animationStart?.notify(), i?.then(() => {\n\t\t\te.animation = void 0, e.events.animationComplete?.notify();\n\t\t});\n\t};\n\tif (e.attach((e, t) => {\n\t\ta = e, o = (e) => t(vo(e, s)), M.postRender(u);\n\t}, c), W(t)) {\n\t\tlet r = n.skipInitialAnimation === !0, i = t.on(\"change\", (t) => {\n\t\t\tr ? (r = !1, e.jump(vo(t, s), !1)) : e.set(vo(t, s));\n\t\t}), a = e.on(\"destroy\", i);\n\t\treturn () => {\n\t\t\ti(), a();\n\t\t};\n\t}\n\treturn c;\n}\nfunction vo(e, t) {\n\treturn t ? e + t : e;\n}\nfunction yo(e) {\n\treturn typeof e == \"number\" ? e : parseFloat(e);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/types/utils/find.mjs\nvar bo = [\n\t...da,\n\tz,\n\tB\n], xo = (e) => bo.find(ua(e)), So = () => ({\n\ttranslate: 0,\n\tscale: 1,\n\torigin: 0,\n\toriginPoint: 0\n}), Co = () => ({\n\tx: So(),\n\ty: So()\n}), wo = () => ({\n\tmin: 0,\n\tmax: 0\n}), K = () => ({\n\tx: wo(),\n\ty: wo()\n}), To = /* @__PURE__ */ new WeakMap();\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs\nfunction Eo(e) {\n\treturn typeof e == \"object\" && !!e && typeof e.start == \"function\";\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs\nfunction Do(e) {\n\treturn typeof e == \"string\" || Array.isArray(e);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/variant-props.mjs\nvar Oo = [\n\t\"animate\",\n\t\"whileInView\",\n\t\"whileFocus\",\n\t\"whileHover\",\n\t\"whileTap\",\n\t\"whileDrag\",\n\t\"exit\"\n], ko = [\"initial\", ...Oo];\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs\nfunction Ao(e) {\n\treturn Eo(e.animate) || ko.some((t) => Do(e[t]));\n}\nfunction jo(e) {\n\treturn !!(Ao(e) || e.variants);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/motion-values.mjs\nfunction Mo(e, t, n) {\n\tfor (let r in t) {\n\t\tlet i = t[r], a = n[r];\n\t\tif (W(i)) e.addValue(r, i);\n\t\telse if (W(a)) e.addValue(r, ji(i, { owner: e }));\n\t\telse if (a !== i) if (e.hasValue(r)) {\n\t\t\tlet t = e.getValue(r);\n\t\t\tt.liveStyle === !0 ? t.jump(i) : t.hasAnimated || t.set(i);\n\t\t} else {\n\t\t\tlet t = e.getStaticValue(r);\n\t\t\te.addValue(r, ji(t === void 0 ? i : t, { owner: e }));\n\t\t}\n\t}\n\tfor (let r in n) t[r] === void 0 && e.removeValue(r);\n\treturn t;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs\nvar No = { current: null }, Po = { current: !1 }, Fo = typeof window < \"u\";\nfunction Io() {\n\tif (Po.current = !0, Fo) if (window.matchMedia) {\n\t\tlet e = window.matchMedia(\"(prefers-reduced-motion)\"), t = () => No.current = e.matches;\n\t\te.addEventListener(\"change\", t), t();\n\t} else No.current = !1;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/VisualElement.mjs\nvar Lo = [\n\t\"AnimationStart\",\n\t\"AnimationComplete\",\n\t\"Update\",\n\t\"BeforeLayoutMeasure\",\n\t\"LayoutMeasure\",\n\t\"LayoutAnimationStart\",\n\t\"LayoutAnimationComplete\"\n], Ro = {};\nfunction zo(e) {\n\tRo = e;\n}\nfunction Bo() {\n\treturn Ro;\n}\nvar Vo = class {\n\tscrapeMotionValuesFromProps(e, t, n) {\n\t\treturn {};\n\t}\n\tconstructor({ parent: e, props: t, presenceContext: n, reducedMotionConfig: r, skipAnimations: i, blockInitialAnimation: a, visualState: o }, s = {}) {\n\t\tthis.current = null, this.children = /* @__PURE__ */ new Set(), this.isVariantNode = !1, this.isControllingVariants = !1, this.shouldReduceMotion = null, this.shouldSkipAnimations = !1, this.values = /* @__PURE__ */ new Map(), this.KeyframeResolver = Yr, this.features = {}, this.valueSubscriptions = /* @__PURE__ */ new Map(), this.prevMotionValues = {}, this.hasBeenMounted = !1, this.events = {}, this.propEventSubscriptions = {}, this.notifyUpdate = () => this.notify(\"Update\", this.latestValues), this.render = () => {\n\t\t\tthis.current && (this.triggerBuild(), this.renderInstance(this.current, this.renderState, this.props.style, this.projection));\n\t\t}, this.renderScheduledAt = 0, this.scheduleRender = () => {\n\t\t\tlet e = F.now();\n\t\t\tthis.renderScheduledAt < e && (this.renderScheduledAt = e, M.render(this.render, !1, !0));\n\t\t};\n\t\tlet { latestValues: c, renderState: l } = o;\n\t\tthis.latestValues = c, this.baseTarget = { ...c }, this.initialValues = t.initial ? { ...c } : {}, this.renderState = l, this.parent = e, this.props = t, this.presenceContext = n, this.depth = e ? e.depth + 1 : 0, this.reducedMotionConfig = r, this.skipAnimationsConfig = i, this.options = s, this.blockInitialAnimation = !!a, this.isControllingVariants = Ao(t), this.isVariantNode = jo(t), this.isVariantNode && (this.variantChildren = /* @__PURE__ */ new Set()), this.manuallyAnimateOnMount = !!(e && e.current);\n\t\tlet { willChange: u, ...d } = this.scrapeMotionValuesFromProps(t, {}, this);\n\t\tfor (let e in d) {\n\t\t\tlet t = d[e];\n\t\t\tc[e] !== void 0 && W(t) && t.set(c[e]);\n\t\t}\n\t}\n\tmount(e) {\n\t\tif (this.hasBeenMounted) for (let e in this.initialValues) this.values.get(e)?.jump(this.initialValues[e]), this.latestValues[e] = this.initialValues[e];\n\t\tthis.current = e, To.set(e, this), this.projection && !this.projection.instance && this.projection.mount(e), this.parent && this.isVariantNode && !this.isControllingVariants && (this.removeFromVariantTree = this.parent.addVariantChild(this)), this.values.forEach((e, t) => this.bindToMotionValue(t, e)), this.reducedMotionConfig === \"never\" ? this.shouldReduceMotion = !1 : this.reducedMotionConfig === \"always\" ? this.shouldReduceMotion = !0 : (Po.current || Io(), this.shouldReduceMotion = No.current), this.shouldSkipAnimations = this.skipAnimationsConfig ?? !1, this.parent?.addChild(this), this.update(this.props, this.presenceContext), this.hasBeenMounted = !0;\n\t}\n\tunmount() {\n\t\tthis.projection && this.projection.unmount(), N(this.notifyUpdate), N(this.render), this.valueSubscriptions.forEach((e) => e()), this.valueSubscriptions.clear(), this.removeFromVariantTree && this.removeFromVariantTree(), this.parent?.removeChild(this);\n\t\tfor (let e in this.events) this.events[e].clear();\n\t\tfor (let e in this.features) {\n\t\t\tlet t = this.features[e];\n\t\t\tt && (t.unmount(), t.isMounted = !1);\n\t\t}\n\t\tthis.current = null;\n\t}\n\taddChild(e) {\n\t\tthis.children.add(e), this.enteringChildren ??= /* @__PURE__ */ new Set(), this.enteringChildren.add(e);\n\t}\n\tremoveChild(e) {\n\t\tthis.children.delete(e), this.enteringChildren && this.enteringChildren.delete(e);\n\t}\n\tbindToMotionValue(e, t) {\n\t\tif (this.valueSubscriptions.has(e) && this.valueSubscriptions.get(e)(), t.accelerate && vi.has(e) && this.current instanceof HTMLElement) {\n\t\t\tlet { factory: n, keyframes: r, times: i, ease: a, duration: o } = t.accelerate, s = new ci({\n\t\t\t\telement: this.current,\n\t\t\t\tname: e,\n\t\t\t\tkeyframes: r,\n\t\t\t\ttimes: i,\n\t\t\t\tease: a,\n\t\t\t\tduration: /* @__PURE__ */ A(o)\n\t\t\t}), c = n(s);\n\t\t\tthis.valueSubscriptions.set(e, () => {\n\t\t\t\tc(), s.cancel();\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tlet n = Lr.has(e);\n\t\tn && this.onBindTransform && this.onBindTransform();\n\t\tlet r = t.on(\"change\", (t) => {\n\t\t\tthis.latestValues[e] = t, this.props.onUpdate && M.preRender(this.notifyUpdate), n && this.projection && (this.projection.isTransformDirty = !0), this.scheduleRender();\n\t\t}), i;\n\t\ttypeof window < \"u\" && window.MotionCheckAppearSync && (i = window.MotionCheckAppearSync(this, e, t)), this.valueSubscriptions.set(e, () => {\n\t\t\tr(), i && i();\n\t\t});\n\t}\n\tsortNodePosition(e) {\n\t\treturn !this.current || !this.sortInstanceNodePosition || this.type !== e.type ? 0 : this.sortInstanceNodePosition(this.current, e.current);\n\t}\n\tupdateFeatures() {\n\t\tlet e = \"animation\";\n\t\tfor (e in Ro) {\n\t\t\tlet t = Ro[e];\n\t\t\tif (!t) continue;\n\t\t\tlet { isEnabled: n, Feature: r } = t;\n\t\t\tif (!this.features[e] && r && n(this.props) && (this.features[e] = new r(this)), this.features[e]) {\n\t\t\t\tlet t = this.features[e];\n\t\t\t\tt.isMounted ? t.update() : (t.mount(), t.isMounted = !0);\n\t\t\t}\n\t\t}\n\t}\n\ttriggerBuild() {\n\t\tthis.build(this.renderState, this.latestValues, this.props);\n\t}\n\tmeasureViewportBox() {\n\t\treturn this.current ? this.measureInstanceViewportBox(this.current, this.props) : K();\n\t}\n\tgetStaticValue(e) {\n\t\treturn this.latestValues[e];\n\t}\n\tsetStaticValue(e, t) {\n\t\tthis.latestValues[e] = t;\n\t}\n\tupdate(e, t) {\n\t\t(e.transformTemplate || this.props.transformTemplate) && this.scheduleRender(), this.prevProps = this.props, this.props = e, this.prevPresenceContext = this.presenceContext, this.presenceContext = t;\n\t\tfor (let t = 0; t < Lo.length; t++) {\n\t\t\tlet n = Lo[t];\n\t\t\tthis.propEventSubscriptions[n] && (this.propEventSubscriptions[n](), delete this.propEventSubscriptions[n]);\n\t\t\tlet r = e[\"on\" + n];\n\t\t\tr && (this.propEventSubscriptions[n] = this.on(n, r));\n\t\t}\n\t\tthis.prevMotionValues = Mo(this, this.scrapeMotionValuesFromProps(e, this.prevProps || {}, this), this.prevMotionValues), this.handleChildMotionValue && this.handleChildMotionValue();\n\t}\n\tgetProps() {\n\t\treturn this.props;\n\t}\n\tgetVariant(e) {\n\t\treturn this.props.variants ? this.props.variants[e] : void 0;\n\t}\n\tgetDefaultTransition() {\n\t\treturn this.props.transition;\n\t}\n\tgetTransformPagePoint() {\n\t\treturn this.props.transformPagePoint;\n\t}\n\tgetClosestVariantNode() {\n\t\treturn this.isVariantNode ? this : this.parent ? this.parent.getClosestVariantNode() : void 0;\n\t}\n\taddVariantChild(e) {\n\t\tlet t = this.getClosestVariantNode();\n\t\tif (t) return t.variantChildren && t.variantChildren.add(e), () => t.variantChildren.delete(e);\n\t}\n\taddValue(e, t) {\n\t\tlet n = this.values.get(e);\n\t\tt !== n && (n && this.removeValue(e), this.bindToMotionValue(e, t), this.values.set(e, t), this.latestValues[e] = t.get());\n\t}\n\tremoveValue(e) {\n\t\tthis.values.delete(e);\n\t\tlet t = this.valueSubscriptions.get(e);\n\t\tt && (t(), this.valueSubscriptions.delete(e)), delete this.latestValues[e], this.removeValueFromRenderState(e, this.renderState);\n\t}\n\thasValue(e) {\n\t\treturn this.values.has(e);\n\t}\n\tgetValue(e, t) {\n\t\tif (this.props.values && this.props.values[e]) return this.props.values[e];\n\t\tlet n = this.values.get(e);\n\t\treturn n === void 0 && t !== void 0 && (n = ji(t === null ? void 0 : t, { owner: this }), this.addValue(e, n)), n;\n\t}\n\treadValue(e, t) {\n\t\tlet n = this.latestValues[e] !== void 0 || !this.current ? this.latestValues[e] : this.getBaseTargetFromProps(this.props, e) ?? this.readValueFromInstance(this.current, e, this.options);\n\t\treturn n != null && (typeof n == \"string\" && (it(n) || ot(n)) ? n = parseFloat(n) : !xo(n) && B.test(t) && (n = wa(e, t)), this.setBaseTarget(e, W(n) ? n.get() : n)), W(n) ? n.get() : n;\n\t}\n\tsetBaseTarget(e, t) {\n\t\tthis.baseTarget[e] = t;\n\t}\n\tgetBaseTarget(e) {\n\t\tlet { initial: t } = this.props, n;\n\t\tif (typeof t == \"string\" || typeof t == \"object\") {\n\t\t\tlet r = Ki(this.props, t, this.presenceContext?.custom);\n\t\t\tr && (n = r[e]);\n\t\t}\n\t\tif (t && n !== void 0) return n;\n\t\tlet r = this.getBaseTargetFromProps(this.props, e);\n\t\treturn r !== void 0 && !W(r) ? r : this.initialValues[e] !== void 0 && n === void 0 ? void 0 : this.baseTarget[e];\n\t}\n\ton(e, t) {\n\t\treturn this.events[e] || (this.events[e] = new ut()), this.events[e].add(t);\n\t}\n\tnotify(e, ...t) {\n\t\tthis.events[e] && this.events[e].notify(...t);\n\t}\n\tscheduleRenderMicrotask() {\n\t\tMa.render(this.render);\n\t}\n}, Ho = class extends Vo {\n\tconstructor() {\n\t\tsuper(...arguments), this.KeyframeResolver = Da;\n\t}\n\tsortInstanceNodePosition(e, t) {\n\t\treturn e.compareDocumentPosition(t) & 2 ? 1 : -1;\n\t}\n\tgetBaseTargetFromProps(e, t) {\n\t\tlet n = e.style;\n\t\treturn n ? n[t] : void 0;\n\t}\n\tremoveValueFromRenderState(e, { vars: t, style: n }) {\n\t\tdelete t[e], delete n[e];\n\t}\n\thandleChildMotionValue() {\n\t\tthis.childSubscription && (this.childSubscription(), delete this.childSubscription);\n\t\tlet { children: e } = this.props;\n\t\tW(e) && (this.childSubscription = e.on(\"change\", (e) => {\n\t\t\tthis.current && (this.current.textContent = `${e}`);\n\t\t}));\n\t}\n}, q = class {\n\tconstructor(e) {\n\t\tthis.isMounted = !1, this.node = e;\n\t}\n\tupdate() {}\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs\nfunction Uo({ top: e, left: t, right: n, bottom: r }) {\n\treturn {\n\t\tx: {\n\t\t\tmin: t,\n\t\t\tmax: n\n\t\t},\n\t\ty: {\n\t\t\tmin: e,\n\t\t\tmax: r\n\t\t}\n\t};\n}\nfunction Wo({ x: e, y: t }) {\n\treturn {\n\t\ttop: t.min,\n\t\tright: e.max,\n\t\tbottom: t.max,\n\t\tleft: e.min\n\t};\n}\nfunction Go(e, t) {\n\tif (!t) return e;\n\tlet n = t({\n\t\tx: e.left,\n\t\ty: e.top\n\t}), r = t({\n\t\tx: e.right,\n\t\ty: e.bottom\n\t});\n\treturn {\n\t\ttop: n.y,\n\t\tleft: n.x,\n\t\tbottom: r.y,\n\t\tright: r.x\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs\nfunction Ko(e) {\n\treturn e === void 0 || e === 1;\n}\nfunction qo({ scale: e, scaleX: t, scaleY: n }) {\n\treturn !Ko(e) || !Ko(t) || !Ko(n);\n}\nfunction Jo(e) {\n\treturn qo(e) || Yo(e) || e.z || e.rotate || e.rotateX || e.rotateY || e.skewX || e.skewY;\n}\nfunction Yo(e) {\n\treturn Xo(e.x) || Xo(e.y);\n}\nfunction Xo(e) {\n\treturn e && e !== \"0%\";\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs\nfunction Zo(e, t, n) {\n\treturn n + t * (e - n);\n}\nfunction Qo(e, t, n, r, i) {\n\treturn i !== void 0 && (e = Zo(e, i, r)), Zo(e, n, r) + t;\n}\nfunction $o(e, t = 0, n = 1, r, i) {\n\te.min = Qo(e.min, t, n, r, i), e.max = Qo(e.max, t, n, r, i);\n}\nfunction es(e, { x: t, y: n }) {\n\t$o(e.x, t.translate, t.scale, t.originPoint), $o(e.y, n.translate, n.scale, n.originPoint);\n}\nvar ts = .999999999999, ns = 1.0000000000001;\nfunction rs(e, t, n, r = !1) {\n\tlet i = n.length;\n\tif (!i) return;\n\tt.x = t.y = 1;\n\tlet a, o;\n\tfor (let s = 0; s < i; s++) {\n\t\ta = n[s], o = a.projectionDelta;\n\t\tlet { visualElement: i } = a.options;\n\t\ti && i.props.style && i.props.style.display === \"contents\" || (r && a.options.layoutScroll && a.scroll && a !== a.root && (J(e.x, -a.scroll.offset.x), J(e.y, -a.scroll.offset.y)), o && (t.x *= o.x.scale, t.y *= o.y.scale, es(e, o)), r && Jo(a.latestValues) && os(e, a.latestValues, a.layout?.layoutBox));\n\t}\n\tt.x < ns && t.x > ts && (t.x = 1), t.y < ns && t.y > ts && (t.y = 1);\n}\nfunction J(e, t) {\n\te.min += t, e.max += t;\n}\nfunction is(e, t, n, r, i = .5) {\n\t$o(e, t, n, V(e.min, e.max, i), r);\n}\nfunction as(e, t) {\n\treturn typeof e == \"string\" ? parseFloat(e) / 100 * (t.max - t.min) : e;\n}\nfunction os(e, t, n) {\n\tlet r = n ?? e;\n\tis(e.x, as(t.x, r.x), t.scaleX, t.scale, t.originX), is(e.y, as(t.y, r.y), t.scaleY, t.scale, t.originY);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/utils/measure.mjs\nfunction ss(e, t) {\n\treturn Uo(Go(e.getBoundingClientRect(), t));\n}\nfunction cs(e, t, n) {\n\tlet r = ss(e, n), { scroll: i } = t;\n\treturn i && (J(r.x, i.offset.x), J(r.y, i.offset.y)), r;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs\nvar ls = {\n\tx: \"translateX\",\n\ty: \"translateY\",\n\tz: \"translateZ\",\n\ttransformPerspective: \"perspective\"\n}, us = Ir.length;\nfunction ds(e, t, n) {\n\tlet r = \"\", i = !0;\n\tfor (let a = 0; a < us; a++) {\n\t\tlet o = Ir[a], s = e[o];\n\t\tif (s === void 0) continue;\n\t\tlet c = !0;\n\t\tif (typeof s == \"number\") c = s === +!!o.startsWith(\"scale\");\n\t\telse {\n\t\t\tlet e = parseFloat(s);\n\t\t\tc = o.startsWith(\"scale\") ? e === 1 : e === 0;\n\t\t}\n\t\tif (!c || n) {\n\t\t\tlet e = Aa(s, ba[o]);\n\t\t\tif (!c) {\n\t\t\t\ti = !1;\n\t\t\t\tlet t = ls[o] || o;\n\t\t\t\tr += `${t}(${e}) `;\n\t\t\t}\n\t\t\tn && (t[o] = e);\n\t\t}\n\t}\n\tlet a = e.pathRotation;\n\treturn a && (i = !1, r += `rotate(${Aa(a, ba.pathRotation)}) `), r = r.trim(), n ? r = n(t, i ? \"\" : r) : i && (r = \"none\"), r;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs\nfunction fs(e, t, n) {\n\tlet { style: r, vars: i, transformOrigin: a } = e, o = !1, s = !1;\n\tfor (let e in t) {\n\t\tlet n = t[e];\n\t\tif (Lr.has(e)) {\n\t\t\to = !0;\n\t\t\tcontinue;\n\t\t} else if (Ht(e)) {\n\t\t\ti[e] = n;\n\t\t\tcontinue;\n\t\t} else {\n\t\t\tlet t = Aa(n, ba[e]);\n\t\t\te.startsWith(\"origin\") ? (s = !0, a[e] = t) : r[e] = t;\n\t\t}\n\t}\n\tif (t.transform || (o || n ? r.transform = ds(t, e.transform, n) : r.transform &&= \"none\"), s) {\n\t\tlet { originX: e = \"50%\", originY: t = \"50%\", originZ: n = 0 } = a;\n\t\tr.transformOrigin = `${e} ${t} ${n}`;\n\t}\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/html/utils/render.mjs\nfunction ps(e, { style: t, vars: n }, r, i) {\n\tlet a = e.style, o;\n\tfor (o in t) a[o] = t[o];\n\tfor (o in i?.applyProjectionStyles(a, r), n) a.setProperty(o, n[o]);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs\nfunction ms(e, t) {\n\treturn t.max === t.min ? 0 : e / (t.max - t.min) * 100;\n}\nvar hs = { correct: (e, t) => {\n\tif (!t.target) return e;\n\tif (typeof e == \"string\") if (R.test(e)) e = parseFloat(e);\n\telse return e;\n\treturn `${ms(e, t.target.x)}% ${ms(e, t.target.y)}%`;\n} }, gs = { correct: (e, { treeScale: t, projectionDelta: n }) => {\n\tlet r = e, i = B.parse(e);\n\tif (i.length > 5) return r;\n\tlet a = B.createTransformer(e), o = typeof i[0] == \"number\" ? 0 : 1, s = n.x.scale * t.x, c = n.y.scale * t.y;\n\ti[0 + o] /= s, i[1 + o] /= c;\n\tlet l = V(s, c, .5);\n\treturn typeof i[2 + o] == \"number\" && (i[2 + o] /= l), typeof i[3 + o] == \"number\" && (i[3 + o] /= l), a(i);\n} }, _s = {\n\tborderRadius: {\n\t\t...hs,\n\t\tapplyTo: [...Oa]\n\t},\n\tborderTopLeftRadius: hs,\n\tborderTopRightRadius: hs,\n\tborderBottomLeftRadius: hs,\n\tborderBottomRightRadius: hs,\n\tboxShadow: gs\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs\nfunction vs(e, { layout: t, layoutId: n }) {\n\treturn Lr.has(e) || e.startsWith(\"origin\") || (t || n !== void 0) && (!!_s[e] || e === \"opacity\");\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs\nfunction ys(e, t, n) {\n\tlet r = e.style, i = t?.style, a = {};\n\tif (!r) return a;\n\tfor (let t in r) (W(r[t]) || i && W(i[t]) || vs(t, e) || n?.getValue(t)?.liveStyle !== void 0) && (a[t] = r[t]);\n\treturn a;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs\nfunction bs(e) {\n\treturn window.getComputedStyle(e);\n}\nvar xs = class extends Ho {\n\tconstructor() {\n\t\tsuper(...arguments), this.type = \"html\", this.renderInstance = ps;\n\t}\n\treadValueFromInstance(e, t) {\n\t\tif (Lr.has(t)) return this.projection?.isProjecting ? Mr(t) : Pr(e, t);\n\t\t{\n\t\t\tlet n = bs(e), r = (Ht(t) ? n.getPropertyValue(t) : n[t]) || 0;\n\t\t\treturn typeof r == \"string\" ? r.trim() : r;\n\t\t}\n\t}\n\tmeasureInstanceViewportBox(e, { transformPagePoint: t }) {\n\t\treturn ss(e, t);\n\t}\n\tbuild(e, t, n) {\n\t\tfs(e, t, n.transformTemplate);\n\t}\n\tscrapeMotionValuesFromProps(e, t, n) {\n\t\treturn ys(e, t, n);\n\t}\n}, Ss = {\n\toffset: \"stroke-dashoffset\",\n\tarray: \"stroke-dasharray\"\n}, Cs = {\n\toffset: \"strokeDashoffset\",\n\tarray: \"strokeDasharray\"\n};\nfunction ws(e, t, n = 1, r = 0, i = !0) {\n\te.pathLength = 1;\n\tlet a = i ? Ss : Cs;\n\te[a.offset] = `${-r}`, e[a.array] = `${t} ${n}`;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs\nvar Ts = [\n\t\"offsetDistance\",\n\t\"offsetPath\",\n\t\"offsetRotate\",\n\t\"offsetAnchor\"\n];\nfunction Es(e, { attrX: t, attrY: n, attrScale: r, pathLength: i, pathSpacing: a = 1, pathOffset: o = 0, ...s }, c, l, u) {\n\tif (fs(e, s, l), c) {\n\t\te.style.viewBox && (e.attrs.viewBox = e.style.viewBox);\n\t\treturn;\n\t}\n\te.attrs = e.style, e.style = {};\n\tlet { attrs: d, style: f } = e;\n\td.transform && (f.transform = d.transform, delete d.transform), (f.transform || d.transformOrigin) && (f.transformOrigin = d.transformOrigin ?? \"50% 50%\", delete d.transformOrigin), f.transform && (f.transformBox = u?.transformBox ?? \"fill-box\", delete d.transformBox);\n\tfor (let e of Ts) d[e] !== void 0 && (f[e] = d[e], delete d[e]);\n\tt !== void 0 && (d.x = t), n !== void 0 && (d.y = n), r !== void 0 && (d.scale = r), i !== void 0 && ws(d, i, a, o, !1);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs\nvar Ds = new Set([\n\t\"baseFrequency\",\n\t\"diffuseConstant\",\n\t\"kernelMatrix\",\n\t\"kernelUnitLength\",\n\t\"keySplines\",\n\t\"keyTimes\",\n\t\"limitingConeAngle\",\n\t\"markerHeight\",\n\t\"markerWidth\",\n\t\"numOctaves\",\n\t\"targetX\",\n\t\"targetY\",\n\t\"surfaceScale\",\n\t\"specularConstant\",\n\t\"specularExponent\",\n\t\"stdDeviation\",\n\t\"tableValues\",\n\t\"viewBox\",\n\t\"gradientTransform\",\n\t\"pathLength\",\n\t\"startOffset\",\n\t\"textLength\",\n\t\"lengthAdjust\"\n]), Os = (e) => typeof e == \"string\" && e.toLowerCase() === \"svg\";\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/svg/utils/render.mjs\nfunction ks(e, t, n, r) {\n\tps(e, t, void 0, r);\n\tfor (let n in t.attrs) e.setAttribute(Ds.has(n) ? n : ta(n), t.attrs[n]);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs\nfunction As(e, t, n) {\n\tlet r = ys(e, t, n);\n\tfor (let n in e) if (W(e[n]) || W(t[n])) {\n\t\tlet t = Ir.indexOf(n) === -1 ? n : \"attr\" + n.charAt(0).toUpperCase() + n.substring(1);\n\t\tr[t] = e[n];\n\t}\n\treturn r;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs\nvar js = class extends Ho {\n\tconstructor() {\n\t\tsuper(...arguments), this.type = \"svg\", this.isSVGTag = !1, this.measureInstanceViewportBox = K;\n\t}\n\tgetBaseTargetFromProps(e, t) {\n\t\treturn e[t];\n\t}\n\treadValueFromInstance(e, t) {\n\t\tif (Lr.has(t)) {\n\t\t\tlet e = Sa(t);\n\t\t\treturn e && e.default || 0;\n\t\t}\n\t\treturn t = Ds.has(t) ? t : ta(t), e.getAttribute(t);\n\t}\n\tscrapeMotionValuesFromProps(e, t, n) {\n\t\treturn As(e, t, n);\n\t}\n\tbuild(e, t, n) {\n\t\tEs(e, t, this.isSVGTag, n.transformTemplate, n.style);\n\t}\n\trenderInstance(e, t, n, r) {\n\t\tks(e, t, n, r);\n\t}\n\tmount(e) {\n\t\tthis.isSVGTag = Os(e.tagName), super.mount(e);\n\t}\n}, Ms = ko.length;\nfunction Ns(e) {\n\tif (!e) return;\n\tif (!e.isControllingVariants) {\n\t\tlet t = e.parent && Ns(e.parent) || {};\n\t\treturn e.props.initial !== void 0 && (t.initial = e.props.initial), t;\n\t}\n\tlet t = {};\n\tfor (let n = 0; n < Ms; n++) {\n\t\tlet r = ko[n], i = e.props[r];\n\t\t(Do(i) || i === !1) && (t[r] = i);\n\t}\n\treturn t;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs\nfunction Ps(e, t) {\n\tif (!Array.isArray(t)) return !1;\n\tlet n = t.length;\n\tif (n !== e.length) return !1;\n\tfor (let r = 0; r < n; r++) if (t[r] !== e[r]) return !1;\n\treturn !0;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/render/utils/animation-state.mjs\nvar Fs = [...Oo].reverse(), Is = Oo.length;\nfunction Ls(e) {\n\treturn (t) => Promise.all(t.map(({ animation: t, options: n }) => ca(e, t, n)));\n}\nfunction Rs(e) {\n\tlet t = Ls(e), n = Vs(), r = !0, i = !1, a = (t) => (n, r) => {\n\t\tlet i = qi(e, r, t === \"exit\" ? e.presenceContext?.custom : void 0);\n\t\tif (i) {\n\t\t\tlet { transition: e, transitionEnd: t, ...r } = i;\n\t\t\tn = {\n\t\t\t\t...n,\n\t\t\t\t...r,\n\t\t\t\t...t\n\t\t\t};\n\t\t}\n\t\treturn n;\n\t};\n\tfunction o(n) {\n\t\tt = n(e);\n\t}\n\tfunction s(o) {\n\t\tlet { props: s } = e, c = Ns(e.parent) || {}, l = [], u = /* @__PURE__ */ new Set(), d = {}, f = Infinity;\n\t\tfor (let t = 0; t < Is; t++) {\n\t\t\tlet p = Fs[t], m = n[p], h = s[p] === void 0 ? c[p] : s[p], g = Do(h), _ = p === o ? m.isActive : null;\n\t\t\t_ === !1 && (f = t);\n\t\t\tlet v = h === c[p] && h !== s[p] && g;\n\t\t\tif (v && (r || i) && e.manuallyAnimateOnMount && (v = !1), m.protectedKeys = { ...d }, !m.isActive && _ === null || !h && !m.prevProp || Eo(h) || typeof h == \"boolean\") continue;\n\t\t\tif (p === \"exit\" && m.isActive && _ !== !0) {\n\t\t\t\tm.prevResolvedValues && (d = {\n\t\t\t\t\t...d,\n\t\t\t\t\t...m.prevResolvedValues\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet y = zs(m.prevProp, h), b = y || p === o && m.isActive && !v && g || t > f && g, x = !1, S = Array.isArray(h) ? h : [h], C = S.reduce(a(p), {});\n\t\t\t_ === !1 && (C = {});\n\t\t\tlet { prevResolvedValues: w = {} } = m, ee = {\n\t\t\t\t...w,\n\t\t\t\t...C\n\t\t\t}, T = (t) => {\n\t\t\t\tb = !0, u.has(t) && (x = !0, u.delete(t)), m.needsAnimating[t] = !0;\n\t\t\t\tlet n = e.getValue(t);\n\t\t\t\tn && (n.liveStyle = !1);\n\t\t\t};\n\t\t\tfor (let e in ee) {\n\t\t\t\tlet t = C[e], n = w[e];\n\t\t\t\tif (d.hasOwnProperty(e)) continue;\n\t\t\t\tlet r = !1;\n\t\t\t\tr = Yi(t) && Yi(n) ? !Ps(t, n) || y : t !== n, r ? t == null ? u.add(e) : T(e) : t !== void 0 && u.has(e) ? T(e) : m.protectedKeys[e] = !0;\n\t\t\t}\n\t\t\tm.prevProp = h, m.prevResolvedValues = C, m.isActive && (d = {\n\t\t\t\t...d,\n\t\t\t\t...C\n\t\t\t}), (r || i) && e.blockInitialAnimation && (b = !1);\n\t\t\tlet te = v && y;\n\t\t\tb && (!te || x) && l.push(...S.map((t) => {\n\t\t\t\tlet n = { type: p };\n\t\t\t\tif (typeof t == \"string\" && (r || i) && !te && e.manuallyAnimateOnMount && e.parent) {\n\t\t\t\t\tlet { parent: r } = e, i = qi(r, t);\n\t\t\t\t\tif (r.enteringChildren && i) {\n\t\t\t\t\t\tlet { delayChildren: t } = i.transition || {};\n\t\t\t\t\t\tn.delay = Ei(r.enteringChildren, e, t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tanimation: t,\n\t\t\t\t\toptions: n\n\t\t\t\t};\n\t\t\t}));\n\t\t}\n\t\tif (u.size) {\n\t\t\tlet t = {};\n\t\t\tif (typeof s.initial != \"boolean\") {\n\t\t\t\tlet n = qi(e, Array.isArray(s.initial) ? s.initial[0] : s.initial);\n\t\t\t\tn && n.transition && (t.transition = n.transition);\n\t\t\t}\n\t\t\tu.forEach((n) => {\n\t\t\t\tlet r = e.getBaseTarget(n), i = e.getValue(n);\n\t\t\t\ti && (i.liveStyle = !0), t[n] = r ?? null;\n\t\t\t}), l.push({ animation: t });\n\t\t}\n\t\tlet p = !!l.length;\n\t\treturn r && (s.initial === !1 || s.initial === s.animate) && !e.manuallyAnimateOnMount && (p = !1), r = !1, i = !1, p ? t(l) : Promise.resolve();\n\t}\n\tfunction c(t, r) {\n\t\tif (n[t].isActive === r) return Promise.resolve();\n\t\te.variantChildren?.forEach((e) => e.animationState?.setActive(t, r)), n[t].isActive = r;\n\t\tlet i = s(t);\n\t\tfor (let e in n) n[e].protectedKeys = {};\n\t\treturn i;\n\t}\n\treturn {\n\t\tanimateChanges: s,\n\t\tsetActive: c,\n\t\tsetAnimateFunction: o,\n\t\tgetState: () => n,\n\t\treset: () => {\n\t\t\tn = Vs(), i = !0;\n\t\t}\n\t};\n}\nfunction zs(e, t) {\n\treturn typeof t == \"string\" ? t !== e : Array.isArray(t) ? !Ps(t, e) : !1;\n}\nfunction Bs(e = !1) {\n\treturn {\n\t\tisActive: e,\n\t\tprotectedKeys: {},\n\t\tneedsAnimating: {},\n\t\tprevResolvedValues: {}\n\t};\n}\nfunction Vs() {\n\treturn {\n\t\tanimate: Bs(!0),\n\t\twhileInView: Bs(),\n\t\twhileHover: Bs(),\n\t\twhileTap: Bs(),\n\t\twhileDrag: Bs(),\n\t\twhileFocus: Bs(),\n\t\texit: Bs()\n\t};\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/geometry/copy.mjs\nfunction Hs(e, t) {\n\te.min = t.min, e.max = t.max;\n}\nfunction Y(e, t) {\n\tHs(e.x, t.x), Hs(e.y, t.y);\n}\nfunction Us(e, t) {\n\te.translate = t.translate, e.scale = t.scale, e.originPoint = t.originPoint, e.origin = t.origin;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs\nvar Ws = .9999, Gs = 1.0001, Ks = -.01, qs = .01;\nfunction X(e) {\n\treturn e.max - e.min;\n}\nfunction Js(e, t, n) {\n\treturn Math.abs(e - t) <= n;\n}\nfunction Ys(e, t, n, r = .5) {\n\te.origin = r, e.originPoint = V(t.min, t.max, e.origin), e.scale = X(n) / X(t), e.translate = V(n.min, n.max, e.origin) - e.originPoint, (e.scale >= Ws && e.scale <= Gs || isNaN(e.scale)) && (e.scale = 1), (e.translate >= Ks && e.translate <= qs || isNaN(e.translate)) && (e.translate = 0);\n}\nfunction Xs(e, t, n, r) {\n\tYs(e.x, t.x, n.x, r ? r.originX : void 0), Ys(e.y, t.y, n.y, r ? r.originY : void 0);\n}\nfunction Zs(e, t, n, r = 0) {\n\te.min = (r ? V(n.min, n.max, r) : n.min) + t.min, e.max = e.min + X(t);\n}\nfunction Qs(e, t, n, r) {\n\tZs(e.x, t.x, n.x, r?.x), Zs(e.y, t.y, n.y, r?.y);\n}\nfunction $s(e, t, n, r = 0) {\n\tlet i = r ? V(n.min, n.max, r) : n.min;\n\te.min = t.min - i, e.max = e.min + X(t);\n}\nfunction ec(e, t, n, r) {\n\t$s(e.x, t.x, n.x, r?.x), $s(e.y, t.y, n.y, r?.y);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs\nfunction tc(e, t, n, r, i) {\n\treturn e -= t, e = Zo(e, 1 / n, r), i !== void 0 && (e = Zo(e, 1 / i, r)), e;\n}\nfunction nc(e, t = 0, n = 1, r = .5, i, a = e, o = e) {\n\tif (L.test(t) && (t = parseFloat(t), t = V(o.min, o.max, t / 100) - o.min), typeof t != \"number\") return;\n\tlet s = V(a.min, a.max, r);\n\te === a && (s -= t), e.min = tc(e.min, t, n, s, i), e.max = tc(e.max, t, n, s, i);\n}\nfunction rc(e, t, [n, r, i], a, o) {\n\tnc(e, t[n], t[r], t[i], t.scale, a, o);\n}\nvar ic = [\n\t\"x\",\n\t\"scaleX\",\n\t\"originX\"\n], ac = [\n\t\"y\",\n\t\"scaleY\",\n\t\"originY\"\n];\nfunction oc(e, t, n, r) {\n\trc(e.x, t, ic, n ? n.x : void 0, r ? r.x : void 0), rc(e.y, t, ac, n ? n.y : void 0, r ? r.y : void 0);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/geometry/utils.mjs\nfunction sc(e) {\n\treturn e.translate === 0 && e.scale === 1;\n}\nfunction cc(e) {\n\treturn sc(e.x) && sc(e.y);\n}\nfunction lc(e, t) {\n\treturn e.min === t.min && e.max === t.max;\n}\nfunction uc(e, t) {\n\treturn lc(e.x, t.x) && lc(e.y, t.y);\n}\nfunction dc(e, t) {\n\treturn Math.round(e.min) === Math.round(t.min) && Math.round(e.max) === Math.round(t.max);\n}\nfunction fc(e, t) {\n\treturn dc(e.x, t.x) && dc(e.y, t.y);\n}\nfunction pc(e) {\n\treturn X(e.x) / X(e.y);\n}\nfunction mc(e, t) {\n\treturn e.translate === t.translate && e.scale === t.scale && e.originPoint === t.originPoint;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs\nfunction Z(e) {\n\treturn [e(\"x\"), e(\"y\")];\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/styles/transform.mjs\nfunction hc(e, t, n) {\n\tlet r = \"\", i = e.x.translate / t.x, a = e.y.translate / t.y, o = n?.z || 0;\n\tif ((i || a || o) && (r = `translate3d(${i}px, ${a}px, ${o}px) `), (t.x !== 1 || t.y !== 1) && (r += `scale(${1 / t.x}, ${1 / t.y}) `), n) {\n\t\tlet { transformPerspective: e, rotate: t, pathRotation: i, rotateX: a, rotateY: o, skewX: s, skewY: c } = n;\n\t\te && (r = `perspective(${e}px) ${r}`), t && (r += `rotate(${t}deg) `), i && (r += `rotate(${i}deg) `), a && (r += `rotateX(${a}deg) `), o && (r += `rotateY(${o}deg) `), s && (r += `skewX(${s}deg) `), c && (r += `skewY(${c}deg) `);\n\t}\n\tlet s = e.x.scale * t.x, c = e.y.scale * t.y;\n\treturn (s !== 1 || c !== 1) && (r += `scale(${s}, ${c})`), r || \"none\";\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs\nvar gc = Oa.length, _c = (e) => typeof e == \"string\" ? parseFloat(e) : e, vc = (e) => typeof e == \"number\" || R.test(e);\nfunction yc(e, t, n, r, i, a) {\n\ti ? (e.opacity = V(0, n.opacity ?? 1, xc(r)), e.opacityExit = V(t.opacity ?? 1, 0, Sc(r))) : a && (e.opacity = V(t.opacity ?? 1, n.opacity ?? 1, r));\n\tfor (let i = 0; i < gc; i++) {\n\t\tlet a = Oa[i], o = bc(t, a), s = bc(n, a);\n\t\to === void 0 && s === void 0 || (o ||= 0, s ||= 0, o === 0 || s === 0 || vc(o) === vc(s) ? (e[a] = Math.max(V(_c(o), _c(s), r), 0), (L.test(s) || L.test(o)) && (e[a] += \"%\")) : e[a] = s);\n\t}\n\t(t.rotate || n.rotate) && (e.rotate = V(t.rotate || 0, n.rotate || 0, r));\n}\nfunction bc(e, t) {\n\treturn e[t] === void 0 ? e.borderRadius : e[t];\n}\nvar xc = /*@__PURE__*/ Cc(0, .5, wt), Sc = /*@__PURE__*/ Cc(.5, .95, k);\nfunction Cc(e, t, n) {\n\treturn (r) => r < e ? 0 : r > t ? 1 : n(/* @__PURE__ */ lt(e, t, r));\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/animation/animate/single-value.mjs\nfunction wc(e, t, n) {\n\tlet r = W(e) ? e : ji(e);\n\treturn r.start(Vi(\"\", r, t, n)), r.animation;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/events/add-dom-event.mjs\nfunction Tc(e, t, n, r = { passive: !0 }) {\n\treturn e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs\nvar Ec = (e, t) => e.depth - t.depth, Dc = class {\n\tconstructor() {\n\t\tthis.children = [], this.isDirty = !1;\n\t}\n\tadd(e) {\n\t\tnt(this.children, e), this.isDirty = !0;\n\t}\n\tremove(e) {\n\t\trt(this.children, e), this.isDirty = !0;\n\t}\n\tforEach(e) {\n\t\tthis.isDirty && this.children.sort(Ec), this.isDirty = !1, this.children.forEach(e);\n\t}\n};\n//#endregion\n//#region node_modules/motion-dom/dist/es/utils/delay.mjs\nfunction Oc(e, t) {\n\tlet n = F.now(), r = ({ timestamp: i }) => {\n\t\tlet a = i - n;\n\t\ta >= t && (N(r), e(a - t));\n\t};\n\treturn M.setup(r, !0), () => N(r);\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs\nfunction kc(e) {\n\treturn W(e) ? e.get() : e;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/shared/stack.mjs\nvar Ac = class {\n\tconstructor() {\n\t\tthis.members = [];\n\t}\n\tadd(e) {\n\t\tnt(this.members, e);\n\t\tfor (let t = this.members.length - 1; t >= 0; t--) {\n\t\t\tlet n = this.members[t];\n\t\t\tif (n === e || n === this.lead || n === this.prevLead) continue;\n\t\t\tlet r = n.instance;\n\t\t\t(!r || r.isConnected === !1) && !n.snapshot && (rt(this.members, n), n.unmount());\n\t\t}\n\t\te.scheduleRender();\n\t}\n\tremove(e) {\n\t\tif (rt(this.members, e), e === this.prevLead && (this.prevLead = void 0), e === this.lead) {\n\t\t\tlet e = this.members[this.members.length - 1];\n\t\t\te && this.promote(e);\n\t\t}\n\t}\n\trelegate(e) {\n\t\tfor (let t = this.members.indexOf(e) - 1; t >= 0; t--) {\n\t\t\tlet e = this.members[t];\n\t\t\tif (e.isPresent !== !1 && e.instance?.isConnected !== !1) return this.promote(e), !0;\n\t\t}\n\t\treturn !1;\n\t}\n\tpromote(e, t) {\n\t\tlet n = this.lead;\n\t\tif (e !== n && (this.prevLead = n, this.lead = e, e.show(), n)) {\n\t\t\tn.updateSnapshot(), e.scheduleRender();\n\t\t\tlet { layoutDependency: r } = n.options, { layoutDependency: i } = e.options;\n\t\t\t(r === void 0 || r !== i) && (e.resumeFrom = n, t && (n.preserveOpacity = !0), n.snapshot && (e.snapshot = n.snapshot, e.snapshot.latestValues = n.animationValues || n.latestValues), e.root?.isUpdating && (e.isLayoutDirty = !0)), e.options.crossfade === !1 && n.hide();\n\t\t}\n\t}\n\texitAnimationComplete() {\n\t\tthis.members.forEach((e) => {\n\t\t\te.options.onExitComplete?.(), e.resumingFrom?.options.onExitComplete?.();\n\t\t});\n\t}\n\tscheduleRender() {\n\t\tthis.members.forEach((e) => e.instance && e.scheduleRender(!1));\n\t}\n\tremoveLeadSnapshot() {\n\t\tthis.lead?.snapshot && (this.lead.snapshot = void 0);\n\t}\n}, jc = {\n\thasAnimatedSinceResize: !0,\n\thasEverUpdated: !1\n}, Mc = {\n\tnodes: 0,\n\tcalculatedTargetDeltas: 0,\n\tcalculatedProjections: 0\n}, Nc = [\n\t\"\",\n\t\"X\",\n\t\"Y\",\n\t\"Z\"\n], Pc = 1e3, Fc = 0;\nfunction Ic(e, t, n, r) {\n\tlet { latestValues: i } = t;\n\ti[e] && (n[e] = i[e], t.setStaticValue(e, 0), r && (r[e] = 0));\n}\nfunction Lc(e) {\n\tif (e.hasCheckedOptimisedAppear = !0, e.root === e) return;\n\tlet { visualElement: t } = e.options;\n\tif (!t) return;\n\tlet n = ra(t);\n\tif (window.MotionHasOptimisedAnimation(n, \"transform\")) {\n\t\tlet { layout: t, layoutId: r } = e.options;\n\t\twindow.MotionCancelOptimisedAnimation(n, \"transform\", M, !(t || r));\n\t}\n\tlet { parent: r } = e;\n\tr && !r.hasCheckedOptimisedAppear && Lc(r);\n}\nfunction Rc({ attachResizeListener: e, defaultParent: t, measureScroll: n, checkIsScrollRoot: r, resetTransform: i }) {\n\treturn class {\n\t\tconstructor(e = {}, n = t?.()) {\n\t\t\tthis.id = Fc++, this.animationId = 0, this.animationCommitId = 0, this.children = /* @__PURE__ */ 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 = {\n\t\t\t\tx: 1,\n\t\t\t\ty: 1\n\t\t\t}, this.eventHandlers = /* @__PURE__ */ new Map(), this.hasTreeAnimated = !1, this.layoutVersion = 0, this.updateScheduled = !1, this.scheduleUpdate = () => this.update(), this.projectionUpdateScheduled = !1, this.checkUpdateFailed = () => {\n\t\t\t\tthis.isUpdating && (this.isUpdating = !1, this.clearAllSnapshots());\n\t\t\t}, this.updateProjection = () => {\n\t\t\t\tthis.projectionUpdateScheduled = !1, mo.value && (Mc.nodes = Mc.calculatedTargetDeltas = Mc.calculatedProjections = 0), this.nodes.forEach(Vc), this.nodes.forEach(Xc), this.nodes.forEach(Zc), this.nodes.forEach(Hc), mo.addProjectionMetrics && mo.addProjectionMetrics(Mc);\n\t\t\t}, this.resolvedRelativeTargetAt = 0, this.linkedParentVersion = 0, this.hasProjected = !1, this.isVisible = !0, this.animationProgress = 0, this.sharedNodes = /* @__PURE__ */ new Map(), this.latestValues = e, this.root = n ? n.root || n : this, this.path = n ? [...n.path, n] : [], this.parent = n, this.depth = n ? n.depth + 1 : 0;\n\t\t\tfor (let e = 0; e < this.path.length; e++) this.path[e].shouldResetTransform = !0;\n\t\t\tthis.root === this && (this.nodes = new Dc());\n\t\t}\n\t\taddEventListener(e, t) {\n\t\t\treturn this.eventHandlers.has(e) || this.eventHandlers.set(e, new ut()), this.eventHandlers.get(e).add(t);\n\t\t}\n\t\tnotifyListeners(e, ...t) {\n\t\t\tlet n = this.eventHandlers.get(e);\n\t\t\tn && n.notify(...t);\n\t\t}\n\t\thasListeners(e) {\n\t\t\treturn this.eventHandlers.has(e);\n\t\t}\n\t\tmount(t) {\n\t\t\tif (this.instance) return;\n\t\t\tthis.isSVG = Qa(t) && !ho(t), this.instance = t;\n\t\t\tlet { layoutId: n, layout: r, visualElement: i } = this.options;\n\t\t\tif (i && !i.current && i.mount(t), this.root.nodes.add(this), this.parent && this.parent.children.add(this), this.root.hasTreeAnimated && (r || n) && (this.isLayoutDirty = !0), e) {\n\t\t\t\tlet n, r = 0, i = () => this.root.updateBlockedByResize = !1;\n\t\t\t\tM.read(() => {\n\t\t\t\t\tr = window.innerWidth;\n\t\t\t\t}), e(t, () => {\n\t\t\t\t\tlet e = window.innerWidth;\n\t\t\t\t\te !== r && (r = e, this.root.updateBlockedByResize = !0, n && n(), n = Oc(i, 250), jc.hasAnimatedSinceResize && (jc.hasAnimatedSinceResize = !1, this.nodes.forEach(Yc)));\n\t\t\t\t});\n\t\t\t}\n\t\t\tn && this.root.registerSharedNode(n, this), this.options.animate !== !1 && i && (n || r) && this.addEventListener(\"didUpdate\", ({ delta: e, hasLayoutChanged: t, hasRelativeLayoutChanged: n, layout: r }) => {\n\t\t\t\tif (this.isTreeAnimationBlocked()) {\n\t\t\t\t\tthis.target = void 0, this.relativeTarget = void 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet a = this.options.transition || i.getDefaultTransition() || il, { onLayoutAnimationStart: o, onLayoutAnimationComplete: s } = i.getProps(), c = !this.targetLayout || !fc(this.targetLayout, r), l = !t && n;\n\t\t\t\tif (this.options.layoutRoot || this.resumeFrom || l || t && (c || !this.currentAnimation)) {\n\t\t\t\t\tthis.resumeFrom && (this.resumingFrom = this.resumeFrom, this.resumingFrom.resumingFrom = void 0);\n\t\t\t\t\tlet t = {\n\t\t\t\t\t\t...Ni(a, \"layout\"),\n\t\t\t\t\t\tonPlay: o,\n\t\t\t\t\t\tonComplete: s\n\t\t\t\t\t};\n\t\t\t\t\t(i.shouldReduceMotion || this.options.layoutRoot) && (t.delay = 0, t.type = !1), this.startAnimation(t), this.setAnimationOrigin(e, l, t.path);\n\t\t\t\t} else t || Yc(this), this.isLead() && this.options.onExitComplete && this.options.onExitComplete();\n\t\t\t\tthis.targetLayout = r;\n\t\t\t});\n\t\t}\n\t\tunmount() {\n\t\t\tthis.options.layoutId && this.willUpdate(), this.root.nodes.remove(this);\n\t\t\tlet e = this.getStack();\n\t\t\te && e.remove(this), this.parent && this.parent.children.delete(this), this.instance = void 0, this.eventHandlers.clear(), N(this.updateProjection);\n\t\t}\n\t\tblockUpdate() {\n\t\t\tthis.updateManuallyBlocked = !0;\n\t\t}\n\t\tunblockUpdate() {\n\t\t\tthis.updateManuallyBlocked = !1;\n\t\t}\n\t\tisUpdateBlocked() {\n\t\t\treturn this.updateManuallyBlocked || this.updateBlockedByResize;\n\t\t}\n\t\tisTreeAnimationBlocked() {\n\t\t\treturn this.isAnimationBlocked || this.parent && this.parent.isTreeAnimationBlocked() || !1;\n\t\t}\n\t\tstartUpdate() {\n\t\t\tthis.isUpdateBlocked() || (this.isUpdating = !0, this.nodes && this.nodes.forEach(Qc), this.animationId++);\n\t\t}\n\t\tgetTransformTemplate() {\n\t\t\tlet { visualElement: e } = this.options;\n\t\t\treturn e && e.getProps().transformTemplate;\n\t\t}\n\t\twillUpdate(e = !0) {\n\t\t\tif (this.root.hasTreeAnimated = !0, this.root.isUpdateBlocked()) {\n\t\t\t\tthis.options.onExitComplete && this.options.onExitComplete();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (window.MotionCancelOptimisedAnimation && !this.hasCheckedOptimisedAppear && Lc(this), !this.root.isUpdating && this.root.startUpdate(), this.isLayoutDirty) return;\n\t\t\tthis.isLayoutDirty = !0;\n\t\t\tfor (let e = 0; e < this.path.length; e++) {\n\t\t\t\tlet t = this.path[e];\n\t\t\t\tt.shouldResetTransform = !0, (typeof t.latestValues.x == \"string\" || typeof t.latestValues.y == \"string\") && (t.isLayoutDirty = !0), t.updateScroll(\"snapshot\"), t.options.layoutRoot && t.willUpdate(!1);\n\t\t\t}\n\t\t\tlet { layoutId: t, layout: n } = this.options;\n\t\t\tif (t === void 0 && !n) return;\n\t\t\tlet r = this.getTransformTemplate();\n\t\t\tthis.prevTransformTemplateValue = r ? r(this.latestValues, \"\") : void 0, this.updateSnapshot(), e && this.notifyListeners(\"willUpdate\");\n\t\t}\n\t\tupdate() {\n\t\t\tif (this.updateScheduled = !1, this.isUpdateBlocked()) {\n\t\t\t\tlet e = this.updateBlockedByResize;\n\t\t\t\tthis.unblockUpdate(), this.updateBlockedByResize = !1, this.clearAllSnapshots(), e && this.nodes.forEach(Gc), this.nodes.forEach(Wc);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.animationId <= this.animationCommitId) {\n\t\t\t\tthis.nodes.forEach(Kc);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.animationCommitId = this.animationId, this.isUpdating ? (this.isUpdating = !1, this.nodes.forEach(qc), this.nodes.forEach(Jc), this.nodes.forEach(zc), this.nodes.forEach(Bc)) : this.nodes.forEach(Kc), this.clearAllSnapshots();\n\t\t\tlet e = F.now();\n\t\t\tP.delta = D(0, 1e3 / 60, e - P.timestamp), P.timestamp = e, P.isProcessing = !0, Rt.update.process(P), Rt.preRender.process(P), Rt.render.process(P), P.isProcessing = !1;\n\t\t}\n\t\tdidUpdate() {\n\t\t\tthis.updateScheduled || (this.updateScheduled = !0, Ma.read(this.scheduleUpdate));\n\t\t}\n\t\tclearAllSnapshots() {\n\t\t\tthis.nodes.forEach(Uc), this.sharedNodes.forEach($c);\n\t\t}\n\t\tscheduleUpdateProjection() {\n\t\t\tthis.projectionUpdateScheduled || (this.projectionUpdateScheduled = !0, M.preRender(this.updateProjection, !1, !0));\n\t\t}\n\t\tscheduleCheckAfterUnmount() {\n\t\t\tM.postRender(() => {\n\t\t\t\tthis.isLayoutDirty ? this.root.didUpdate() : this.root.checkUpdateFailed();\n\t\t\t});\n\t\t}\n\t\tupdateSnapshot() {\n\t\t\tthis.snapshot || !this.instance || (this.snapshot = this.measure(), this.snapshot && !X(this.snapshot.measuredBox.x) && !X(this.snapshot.measuredBox.y) && (this.snapshot = void 0));\n\t\t}\n\t\tupdateLayout() {\n\t\t\tif (!this.instance || (this.updateScroll(), !(this.options.alwaysMeasureLayout && this.isLead()) && !this.isLayoutDirty)) return;\n\t\t\tif (this.resumeFrom && !this.resumeFrom.instance) for (let e = 0; e < this.path.length; e++) this.path[e].updateScroll();\n\t\t\tlet e = this.layout;\n\t\t\tthis.layout = this.measure(!1), this.layoutVersion++, this.layoutCorrected ||= K(), this.isLayoutDirty = !1, this.projectionDelta = void 0, this.notifyListeners(\"measure\", this.layout.layoutBox);\n\t\t\tlet { visualElement: t } = this.options;\n\t\t\tt && t.notify(\"LayoutMeasure\", this.layout.layoutBox, e ? e.layoutBox : void 0);\n\t\t}\n\t\tupdateScroll(e = \"measure\") {\n\t\t\tlet t = !!(this.options.layoutScroll && this.instance);\n\t\t\tif (this.scroll && this.scroll.animationId === this.root.animationId && this.scroll.phase === e && (t = !1), t && this.instance) {\n\t\t\t\tlet t = r(this.instance);\n\t\t\t\tthis.scroll = {\n\t\t\t\t\tanimationId: this.root.animationId,\n\t\t\t\t\tphase: e,\n\t\t\t\t\tisRoot: t,\n\t\t\t\t\toffset: n(this.instance),\n\t\t\t\t\twasRoot: this.scroll ? this.scroll.isRoot : t\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tresetTransform() {\n\t\t\tif (!i) return;\n\t\t\tlet e = this.isLayoutDirty || this.shouldResetTransform || this.options.alwaysMeasureLayout, t = this.projectionDelta && !cc(this.projectionDelta), n = this.getTransformTemplate(), r = n ? n(this.latestValues, \"\") : void 0, a = r !== this.prevTransformTemplateValue;\n\t\t\te && this.instance && (t || Jo(this.latestValues) || a) && (i(this.instance, r), this.shouldResetTransform = !1, this.scheduleRender());\n\t\t}\n\t\tmeasure(e = !0) {\n\t\t\tlet t = this.measurePageBox(), n = this.removeElementScroll(t);\n\t\t\treturn e && (n = this.removeTransform(n)), cl(n), {\n\t\t\t\tanimationId: this.root.animationId,\n\t\t\t\tmeasuredBox: t,\n\t\t\t\tlayoutBox: n,\n\t\t\t\tlatestValues: {},\n\t\t\t\tsource: this.id\n\t\t\t};\n\t\t}\n\t\tmeasurePageBox() {\n\t\t\tlet { visualElement: e } = this.options;\n\t\t\tif (!e) return K();\n\t\t\tlet t = e.measureViewportBox();\n\t\t\tif (!(this.scroll?.wasRoot || this.path.some(ul))) {\n\t\t\t\tlet { scroll: e } = this.root;\n\t\t\t\te && (J(t.x, e.offset.x), J(t.y, e.offset.y));\n\t\t\t}\n\t\t\treturn t;\n\t\t}\n\t\tremoveElementScroll(e) {\n\t\t\tlet t = K();\n\t\t\tif (Y(t, e), this.scroll?.wasRoot) return t;\n\t\t\tfor (let n = 0; n < this.path.length; n++) {\n\t\t\t\tlet r = this.path[n], { scroll: i, options: a } = r;\n\t\t\t\tr !== this.root && i && a.layoutScroll && (i.wasRoot && Y(t, e), J(t.x, i.offset.x), J(t.y, i.offset.y));\n\t\t\t}\n\t\t\treturn t;\n\t\t}\n\t\tapplyTransform(e, t = !1, n) {\n\t\t\tlet r = n || K();\n\t\t\tY(r, e);\n\t\t\tfor (let e = 0; e < this.path.length; e++) {\n\t\t\t\tlet n = this.path[e];\n\t\t\t\t!t && n.options.layoutScroll && n.scroll && n !== n.root && (J(r.x, -n.scroll.offset.x), J(r.y, -n.scroll.offset.y)), Jo(n.latestValues) && os(r, n.latestValues, n.layout?.layoutBox);\n\t\t\t}\n\t\t\treturn Jo(this.latestValues) && os(r, this.latestValues, this.layout?.layoutBox), r;\n\t\t}\n\t\tremoveTransform(e) {\n\t\t\tlet t = K();\n\t\t\tY(t, e);\n\t\t\tfor (let e = 0; e < this.path.length; e++) {\n\t\t\t\tlet n = this.path[e];\n\t\t\t\tif (!Jo(n.latestValues)) continue;\n\t\t\t\tlet r;\n\t\t\t\tn.instance && (qo(n.latestValues) && n.updateSnapshot(), r = K(), Y(r, n.measurePageBox())), oc(t, n.latestValues, n.snapshot?.layoutBox, r);\n\t\t\t}\n\t\t\treturn Jo(this.latestValues) && oc(t, this.latestValues), t;\n\t\t}\n\t\tsetTargetDelta(e) {\n\t\t\tthis.targetDelta = e, this.root.scheduleUpdateProjection(), this.isProjectionDirty = !0;\n\t\t}\n\t\tsetOptions(e) {\n\t\t\tthis.options = {\n\t\t\t\t...this.options,\n\t\t\t\t...e,\n\t\t\t\tcrossfade: e.crossfade === void 0 ? !0 : e.crossfade\n\t\t\t};\n\t\t}\n\t\tclearMeasurements() {\n\t\t\tthis.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;\n\t\t}\n\t\tforceRelativeParentToResolveTarget() {\n\t\t\tthis.relativeParent && this.relativeParent.resolvedRelativeTargetAt !== P.timestamp && this.relativeParent.resolveTargetDelta(!0);\n\t\t}\n\t\tresolveTargetDelta(e = !1) {\n\t\t\tlet t = this.getLead();\n\t\t\tthis.isProjectionDirty ||= t.isProjectionDirty, this.isTransformDirty ||= t.isTransformDirty, this.isSharedProjectionDirty ||= t.isSharedProjectionDirty;\n\t\t\tlet n = !!this.resumingFrom || this !== t;\n\t\t\tif (!(e || n && this.isSharedProjectionDirty || this.isProjectionDirty || this.parent?.isProjectionDirty || this.attemptToResolveRelativeTarget || this.root.updateBlockedByResize)) return;\n\t\t\tlet { layout: r, layoutId: i } = this.options;\n\t\t\tif (!this.layout || !(r || i)) return;\n\t\t\tthis.resolvedRelativeTargetAt = P.timestamp;\n\t\t\tlet a = this.getClosestProjectingParent();\n\t\t\ta && this.linkedParentVersion !== a.layoutVersion && !a.options.layoutRoot && this.removeRelativeTarget(), !this.targetDelta && !this.relativeTarget && (this.options.layoutAnchor !== !1 && a && a.layout ? this.createRelativeTarget(a, this.layout.layoutBox, a.layout.layoutBox) : this.removeRelativeTarget()), !(!this.relativeTarget && !this.targetDelta) && (this.target || (this.target = K(), this.targetWithTransforms = K()), this.relativeTarget && this.relativeTargetOrigin && this.relativeParent && this.relativeParent.target ? (this.forceRelativeParentToResolveTarget(), Qs(this.target, this.relativeTarget, this.relativeParent.target, this.options.layoutAnchor || void 0)) : this.targetDelta ? (this.resumingFrom ? this.applyTransform(this.layout.layoutBox, !1, this.target) : Y(this.target, this.layout.layoutBox), es(this.target, this.targetDelta)) : Y(this.target, this.layout.layoutBox), this.attemptToResolveRelativeTarget && (this.attemptToResolveRelativeTarget = !1, this.options.layoutAnchor !== !1 && a && !!a.resumingFrom == !!this.resumingFrom && !a.options.layoutScroll && a.target && this.animationProgress !== 1 ? this.createRelativeTarget(a, this.target, a.target) : this.relativeParent = this.relativeTarget = void 0), mo.value && Mc.calculatedTargetDeltas++);\n\t\t}\n\t\tgetClosestProjectingParent() {\n\t\t\tif (!(!this.parent || qo(this.parent.latestValues) || Yo(this.parent.latestValues))) return this.parent.isProjecting() ? this.parent : this.parent.getClosestProjectingParent();\n\t\t}\n\t\tisProjecting() {\n\t\t\treturn !!((this.relativeTarget || this.targetDelta || this.options.layoutRoot) && this.layout);\n\t\t}\n\t\tcreateRelativeTarget(e, t, n) {\n\t\t\tthis.relativeParent = e, this.linkedParentVersion = e.layoutVersion, this.forceRelativeParentToResolveTarget(), this.relativeTarget = K(), this.relativeTargetOrigin = K(), ec(this.relativeTargetOrigin, t, n, this.options.layoutAnchor || void 0), Y(this.relativeTarget, this.relativeTargetOrigin);\n\t\t}\n\t\tremoveRelativeTarget() {\n\t\t\tthis.relativeParent = this.relativeTarget = void 0;\n\t\t}\n\t\tcalcProjection() {\n\t\t\tlet e = this.getLead(), t = !!this.resumingFrom || this !== e, n = !0;\n\t\t\tif ((this.isProjectionDirty || this.parent?.isProjectionDirty) && (n = !1), t && (this.isSharedProjectionDirty || this.isTransformDirty) && (n = !1), this.resolvedRelativeTargetAt === P.timestamp && (n = !1), n) return;\n\t\t\tlet { layout: r, layoutId: i } = this.options;\n\t\t\tif (this.isTreeAnimating = !!(this.parent && this.parent.isTreeAnimating || this.currentAnimation || this.pendingAnimation), this.isTreeAnimating || (this.targetDelta = this.relativeTarget = void 0), !this.layout || !(r || i)) return;\n\t\t\tY(this.layoutCorrected, this.layout.layoutBox);\n\t\t\tlet a = this.treeScale.x, o = this.treeScale.y;\n\t\t\trs(this.layoutCorrected, this.treeScale, this.path, t), e.layout && !e.target && (this.treeScale.x !== 1 || this.treeScale.y !== 1) && (e.target = e.layout.layoutBox, e.targetWithTransforms = K());\n\t\t\tlet { target: s } = e;\n\t\t\tif (!s) {\n\t\t\t\tthis.prevProjectionDelta && (this.createProjectionDeltas(), this.scheduleRender());\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t!this.projectionDelta || !this.prevProjectionDelta ? this.createProjectionDeltas() : (Us(this.prevProjectionDelta.x, this.projectionDelta.x), Us(this.prevProjectionDelta.y, this.projectionDelta.y)), Xs(this.projectionDelta, this.layoutCorrected, s, this.latestValues), (this.treeScale.x !== a || this.treeScale.y !== o || !mc(this.projectionDelta.x, this.prevProjectionDelta.x) || !mc(this.projectionDelta.y, this.prevProjectionDelta.y)) && (this.hasProjected = !0, this.scheduleRender(), this.notifyListeners(\"projectionUpdate\", s)), mo.value && Mc.calculatedProjections++;\n\t\t}\n\t\thide() {\n\t\t\tthis.isVisible = !1;\n\t\t}\n\t\tshow() {\n\t\t\tthis.isVisible = !0;\n\t\t}\n\t\tscheduleRender(e = !0) {\n\t\t\tif (this.options.visualElement?.scheduleRender(), e) {\n\t\t\t\tlet e = this.getStack();\n\t\t\t\te && e.scheduleRender();\n\t\t\t}\n\t\t\tthis.resumingFrom && !this.resumingFrom.instance && (this.resumingFrom = void 0);\n\t\t}\n\t\tcreateProjectionDeltas() {\n\t\t\tthis.prevProjectionDelta = Co(), this.projectionDelta = Co(), this.projectionDeltaWithTransform = Co();\n\t\t}\n\t\tsetAnimationOrigin(e, t = !1, n) {\n\t\t\tlet r = this.snapshot, i = r ? r.latestValues : {}, a = { ...this.latestValues }, o = Co();\n\t\t\t(!this.relativeParent || !this.relativeParent.options.layoutRoot) && (this.relativeTarget = this.relativeTargetOrigin = void 0), this.attemptToResolveRelativeTarget = !t;\n\t\t\tlet s = K(), c = (r ? r.source : void 0) !== (this.layout ? this.layout.source : void 0), l = this.getStack(), u = !l || l.members.length <= 1, d = !!(c && !u && this.options.crossfade === !0 && !this.path.some(rl));\n\t\t\tthis.animationProgress = 0;\n\t\t\tlet f, p = n?.interpolateProjection(e);\n\t\t\tthis.mixTargetDelta = (t) => {\n\t\t\t\tlet n = t / 1e3, r = p?.(n);\n\t\t\t\tr ? (o.x.translate = r.x, o.x.scale = V(e.x.scale, 1, n), o.x.origin = e.x.origin, o.x.originPoint = e.x.originPoint, o.y.translate = r.y, o.y.scale = V(e.y.scale, 1, n), o.y.origin = e.y.origin, o.y.originPoint = e.y.originPoint) : (el(o.x, e.x, n), el(o.y, e.y, n)), this.setTargetDelta(o), this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout && (ec(s, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0), nl(this.relativeTarget, this.relativeTargetOrigin, s, n), f && uc(this.relativeTarget, f) && (this.isProjectionDirty = !1), f ||= K(), Y(f, this.relativeTarget)), c && (this.animationValues = a, yc(a, i, this.latestValues, n, d, u)), r && r.rotate !== void 0 && (this.animationValues ||= a, this.animationValues.pathRotation = r.rotate), this.root.scheduleUpdateProjection(), this.scheduleRender(), this.animationProgress = n;\n\t\t\t}, this.mixTargetDelta(this.options.layoutRoot ? 1e3 : 0);\n\t\t}\n\t\tstartAnimation(e) {\n\t\t\tthis.notifyListeners(\"animationStart\"), this.currentAnimation?.stop(), this.resumingFrom?.currentAnimation?.stop(), this.pendingAnimation &&= (N(this.pendingAnimation), void 0), this.pendingAnimation = M.update(() => {\n\t\t\t\tjc.hasAnimatedSinceResize = !0, this.motionValue ||= ji(0), this.motionValue.jump(0, !1), this.currentAnimation = wc(this.motionValue, [0, 1e3], {\n\t\t\t\t\t...e,\n\t\t\t\t\tvelocity: 0,\n\t\t\t\t\tisSync: !0,\n\t\t\t\t\tonUpdate: (t) => {\n\t\t\t\t\t\tthis.mixTargetDelta(t), e.onUpdate && e.onUpdate(t);\n\t\t\t\t\t},\n\t\t\t\t\tonComplete: () => {\n\t\t\t\t\t\te.onComplete && e.onComplete(), this.completeAnimation();\n\t\t\t\t\t}\n\t\t\t\t}), this.resumingFrom && (this.resumingFrom.currentAnimation = this.currentAnimation), this.pendingAnimation = void 0;\n\t\t\t});\n\t\t}\n\t\tcompleteAnimation() {\n\t\t\tthis.resumingFrom && (this.resumingFrom.currentAnimation = void 0, this.resumingFrom.preserveOpacity = void 0);\n\t\t\tlet e = this.getStack();\n\t\t\te && e.exitAnimationComplete(), this.resumingFrom = this.currentAnimation = this.animationValues = void 0, this.notifyListeners(\"animationComplete\");\n\t\t}\n\t\tfinishAnimation() {\n\t\t\tthis.currentAnimation && (this.mixTargetDelta && this.mixTargetDelta(Pc), this.currentAnimation.stop()), this.completeAnimation();\n\t\t}\n\t\tapplyTransformsToTarget() {\n\t\t\tlet e = this.getLead(), { targetWithTransforms: t, target: n, layout: r, latestValues: i } = e;\n\t\t\tif (!(!t || !n || !r)) {\n\t\t\t\tif (this !== e && this.layout && r && ll(this.options.animationType, this.layout.layoutBox, r.layoutBox)) {\n\t\t\t\t\tn = this.target || K();\n\t\t\t\t\tlet t = X(this.layout.layoutBox.x);\n\t\t\t\t\tn.x.min = e.target.x.min, n.x.max = n.x.min + t;\n\t\t\t\t\tlet r = X(this.layout.layoutBox.y);\n\t\t\t\t\tn.y.min = e.target.y.min, n.y.max = n.y.min + r;\n\t\t\t\t}\n\t\t\t\tY(t, n), os(t, i), Xs(this.projectionDeltaWithTransform, this.layoutCorrected, t, i);\n\t\t\t}\n\t\t}\n\t\tregisterSharedNode(e, t) {\n\t\t\tthis.sharedNodes.has(e) || this.sharedNodes.set(e, new Ac()), this.sharedNodes.get(e).add(t);\n\t\t\tlet n = t.options.initialPromotionConfig;\n\t\t\tt.promote({\n\t\t\t\ttransition: n ? n.transition : void 0,\n\t\t\t\tpreserveFollowOpacity: n && n.shouldPreserveFollowOpacity ? n.shouldPreserveFollowOpacity(t) : void 0\n\t\t\t});\n\t\t}\n\t\tisLead() {\n\t\t\tlet e = this.getStack();\n\t\t\treturn e ? e.lead === this : !0;\n\t\t}\n\t\tgetLead() {\n\t\t\tlet { layoutId: e } = this.options;\n\t\t\treturn e && this.getStack()?.lead || this;\n\t\t}\n\t\tgetPrevLead() {\n\t\t\tlet { layoutId: e } = this.options;\n\t\t\treturn e ? this.getStack()?.prevLead : void 0;\n\t\t}\n\t\tgetStack() {\n\t\t\tlet { layoutId: e } = this.options;\n\t\t\tif (e) return this.root.sharedNodes.get(e);\n\t\t}\n\t\tpromote({ needsReset: e, transition: t, preserveFollowOpacity: n } = {}) {\n\t\t\tlet r = this.getStack();\n\t\t\tr && r.promote(this, n), e && (this.projectionDelta = void 0, this.needsReset = !0), t && this.setOptions({ transition: t });\n\t\t}\n\t\trelegate() {\n\t\t\tlet e = this.getStack();\n\t\t\treturn e ? e.relegate(this) : !1;\n\t\t}\n\t\tresetSkewAndRotation() {\n\t\t\tlet { visualElement: e } = this.options;\n\t\t\tif (!e) return;\n\t\t\tlet t = !1, { latestValues: n } = e;\n\t\t\tif ((n.z || n.rotate || n.rotateX || n.rotateY || n.rotateZ || n.skewX || n.skewY) && (t = !0), !t) return;\n\t\t\tlet r = {};\n\t\t\tn.z && Ic(\"z\", e, r, this.animationValues);\n\t\t\tfor (let t = 0; t < Nc.length; t++) Ic(`rotate${Nc[t]}`, e, r, this.animationValues), Ic(`skew${Nc[t]}`, e, r, this.animationValues);\n\t\t\te.render();\n\t\t\tfor (let t in r) e.setStaticValue(t, r[t]), this.animationValues && (this.animationValues[t] = r[t]);\n\t\t\te.scheduleRender();\n\t\t}\n\t\tapplyProjectionStyles(e, t) {\n\t\t\tif (!this.instance || this.isSVG) return;\n\t\t\tif (!this.isVisible) {\n\t\t\t\te.visibility = \"hidden\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet n = this.getTransformTemplate();\n\t\t\tif (this.needsReset) {\n\t\t\t\tthis.needsReset = !1, e.visibility = \"\", e.opacity = \"\", e.pointerEvents = kc(t?.pointerEvents) || \"\", e.transform = n ? n(this.latestValues, \"\") : \"none\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet r = this.getLead();\n\t\t\tif (!this.projectionDelta || !this.layout || !r.target) {\n\t\t\t\tthis.options.layoutId && (e.opacity = this.latestValues.opacity === void 0 ? 1 : this.latestValues.opacity, e.pointerEvents = kc(t?.pointerEvents) || \"\"), this.hasProjected && !Jo(this.latestValues) && (e.transform = n ? n({}, \"\") : \"none\", this.hasProjected = !1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\te.visibility = \"\";\n\t\t\tlet i = r.animationValues || r.latestValues;\n\t\t\tthis.applyTransformsToTarget();\n\t\t\tlet a = hc(this.projectionDeltaWithTransform, this.treeScale, i);\n\t\t\tn && (a = n(i, a)), e.transform = a;\n\t\t\tlet { x: o, y: s } = this.projectionDelta;\n\t\t\te.transformOrigin = `${o.origin * 100}% ${s.origin * 100}% 0`, r.animationValues ? e.opacity = r === this ? i.opacity ?? this.latestValues.opacity ?? 1 : this.preserveOpacity ? this.latestValues.opacity : i.opacityExit : e.opacity = r === this ? i.opacity === void 0 ? \"\" : i.opacity : i.opacityExit === void 0 ? 0 : i.opacityExit;\n\t\t\tfor (let t in _s) {\n\t\t\t\tif (i[t] === void 0) continue;\n\t\t\t\tlet { correct: n, applyTo: o, isCSSVariable: s } = _s[t], c = a === \"none\" ? i[t] : n(i[t], r);\n\t\t\t\tif (o) {\n\t\t\t\t\tlet t = o.length;\n\t\t\t\t\tfor (let n = 0; n < t; n++) e[o[n]] = c;\n\t\t\t\t} else s ? this.options.visualElement.renderState.vars[t] = c : e[t] = c;\n\t\t\t}\n\t\t\tthis.options.layoutId && (e.pointerEvents = r === this ? kc(t?.pointerEvents) || \"\" : \"none\");\n\t\t}\n\t\tclearSnapshot() {\n\t\t\tthis.resumeFrom = this.snapshot = void 0;\n\t\t}\n\t\tresetTree() {\n\t\t\tthis.root.nodes.forEach((e) => e.currentAnimation?.stop()), this.root.nodes.forEach(Wc), this.root.sharedNodes.clear();\n\t\t}\n\t};\n}\nfunction zc(e) {\n\te.updateLayout();\n}\nfunction Bc(e) {\n\tlet t = e.resumeFrom?.snapshot || e.snapshot;\n\tif (e.isLead() && e.layout && t && e.hasListeners(\"didUpdate\")) {\n\t\tlet { layoutBox: n, measuredBox: r } = e.layout, { animationType: i } = e.options, a = t.source !== e.layout.source;\n\t\tif (i === \"size\") Z((e) => {\n\t\t\tlet r = a ? t.measuredBox[e] : t.layoutBox[e], i = X(r);\n\t\t\tr.min = n[e].min, r.max = r.min + i;\n\t\t});\n\t\telse if (i === \"x\" || i === \"y\") {\n\t\t\tlet e = i === \"x\" ? \"y\" : \"x\";\n\t\t\tHs(a ? t.measuredBox[e] : t.layoutBox[e], n[e]);\n\t\t} else ll(i, t.layoutBox, n) && Z((r) => {\n\t\t\tlet i = a ? t.measuredBox[r] : t.layoutBox[r], o = X(n[r]);\n\t\t\ti.max = i.min + o, e.relativeTarget && !e.currentAnimation && (e.isProjectionDirty = !0, e.relativeTarget[r].max = e.relativeTarget[r].min + o);\n\t\t});\n\t\tlet o = Co();\n\t\tXs(o, n, t.layoutBox);\n\t\tlet s = Co();\n\t\ta ? Xs(s, e.applyTransform(r, !0), t.measuredBox) : Xs(s, n, t.layoutBox);\n\t\tlet c = !cc(o), l = !1;\n\t\tif (!e.resumeFrom) {\n\t\t\tlet r = e.getClosestProjectingParent();\n\t\t\tif (r && !r.resumeFrom) {\n\t\t\t\tlet { snapshot: i, layout: a } = r;\n\t\t\t\tif (i && a) {\n\t\t\t\t\tlet o = e.options.layoutAnchor || void 0, s = K();\n\t\t\t\t\tec(s, t.layoutBox, i.layoutBox, o);\n\t\t\t\t\tlet c = K();\n\t\t\t\t\tec(c, n, a.layoutBox, o), fc(s, c) || (l = !0), r.options.layoutRoot && (e.relativeTarget = c, e.relativeTargetOrigin = s, e.relativeParent = r);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\te.notifyListeners(\"didUpdate\", {\n\t\t\tlayout: n,\n\t\t\tsnapshot: t,\n\t\t\tdelta: s,\n\t\t\tlayoutDelta: o,\n\t\t\thasLayoutChanged: c,\n\t\t\thasRelativeLayoutChanged: l\n\t\t});\n\t} else if (e.isLead()) {\n\t\tlet { onExitComplete: t } = e.options;\n\t\tt && t();\n\t}\n\te.options.transition = void 0;\n}\nfunction Vc(e) {\n\tmo.value && Mc.nodes++, e.parent && (e.isProjecting() || (e.isProjectionDirty = e.parent.isProjectionDirty), e.isSharedProjectionDirty ||= !!(e.isProjectionDirty || e.parent.isProjectionDirty || e.parent.isSharedProjectionDirty), e.isTransformDirty ||= e.parent.isTransformDirty);\n}\nfunction Hc(e) {\n\te.isProjectionDirty = e.isSharedProjectionDirty = e.isTransformDirty = !1;\n}\nfunction Uc(e) {\n\te.clearSnapshot();\n}\nfunction Wc(e) {\n\te.clearMeasurements();\n}\nfunction Gc(e) {\n\te.isLayoutDirty = !0, e.updateLayout();\n}\nfunction Kc(e) {\n\te.isLayoutDirty = !1;\n}\nfunction qc(e) {\n\te.isAnimationBlocked && e.layout && !e.isLayoutDirty && (e.snapshot = e.layout, e.isLayoutDirty = !0);\n}\nfunction Jc(e) {\n\tlet { visualElement: t } = e.options;\n\tt && t.getProps().onBeforeLayoutMeasure && t.notify(\"BeforeLayoutMeasure\"), e.resetTransform();\n}\nfunction Yc(e) {\n\te.finishAnimation(), e.targetDelta = e.relativeTarget = e.target = void 0, e.isProjectionDirty = !0;\n}\nfunction Xc(e) {\n\te.resolveTargetDelta();\n}\nfunction Zc(e) {\n\te.calcProjection();\n}\nfunction Qc(e) {\n\te.resetSkewAndRotation();\n}\nfunction $c(e) {\n\te.removeLeadSnapshot();\n}\nfunction el(e, t, n) {\n\te.translate = V(t.translate, 0, n), e.scale = V(t.scale, 1, n), e.origin = t.origin, e.originPoint = t.originPoint;\n}\nfunction tl(e, t, n, r) {\n\te.min = V(t.min, n.min, r), e.max = V(t.max, n.max, r);\n}\nfunction nl(e, t, n, r) {\n\ttl(e.x, t.x, n.x, r), tl(e.y, t.y, n.y, r);\n}\nfunction rl(e) {\n\treturn e.animationValues && e.animationValues.opacityExit !== void 0;\n}\nvar il = {\n\tduration: .45,\n\tease: [\n\t\t.4,\n\t\t0,\n\t\t.1,\n\t\t1\n\t]\n}, al = (e) => typeof navigator < \"u\" && navigator.userAgent && navigator.userAgent.toLowerCase().includes(e), ol = al(\"applewebkit/\") && !al(\"chrome/\") ? Math.round : k;\nfunction sl(e) {\n\te.min = ol(e.min), e.max = ol(e.max);\n}\nfunction cl(e) {\n\tsl(e.x), sl(e.y);\n}\nfunction ll(e, t, n) {\n\treturn e === \"position\" || e === \"preserve-aspect\" && !Js(pc(t), pc(n), .2);\n}\nfunction ul(e) {\n\treturn e !== e.root && e.scroll?.wasRoot;\n}\n//#endregion\n//#region node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs\nvar dl = Rc({\n\tattachResizeListener: (e, t) => Tc(e, \"resize\", t),\n\tmeasureScroll: () => ({\n\t\tx: document.documentElement.scrollLeft || document.body?.scrollLeft || 0,\n\t\ty: document.documentElement.scrollTop || document.body?.scrollTop || 0\n\t}),\n\tcheckIsScrollRoot: () => !0\n}), fl = { current: void 0 }, pl = Rc({\n\tmeasureScroll: (e) => ({\n\t\tx: e.scrollLeft,\n\t\ty: e.scrollTop\n\t}),\n\tdefaultParent: () => {\n\t\tif (!fl.current) {\n\t\t\tlet e = new dl({});\n\t\t\te.mount(window), e.setOptions({ layoutScroll: !0 }), fl.current = e;\n\t\t}\n\t\treturn fl.current;\n\t},\n\tresetTransform: (e, t) => {\n\t\te.style.transform = t === void 0 ? \"none\" : t;\n\t},\n\tcheckIsScrollRoot: (e) => window.getComputedStyle(e).position === \"fixed\"\n}), ml = a({\n\ttransformPagePoint: (e) => e,\n\tisStatic: !1,\n\treducedMotion: \"never\"\n});\n//#endregion\n//#region node_modules/framer-motion/dist/es/utils/use-composed-ref.mjs\nfunction hl(e, t) {\n\tif (typeof e == \"function\") return e(t);\n\te != null && (e.current = t);\n}\nfunction gl(...e) {\n\treturn (t) => {\n\t\tlet n = !1, r = e.map((e) => {\n\t\t\tlet r = hl(e, t);\n\t\t\treturn !n && typeof r == \"function\" && (n = !0), r;\n\t\t});\n\t\tif (n) return () => {\n\t\t\tfor (let t = 0; t < r.length; t++) {\n\t\t\t\tlet n = r[t];\n\t\t\t\ttypeof n == \"function\" ? n() : hl(e[t], null);\n\t\t\t}\n\t\t};\n\t};\n}\nfunction _l(...t) {\n\treturn e.useCallback(gl(...t), t);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs\nvar vl = class extends e.Component {\n\tgetSnapshotBeforeUpdate(e) {\n\t\tlet t = this.props.childRef.current;\n\t\tif (ja(t) && e.isPresent && !this.props.isPresent && this.props.pop !== !1) {\n\t\t\tlet e = t.offsetParent, n = ja(e) && e.offsetWidth || 0, r = ja(e) && e.offsetHeight || 0, i = getComputedStyle(t), a = this.props.sizeRef.current;\n\t\t\ta.height = parseFloat(i.height), a.width = parseFloat(i.width), a.top = t.offsetTop, a.left = t.offsetLeft, a.right = n - a.width - a.left, a.bottom = r - a.height - a.top, a.direction = i.direction;\n\t\t}\n\t\treturn null;\n\t}\n\tcomponentDidUpdate() {}\n\trender() {\n\t\treturn this.props.children;\n\t}\n};\nfunction yl({ children: t, isPresent: n, anchorX: r, anchorY: i, root: a, pop: o }) {\n\tlet s = f(), c = g(null), l = g({\n\t\twidth: 0,\n\t\theight: 0,\n\t\ttop: 0,\n\t\tleft: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tdirection: \"ltr\"\n\t}), { nonce: d } = u(ml), m = _l(c, t.props?.ref ?? t?.ref);\n\treturn p(() => {\n\t\tlet { width: e, height: t, top: u, left: f, right: p, bottom: m, direction: h } = l.current;\n\t\tif (n || o === !1 || !c.current || !e || !t) return;\n\t\tlet g = h === \"rtl\", _ = r === \"left\" ? g ? `right: ${p}` : `left: ${f}` : g ? `left: ${f}` : `right: ${p}`, v = i === \"bottom\" ? `bottom: ${m}` : `top: ${u}`;\n\t\tc.current.dataset.motionPopId = s;\n\t\tlet y = document.createElement(\"style\");\n\t\td && (y.nonce = d);\n\t\tlet b = a ?? document.head;\n\t\treturn b.appendChild(y), y.sheet && y.sheet.insertRule(`\n          [data-motion-pop-id=\"${s}\"] {\n            position: absolute !important;\n            width: ${e}px !important;\n            height: ${t}px !important;\n            ${_}px !important;\n            ${v}px !important;\n          }\n        `), () => {\n\t\t\tc.current?.removeAttribute(\"data-motion-pop-id\"), b.contains(y) && b.removeChild(y);\n\t\t};\n\t}, [n]), y(vl, {\n\t\tisPresent: n,\n\t\tchildRef: c,\n\t\tsizeRef: l,\n\t\tpop: o,\n\t\tchildren: o === !1 ? t : e.cloneElement(t, { ref: m })\n\t});\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs\nvar bl = ({ children: t, initial: n, isPresent: r, onExitComplete: i, custom: a, presenceAffectsLayout: o, mode: s, anchorX: c, anchorY: l, root: u }) => {\n\tlet d = E(xl), p = f(), m = g(r), _ = g(i);\n\tet(() => {\n\t\tm.current = r, _.current = i;\n\t});\n\tlet v = !0, b = h(() => (v = !1, {\n\t\tid: p,\n\t\tinitial: n,\n\t\tisPresent: r,\n\t\tcustom: a,\n\t\tonExitComplete: (e) => {\n\t\t\td.set(e, !0);\n\t\t\tfor (let e of d.values()) if (!e) return;\n\t\t\ti && i();\n\t\t},\n\t\tregister: (e) => (d.set(e, !1), () => {\n\t\t\td.delete(e), !m.current && !d.size && _.current?.();\n\t\t})\n\t}), [\n\t\tr,\n\t\td,\n\t\ti\n\t]);\n\treturn o && v && (b = { ...b }), h(() => {\n\t\td.forEach((e, t) => d.set(t, !1));\n\t}, [r]), e.useEffect(() => {\n\t\t!r && !d.size && i && i();\n\t}, [r]), t = y(yl, {\n\t\tpop: s === \"popLayout\",\n\t\tisPresent: r,\n\t\tanchorX: c,\n\t\tanchorY: l,\n\t\troot: u,\n\t\tchildren: t\n\t}), y(tt.Provider, {\n\t\tvalue: b,\n\t\tchildren: t\n\t});\n};\nfunction xl() {\n\treturn /* @__PURE__ */ new Map();\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.mjs\nfunction Sl(e = !0) {\n\tlet t = u(tt);\n\tif (t === null) return [!0, null];\n\tlet { isPresent: n, onExitComplete: r, register: i } = t, a = f();\n\td(() => {\n\t\tif (e) return i(a);\n\t}, [e]);\n\tlet o = l(() => e && r && r(a), [\n\t\ta,\n\t\tr,\n\t\te\n\t]);\n\treturn !n && r ? [!1, o] : [!0];\n}\nfunction Cl() {\n\treturn wl(u(tt));\n}\nfunction wl(e) {\n\treturn e === null ? !0 : e.isPresent;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/components/AnimatePresence/utils.mjs\nvar Tl = (e) => e.key || \"\";\nfunction El(e) {\n\tlet t = [];\n\treturn n.forEach(e, (e) => {\n\t\tc(e) && t.push(e);\n\t}), t;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs\nvar Dl = ({ children: e, custom: t, initial: n = !0, onExitComplete: r, presenceAffectsLayout: i = !0, mode: a = \"sync\", propagate: o = !1, anchorX: s = \"left\", anchorY: c = \"top\", root: l }) => {\n\tlet [d, f] = Sl(o), p = h(() => El(e), [e]), m = o && !d ? [] : p.map(Tl), b = g(!0), x = g(p), S = E(() => /* @__PURE__ */ new Map()), C = g(/* @__PURE__ */ new Set()), [w, ee] = _(p), [T, te] = _(p);\n\tet(() => {\n\t\tb.current = !1, x.current = p;\n\t\tfor (let e = 0; e < T.length; e++) {\n\t\t\tlet t = Tl(T[e]);\n\t\t\tm.includes(t) ? (S.delete(t), C.current.delete(t)) : S.get(t) !== !0 && S.set(t, !1);\n\t\t}\n\t}, [\n\t\tT,\n\t\tm.length,\n\t\tm.join(\"-\")\n\t]);\n\tlet ne = [];\n\tif (p !== w) {\n\t\tlet e = [...p];\n\t\tfor (let t = 0; t < T.length; t++) {\n\t\t\tlet n = T[t], r = Tl(n);\n\t\t\tm.includes(r) || (e.splice(t, 0, n), ne.push(n));\n\t\t}\n\t\treturn a === \"wait\" && ne.length && (e = ne), te(El(e)), ee(p), null;\n\t}\n\tlet { forceRender: re } = u($e);\n\treturn y(v, { children: T.map((e) => {\n\t\tlet u = Tl(e), h = o && !d ? !1 : p === T || m.includes(u);\n\t\treturn y(bl, {\n\t\t\tisPresent: h,\n\t\t\tinitial: !b.current || n ? void 0 : !1,\n\t\t\tcustom: t,\n\t\t\tpresenceAffectsLayout: i,\n\t\t\tmode: a,\n\t\t\troot: l,\n\t\t\tonExitComplete: h ? void 0 : () => {\n\t\t\t\tif (C.current.has(u)) return;\n\t\t\t\tif (S.has(u)) C.current.add(u), S.set(u, !0);\n\t\t\t\telse return;\n\t\t\t\tlet e = !0;\n\t\t\t\tS.forEach((t) => {\n\t\t\t\t\tt || (e = !1);\n\t\t\t\t}), e && (re?.(), te(x.current), o && f?.(), r && r());\n\t\t\t},\n\t\t\tanchorX: s,\n\t\t\tanchorY: c,\n\t\t\tchildren: e\n\t\t}, u);\n\t}) });\n}, Ol = a({ strict: !1 }), kl = {\n\tanimation: [\n\t\t\"animate\",\n\t\t\"variants\",\n\t\t\"whileHover\",\n\t\t\"whileTap\",\n\t\t\"exit\",\n\t\t\"whileInView\",\n\t\t\"whileFocus\",\n\t\t\"whileDrag\"\n\t],\n\texit: [\"exit\"],\n\tdrag: [\"drag\", \"dragControls\"],\n\tfocus: [\"whileFocus\"],\n\thover: [\n\t\t\"whileHover\",\n\t\t\"onHoverStart\",\n\t\t\"onHoverEnd\"\n\t],\n\ttap: [\n\t\t\"whileTap\",\n\t\t\"onTap\",\n\t\t\"onTapStart\",\n\t\t\"onTapCancel\"\n\t],\n\tpan: [\n\t\t\"onPan\",\n\t\t\"onPanStart\",\n\t\t\"onPanSessionStart\",\n\t\t\"onPanEnd\"\n\t],\n\tinView: [\n\t\t\"whileInView\",\n\t\t\"onViewportEnter\",\n\t\t\"onViewportLeave\"\n\t],\n\tlayout: [\"layout\", \"layoutId\"]\n}, Al = !1;\nfunction jl() {\n\tif (Al) return;\n\tlet e = {};\n\tfor (let t in kl) e[t] = { isEnabled: (e) => kl[t].some((t) => !!e[t]) };\n\tzo(e), Al = !0;\n}\nfunction Ml() {\n\treturn jl(), Bo();\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/features/load-features.mjs\nfunction Nl(e) {\n\tlet t = Ml();\n\tfor (let n in e) t[n] = {\n\t\t...t[n],\n\t\t...e[n]\n\t};\n\tzo(t);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/components/LazyMotion/index.mjs\nfunction Pl({ children: e, features: t, strict: n = !1 }) {\n\tlet [, r] = _(!Fl(t)), i = g(void 0);\n\tif (!Fl(t)) {\n\t\tlet { renderer: e, ...n } = t;\n\t\ti.current = e, Nl(n);\n\t}\n\treturn d(() => {\n\t\tFl(t) && t().then(({ renderer: e, ...t }) => {\n\t\t\tNl(t), i.current = e, r(!0);\n\t\t});\n\t}, []), y(Ol.Provider, {\n\t\tvalue: {\n\t\t\trenderer: i.current,\n\t\t\tstrict: n\n\t\t},\n\t\tchildren: e\n\t});\n}\nfunction Fl(e) {\n\treturn typeof e == \"function\";\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs\nvar Il = new Set(/* @__PURE__ */ \"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\".split(\".\"));\nfunction Ll(e) {\n\treturn e.startsWith(\"while\") || e.startsWith(\"drag\") && e !== \"draggable\" || e.startsWith(\"layout\") || e.startsWith(\"onTap\") || e.startsWith(\"onPan\") || e.startsWith(\"onLayout\") || Il.has(e);\n}\n//#endregion\n//#region __vite-optional-peer-dep:@emotion/is-prop-valid:framer-motion\nvar Rl = /* @__PURE__ */ T({ default: () => zl }), zl, Bl = ee((() => {\n\tthrow zl = {}, Error(\"Could not resolve \\\"@emotion/is-prop-valid\\\" imported by \\\"framer-motion\\\". Is it installed?\");\n})), Vl = (e) => !Ll(e);\nfunction Hl(e) {\n\ttypeof e == \"function\" && (Vl = (t) => t.startsWith(\"on\") ? !Ll(t) : e(t));\n}\ntry {\n\tHl((Bl(), ne(Rl)).default);\n} catch {}\nfunction Ul(e, t, n) {\n\tlet r = {};\n\tfor (let i in e) i === \"values\" && typeof e.values == \"object\" || W(e[i]) || (Vl(i) || n === !0 && Ll(i) || !t && !Ll(i) || e.draggable && i.startsWith(\"onDrag\")) && (r[i] = e[i]);\n\treturn r;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/components/MotionConfig/index.mjs\nfunction Wl({ children: e, isValidProp: t, ...n }) {\n\tt && Hl(t);\n\tlet r = u(ml);\n\tn = {\n\t\t...r,\n\t\t...n\n\t}, n.transition = Mi(n.transition, r.transition), n.isStatic = E(() => n.isStatic);\n\tlet i = h(() => n, [\n\t\tJSON.stringify(n.transition),\n\t\tn.transformPagePoint,\n\t\tn.reducedMotion,\n\t\tn.skipAnimations\n\t]);\n\treturn y(ml.Provider, {\n\t\tvalue: i,\n\t\tchildren: e\n\t});\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/context/MotionContext/index.mjs\nvar Gl = /* @__PURE__ */ a({});\n//#endregion\n//#region node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs\nfunction Kl(e, t) {\n\tif (Ao(e)) {\n\t\tlet { initial: t, animate: n } = e;\n\t\treturn {\n\t\t\tinitial: t === !1 || Do(t) ? t : void 0,\n\t\t\tanimate: Do(n) ? n : void 0\n\t\t};\n\t}\n\treturn e.inherit === !1 ? {} : t;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/context/MotionContext/create.mjs\nfunction ql(e) {\n\tlet { initial: t, animate: n } = Kl(e, u(Gl));\n\treturn h(() => ({\n\t\tinitial: t,\n\t\tanimate: n\n\t}), [Jl(t), Jl(n)]);\n}\nfunction Jl(e) {\n\treturn Array.isArray(e) ? e.join(\" \") : e;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/html/utils/create-render-state.mjs\nvar Yl = () => ({\n\tstyle: {},\n\ttransform: {},\n\ttransformOrigin: {},\n\tvars: {}\n});\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/html/use-props.mjs\nfunction Xl(e, t, n) {\n\tfor (let r in t) !W(t[r]) && !vs(r, n) && (e[r] = t[r]);\n}\nfunction Zl({ transformTemplate: e }, t) {\n\treturn h(() => {\n\t\tlet n = Yl();\n\t\treturn fs(n, t, e), Object.assign({}, n.vars, n.style);\n\t}, [t]);\n}\nfunction Ql(e, t) {\n\tlet n = e.style || {}, r = {};\n\treturn Xl(r, n, e), Object.assign(r, Zl(e, t)), r;\n}\nfunction $l(e, t) {\n\tlet n = {}, r = Ql(e, t);\n\treturn 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\"}`), e.tabIndex === void 0 && (e.onTap || e.onTapStart || e.whileTap) && (n.tabIndex = 0), n.style = r, n;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.mjs\nvar eu = () => ({\n\t...Yl(),\n\tattrs: {}\n});\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/svg/use-props.mjs\nfunction tu(e, t, n, r) {\n\tlet i = h(() => {\n\t\tlet n = eu();\n\t\treturn Es(n, t, Os(r), e.transformTemplate, e.style), {\n\t\t\t...n.attrs,\n\t\t\tstyle: { ...n.style }\n\t\t};\n\t}, [t]);\n\tif (e.style) {\n\t\tlet t = {};\n\t\tXl(t, e.style, e), i.style = {\n\t\t\t...t,\n\t\t\t...i.style\n\t\t};\n\t}\n\treturn i;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs\nvar nu = [\n\t\"animate\",\n\t\"circle\",\n\t\"defs\",\n\t\"desc\",\n\t\"ellipse\",\n\t\"g\",\n\t\"image\",\n\t\"line\",\n\t\"filter\",\n\t\"marker\",\n\t\"mask\",\n\t\"metadata\",\n\t\"path\",\n\t\"pattern\",\n\t\"polygon\",\n\t\"polyline\",\n\t\"rect\",\n\t\"stop\",\n\t\"switch\",\n\t\"symbol\",\n\t\"svg\",\n\t\"text\",\n\t\"tspan\",\n\t\"use\",\n\t\"view\"\n];\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.mjs\nfunction ru(e) {\n\treturn typeof e != \"string\" || e.includes(\"-\") ? !1 : !!(nu.indexOf(e) > -1 || /[A-Z]/u.test(e));\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/dom/use-render.mjs\nfunction iu(e, t, n, { latestValues: r }, a, s = !1, c) {\n\tlet l = (c ?? ru(e) ? tu : $l)(t, r, a, e), u = Ul(t, typeof e == \"string\", s), d = e === i ? {} : {\n\t\t...u,\n\t\t...l,\n\t\tref: n\n\t}, { children: f } = t, p = h(() => W(f) ? f.get() : f, [f]);\n\treturn o(e, {\n\t\t...d,\n\t\tchildren: p\n\t});\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/utils/use-visual-state.mjs\nfunction au({ scrapeMotionValuesFromProps: e, createRenderState: t }, n, r, i) {\n\treturn {\n\t\tlatestValues: ou(n, r, i, e),\n\t\trenderState: t()\n\t};\n}\nfunction ou(e, t, n, r) {\n\tlet i = {}, a = r(e, {});\n\tfor (let e in a) i[e] = kc(a[e]);\n\tlet { initial: o, animate: s } = e, c = Ao(e), l = jo(e);\n\tt && l && !c && e.inherit !== !1 && (o === void 0 && (o = t.initial), s === void 0 && (s = t.animate));\n\tlet u = n ? n.initial === !1 : !1;\n\tu ||= o === !1;\n\tlet d = u ? s : o;\n\tif (d && typeof d != \"boolean\" && !Eo(d)) {\n\t\tlet t = Array.isArray(d) ? d : [d];\n\t\tfor (let n = 0; n < t.length; n++) {\n\t\t\tlet r = Ki(e, t[n]);\n\t\t\tif (r) {\n\t\t\t\tlet { transitionEnd: e, transition: t, ...n } = r;\n\t\t\t\tfor (let e in n) {\n\t\t\t\t\tlet t = n[e];\n\t\t\t\t\tif (Array.isArray(t)) {\n\t\t\t\t\t\tlet e = u ? t.length - 1 : 0;\n\t\t\t\t\t\tt = t[e];\n\t\t\t\t\t}\n\t\t\t\t\tt !== null && (i[e] = t);\n\t\t\t\t}\n\t\t\t\tfor (let t in e) i[t] = e[t];\n\t\t\t}\n\t\t}\n\t}\n\treturn i;\n}\nvar su = (e) => (t, n) => {\n\tlet r = u(Gl), i = u(tt), a = () => au(e, t, r, i);\n\treturn n ? a() : E(a);\n}, cu = /*@__PURE__*/ su({\n\tscrapeMotionValuesFromProps: ys,\n\tcreateRenderState: Yl\n}), lu = /*@__PURE__*/ su({\n\tscrapeMotionValuesFromProps: As,\n\tcreateRenderState: eu\n}), uu = Symbol.for(\"motionComponentSymbol\");\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.mjs\nfunction du(e, t, n) {\n\tlet r = g(n);\n\tp(() => {\n\t\tr.current = n;\n\t});\n\tlet i = g(null);\n\treturn l((n) => {\n\t\tn && e.onMount?.(n), t && (n ? t.mount(n) : t.unmount());\n\t\tlet a = r.current;\n\t\tif (typeof a == \"function\") if (n) {\n\t\t\tlet e = a(n);\n\t\t\ttypeof e == \"function\" && (i.current = e);\n\t\t} else i.current ? (i.current(), i.current = null) : a(n);\n\t\telse a && (a.current = n);\n\t}, [t]);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.mjs\nvar fu = a({});\n//#endregion\n//#region node_modules/framer-motion/dist/es/utils/is-ref-object.mjs\nfunction pu(e) {\n\treturn e && typeof e == \"object\" && Object.prototype.hasOwnProperty.call(e, \"current\");\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs\nfunction mu(e, t, n, r, i, a) {\n\tlet { visualElement: o } = u(Gl), s = u(Ol), c = u(tt), l = u(ml), f = l.reducedMotion, m = l.skipAnimations, h = g(null), _ = g(!1);\n\tr ||= s.renderer, !h.current && r && (h.current = r(e, {\n\t\tvisualState: t,\n\t\tparent: o,\n\t\tprops: n,\n\t\tpresenceContext: c,\n\t\tblockInitialAnimation: c ? c.initial === !1 : !1,\n\t\treducedMotionConfig: f,\n\t\tskipAnimations: m,\n\t\tisSVG: a\n\t}), _.current && h.current && (h.current.manuallyAnimateOnMount = !0));\n\tlet v = h.current, y = u(fu);\n\tv && !v.projection && i && (v.type === \"html\" || v.type === \"svg\") && hu(h.current, n, i, y);\n\tlet b = g(!1);\n\tp(() => {\n\t\tv && b.current && v.update(n, c);\n\t});\n\tlet x = n[na], S = g(!!x && typeof window < \"u\" && !window.MotionHandoffIsComplete?.(x) && window.MotionHasOptimisedAnimation?.(x));\n\treturn et(() => {\n\t\t_.current = !0, v && (b.current = !0, window.MotionIsMounted = !0, v.updateFeatures(), v.scheduleRenderMicrotask(), S.current && v.animationState && v.animationState.animateChanges());\n\t}), d(() => {\n\t\tv && (!S.current && v.animationState && v.animationState.animateChanges(), S.current &&= (queueMicrotask(() => {\n\t\t\twindow.MotionHandoffMarkAsComplete?.(x);\n\t\t}), !1), v.enteringChildren = void 0);\n\t}), v;\n}\nfunction hu(e, t, n, r) {\n\tlet { layoutId: i, layout: a, drag: o, dragConstraints: s, layoutScroll: c, layoutRoot: l, layoutAnchor: u, layoutCrossfade: d } = t;\n\te.projection = new n(e.latestValues, t[\"data-framer-portal-id\"] ? void 0 : gu(e.parent)), e.projection.setOptions({\n\t\tlayoutId: i,\n\t\tlayout: a,\n\t\talwaysMeasureLayout: !!o || s && pu(s),\n\t\tvisualElement: e,\n\t\tanimationType: typeof a == \"string\" ? a : \"both\",\n\t\tinitialPromotionConfig: r,\n\t\tcrossfade: d,\n\t\tlayoutScroll: c,\n\t\tlayoutRoot: l,\n\t\tlayoutAnchor: u\n\t});\n}\nfunction gu(e) {\n\tif (e) return e.options.allowProjection === !1 ? gu(e.parent) : e.projection;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/index.mjs\nfunction _u(e, { forwardMotionProps: t = !1, type: n } = {}, r, i) {\n\tr && Nl(r);\n\tlet a = n ? n === \"svg\" : ru(e), o = a ? lu : cu;\n\tfunction c(n, s) {\n\t\tlet c, l = {\n\t\t\t...u(ml),\n\t\t\t...n,\n\t\t\tlayoutId: vu(n)\n\t\t}, { isStatic: d } = l, f = ql(n), p = o(n, d);\n\t\tif (!d && typeof window < \"u\") {\n\t\t\tyu(l, r);\n\t\t\tlet t = bu(l);\n\t\t\tc = t.MeasureLayout, f.visualElement = mu(e, p, l, i, t.ProjectionNode, a);\n\t\t}\n\t\treturn b(Gl.Provider, {\n\t\t\tvalue: f,\n\t\t\tchildren: [c && f.visualElement ? y(c, {\n\t\t\t\tvisualElement: f.visualElement,\n\t\t\t\t...l\n\t\t\t}) : null, iu(e, n, du(p, f.visualElement, s), p, d, t, a)]\n\t\t});\n\t}\n\tc.displayName = `motion.${typeof e == \"string\" ? e : `create(${e.displayName ?? e.name ?? \"\"})`}`;\n\tlet l = s(c);\n\treturn l[uu] = e, l;\n}\nfunction vu({ layoutId: e }) {\n\tlet t = u($e).id;\n\treturn t && e !== void 0 ? t + \"-\" + e : e;\n}\nfunction yu(e, t) {\n\tu(Ol).strict;\n}\nfunction bu(e) {\n\tlet { drag: t, layout: n } = Ml();\n\tif (!t && !n) return {};\n\tlet r = {\n\t\t...t,\n\t\t...n\n\t};\n\treturn {\n\t\tMeasureLayout: t?.isEnabled(e) || n?.isEnabled(e) ? r.MeasureLayout : void 0,\n\t\tProjectionNode: r.ProjectionNode\n\t};\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/dom/create-visual-element.mjs\nvar xu = (e, t) => t.isSVG ?? ru(e) ? new js(t) : new xs(t, { allowProjection: e !== i }), Su = class extends q {\n\tconstructor(e) {\n\t\tsuper(e), e.animationState ||= Rs(e);\n\t}\n\tupdateAnimationControlsSubscription() {\n\t\tlet { animate: e } = this.node.getProps();\n\t\tEo(e) && (this.unmountControls = e.subscribe(this.node));\n\t}\n\tmount() {\n\t\tthis.updateAnimationControlsSubscription();\n\t}\n\tupdate() {\n\t\tlet { animate: e } = this.node.getProps(), { animate: t } = this.node.prevProps || {};\n\t\te !== t && this.updateAnimationControlsSubscription();\n\t}\n\tunmount() {\n\t\tthis.node.animationState.reset(), this.unmountControls?.();\n\t}\n}, Cu = 0, wu = {\n\tanimation: { Feature: Su },\n\texit: { Feature: class extends q {\n\t\tconstructor() {\n\t\t\tsuper(...arguments), this.id = Cu++, this.isExitComplete = !1;\n\t\t}\n\t\tupdate() {\n\t\t\tif (!this.node.presenceContext) return;\n\t\t\tlet { isPresent: e, onExitComplete: t } = this.node.presenceContext, { isPresent: n } = this.node.prevPresenceContext || {};\n\t\t\tif (!this.node.animationState || e === n) return;\n\t\t\tif (e && n === !1) {\n\t\t\t\tif (this.isExitComplete) {\n\t\t\t\t\tlet { initial: e, custom: t } = this.node.getProps();\n\t\t\t\t\tif (typeof e == \"string\" || typeof e == \"object\" && e && !Array.isArray(e)) {\n\t\t\t\t\t\tlet n = qi(this.node, e, t);\n\t\t\t\t\t\tif (n) {\n\t\t\t\t\t\t\tlet { transition: e, transitionEnd: t, ...r } = n;\n\t\t\t\t\t\t\tfor (let e in r) this.node.getValue(e)?.jump(r[e]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.node.animationState.reset(), this.node.animationState.animateChanges();\n\t\t\t\t} else this.node.animationState.setActive(\"exit\", !1);\n\t\t\t\tthis.isExitComplete = !1;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet r = this.node.animationState.setActive(\"exit\", !e);\n\t\t\tt && !e && r.then(() => {\n\t\t\t\tthis.isExitComplete = !0, t(this.id);\n\t\t\t});\n\t\t}\n\t\tmount() {\n\t\t\tlet { register: e, onExitComplete: t } = this.node.presenceContext || {};\n\t\t\tt && t(this.id), e && (this.unmount = e(this.id));\n\t\t}\n\t\tunmount() {}\n\t} }\n};\n//#endregion\n//#region node_modules/framer-motion/dist/es/events/event-info.mjs\nfunction Tu(e) {\n\treturn { point: {\n\t\tx: e.pageX,\n\t\ty: e.pageY\n\t} };\n}\nvar Eu = (e) => (t) => Ba(t) && e(t, Tu(t));\n//#endregion\n//#region node_modules/framer-motion/dist/es/events/add-pointer-event.mjs\nfunction Du(e, t, n, r) {\n\treturn Tc(e, t, Eu(n), r);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/utils/get-context-window.mjs\nvar Ou = ({ current: e }) => e ? e.ownerDocument.defaultView : null, ku = (e, t) => Math.abs(e - t);\nfunction Au(e, t) {\n\tlet n = ku(e.x, t.x), r = ku(e.y, t.y);\n\treturn Math.sqrt(n ** 2 + r ** 2);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs\nvar ju = /*#__PURE__*/ new Set([\"auto\", \"scroll\"]), Mu = class {\n\tconstructor(e, t, { transformPagePoint: n, contextWindow: r = window, dragSnapToOrigin: i = !1, distanceThreshold: a = 3, element: o } = {}) {\n\t\tif (this.startEvent = null, this.lastMoveEvent = null, this.lastMoveEventInfo = null, this.lastRawMoveEventInfo = null, this.handlers = {}, this.contextWindow = window, this.scrollPositions = /* @__PURE__ */ new Map(), this.removeScrollListeners = null, this.onElementScroll = (e) => {\n\t\t\tthis.handleScroll(e.target);\n\t\t}, this.onWindowScroll = () => {\n\t\t\tthis.handleScroll(window);\n\t\t}, this.updatePoint = () => {\n\t\t\tif (!(this.lastMoveEvent && this.lastMoveEventInfo)) return;\n\t\t\tthis.lastRawMoveEventInfo && (this.lastMoveEventInfo = Nu(this.lastRawMoveEventInfo, this.transformPagePoint));\n\t\t\tlet e = Fu(this.lastMoveEventInfo, this.history), t = this.startEvent !== null, n = Au(e.offset, {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t}) >= this.distanceThreshold;\n\t\t\tif (!t && !n) return;\n\t\t\tlet { point: r } = e, { timestamp: i } = P;\n\t\t\tthis.history.push({\n\t\t\t\t...r,\n\t\t\t\ttimestamp: i\n\t\t\t});\n\t\t\tlet { onStart: a, onMove: o } = this.handlers;\n\t\t\tt || (a && a(this.lastMoveEvent, e), this.startEvent = this.lastMoveEvent), o && o(this.lastMoveEvent, e);\n\t\t}, this.handlePointerMove = (e, t) => {\n\t\t\tthis.lastMoveEvent = e, this.lastRawMoveEventInfo = t, this.lastMoveEventInfo = Nu(t, this.transformPagePoint), M.update(this.updatePoint, !0);\n\t\t}, this.handlePointerUp = (e, t) => {\n\t\t\tthis.end();\n\t\t\tlet { onEnd: n, onSessionEnd: r, resumeAnimation: i } = this.handlers;\n\t\t\tif ((this.dragSnapToOrigin || !this.startEvent) && i && i(), !(this.lastMoveEvent && this.lastMoveEventInfo)) return;\n\t\t\tlet a = Fu(e.type === \"pointercancel\" ? this.lastMoveEventInfo : Nu(t, this.transformPagePoint), this.history);\n\t\t\tthis.startEvent && n && n(e, a), r && r(e, a);\n\t\t}, !Ba(e)) return;\n\t\tthis.dragSnapToOrigin = i, this.handlers = t, this.transformPagePoint = n, this.distanceThreshold = a, this.contextWindow = r || window;\n\t\tlet s = Nu(Tu(e), this.transformPagePoint), { point: c } = s, { timestamp: l } = P;\n\t\tthis.history = [{\n\t\t\t...c,\n\t\t\ttimestamp: l\n\t\t}];\n\t\tlet { onSessionStart: u } = t;\n\t\tu && u(e, Fu(s, this.history));\n\t\tlet d = {\n\t\t\tpassive: !0,\n\t\t\tcapture: !0\n\t\t};\n\t\tthis.removeListeners = ct(Du(this.contextWindow, \"pointermove\", this.handlePointerMove, d), Du(this.contextWindow, \"pointerup\", this.handlePointerUp, d), Du(this.contextWindow, \"pointercancel\", this.handlePointerUp, d)), o && this.startScrollTracking(o);\n\t}\n\tstartScrollTracking(e) {\n\t\tlet t = e.parentElement;\n\t\tfor (; t;) {\n\t\t\tlet e = getComputedStyle(t);\n\t\t\t(ju.has(e.overflowX) || ju.has(e.overflowY)) && this.scrollPositions.set(t, {\n\t\t\t\tx: t.scrollLeft,\n\t\t\t\ty: t.scrollTop\n\t\t\t}), t = t.parentElement;\n\t\t}\n\t\tthis.scrollPositions.set(window, {\n\t\t\tx: window.scrollX,\n\t\t\ty: window.scrollY\n\t\t}), window.addEventListener(\"scroll\", this.onElementScroll, { capture: !0 }), window.addEventListener(\"scroll\", this.onWindowScroll), this.removeScrollListeners = () => {\n\t\t\twindow.removeEventListener(\"scroll\", this.onElementScroll, { capture: !0 }), window.removeEventListener(\"scroll\", this.onWindowScroll);\n\t\t};\n\t}\n\thandleScroll(e) {\n\t\tlet t = this.scrollPositions.get(e);\n\t\tif (!t) return;\n\t\tlet n = e === window, r = n ? {\n\t\t\tx: window.scrollX,\n\t\t\ty: window.scrollY\n\t\t} : {\n\t\t\tx: e.scrollLeft,\n\t\t\ty: e.scrollTop\n\t\t}, i = {\n\t\t\tx: r.x - t.x,\n\t\t\ty: r.y - t.y\n\t\t};\n\t\ti.x === 0 && i.y === 0 || (n ? this.lastMoveEventInfo && (this.lastMoveEventInfo.point.x += i.x, this.lastMoveEventInfo.point.y += i.y) : this.history.length > 0 && (this.history[0].x -= i.x, this.history[0].y -= i.y), this.scrollPositions.set(e, r), M.update(this.updatePoint, !0));\n\t}\n\tupdateHandlers(e) {\n\t\tthis.handlers = e;\n\t}\n\tend() {\n\t\tthis.removeListeners && this.removeListeners(), this.removeScrollListeners && this.removeScrollListeners(), this.scrollPositions.clear(), N(this.updatePoint);\n\t}\n};\nfunction Nu(e, t) {\n\treturn t ? { point: t(e.point) } : e;\n}\nfunction Pu(e, t) {\n\treturn {\n\t\tx: e.x - t.x,\n\t\ty: e.y - t.y\n\t};\n}\nfunction Fu({ point: e }, t) {\n\treturn {\n\t\tpoint: e,\n\t\tdelta: Pu(e, Lu(t)),\n\t\toffset: Pu(e, Iu(t)),\n\t\tvelocity: Ru(t, .1)\n\t};\n}\nfunction Iu(e) {\n\treturn e[0];\n}\nfunction Lu(e) {\n\treturn e[e.length - 1];\n}\nfunction Ru(e, t) {\n\tif (e.length < 2) return {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\tlet n = e.length - 1, r = null, i = Lu(e);\n\tfor (; n >= 0 && (r = e[n], !(i.timestamp - r.timestamp > /* @__PURE__ */ A(t)));) n--;\n\tif (!r) return {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\tr === e[0] && e.length > 2 && i.timestamp - r.timestamp > /* @__PURE__ */ A(t) * 2 && (r = e[1]);\n\tlet a = /* @__PURE__ */ j(i.timestamp - r.timestamp);\n\tif (a === 0) return {\n\t\tx: 0,\n\t\ty: 0\n\t};\n\tlet o = {\n\t\tx: (i.x - r.x) / a,\n\t\ty: (i.y - r.y) / a\n\t};\n\treturn o.x === Infinity && (o.x = 0), o.y === Infinity && (o.y = 0), o;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.mjs\nfunction zu(e, { min: t, max: n }, r) {\n\treturn t !== void 0 && e < t ? e = r ? V(t, e, r.min) : Math.max(e, t) : n !== void 0 && e > n && (e = r ? V(n, e, r.max) : Math.min(e, n)), e;\n}\nfunction Bu(e, t, n) {\n\treturn {\n\t\tmin: t === void 0 ? void 0 : e.min + t,\n\t\tmax: n === void 0 ? void 0 : e.max + n - (e.max - e.min)\n\t};\n}\nfunction Vu(e, { top: t, left: n, bottom: r, right: i }) {\n\treturn {\n\t\tx: Bu(e.x, n, i),\n\t\ty: Bu(e.y, t, r)\n\t};\n}\nfunction Hu(e, t) {\n\tlet n = t.min - e.min, r = t.max - e.max;\n\treturn t.max - t.min < e.max - e.min && ([n, r] = [r, n]), {\n\t\tmin: n,\n\t\tmax: r\n\t};\n}\nfunction Uu(e, t) {\n\treturn {\n\t\tx: Hu(e.x, t.x),\n\t\ty: Hu(e.y, t.y)\n\t};\n}\nfunction Wu(e, t) {\n\tlet n = .5, r = X(e), i = X(t);\n\treturn i > r ? n = /* @__PURE__ */ lt(t.min, t.max - r, e.min) : r > i && (n = /* @__PURE__ */ lt(e.min, e.max - i, t.min)), D(0, 1, n);\n}\nfunction Gu(e, t) {\n\tlet n = {};\n\treturn t.min !== void 0 && (n.min = t.min - e.min), t.max !== void 0 && (n.max = t.max - e.min), n;\n}\nvar Ku = .35;\nfunction qu(e = Ku) {\n\treturn e === !1 ? e = 0 : e === !0 && (e = Ku), {\n\t\tx: Ju(e, \"left\", \"right\"),\n\t\ty: Ju(e, \"top\", \"bottom\")\n\t};\n}\nfunction Ju(e, t, n) {\n\treturn {\n\t\tmin: Yu(e, t),\n\t\tmax: Yu(e, n)\n\t};\n}\nfunction Yu(e, t) {\n\treturn typeof e == \"number\" ? e : e[t] || 0;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs\nvar Xu = /* @__PURE__ */ new WeakMap(), Zu = class {\n\tconstructor(e) {\n\t\tthis.openDragLock = null, this.isDragging = !1, this.currentDirection = null, this.originPoint = {\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t}, this.constraints = !1, this.hasMutatedConstraints = !1, this.elastic = K(), this.latestPointerEvent = null, this.latestPanInfo = null, this.visualElement = e;\n\t}\n\tstart(e, { snapToCursor: t = !1, distanceThreshold: n } = {}) {\n\t\tlet { presenceContext: r } = this.visualElement;\n\t\tif (r && r.isPresent === !1) return;\n\t\tlet i = (e) => {\n\t\t\tt && this.snapToCursor(Tu(e).point), this.stopAnimation();\n\t\t}, a = (e, t) => {\n\t\t\tlet { drag: n, dragPropagation: r, onDragStart: i } = this.getProps();\n\t\t\tif (n && !r && (this.openDragLock && this.openDragLock(), this.openDragLock = Fa(n), !this.openDragLock)) return;\n\t\t\tthis.latestPointerEvent = e, this.latestPanInfo = t, this.isDragging = !0, this.currentDirection = null, this.resolveConstraints(), this.visualElement.projection && (this.visualElement.projection.isAnimationBlocked = !0, this.visualElement.projection.target = void 0), Z((e) => {\n\t\t\t\tlet t = this.getAxisMotionValue(e).get() || 0;\n\t\t\t\tif (L.test(t)) {\n\t\t\t\t\tlet { projection: n } = this.visualElement;\n\t\t\t\t\tif (n && n.layout) {\n\t\t\t\t\t\tlet r = n.layout.layoutBox[e];\n\t\t\t\t\t\tr && (t = X(r) * (parseFloat(t) / 100));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.originPoint[e] = t;\n\t\t\t}), i && M.update(() => i(e, t), !1, !0), ea(this.visualElement, \"transform\");\n\t\t\tlet { animationState: a } = this.visualElement;\n\t\t\ta && a.setActive(\"whileDrag\", !0);\n\t\t}, o = (e, t) => {\n\t\t\tthis.latestPointerEvent = e, this.latestPanInfo = t;\n\t\t\tlet { dragPropagation: n, dragDirectionLock: r, onDirectionLock: i, onDrag: a } = this.getProps();\n\t\t\tif (!n && !this.openDragLock) return;\n\t\t\tlet { offset: o } = t;\n\t\t\tif (r && this.currentDirection === null) {\n\t\t\t\tthis.currentDirection = td(o), this.currentDirection !== null && i && i(this.currentDirection);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.updateAxis(\"x\", t.point, o), this.updateAxis(\"y\", t.point, o), this.visualElement.render(), a && M.update(() => a(e, t), !1, !0);\n\t\t}, s = (e, t) => {\n\t\t\tthis.latestPointerEvent = e, this.latestPanInfo = t, this.stop(e, t), this.latestPointerEvent = null, this.latestPanInfo = null;\n\t\t}, c = () => {\n\t\t\tlet { dragSnapToOrigin: e } = this.getProps();\n\t\t\t(e || this.constraints) && this.startAnimation({\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t});\n\t\t}, { dragSnapToOrigin: l } = this.getProps();\n\t\tthis.panSession = new Mu(e, {\n\t\t\tonSessionStart: i,\n\t\t\tonStart: a,\n\t\t\tonMove: o,\n\t\t\tonSessionEnd: s,\n\t\t\tresumeAnimation: c\n\t\t}, {\n\t\t\ttransformPagePoint: this.visualElement.getTransformPagePoint(),\n\t\t\tdragSnapToOrigin: l,\n\t\t\tdistanceThreshold: n,\n\t\t\tcontextWindow: Ou(this.visualElement),\n\t\t\telement: this.visualElement.current\n\t\t});\n\t}\n\tstop(e, t) {\n\t\tlet n = e || this.latestPointerEvent, r = t || this.latestPanInfo, i = this.isDragging;\n\t\tif (this.cancel(), !i || !r || !n) return;\n\t\tlet { velocity: a } = r;\n\t\tthis.startAnimation(a);\n\t\tlet { onDragEnd: o } = this.getProps();\n\t\to && M.postRender(() => o(n, r));\n\t}\n\tcancel() {\n\t\tthis.isDragging = !1;\n\t\tlet { projection: e, animationState: t } = this.visualElement;\n\t\te && (e.isAnimationBlocked = !1), this.endPanSession();\n\t\tlet { dragPropagation: n } = this.getProps();\n\t\t!n && this.openDragLock && (this.openDragLock(), this.openDragLock = null), t && t.setActive(\"whileDrag\", !1);\n\t}\n\tendPanSession() {\n\t\tthis.panSession && this.panSession.end(), this.panSession = void 0;\n\t}\n\tupdateAxis(e, t, n) {\n\t\tlet { drag: r } = this.getProps();\n\t\tif (!n || !ed(e, r, this.currentDirection)) return;\n\t\tlet i = this.getAxisMotionValue(e), a = this.originPoint[e] + n[e];\n\t\tthis.constraints && this.constraints[e] && (a = zu(a, this.constraints[e], this.elastic[e])), i.set(a);\n\t}\n\tresolveConstraints() {\n\t\tlet { 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;\n\t\te && pu(e) ? this.constraints ||= this.resolveRefConstraints() : e && n ? this.constraints = Vu(n.layoutBox, e) : this.constraints = !1, this.elastic = qu(t), r !== this.constraints && !pu(e) && n && this.constraints && !this.hasMutatedConstraints && Z((e) => {\n\t\t\tthis.constraints !== !1 && this.getAxisMotionValue(e) && (this.constraints[e] = Gu(n.layoutBox[e], this.constraints[e]));\n\t\t});\n\t}\n\tresolveRefConstraints() {\n\t\tlet { dragConstraints: e, onMeasureDragConstraints: t } = this.getProps();\n\t\tif (!e || !pu(e)) return !1;\n\t\tlet n = e.current, { projection: r } = this.visualElement;\n\t\tif (!r || !r.layout) return !1;\n\t\tr.root && (r.root.scroll = void 0, r.root.updateScroll());\n\t\tlet i = cs(n, r.root, this.visualElement.getTransformPagePoint()), a = Uu(r.layout.layoutBox, i);\n\t\tif (t) {\n\t\t\tlet e = t(Wo(a));\n\t\t\tthis.hasMutatedConstraints = !!e, e && (a = Uo(e));\n\t\t}\n\t\treturn a;\n\t}\n\tstartAnimation(e) {\n\t\tlet { drag: t, dragMomentum: n, dragElastic: r, dragTransition: i, dragSnapToOrigin: a, onDragTransitionEnd: o } = this.getProps(), s = this.constraints || {}, c = Z((o) => {\n\t\t\tif (!ed(o, t, this.currentDirection)) return;\n\t\t\tlet c = s && s[o] || {};\n\t\t\t(a === !0 || a === o) && (c = {\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 0\n\t\t\t});\n\t\t\tlet l = r ? 200 : 1e6, u = r ? 40 : 1e7, d = {\n\t\t\t\ttype: \"inertia\",\n\t\t\t\tvelocity: n ? e[o] : 0,\n\t\t\t\tbounceStiffness: l,\n\t\t\t\tbounceDamping: u,\n\t\t\t\ttimeConstant: 750,\n\t\t\t\trestDelta: 1,\n\t\t\t\trestSpeed: 10,\n\t\t\t\t...i,\n\t\t\t\t...c\n\t\t\t};\n\t\t\treturn this.startAxisValueAnimation(o, d);\n\t\t});\n\t\treturn Promise.all(c).then(o);\n\t}\n\tstartAxisValueAnimation(e, t) {\n\t\tlet n = this.getAxisMotionValue(e);\n\t\treturn ea(this.visualElement, e), n.start(Vi(e, n, 0, t, this.visualElement, !1));\n\t}\n\tstopAnimation() {\n\t\tZ((e) => this.getAxisMotionValue(e).stop());\n\t}\n\tgetAxisMotionValue(e) {\n\t\tlet t = `_drag${e.toUpperCase()}`;\n\t\treturn this.visualElement.getProps()[t] || this.visualElement.getValue(e, this.visualElement.latestValues[e] ?? 0);\n\t}\n\tsnapToCursor(e) {\n\t\tZ((t) => {\n\t\t\tlet { drag: n } = this.getProps();\n\t\t\tif (!ed(t, n, this.currentDirection)) return;\n\t\t\tlet { projection: r } = this.visualElement, i = this.getAxisMotionValue(t);\n\t\t\tif (r && r.layout) {\n\t\t\t\tlet { min: n, max: a } = r.layout.layoutBox[t], o = i.get() || 0;\n\t\t\t\ti.set(e[t] - V(n, a, .5) + o);\n\t\t\t}\n\t\t});\n\t}\n\tscalePositionWithinConstraints() {\n\t\tif (!this.visualElement.current) return;\n\t\tlet { drag: e, dragConstraints: t } = this.getProps(), { projection: n } = this.visualElement;\n\t\tif (!pu(t) || !n || !this.constraints) return;\n\t\tthis.stopAnimation();\n\t\tlet r = {\n\t\t\tx: 0,\n\t\t\ty: 0\n\t\t};\n\t\tZ((e) => {\n\t\t\tlet t = this.getAxisMotionValue(e);\n\t\t\tif (t && this.constraints !== !1) {\n\t\t\t\tlet n = t.get();\n\t\t\t\tr[e] = Wu({\n\t\t\t\t\tmin: n,\n\t\t\t\t\tmax: n\n\t\t\t\t}, this.constraints[e]);\n\t\t\t}\n\t\t});\n\t\tlet { transformTemplate: i } = this.visualElement.getProps();\n\t\tthis.visualElement.current.style.transform = i ? i({}, \"\") : \"none\", n.root && n.root.updateScroll(), n.updateLayout(), this.constraints = !1, this.resolveConstraints(), Z((t) => {\n\t\t\tif (!ed(t, e, null)) return;\n\t\t\tlet n = this.getAxisMotionValue(t), { min: i, max: a } = this.constraints[t];\n\t\t\tn.set(V(i, a, r[t]));\n\t\t}), this.visualElement.render();\n\t}\n\taddListeners() {\n\t\tif (!this.visualElement.current) return;\n\t\tXu.set(this.visualElement, this);\n\t\tlet e = this.visualElement.current, t = Du(e, \"pointerdown\", (t) => {\n\t\t\tlet { drag: n, dragListener: r = !0 } = this.getProps(), i = t.target, a = i !== e && Wa(i);\n\t\t\tn && r && !a && this.start(t);\n\t\t}), n, r = () => {\n\t\t\tlet { dragConstraints: t } = this.getProps();\n\t\t\tpu(t) && t.current && (this.constraints = this.resolveRefConstraints(), n ||= $u(e, t.current, () => this.scalePositionWithinConstraints()));\n\t\t}, { projection: i } = this.visualElement, a = i.addEventListener(\"measure\", r);\n\t\ti && !i.layout && (i.root && i.root.updateScroll(), i.updateLayout()), M.read(r);\n\t\tlet o = Tc(window, \"resize\", () => this.scalePositionWithinConstraints()), s = i.addEventListener(\"didUpdate\", (({ delta: e, hasLayoutChanged: t }) => {\n\t\t\tthis.isDragging && t && (Z((t) => {\n\t\t\t\tlet n = this.getAxisMotionValue(t);\n\t\t\t\tn && (this.originPoint[t] += e[t].translate, n.set(n.get() + e[t].translate));\n\t\t\t}), this.visualElement.render());\n\t\t}));\n\t\treturn () => {\n\t\t\to(), t(), a(), s && s(), n && n();\n\t\t};\n\t}\n\tgetProps() {\n\t\tlet e = this.visualElement.getProps(), { drag: t = !1, dragDirectionLock: n = !1, dragPropagation: r = !1, dragConstraints: i = !1, dragElastic: a = Ku, dragMomentum: o = !0 } = e;\n\t\treturn {\n\t\t\t...e,\n\t\t\tdrag: t,\n\t\t\tdragDirectionLock: n,\n\t\t\tdragPropagation: r,\n\t\t\tdragConstraints: i,\n\t\t\tdragElastic: a,\n\t\t\tdragMomentum: o\n\t\t};\n\t}\n};\nfunction Qu(e) {\n\tlet t = !0;\n\treturn () => {\n\t\tif (t) {\n\t\t\tt = !1;\n\t\t\treturn;\n\t\t}\n\t\te();\n\t};\n}\nfunction $u(e, t, n) {\n\tlet r = po(e, Qu(n)), i = po(t, Qu(n));\n\treturn () => {\n\t\tr(), i();\n\t};\n}\nfunction ed(e, t, n) {\n\treturn (t === !0 || t === e) && (n === null || n === e);\n}\nfunction td(e, t = 10) {\n\tlet n = null;\n\treturn Math.abs(e.y) > t ? n = \"y\" : Math.abs(e.x) > t && (n = \"x\"), n;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/gestures/drag/index.mjs\nvar nd = class extends q {\n\tconstructor(e) {\n\t\tsuper(e), this.removeGroupControls = k, this.removeListeners = k, this.controls = new Zu(e);\n\t}\n\tmount() {\n\t\tlet { dragControls: e } = this.node.getProps();\n\t\te && (this.removeGroupControls = e.subscribe(this.controls)), this.removeListeners = this.controls.addListeners() || k;\n\t}\n\tupdate() {\n\t\tlet { dragControls: e } = this.node.getProps(), { dragControls: t } = this.node.prevProps || {};\n\t\te !== t && (this.removeGroupControls(), e && (this.removeGroupControls = e.subscribe(this.controls)));\n\t}\n\tunmount() {\n\t\tthis.removeGroupControls(), this.removeListeners(), this.controls.isDragging || this.controls.endPanSession();\n\t}\n}, rd = (e) => (t, n) => {\n\te && M.update(() => e(t, n), !1, !0);\n}, id = class extends q {\n\tconstructor() {\n\t\tsuper(...arguments), this.removePointerDownListener = k;\n\t}\n\tonPointerDown(e) {\n\t\tthis.session = new Mu(e, this.createPanHandlers(), {\n\t\t\ttransformPagePoint: this.node.getTransformPagePoint(),\n\t\t\tcontextWindow: Ou(this.node)\n\t\t});\n\t}\n\tcreatePanHandlers() {\n\t\tlet { onPanSessionStart: e, onPanStart: t, onPan: n, onPanEnd: r } = this.node.getProps();\n\t\treturn {\n\t\t\tonSessionStart: rd(e),\n\t\t\tonStart: rd(t),\n\t\t\tonMove: rd(n),\n\t\t\tonEnd: (e, t) => {\n\t\t\t\tdelete this.session, r && M.postRender(() => r(e, t));\n\t\t\t}\n\t\t};\n\t}\n\tmount() {\n\t\tthis.removePointerDownListener = Du(this.node.current, \"pointerdown\", (e) => this.onPointerDown(e));\n\t}\n\tupdate() {\n\t\tthis.session && this.session.updateHandlers(this.createPanHandlers());\n\t}\n\tunmount() {\n\t\tthis.removePointerDownListener(), this.session && this.session.end();\n\t}\n}, ad = !1, od = class extends r {\n\tcomponentDidMount() {\n\t\tlet { visualElement: e, layoutGroup: t, switchLayoutGroup: n, layoutId: r } = this.props, { projection: i } = e;\n\t\ti && (t.group && t.group.add(i), n && n.register && r && n.register(i), ad && i.root.didUpdate(), i.addEventListener(\"animationComplete\", () => {\n\t\t\tthis.safeToRemove();\n\t\t}), i.setOptions({\n\t\t\t...i.options,\n\t\t\tlayoutDependency: this.props.layoutDependency,\n\t\t\tonExitComplete: () => this.safeToRemove()\n\t\t})), jc.hasEverUpdated = !0;\n\t}\n\tgetSnapshotBeforeUpdate(e) {\n\t\tlet { layoutDependency: t, visualElement: n, drag: r, isPresent: i } = this.props, { projection: a } = n;\n\t\treturn a ? (a.isPresent = i, e.layoutDependency !== t && a.setOptions({\n\t\t\t...a.options,\n\t\t\tlayoutDependency: t\n\t\t}), ad = !0, r || e.layoutDependency !== t || t === void 0 || e.isPresent !== i ? a.willUpdate() : this.safeToRemove(), e.isPresent !== i && (i ? a.promote() : a.relegate() || M.postRender(() => {\n\t\t\tlet e = a.getStack();\n\t\t\t(!e || !e.members.length) && this.safeToRemove();\n\t\t})), null) : null;\n\t}\n\tcomponentDidUpdate() {\n\t\tlet { visualElement: e, layoutAnchor: t } = this.props, { projection: n } = e;\n\t\tn && (n.options.layoutAnchor = t, n.root.didUpdate(), Ma.postRender(() => {\n\t\t\t!n.currentAnimation && n.isLead() && this.safeToRemove();\n\t\t}));\n\t}\n\tcomponentWillUnmount() {\n\t\tlet { visualElement: e, layoutGroup: t, switchLayoutGroup: n } = this.props, { projection: r } = e;\n\t\tad = !0, r && (r.scheduleCheckAfterUnmount(), t && t.group && t.group.remove(r), n && n.deregister && n.deregister(r));\n\t}\n\tsafeToRemove() {\n\t\tlet { safeToRemove: e } = this.props;\n\t\te && e();\n\t}\n\trender() {\n\t\treturn null;\n\t}\n};\nfunction sd(e) {\n\tlet [t, n] = Sl(), r = u($e);\n\treturn y(od, {\n\t\t...e,\n\t\tlayoutGroup: r,\n\t\tswitchLayoutGroup: u(fu),\n\t\tisPresent: t,\n\t\tsafeToRemove: n\n\t});\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/features/drag.mjs\nvar cd = {\n\tpan: { Feature: id },\n\tdrag: {\n\t\tFeature: nd,\n\t\tProjectionNode: pl,\n\t\tMeasureLayout: sd\n\t}\n};\n//#endregion\n//#region node_modules/framer-motion/dist/es/gestures/hover.mjs\nfunction ld(e, t, n) {\n\tlet { props: r } = e;\n\te.animationState && r.whileHover && e.animationState.setActive(\"whileHover\", n === \"Start\");\n\tlet i = r[\"onHover\" + n];\n\ti && M.postRender(() => i(t, Tu(t)));\n}\nvar ud = class extends q {\n\tmount() {\n\t\tlet { current: e } = this.node;\n\t\te && (this.unmount = Ra(e, (e, t) => (ld(this.node, t, \"Start\"), (e) => ld(this.node, e, \"End\"))));\n\t}\n\tunmount() {}\n}, dd = class extends q {\n\tconstructor() {\n\t\tsuper(...arguments), this.isActive = !1;\n\t}\n\tonFocus() {\n\t\tlet e = !1;\n\t\ttry {\n\t\t\te = this.node.current.matches(\":focus-visible\");\n\t\t} catch {\n\t\t\te = !0;\n\t\t}\n\t\t!e || !this.node.animationState || (this.node.animationState.setActive(\"whileFocus\", !0), this.isActive = !0);\n\t}\n\tonBlur() {\n\t\t!this.isActive || !this.node.animationState || (this.node.animationState.setActive(\"whileFocus\", !1), this.isActive = !1);\n\t}\n\tmount() {\n\t\tthis.unmount = ct(Tc(this.node.current, \"focus\", () => this.onFocus()), Tc(this.node.current, \"blur\", () => this.onBlur()));\n\t}\n\tunmount() {}\n};\n//#endregion\n//#region node_modules/framer-motion/dist/es/gestures/press.mjs\nfunction fd(e, t, n) {\n\tlet { props: r } = e;\n\tif (e.current instanceof HTMLButtonElement && e.current.disabled) return;\n\te.animationState && r.whileTap && e.animationState.setActive(\"whileTap\", n === \"Start\");\n\tlet i = r[\"onTap\" + (n === \"End\" ? \"\" : n)];\n\ti && M.postRender(() => i(t, Tu(t)));\n}\nvar pd = class extends q {\n\tmount() {\n\t\tlet { current: e } = this.node;\n\t\tif (!e) return;\n\t\tlet { globalTapTarget: t, propagate: n } = this.node.props;\n\t\tthis.unmount = Za(e, (e, t) => (fd(this.node, t, \"Start\"), (e, { success: t }) => fd(this.node, e, t ? \"End\" : \"Cancel\")), {\n\t\t\tuseGlobalTarget: t,\n\t\t\tstopPropagation: n?.tap === !1\n\t\t});\n\t}\n\tunmount() {}\n}, md = /* @__PURE__ */ new WeakMap(), hd = /* @__PURE__ */ new WeakMap(), gd = (e) => {\n\tlet t = md.get(e.target);\n\tt && t(e);\n}, _d = (e) => {\n\te.forEach(gd);\n};\nfunction vd({ root: e, ...t }) {\n\tlet n = e || document;\n\thd.has(n) || hd.set(n, {});\n\tlet r = hd.get(n), i = JSON.stringify(t);\n\treturn r[i] || (r[i] = new IntersectionObserver(_d, {\n\t\troot: e,\n\t\t...t\n\t})), r[i];\n}\nfunction yd(e, t, n) {\n\tlet r = vd(t);\n\treturn md.set(e, n), r.observe(e), () => {\n\t\tmd.delete(e), r.unobserve(e);\n\t};\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/features/viewport/index.mjs\nvar bd = {\n\tsome: 0,\n\tall: 1\n}, xd = class extends q {\n\tconstructor() {\n\t\tsuper(...arguments), this.hasEnteredView = !1, this.isInView = !1;\n\t}\n\tstartObserver() {\n\t\tthis.stopObserver?.();\n\t\tlet { viewport: e = {} } = this.node.getProps(), { root: t, margin: n, amount: r = \"some\", once: i } = e, a = {\n\t\t\troot: t ? t.current : void 0,\n\t\t\trootMargin: n,\n\t\t\tthreshold: typeof r == \"number\" ? r : bd[r]\n\t\t}, o = (e) => {\n\t\t\tlet { isIntersecting: t } = e;\n\t\t\tif (this.isInView === t || (this.isInView = t, i && !t && this.hasEnteredView)) return;\n\t\t\tt && (this.hasEnteredView = !0), this.node.animationState && this.node.animationState.setActive(\"whileInView\", t);\n\t\t\tlet { onViewportEnter: n, onViewportLeave: r } = this.node.getProps(), a = t ? n : r;\n\t\t\ta && a(e);\n\t\t};\n\t\tthis.stopObserver = yd(this.node.current, a, o);\n\t}\n\tmount() {\n\t\tthis.startObserver();\n\t}\n\tupdate() {\n\t\tif (typeof IntersectionObserver > \"u\") return;\n\t\tlet { props: e, prevProps: t } = this.node;\n\t\t[\n\t\t\t\"amount\",\n\t\t\t\"margin\",\n\t\t\t\"root\"\n\t\t].some(Sd(e, t)) && this.startObserver();\n\t}\n\tunmount() {\n\t\tthis.stopObserver?.(), this.hasEnteredView = !1, this.isInView = !1;\n\t}\n};\nfunction Sd({ viewport: e = {} }, { viewport: t = {} } = {}) {\n\treturn (n) => e[n] !== t[n];\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/motion/features/gestures.mjs\nvar Cd = {\n\tinView: { Feature: xd },\n\ttap: { Feature: pd },\n\tfocus: { Feature: dd },\n\thover: { Feature: ud }\n}, wd = { layout: {\n\tProjectionNode: pl,\n\tMeasureLayout: sd\n} }, Td = {\n\trenderer: xu,\n\t...wu,\n\t...Cd\n}, Ed = {\n\t...Td,\n\t...cd,\n\t...wd\n};\n//#endregion\n//#region node_modules/framer-motion/dist/es/utils/use-motion-value-event.mjs\nfunction Dd(e, t, n) {\n\tp(() => e.on(t, n), [\n\t\te,\n\t\tt,\n\t\tn\n\t]);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/value/use-motion-value.mjs\nfunction Od(e) {\n\tlet t = E(() => ji(e)), { isStatic: n } = u(ml);\n\tif (n) {\n\t\tlet [, n] = _(e);\n\t\td(() => t.on(\"change\", n), []);\n\t}\n\treturn t;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/value/use-combine-values.mjs\nfunction kd(e, t) {\n\tlet n = Od(t()), r = () => n.set(t());\n\treturn r(), et(() => {\n\t\tlet t = () => M.preRender(r, !1, !0), n = e.map((e) => e.on(\"change\", t));\n\t\treturn () => {\n\t\t\tn.forEach((e) => e()), N(r);\n\t\t};\n\t}), n;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/value/use-computed.mjs\nfunction Ad(e) {\n\tki.current = [], e();\n\tlet t = kd(ki.current, e);\n\treturn ki.current = void 0, t;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/value/use-transform.mjs\nfunction jd(e, t, n, r) {\n\tif (typeof e == \"function\") return Ad(e);\n\tif (n !== void 0 && !Array.isArray(n) && typeof t != \"function\") return Nd(e, t, n, r);\n\tlet i = typeof t == \"function\" ? t : go(t, n, r), a = Array.isArray(e) ? Md(e, i) : Md([e], ([e]) => i(e)), o = Array.isArray(e) ? void 0 : e.accelerate;\n\treturn o && !o.isTransformed && typeof t != \"function\" && Array.isArray(n) && r?.clamp !== !1 && (a.accelerate = {\n\t\t...o,\n\t\ttimes: t,\n\t\tkeyframes: n,\n\t\tisTransformed: !0,\n\t\t...r?.ease ? { ease: r.ease } : {}\n\t}), a;\n}\nfunction Md(e, t) {\n\tlet n = E(() => []);\n\treturn kd(e, () => {\n\t\tn.length = 0;\n\t\tlet r = e.length;\n\t\tfor (let t = 0; t < r; t++) n[t] = e[t].get();\n\t\treturn t(n);\n\t});\n}\nfunction Nd(e, t, n, r) {\n\tlet i = E(() => Object.keys(n)), a = E(() => ({}));\n\tfor (let o of i) a[o] = jd(e, t, n[o], r);\n\treturn a;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/value/use-follow-value.mjs\nfunction Pd(e, t = {}) {\n\tlet { isStatic: n } = u(ml), r = () => W(e) ? e.get() : e;\n\tif (n) return jd(r);\n\tlet i = Od(r());\n\treturn p(() => _o(i, e, t), [i, JSON.stringify(t)]), i;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/value/use-spring.mjs\nfunction Fd(e, t = {}) {\n\treturn Pd(e, {\n\t\ttype: \"spring\",\n\t\t...t\n\t});\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.mjs\nfunction Id() {\n\t!Po.current && Io();\n\tlet [e] = _(No.current);\n\treturn e;\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/components/m/create.mjs\nfunction Ld(e, t) {\n\treturn _u(e, t);\n}\n//#endregion\n//#region node_modules/framer-motion/dist/es/render/components/m/elements.mjs\nvar Rd = /*@__PURE__*/ Ld(\"button\"), zd = /*@__PURE__*/ Ld(\"div\"), Bd = /*@__PURE__*/ Ld(\"span\"), Vd = {\n\ttype: \"spring\",\n\tstiffness: 520,\n\tdamping: 38,\n\tmass: .85\n}, Hd = {\n\ttype: \"spring\",\n\tstiffness: 410,\n\tdamping: 40,\n\tmass: .95\n}, Ud = {\n\ttype: \"spring\",\n\tstiffness: 460,\n\tdamping: 42,\n\tmass: .9\n};\nfunction Wd({ children: e, features: t = \"animation\" }) {\n\treturn /* @__PURE__ */ y(Pl, {\n\t\tfeatures: t === \"max\" ? Ed : Td,\n\t\tstrict: !0,\n\t\tchildren: /* @__PURE__ */ y(Wl, {\n\t\t\treducedMotion: \"user\",\n\t\t\ttransition: Vd,\n\t\t\tchildren: e\n\t\t})\n\t});\n}\nfunction Gd({ activeKey: e, order: t, children: n, className: r = \"\" }) {\n\tlet i = Math.max(0, t.indexOf(e)), a = g(i), o = i === a.current || i > a.current ? 1 : -1;\n\treturn m(() => {\n\t\ta.current = i;\n\t}, [i]), /* @__PURE__ */ y(\"div\", {\n\t\tclassName: `ct-directional-panel ${r}`,\n\t\tchildren: /* @__PURE__ */ y(Dl, {\n\t\t\tinitial: !1,\n\t\t\tmode: \"wait\",\n\t\t\tcustom: o,\n\t\t\tchildren: /* @__PURE__ */ y(Kd, {\n\t\t\t\tdirection: o,\n\t\t\t\tchildren: n\n\t\t\t}, e)\n\t\t})\n\t});\n}\nfunction Kd({ direction: e, children: t }) {\n\tlet n = Cl(), r = Id(), i = g(null), a = r ? 0 : 24;\n\treturn m(() => {\n\t\ti.current && (i.current.inert = !n);\n\t}, [n]), /* @__PURE__ */ y(zd, {\n\t\tref: i,\n\t\tclassName: \"ct-directional-panel__item\",\n\t\t\"aria-hidden\": n ? void 0 : !0,\n\t\tinitial: {\n\t\t\topacity: 0,\n\t\t\tx: e * a\n\t\t},\n\t\tanimate: {\n\t\t\topacity: 1,\n\t\t\tx: 0\n\t\t},\n\t\texit: {\n\t\t\topacity: 0,\n\t\t\tx: e * -a\n\t\t},\n\t\ttransition: {\n\t\t\tx: Hd,\n\t\t\topacity: {\n\t\t\t\tduration: r ? .01 : .16,\n\t\t\t\tease: \"easeOut\"\n\t\t\t}\n\t\t},\n\t\tchildren: t\n\t});\n}\nfunction qd({ open: e, children: t, id: n, className: r = \"\" }) {\n\tlet i = g(null);\n\treturn m(() => {\n\t\ti.current && (i.current.inert = !e);\n\t}, [e]), /* @__PURE__ */ y(\"div\", {\n\t\tref: i,\n\t\tid: n,\n\t\tclassName: `ct-collapsible ${e ? \"ct-collapsible--open\" : \"\"} ${r}`,\n\t\t\"aria-hidden\": e ? void 0 : !0,\n\t\tchildren: /* @__PURE__ */ y(\"div\", {\n\t\t\tclassName: \"ct-collapsible__inner\",\n\t\t\tchildren: t\n\t\t})\n\t});\n}\nfunction Jd({ axis: e = \"y\", ariaLabel: t, className: n = \"\", children: r, onScroll: i, ...a }) {\n\tlet o = g(null), [s, c] = _({\n\t\tstart: !0,\n\t\tend: !0\n\t}), u = l(() => {\n\t\tlet t = o.current;\n\t\tif (!t) return;\n\t\tlet n = e === \"x\", r = n ? t.scrollLeft : t.scrollTop, i = n ? t.clientWidth : t.clientHeight, a = n ? t.scrollWidth : t.scrollHeight, s = Math.max(0, a - i);\n\t\tc({\n\t\t\tstart: r <= 1,\n\t\t\tend: r >= s - 1\n\t\t});\n\t}, [e]);\n\treturn m(() => {\n\t\tu();\n\t\tlet e = o.current;\n\t\tif (!e || typeof ResizeObserver > \"u\") return;\n\t\tlet t = new ResizeObserver(u);\n\t\treturn t.observe(e), e.firstElementChild && t.observe(e.firstElementChild), () => t.disconnect();\n\t}, [r, u]), d(() => {\n\t\tlet e = () => u();\n\t\treturn window.addEventListener(\"resize\", e), () => window.removeEventListener(\"resize\", e);\n\t}, [u]), /* @__PURE__ */ y(\"div\", {\n\t\tref: o,\n\t\t...a,\n\t\trole: t ? \"region\" : a.role,\n\t\t\"aria-label\": t,\n\t\ttabIndex: t ? 0 : a.tabIndex,\n\t\t\"data-scroll-axis\": e,\n\t\t\"data-scroll-start\": s.start ? \"true\" : \"false\",\n\t\t\"data-scroll-end\": s.end ? \"true\" : \"false\",\n\t\tclassName: `ct-scroll-boundary ${t ? \"ct-focusable\" : \"\"} ${n}`,\n\t\tonScroll: (e) => {\n\t\t\tu(), i?.(e);\n\t\t},\n\t\tchildren: r\n\t});\n}\nfunction Yd(e) {\n\tlet [t, n] = _(!1);\n\treturn d(() => {\n\t\tif (typeof window > \"u\" || typeof window.matchMedia != \"function\") return;\n\t\tlet t = window.matchMedia(e), r = () => n(t.matches);\n\t\treturn r(), t.addEventListener?.(\"change\", r), () => t.removeEventListener?.(\"change\", r);\n\t}, [e]), t;\n}\nvar Xd = t.forwardRef(function({ className: e = \"\", motionClassName: t = \"\", ...n }, r) {\n\tlet i = e.split(/\\s+/).filter((e) => e && e !== \"ct-pressable\").join(\" \");\n\treturn /* @__PURE__ */ y(Rd, {\n\t\tref: r,\n\t\t...n,\n\t\tclassName: `ct-motion-pressable ${t} ${i}`,\n\t\twhileHover: n.disabled ? void 0 : { y: -1 },\n\t\twhileTap: n.disabled ? void 0 : {\n\t\t\ty: 0,\n\t\t\tscale: .98\n\t\t},\n\t\ttransition: Vd\n\t});\n}), Zd = {\n\tBAD_REQUEST: \"errors.badRequest\",\n\tCOINGECKO_ERROR: \"errors.provider\",\n\tCONFIG_ERROR: \"errors.config\",\n\tINDEXER_NOT_CONFIGURED: \"errors.indexerNotConfigured\",\n\tINVALID_AMOUNT: \"errors.invalidAmount\",\n\tINVALID_MINT: \"errors.invalidMint\",\n\tNO_PROVIDERS_AVAILABLE: \"errors.noProviders\",\n\tPROVIDER_ERROR: \"errors.provider\",\n\tRATE_LIMITED: \"errors.rateLimited\",\n\tRPC_ERROR: \"errors.rpc\",\n\tTOKEN_NOT_FOUND: \"errors.tokenNotFound\",\n\tUNAUTHORIZED: \"errors.unauthorized\",\n\tUPSTREAM_TIMEOUT: \"errors.upstreamTimeout\"\n};\nfunction Qd(e, t) {\n\tif (e instanceof se) return t.t($d(e) ?? \"errors.requestFailed\");\n\tlet n = $d(e);\n\treturn n ? t.t(n) : e instanceof Error && e.message ? e.message : t.t(\"errors.requestFailed\");\n}\nfunction $d(e) {\n\tif (e instanceof se) return Zd[e.code] ?? ef(e.status);\n\tif (typeof e == \"object\" && e) {\n\t\tlet t = \"code\" in e && typeof e.code == \"string\" ? e.code : null, n = \"status\" in e && typeof e.status == \"number\" ? e.status : null;\n\t\tif (t && Zd[t]) return Zd[t];\n\t\tif (n) return ef(n);\n\t}\n\treturn null;\n}\nfunction ef(e) {\n\treturn e === 401 || e === 403 ? \"errors.unauthorized\" : e === 429 ? \"errors.rateLimited\" : e >= 400 && e < 500 ? \"errors.badRequest\" : e >= 500 ? \"errors.provider\" : null;\n}\n//#endregion\n//#region src/utils/asyncResourceCache.ts\nvar tf = 128, nf = 3e5, Q = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map(), rf;\nfunction af() {\n\tif (clearTimeout(rf), rf = void 0, Q.size === 0) return;\n\tlet e = Math.min(...Array.from(Q.values(), (e) => e.expiresAt));\n\trf = setTimeout(() => {\n\t\tlet e = Date.now();\n\t\tfor (let [t, n] of Q) n.expiresAt <= e && Q.delete(t);\n\t\taf();\n\t}, Math.max(0, e - Date.now()));\n}\nfunction of(e, t) {\n\tlet n = Q.get(e);\n\tif (n) {\n\t\tif (Date.now() >= n.expiresAt || Date.now() - n.updatedAt > t) {\n\t\t\tQ.delete(e), af();\n\t\t\treturn;\n\t\t}\n\t\treturn Q.delete(e), Q.set(e, n), n.data;\n\t}\n}\nfunction sf(e, t = !1) {\n\tt && ($.get(e)?.controller.abort(), $.delete(e)), Q.delete(e), af();\n}\nfunction cf(e, t, n) {\n\tlet r = $.get(e);\n\tif (!r) {\n\t\tlet i = new AbortController(), a = /* @__PURE__ */ new Set(), o, s = (async () => (i.signal.throwIfAborted(), t(i.signal)))();\n\t\tr = {\n\t\t\tcontroller: i,\n\t\t\tconsumers: a,\n\t\t\tpromise: new Promise((e, t) => {\n\t\t\t\to = () => t(new DOMException(\"Resource canceled\", \"AbortError\")), i.signal.addEventListener(\"abort\", o, { once: !0 }), s.then(e, t);\n\t\t\t}).finally(() => {\n\t\t\t\ti.signal.removeEventListener(\"abort\", o);\n\t\t\t}).then((t) => {\n\t\t\t\tif (!i.signal.aborted && $.get(e)?.controller === i) {\n\t\t\t\t\tlet r = Date.now(), i = Math.min(Math.max(0, n), nf);\n\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\tfor (Q.delete(e), Q.set(e, {\n\t\t\t\t\t\t\tdata: t,\n\t\t\t\t\t\t\tupdatedAt: r,\n\t\t\t\t\t\t\texpiresAt: r + i\n\t\t\t\t\t\t}); Q.size > tf;) {\n\t\t\t\t\t\t\tlet e = Q.keys().next();\n\t\t\t\t\t\t\tif (e.done) break;\n\t\t\t\t\t\t\tQ.delete(e.value);\n\t\t\t\t\t\t}\n\t\t\t\t\t\taf();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn t;\n\t\t\t}).finally(() => {\n\t\t\t\t$.get(e)?.controller === i && $.delete(e);\n\t\t\t})\n\t\t}, $.set(e, r);\n\t}\n\tlet i = Symbol();\n\tr.consumers.add(i);\n\tlet a = r;\n\treturn {\n\t\tpromise: a.promise,\n\t\tsignal: a.controller.signal,\n\t\trelease() {\n\t\t\ta.consumers.delete(i), a.consumers.size === 0 && $.get(e) === a && (a.controller.abort(), $.delete(e));\n\t\t}\n\t};\n}\n//#endregion\n//#region src/utils/useAsyncResource.ts\nvar lf = 3e4, uf = /* @__PURE__ */ new WeakMap(), df = 1;\nfunction ff({ key: e, load: t, initialData: n, cacheTimeMs: r = lf, pollMs: i, mapError: a }) {\n\tlet o = e ? hf(e) : null, s = pf(o, r, n), [c, u] = _({\n\t\tkey: o,\n\t\tdata: s.data\n\t}), [f, p] = _(s.isLoading), [m, h] = _(null), v = g(0), y = g(null), b = g(null), x = g(n);\n\tx.current = n;\n\tlet S = g(t), C = g(a);\n\tS.current = t, C.current = a;\n\tlet w = l(async (e) => {\n\t\tif (!o) {\n\t\t\tu({\n\t\t\t\tkey: o,\n\t\t\t\tdata: x.current\n\t\t\t}), p(!1), h(null);\n\t\t\treturn;\n\t\t}\n\t\tif (!e?.force) {\n\t\t\tlet e = mf(o, r);\n\t\t\tif (e !== void 0) {\n\t\t\t\tu({\n\t\t\t\t\tkey: o,\n\t\t\t\t\tdata: e\n\t\t\t\t}), p(!1), h(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif (b.current && !e?.force) return b.current;\n\t\te?.force && sf(o, !0);\n\t\tlet t = v.current + 1;\n\t\tv.current = t, y.current?.();\n\t\tlet n = cf(o, S.current, r);\n\t\ty.current = n.release, u((e) => e.key === o ? e : {\n\t\t\tkey: o,\n\t\t\tdata: x.current\n\t\t}), p(!0), h(null);\n\t\tlet i = (async () => {\n\t\t\ttry {\n\t\t\t\tlet e = await n.promise;\n\t\t\t\tif (v.current !== t || n.signal.aborted) return;\n\t\t\t\tu({\n\t\t\t\t\tkey: o,\n\t\t\t\t\tdata: e\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\tif (v.current !== t || n.signal.aborted) return;\n\t\t\t\th(C.current?.(e) ?? (e instanceof Error ? e.message : \"Request failed\"));\n\t\t\t} finally {\n\t\t\t\tn.release(), v.current === t && (b.current = null, p(!1));\n\t\t\t}\n\t\t})();\n\t\treturn b.current = i, i;\n\t}, [o, r]);\n\treturn d(() => (w(), () => {\n\t\tv.current += 1, y.current?.(), b.current = null;\n\t}), [w]), d(() => {\n\t\tif (!o || !i) return;\n\t\tlet e = !1, t, n = async () => {\n\t\t\tsf(o), await w(), e || (t = setTimeout(() => void n(), i));\n\t\t};\n\t\treturn t = setTimeout(() => void n(), i), () => {\n\t\t\te = !0, clearTimeout(t);\n\t\t};\n\t}, [\n\t\to,\n\t\ti,\n\t\tw\n\t]), {\n\t\tdata: c.key === o ? c.data : s.data,\n\t\tisLoading: c.key === o ? f : s.isLoading,\n\t\terror: c.key === o ? m : null,\n\t\trefresh: w\n\t};\n}\nfunction pf(e, t, n) {\n\tlet r = e ? mf(e, t) : void 0;\n\treturn {\n\t\tdata: r ?? n,\n\t\tisLoading: e !== null && r === void 0\n\t};\n}\nfunction mf(e, t) {\n\treturn of(e, t);\n}\nfunction hf(e) {\n\treturn JSON.stringify(e.map(gf));\n}\nfunction gf(e) {\n\tif (e === null) return \"null\";\n\tif (e === void 0) return \"undefined\";\n\tif (typeof e == \"object\" || typeof e == \"function\") {\n\t\tlet t = uf.get(e);\n\t\treturn t || (t = df, df += 1, uf.set(e, t)), `ref:${t}`;\n\t}\n\treturn `${typeof e}:${String(e)}`;\n}\n//#endregion\n//#region src/components/shared/VisualPrimitives.tsx\nfunction _f(e) {\n\tif (typeof e == \"number\") return Number.isFinite(e) ? {\n\t\tprefix: \"\",\n\t\tsuffix: \"\",\n\t\tvalue: e,\n\t\tfractionDigits: Tf(String(e))\n\t} : null;\n\tlet t = e.match(/[-+]?\\d[\\d,]*(?:\\.\\d+)?/);\n\tif (!t) return null;\n\tlet n = Number(t[0].replace(/,/g, \"\"));\n\treturn Number.isFinite(n) ? {\n\t\tprefix: e.slice(0, t.index),\n\t\tsuffix: e.slice((t.index ?? 0) + t[0].length),\n\t\tvalue: n,\n\t\tfractionDigits: Tf(t[0])\n\t} : null;\n}\nfunction vf(e, t) {\n\treturn `${e.prefix}${t.toLocaleString(void 0, {\n\t\tminimumFractionDigits: e.fractionDigits,\n\t\tmaximumFractionDigits: e.fractionDigits\n\t})}${e.suffix}`;\n}\nfunction yf() {\n\tlet [e, t] = _(!1);\n\treturn d(() => {\n\t\tif (typeof window > \"u\" || typeof window.matchMedia != \"function\") return;\n\t\tlet e = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\t\tt(e.matches);\n\t\tlet n = () => t(e.matches);\n\t\treturn e.addEventListener?.(\"change\", n), () => e.removeEventListener?.(\"change\", n);\n\t}, []), e;\n}\nfunction bf({ value: e, className: t = \"\", durationMs: n = 900 }) {\n\tlet r = yf(), i = h(() => _f(e), [e]), a = String(e), [o, s] = _(() => i ? vf(i, 0) : a), c = g(null), l = Od(0), u = Fd(l, Vd), [f, p] = _(() => typeof IntersectionObserver > \"u\");\n\treturn d(() => {\n\t\tif (f || typeof IntersectionObserver > \"u\") return;\n\t\tlet e = c.current;\n\t\tif (!e) return;\n\t\tlet t = new IntersectionObserver((e) => {\n\t\t\te.some((e) => e.isIntersecting) && (p(!0), t.disconnect());\n\t\t}, { threshold: .2 });\n\t\treturn t.observe(e), () => t.disconnect();\n\t}, [f]), Dd(u, \"change\", (e) => {\n\t\ti && s(vf(i, e));\n\t}), d(() => {\n\t\tif (!i) {\n\t\t\tl.jump(0), u.jump(0), s(a);\n\t\t\treturn;\n\t\t}\n\t\tif (r || n <= 0) {\n\t\t\tl.jump(i.value), u.jump(i.value), s(a);\n\t\t\treturn;\n\t\t}\n\t\tf && l.set(i.value);\n\t}, [\n\t\tn,\n\t\ta,\n\t\tf,\n\t\ti,\n\t\tr,\n\t\tu,\n\t\tl\n\t]), /* @__PURE__ */ y(\"span\", {\n\t\tref: c,\n\t\tclassName: t,\n\t\t\"aria-label\": a,\n\t\tchildren: /* @__PURE__ */ y(\"span\", {\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\tchildren: o\n\t\t})\n\t});\n}\nfunction xf({ children: e, className: t = \"\" }) {\n\tlet n = typeof e == \"string\" || typeof e == \"number\" ? String(e) : void 0;\n\treturn /* @__PURE__ */ y(\"span\", {\n\t\tclassName: `ct-rolling-label ${t}`,\n\t\t\"aria-live\": \"polite\",\n\t\tchildren: /* @__PURE__ */ y(\"span\", {\n\t\t\tclassName: \"ct-rolling-label__text\",\n\t\t\tchildren: e\n\t\t}, n ?? \"node\")\n\t});\n}\nfunction Sf({ className: e = \"\", tone: t = \"default\" }) {\n\treturn /* @__PURE__ */ y(\"div\", {\n\t\tclassName: `ct-empty-visual ${e}`,\n\t\tstyle: wf(t),\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\nfunction Cf({ tone: e = \"default\", pulse: t = !1, className: n = \"\" }) {\n\treturn /* @__PURE__ */ y(\"span\", {\n\t\tclassName: `ct-status-dot ${t ? \"ct-status-dot--pulse\" : \"\"} ${Ef(e)} ${n}`,\n\t\t\"aria-hidden\": \"true\"\n\t});\n}\nfunction wf(e) {\n\treturn e === \"success\" ? {\n\t\t\"--ct-empty-accent\": \"var(--ct-success)\",\n\t\t\"--ct-empty-accent-2\": \"var(--ct-success)\"\n\t} : e === \"info\" ? {\n\t\t\"--ct-empty-accent\": \"var(--ct-info)\",\n\t\t\"--ct-empty-accent-2\": \"var(--ct-info)\"\n\t} : e === \"warning\" ? {\n\t\t\"--ct-empty-accent\": \"var(--ct-warning)\",\n\t\t\"--ct-empty-accent-2\": \"var(--ct-warning)\"\n\t} : {};\n}\nfunction Tf(e) {\n\treturn e.includes(\".\") ? e.split(\".\")[1].length : 0;\n}\nfunction Ef(e) {\n\treturn e === \"success\" ? \"ct-text-[var(--ct-success)]\" : e === \"warning\" ? \"ct-text-[var(--ct-warning)]\" : e === \"danger\" ? \"ct-text-[var(--ct-destructive)]\" : e === \"info\" ? \"ct-text-[var(--ct-info)]\" : \"ct-text-[var(--ct-muted-foreground)]\";\n}\n//#endregion\n//#region src/components/swap/quoteCoverage.ts\nvar Df = 3e4;\nfunction Of(e, t, n) {\n\treturn e === null ? \"none\" : t - e >= 3e4 ? \"stale\" : !n?.known || !n.complete ? \"partial\" : \"current\";\n}\nfunction kf(e, t) {\n\tlet n = new Set(t.map((e) => jf(e.provider)).filter((e) => !!e));\n\tif (e === null) return {\n\t\tknown: !1,\n\t\tcomplete: !1,\n\t\texpectedCount: 0,\n\t\trespondedCount: n.size,\n\t\tmissingProviders: []\n\t};\n\tlet r = Af(e), i = r.filter((e) => {\n\t\tlet t = jf(e);\n\t\treturn t !== null && !n.has(t);\n\t}), a = r.length - i.length;\n\treturn {\n\t\tknown: !0,\n\t\tcomplete: r.length > 0 && i.length === 0,\n\t\texpectedCount: r.length,\n\t\trespondedCount: a,\n\t\tmissingProviders: i\n\t};\n}\nfunction Af(e) {\n\tlet t = /* @__PURE__ */ new Map();\n\tfor (let n of e) {\n\t\tlet e = jf(n);\n\t\te && !t.has(e) && t.set(e, n.trim());\n\t}\n\treturn [...t.values()];\n}\nfunction jf(e) {\n\treturn e?.trim().toLocaleLowerCase(\"en-US\") || null;\n}\n//#endregion\n//#region src/components/swap/approvedPair.ts\nvar Mf = \"So11111111111111111111111111111111111111112\", Nf = \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\", Pf = {\n\tinputMint: Mf,\n\toutputMint: Nf\n};\nfunction Ff(e, t = Pf, n, r) {\n\tlet i = e.filter((e) => e.mint && (!n || n.includes(e.mint))), a = e.filter((e) => e.mint && (!r || r.includes(e.mint))), o = If(i, t.inputMint, Mf), s = If(a, t.outputMint, Nf);\n\tfor (let e of o) {\n\t\tlet t = s.find((t) => t !== e);\n\t\tif (t) return {\n\t\t\tinputMint: e,\n\t\t\toutputMint: t\n\t\t};\n\t}\n\treturn null;\n}\nfunction If(e, ...t) {\n\tlet n = e.flatMap((e) => e.mint ? [e.mint] : []), r = new Set(n);\n\treturn [...new Set([...t.filter((e) => r.has(e)), ...n])];\n}\n//#endregion\n//#region src/components/shared/Tabs.tsx\nfunction Lf(e, t) {\n\treturn `${e}__tab-${t}`;\n}\nfunction Rf(e) {\n\treturn `${e}__panel`;\n}\nfunction zf({ tabs: e, activeId: t, onChange: n, ariaLabel: r, idBase: i, className: a, tabClassName: o }) {\n\tlet s = g(/* @__PURE__ */ new Map()), c = Math.max(0, e.findIndex((e) => e.id === t)), l = (t) => {\n\t\tlet r = e[(t + e.length) % e.length];\n\t\tr && (n(r.id), queueMicrotask(() => s.current.get(r.id)?.focus()));\n\t};\n\treturn /* @__PURE__ */ y(\"div\", {\n\t\trole: \"tablist\",\n\t\t\"aria-label\": r,\n\t\t\"aria-orientation\": \"horizontal\",\n\t\tonKeyDown: (t) => {\n\t\t\tswitch (t.key) {\n\t\t\t\tcase \"ArrowRight\":\n\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\tt.preventDefault(), l(c + 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ArrowLeft\":\n\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\tt.preventDefault(), l(c - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Home\":\n\t\t\t\t\tt.preventDefault(), l(0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"End\":\n\t\t\t\t\tt.preventDefault(), l(e.length - 1);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t},\n\t\tclassName: a,\n\t\tchildren: e.map((e) => {\n\t\t\tlet r = e.id === t;\n\t\t\treturn /* @__PURE__ */ y(Xd, {\n\t\t\t\tref: (t) => {\n\t\t\t\t\ts.current.set(e.id, t);\n\t\t\t\t},\n\t\t\t\ttype: \"button\",\n\t\t\t\trole: \"tab\",\n\t\t\t\tid: Lf(i, e.id),\n\t\t\t\t\"aria-selected\": r,\n\t\t\t\t\"aria-controls\": Rf(i),\n\t\t\t\ttabIndex: r ? 0 : -1,\n\t\t\t\tonClick: () => n(e.id),\n\t\t\t\tclassName: o(r),\n\t\t\t\tchildren: e.label\n\t\t\t}, e.id);\n\t\t})\n\t});\n}\nfunction Bf({ idBase: e, activeId: t, children: n, className: r }) {\n\treturn /* @__PURE__ */ y(\"div\", {\n\t\trole: \"tabpanel\",\n\t\tid: Rf(e),\n\t\t\"aria-labelledby\": Lf(e, t),\n\t\ttabIndex: 0,\n\t\tclassName: r,\n\t\tchildren: n\n\t});\n}\n//#endregion\nexport { Dd as A, Ee as B, Xd as C, Id as D, Bd as E, Ze as F, se as G, Oe as H, Qe as I, ae as J, Se as K, Te as L, Cl as M, M as N, jd as O, E as P, ke as R, Jd as S, zd as T, we as U, De as V, oe as W, Gd as _, Ff as a, Hd as b, Of as c, xf as d, Cf as f, qd as g, Qd as h, Nf as i, Dl as j, Od as k, bf as l, ff as m, zf as n, Df as o, yf as p, Ce as q, Mf as r, kf as s, Bf as t, Sf as u, Wd as v, Yd as w, Vd as x, Ud as y, Ae as z };\n","imports":[{"dynamic":false,"end":25,"specifier":"react","start":20},{"dynamic":false,"end":328,"specifier":"react","start":323},{"dynamic":false,"end":400,"specifier":"react/jsx-runtime","start":383}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/web/register.js","kind":"module","text":"import { n as e, t } from \"../runtimeStyles-B9yeV1b6.js\";\n//#region src/web/register.ts\nt();\nfunction n(n) {\n\treturn t(), e(n);\n}\n//#endregion\nexport { n as registerCedrosWebSurface };\n","imports":[{"dynamic":false,"end":55,"specifier":"../runtimeStyles-B9yeV1b6.js","start":27}],"hasUnsupportedDynamicImports":false}]}