diff --git a/.gitattributes b/.gitattributes index c43b349449557572b7cb58547bb0d8e2e5e2d055..ddbf8383809572f2d0ce704529959e24eac3069b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -39,3 +39,28 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text .upload-venv/lib/python3.13/site-packages/pip/_vendor/distlib/w64-arm.exe filter=lfs diff=lfs merge=lfs -text .upload-venv/lib/python3.13/site-packages/pip/_vendor/distlib/w64.exe filter=lfs diff=lfs merge=lfs -text .upload-venv/lib/python3.13/site-packages/yaml/_yaml.cpython-313-darwin.so filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/0.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/1.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/10.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/11.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/12.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/13.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/2.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/6.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/7.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/8.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/9.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/index.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/client-production/index.pack.old filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/0.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/1.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/10.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/2.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/3.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/4.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/5.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/6.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/7.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/8.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/index.pack filter=lfs diff=lfs merge=lfs -text +frontend/.next/cache/webpack/server-production/index.pack.old filter=lfs diff=lfs merge=lfs -text diff --git a/.next/trace b/.next/trace index 1056db43aa6f77dc8efbbc8d32b3604cbce3a341..3dfc952fb661f9726bb3907ccaa0f3f998393ac3 100644 --- a/.next/trace +++ b/.next/trace @@ -1,2 +1 @@ [{"name":"generate-buildid","duration":134,"timestamp":87872497011,"id":4,"parentId":1,"tags":{},"startTime":1782192543160,"traceId":"74c71a2e401cebbb"},{"name":"load-custom-routes","duration":113,"timestamp":87872497220,"id":5,"parentId":1,"tags":{},"startTime":1782192543160,"traceId":"74c71a2e401cebbb"},{"name":"next-build","duration":48980,"timestamp":87872449545,"id":1,"tags":{"buildMode":"default","isTurboBuild":"false","version":"14.2.35","isTurbopack":false},"startTime":1782192543112,"traceId":"74c71a2e401cebbb"}] -[{"name":"generate-buildid","duration":139,"timestamp":107902785130,"id":4,"parentId":1,"tags":{},"startTime":1782212573555,"traceId":"5254ca5a348315b0"},{"name":"load-custom-routes","duration":121,"timestamp":107902785349,"id":5,"parentId":1,"tags":{},"startTime":1782212573555,"traceId":"5254ca5a348315b0"},{"name":"next-build","duration":41482,"timestamp":107902744802,"id":1,"tags":{"buildMode":"default","isTurboBuild":"false","version":"14.2.35","isTurbopack":false},"startTime":1782212573514,"traceId":"5254ca5a348315b0"}] diff --git a/backend/app/core/config.py b/backend/app/core/config.py index a31148931bedec4370712b07db4aba0d86e1d777..cf6905a1356d8bd6dca884d89b1755a0db79a582 100644 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -5,7 +5,7 @@ from pydantic_settings import BaseSettings class Settings(BaseSettings): app_name: str = "Blum AI Financial Intelligence" - app_version: str = "0.20.0" + app_version: str = "2.1.0" environment: str = Field(default="demo", alias="ENVIRONMENT") database_url: str = Field( default="postgresql+psycopg2://postgres:postgres@127.0.0.1:5432/blum", @@ -31,6 +31,9 @@ class Settings(BaseSettings): max_update_assets: int = Field(default=160, alias="BLUM_MAX_UPDATE_ASSETS") enable_live_startup: bool = Field(default=True, alias="BLUM_ENABLE_LIVE_STARTUP") enable_autonomous_engine: bool = Field(default=True, alias="BLUM_ENABLE_AUTONOMOUS_ENGINE") + startup_run_full_autonomous: bool = Field(default=False, alias="BLUM_STARTUP_RUN_FULL_AUTONOMOUS") + blum_autonomous_max_seconds_per_job: int = Field(default=120, alias="BLUM_AUTONOMOUS_MAX_SECONDS_PER_JOB") + blum_autonomous_max_items_per_job: int = Field(default=50, alias="BLUM_AUTONOMOUS_MAX_ITEMS_PER_JOB") autonomous_cycle_minutes: int = Field(default=20, alias="BLUM_AUTONOMOUS_CYCLE_MINUTES") autonomous_repair_limit: int = Field(default=80, alias="BLUM_AUTONOMOUS_REPAIR_LIMIT") seed_historical_prices_on_startup: bool = Field(default=True, alias="BLUM_SEED_HISTORICAL_PRICES_ON_STARTUP") @@ -49,6 +52,13 @@ class Settings(BaseSettings): learning_min_history_years: int = Field(default=3, alias="LEARNING_MIN_HISTORY_YEARS") learning_asset_universe: str = Field(default="stocks,etfs", alias="LEARNING_ASSET_UNIVERSE") learning_evaluation_mode: str = Field(default="walk_forward", alias="LEARNING_EVALUATION_MODE") + learning_random_sample_ratio: float = Field(default=0.40, alias="LEARNING_RANDOM_SAMPLE_RATIO") + learning_alpha_loss_sample_ratio: float = Field(default=0.30, alias="LEARNING_ALPHA_LOSS_SAMPLE_RATIO") + learning_factor_focus_sample_ratio: float = Field(default=0.20, alias="LEARNING_FACTOR_FOCUS_SAMPLE_RATIO") + learning_capital_preservation_sample_ratio: float = Field(default=0.10, alias="LEARNING_CAPITAL_PRESERVATION_SAMPLE_RATIO") + professional_learning_enabled: bool = Field(default=True, alias="BLUM_PROFESSIONAL_LEARNING_ENABLED") + professional_learning_minutes: int = Field(default=30, alias="BLUM_PROFESSIONAL_LEARNING_MINUTES") + professional_learning_batch_size: int = Field(default=20, alias="BLUM_PROFESSIONAL_LEARNING_BATCH_SIZE") blum_model_cycle_minutes: int = Field(default=5, alias="BLUM_MODEL_CYCLE_MINUTES") blum_model_cycle_limit: int = Field(default=160, alias="BLUM_MODEL_CYCLE_LIMIT") fundamentals_refresh_minutes: int = Field(default=720, alias="BLUM_FUNDAMENTALS_REFRESH_MINUTES") @@ -62,6 +72,7 @@ class Settings(BaseSettings): refresh_price_period: str = Field(default="6mo", alias="BLUM_REFRESH_PRICE_PERIOD") sec_user_agent: str = Field(default="Blum-AI-Financial-Intelligence research demo", alias="BLUM_SEC_USER_AGENT") blum_model_repository: str = Field(default="Italianhype/Blum", alias="BLUM_MODEL_REPOSITORY") + blum_analyst_repository: str = Field(default="Italianhype/Blum-Analyst", alias="BLUM_ANALYST_REPOSITORY") training_export_dir: str = Field(default="/tmp/blum_training_exports", alias="BLUM_TRAINING_EXPORT_DIR") enable_hf_dataset_catalog: bool = Field(default=True, alias="BLUM_ENABLE_HF_DATASET_CATALOG") hf_dataset_refresh_hours: int = Field(default=24, alias="BLUM_HF_DATASET_REFRESH_HOURS") diff --git a/backend/app/main.py b/backend/app/main.py index 02c1f1d4bcab6135552fd2eea9912d3eaea264cd..b3207f40ff9466cf5ae65ba3534971975e6c5f9a 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -9,7 +9,15 @@ from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import FileResponse from fastapi.staticfiles import StaticFiles -from app.api.routes import router +from app.api.routers import ( + alpha_router, + analyst_router, + brain_router, + legacy_router, + paper_trading_router, + runtime_router, + training_router, +) from app.core.config import get_settings from app.core.database import SessionLocal from app.services.bootstrap import bootstrap_database @@ -38,7 +46,13 @@ app.add_middleware( allow_headers=["*"], ) -app.include_router(router) +app.include_router(brain_router) +app.include_router(training_router) +app.include_router(paper_trading_router) +app.include_router(alpha_router) +app.include_router(runtime_router) +app.include_router(analyst_router) +app.include_router(legacy_router) @app.middleware("http") @@ -67,6 +81,13 @@ async def performance_timing_middleware(request: Request, call_next): duration_ms, {"method": request.method, "path": request.url.path, "referer": request.headers.get("referer", "")[:180]}, ) + if request.method.upper() == "GET" and "persist=true" in request.url.query.lower(): + response.headers["X-BLUM-GET-SIDE-EFFECT-RISK"] = "true" + performance_recorder.record_dashboard_widget( + "performance.GET_ENDPOINT_SIDE_EFFECT_DETECTED", + duration_ms, + {"method": request.method, "path": request.url.path, "query": request.url.query[:180]}, + ) return response finally: duration_ms = (time.perf_counter() - started) * 1000 @@ -106,6 +127,13 @@ def is_heavy_recalculation_call(method: str, path: str) -> bool: "/business-quality/recalculate", "/decision-intelligence/superiority/recalculate", "/learning-intelligence/self-improvement/generate", + "/api/meta-cognition/recalculate", + "/api/meta-cognition/factor-importance/recalculate", + "/api/meta-cognition/evaluate", + "/api/meta-cognition/capital-preservation/evaluate", + "/api/meta-cognition/learning-focus/generate", + "/api/meta-cognition/noise/detect", + "/snapshots/produce", ) return any(fragment in path for fragment in heavy_fragments) diff --git a/backend/app/services/autonomous_engine.py b/backend/app/services/autonomous_engine.py index 94517a0a72618e032c10a6e2441e44be4d092947..f47a4a0e0c1c51a28b6285914a3eeb9f55384443 100644 --- a/backend/app/services/autonomous_engine.py +++ b/backend/app/services/autonomous_engine.py @@ -34,6 +34,7 @@ from app.services.macro import update_macro_snapshots from app.services.market_data import MarketDataService from app.services.market_sniper import MarketSniperEngine from app.services.persistence import backup_embedded_postgres_if_configured +from app.services.research_planner import AutonomousResearchPlanner from app.services.trading_game import TradingGameSimulator from app.signals.engine import SignalEngine @@ -85,6 +86,7 @@ class AutonomousResearchEngine: stage("etf_intelligence", lambda: update_etf_trends(db)) stage("ipo_radar", lambda: update_ipo_radar(db, limit_per_form=55)) stage("accuracy_audit", lambda: run_accuracy_audit(db, limit=settings.max_update_assets)) + stage("research_planner", lambda: AutonomousResearchPlanner().generate(db, persist=True)) if settings.enable_learning_loop: stage("blum_financial_model", lambda: run_model_learning_cycle(db, limit=settings.blum_model_cycle_limit)) stage("blum_learning_loop", lambda: LearningLoopService().run_batch(db, batch_size=settings.learning_batch_size, trigger="autonomous_engine")) diff --git a/backend/app/services/blum_financial_model.py b/backend/app/services/blum_financial_model.py index 7ac0b47ff89aedce689122b9aa80ee63b90cc63c..adcd30bdedf59d25b2936746d7dfd4d8cb756ec4 100644 --- a/backend/app/services/blum_financial_model.py +++ b/backend/app/services/blum_financial_model.py @@ -96,7 +96,7 @@ def model_status(db: Session) -> dict: } -def run_model_learning_cycle(db: Session, limit: int = 120) -> dict: +def run_model_learning_cycle(db: Session, limit: int = 120, backup: bool = True) -> dict: signals = db.scalars(select(SignalSnapshot).order_by(desc(SignalSnapshot.created_at)).limit(limit)).all() skipped = 0 before_count = count(db, BlumKnowledgeRecord.id) @@ -127,7 +127,11 @@ def run_model_learning_cycle(db: Session, limit: int = 120) -> dict: ) db.add(event) db.commit() - backup_result = backup_embedded_postgres_if_configured(reason="blum_model_autonomous_cycle") + backup_result = ( + backup_embedded_postgres_if_configured(reason="blum_model_autonomous_cycle") + if backup + else {"status": "skipped", "reason": "frequent professional learning cycles do not run full embedded database backups"} + ) return { "status": "ok", "signals_seen": len(signals), diff --git a/backend/app/services/bootstrap.py b/backend/app/services/bootstrap.py index bb32c1072678cdde561ac7ebc52dc73423854723..750627a522716b5041452269c24296c54b0a6ada 100644 --- a/backend/app/services/bootstrap.py +++ b/backend/app/services/bootstrap.py @@ -3,6 +3,7 @@ from __future__ import annotations import csv from datetime import date import gzip +from gzip import BadGzipFile from pathlib import Path from sqlalchemy import func, select @@ -67,31 +68,49 @@ def seed_historical_prices(db: Session) -> dict: "inserted_rows": 0, "message": "Historical price cache is not packaged in this build.", } + pointer = git_lfs_pointer_summary(HISTORICAL_PRICE_CACHE) + if pointer: + return invalid_historical_cache_response( + "git_lfs_pointer", + ( + "Historical price cache is a Git LFS pointer, not the resolved gzip payload. " + "Run `git lfs pull` in development or ensure the Space resolves LFS assets. " + "Startup continues without synthetic market data." + ), + pointer, + ) asset_ids = dict(db.execute(select(Asset.ticker, Asset.id)).all()) inserted = 0 skipped = 0 tickers: set[str] = set() rows: list[dict] = [] - with gzip.open(HISTORICAL_PRICE_CACHE, "rt", newline="", encoding="utf-8") as handle: - reader = csv.DictReader(handle) - for item in reader: - ticker = (item.get("ticker") or "").upper() - asset_id = asset_ids.get(ticker) - if not asset_id: - skipped += 1 - continue - row = price_row_from_cache(asset_id, item) - if not row: - skipped += 1 - continue - tickers.add(ticker) - rows.append(row) - if len(rows) >= 5000: - inserted += insert_price_rows(db, rows) - rows.clear() - if rows: - inserted += insert_price_rows(db, rows) - db.commit() + try: + with gzip.open(HISTORICAL_PRICE_CACHE, "rt", newline="", encoding="utf-8") as handle: + reader = csv.DictReader(handle) + for item in reader: + ticker = (item.get("ticker") or "").upper() + asset_id = asset_ids.get(ticker) + if not asset_id: + skipped += 1 + continue + row = price_row_from_cache(asset_id, item) + if not row: + skipped += 1 + continue + tickers.add(ticker) + rows.append(row) + if len(rows) >= 5000: + inserted += insert_price_rows(db, rows) + rows.clear() + if rows: + inserted += insert_price_rows(db, rows) + db.commit() + except (BadGzipFile, EOFError, OSError, UnicodeDecodeError, csv.Error) as exc: + db.rollback() + return invalid_historical_cache_response( + "invalid", + f"Historical price cache could not be loaded ({type(exc).__name__}). Startup continues without synthetic market data.", + ) return { "enabled": True, "cache_status": "loaded", @@ -121,6 +140,35 @@ def seed_startup_accuracy(db: Session) -> dict: return {"enabled": True, **run_accuracy_audit(db, limit=get_settings().max_update_assets)} +def git_lfs_pointer_summary(path: Path) -> dict | None: + try: + head = path.read_bytes()[:220] + except OSError: + return None + if not head.startswith(b"version https://git-lfs.github.com/spec/v1"): + return None + text = head.decode("utf-8", errors="replace") + summary = {"pointer_detected": True} + for line in text.splitlines(): + if line.startswith("oid "): + summary["oid"] = line.split(" ", 1)[1] + elif line.startswith("size "): + summary["expected_size"] = line.split(" ", 1)[1] + return summary + + +def invalid_historical_cache_response(cache_status: str, message: str, diagnostics: dict | None = None) -> dict: + return { + "enabled": True, + "cache_status": cache_status, + "cache_file": HISTORICAL_PRICE_CACHE.name, + "inserted_rows": 0, + "diagnostics": diagnostics or {}, + "message": message, + "data_policy": "No synthetic prices are created when packaged OHLCV cache is unavailable.", + } + + def price_row_from_cache(asset_id: int, item: dict) -> dict | None: try: close = float(item["close"]) diff --git a/backend/app/services/dashboard.py b/backend/app/services/dashboard.py index fbe0865c5fd2266a5ed0f06367005310cfea3930..bc8c4d62da50c488e0206ce21a8f840df55fc9a3 100644 --- a/backend/app/services/dashboard.py +++ b/backend/app/services/dashboard.py @@ -6,6 +6,7 @@ from sqlalchemy.orm import Session from app.models import Asset, ETFTrend, NewsArticle, PriceHistory, SentimentAnalysis, SignalSnapshot from app.services.accuracy import latest_accuracy_snapshot, market_accuracy_overview, signal_validation_report from app.services.data_continuity import data_coverage_report +from app.services.dashboard_snapshots import DashboardSnapshotService from app.services.macro import macro_overview from app.services.market_data import market_snapshot_for_asset from app.services.performance import performance_recorder @@ -14,6 +15,19 @@ from app.services.realtime import realtime_status def dashboard_overview(db: Session) -> dict: + with performance_recorder.dashboard_widget("dashboard.snapshot_lookup", snapshot_type="dashboard_overview_summary"): + snapshot = DashboardSnapshotService().latest(db, "dashboard_overview_summary") + if snapshot["payload"]: + payload = dict(snapshot["payload"]) + payload["snapshot_status"] = snapshot["status"] + payload["snapshot_created_at"] = snapshot.get("created_at") + payload["snapshot_warnings"] = snapshot.get("warnings", []) + payload["runtime_policy"] = "snapshot_first_no_live_recalculation" + return payload + return empty_dashboard_overview(snapshot) + + +def build_dashboard_overview_live(db: Session) -> dict: with performance_recorder.dashboard_widget("dashboard.load_signal_candidates"): signals = db.scalars(select(SignalSnapshot).order_by(desc(SignalSnapshot.created_at), desc(SignalSnapshot.blum_score)).limit(80)).all() with performance_recorder.dashboard_widget("dashboard.rank_latest_signals", signal_count=len(signals)): @@ -80,6 +94,35 @@ def dashboard_overview(db: Session) -> dict: } +def empty_dashboard_overview(snapshot: dict) -> dict: + return { + "snapshot_status": snapshot.get("status", "missing"), + "snapshot_created_at": snapshot.get("created_at"), + "snapshot_warnings": [snapshot.get("warning") or "dashboard_overview_summary snapshot is not ready"], + "runtime_policy": "snapshot_first_no_live_recalculation", + "market_pulse": { + "asset_count": 0, + "article_count": 0, + "average_sentiment": 0, + "signal_count": 0, + "classification_mix": {}, + "price_row_count": 0, + }, + "data_coverage": {"status": "missing_snapshot"}, + "accuracy": {"status": "missing_snapshot"}, + "macro": {"status": "missing_snapshot"}, + "validation": {"status": "missing_snapshot"}, + "readiness": {"status": "missing_snapshot"}, + "realtime": {"status": "unknown"}, + "todays_strongest_signals": [], + "narrative_breakouts": [], + "technical_breakouts": [], + "sentiment_divergence": [], + "watchlist_candidates": [], + "etf_rotation_leaders": [], + } + + def signal_payload(signal: SignalSnapshot, db: Session | None = None) -> dict: with performance_recorder.dashboard_widget("dashboard.signal_payload", ticker=signal.ticker): payload = { diff --git a/backend/app/services/dashboard_snapshots.py b/backend/app/services/dashboard_snapshots.py index ad95c2b56559670e1011066a6054bb9c88d14470..16d6528da48927a126c8dac0824951117cfa1db0 100644 --- a/backend/app/services/dashboard_snapshots.py +++ b/backend/app/services/dashboard_snapshots.py @@ -1,6 +1,6 @@ from __future__ import annotations -from datetime import datetime, timedelta +from datetime import date, datetime, timedelta import time from sqlalchemy import desc, select @@ -38,6 +38,7 @@ class DashboardSnapshotService: "is_stale": is_stale, "payload": row.payload_json or {}, "source_modules": row.source_modules_json or {}, + "missing_sections": getattr(row, "missing_sections_json", None) or [], "computation_duration_ms": row.computation_duration_ms, "warnings": row.warnings_json or [], } @@ -51,6 +52,7 @@ class DashboardSnapshotService: source_modules: dict | None = None, ttl_seconds: int = 300, warnings: list[str] | None = None, + missing_sections: list[str] | None = None, computation_duration_ms: float | None = None, ) -> dict: started = time.perf_counter() @@ -58,11 +60,12 @@ class DashboardSnapshotService: snapshot_type=snapshot_type, created_at=datetime.utcnow(), expires_at=datetime.utcnow() + timedelta(seconds=max(1, ttl_seconds)), - payload_json=payload, - source_modules_json=source_modules or {}, + payload_json=json_safe(payload), + source_modules_json=json_safe(source_modules or {}), + missing_sections_json=json_safe(missing_sections or []), is_stale=False, computation_duration_ms=computation_duration_ms, - warnings_json=warnings or [], + warnings_json=json_safe(warnings or []), ) if row.computation_duration_ms is None: row.computation_duration_ms = round((time.perf_counter() - started) * 1000, 3) @@ -82,3 +85,22 @@ def record_snapshot_cache(snapshot_type: str, *, hit: bool, status: str) -> None ) except Exception: pass + + +def json_safe(value): + if isinstance(value, (datetime, date)): + return value.isoformat() + if isinstance(value, dict): + return {str(key): json_safe(item) for key, item in value.items()} + if isinstance(value, list): + return [json_safe(item) for item in value] + if isinstance(value, tuple): + return [json_safe(item) for item in value] + try: + import numpy as np + + if isinstance(value, np.generic): + return json_safe(value.item()) + except Exception: + pass + return value diff --git a/backend/app/services/financial_chat.py b/backend/app/services/financial_chat.py index c3c65c796aa9098845f2d527bb89368169aa2a01..78042309aace5f69b6b1a7b1507f75d692d58345 100644 --- a/backend/app/services/financial_chat.py +++ b/backend/app/services/financial_chat.py @@ -33,6 +33,8 @@ from app.services.fundamentals import fundamentals_for_asset from app.services.live import market_sentiment from app.services.learning_loop import LearningDashboardService from app.services.learning_intelligence import LearningIntelligenceDashboardService +from app.services.alpha_recovery import AlphaRecoveryDashboardService +from app.services.meta_cognition import MetaCognitionEngine from app.services.capital_allocation import AdaptiveCapitalAllocationEngine from app.services.decision_intelligence import DecisionIntelligenceDashboardService from app.services.market_data import market_snapshot_for_asset @@ -487,6 +489,8 @@ def trading_game_context_for_chat(db: Session) -> dict: "learning_intelligence": LearningIntelligenceDashboardService().dashboard(db), "decision_intelligence": DecisionIntelligenceDashboardService().dashboard(db), "capital_allocation": AdaptiveCapitalAllocationEngine().dashboard(db), + "alpha_recovery": AlphaRecoveryDashboardService().dashboard(db), + "meta_cognition": MetaCognitionEngine().summary(db), "pnl_breakdown": PnLBreakdownService().game_breakdown(db), "reality_check": TradingGameRealityCheckService().evaluate(db), "failures": engine.failures(db, limit=12), @@ -1477,6 +1481,8 @@ def build_trading_game_response(language: str, context: dict) -> dict: learning_intelligence = context.get("learning_intelligence") or {} decision_intelligence = context.get("decision_intelligence") or {} capital_allocation = context.get("capital_allocation") or {} + alpha_recovery = context.get("alpha_recovery") or {} + meta_cognition = context.get("meta_cognition") or {} if not game: message = "BLUM non ha ancora un Trading Game persistito. Serve almeno un ciclo Sniper/Learning Loop per creare simulazioni P/L reali." if language == "it" else "BLUM does not have a persisted Trading Game yet. It needs at least one Sniper/Learning Loop cycle to create real P/L simulations." return build_error_response(language, message, []) @@ -1505,6 +1511,8 @@ def build_trading_game_response(language: str, context: dict) -> dict: {"key": "learning_intelligence", "title": "Learning Intelligence", "bullets": learning_intelligence_lines(learning_intelligence, language)}, {"key": "decision_intelligence", "title": "Decision Intelligence", "bullets": decision_intelligence_lines(decision_intelligence, language)}, {"key": "capital_allocation", "title": "Capital Allocation Intelligence", "bullets": capital_allocation_lines(capital_allocation, language)}, + {"key": "alpha_recovery", "title": "Alpha Recovery", "bullets": alpha_recovery_lines(alpha_recovery, language)}, + {"key": "meta_cognition", "title": "Meta-Cognition", "bullets": meta_cognition_lines(meta_cognition, language)}, {"key": "trade_ledger", "title": "Trade ledger", "bullets": trade_ledger_lines(ledger_rows, language)}, {"key": "intelligence_metrics", "title": "Trading intelligence", "bullets": intelligence_metric_lines(intelligence_metrics, rolling_metrics, metrics_by_setup, language)}, {"key": "live_forward", "title": "Storico vs live paper", "bullets": historical_live_lines(live_forward, historical_vs_live, language)}, @@ -1545,6 +1553,8 @@ def build_trading_game_response(language: str, context: dict) -> dict: {"key": "learning_intelligence", "title": "Learning Intelligence", "bullets": learning_intelligence_lines(learning_intelligence, language)}, {"key": "decision_intelligence", "title": "Decision Intelligence", "bullets": decision_intelligence_lines(decision_intelligence, language)}, {"key": "capital_allocation", "title": "Capital Allocation Intelligence", "bullets": capital_allocation_lines(capital_allocation, language)}, + {"key": "alpha_recovery", "title": "Alpha Recovery", "bullets": alpha_recovery_lines(alpha_recovery, language)}, + {"key": "meta_cognition", "title": "Meta-Cognition", "bullets": meta_cognition_lines(meta_cognition, language)}, {"key": "trade_ledger", "title": "Trade Ledger", "bullets": trade_ledger_lines(ledger_rows, language)}, {"key": "intelligence_metrics", "title": "Trading Intelligence", "bullets": intelligence_metric_lines(intelligence_metrics, rolling_metrics, metrics_by_setup, language)}, {"key": "live_forward", "title": "Historical vs Live Paper", "bullets": historical_live_lines(live_forward, historical_vs_live, language)}, @@ -1574,7 +1584,7 @@ def build_trading_game_response(language: str, context: dict) -> dict: "executive_view": summary, "risk_reward_view": f"Expectancy {format_number(game.get('expectancy_r'))}R, drawdown {format_signed(game.get('max_drawdown'))}%.", "data_quality": {"sample_warning": sample_warning, "trades": game.get("trade_count"), "reproducibility": reproducibility, "cycles": cycle_stats, "live_sample_warning": (historical_vs_live.get("sample_warning") if isinstance(historical_vs_live, dict) else None)}, - "learning_loop_memory": {"trading_game": game, "lessons": lessons[:6], "latest_trades": trades[:6], "ledger": ledger_rows[:8], "reality_check": reality_check, "cycles": cycle_stats, "intelligence_metrics": intelligence_metrics, "historical_vs_live": historical_vs_live, "learning_intelligence": learning_intelligence, "decision_intelligence": decision_intelligence, "capital_allocation": capital_allocation}, + "learning_loop_memory": {"trading_game": game, "lessons": lessons[:6], "latest_trades": trades[:6], "ledger": ledger_rows[:8], "reality_check": reality_check, "cycles": cycle_stats, "intelligence_metrics": intelligence_metrics, "historical_vs_live": historical_vs_live, "learning_intelligence": learning_intelligence, "decision_intelligence": decision_intelligence, "capital_allocation": capital_allocation, "alpha_recovery": alpha_recovery, "meta_cognition": meta_cognition}, "answer_to_user": summary, } @@ -1691,6 +1701,100 @@ def capital_allocation_lines(payload: dict, language: str) -> list[str]: return dedupe_warnings(lines) +def alpha_recovery_lines(payload: dict, language: str) -> list[str]: + if not payload or payload.get("status") == "unavailable": + return ["Alpha Recovery non disponibile: non invento perche BLUM perde o vince alpha." if language == "it" else "Alpha Recovery is unavailable; I will not invent why BLUM won or lost alpha."] + truth = (payload.get("truth_layer") or {}).get("lines") or [] + attribution = payload.get("latest_attribution") or {} + attribution_summary = attribution.get("summary") or {} + top_category = attribution_summary.get("top_category") + missed = ((payload.get("missed_winners") or {}).get("rows") or [])[:3] + actions = ((payload.get("recovery_actions") or {}).get("rows") or [])[:3] + methodology_rows = ((payload.get("latest_methodology") or {}).get("rows") or [])[:3] + invalid = [row for row in methodology_rows if not row.get("methodology_valid")] + if language == "it": + lines = list(truth[:3]) or ["Evidenza insufficiente: servono benchmark validati e trade ledger prima di attribuire perdita alpha."] + if invalid: + lines.append("Alcuni benchmark non sono validi per apprendimento: BLUM blocca conclusioni di recovery su quei confronti.") + if top_category: + lines.append(f"Causa misurata principale: {str(top_category).replace('_', ' ')}.") + if missed: + lines.append("Missed winners da replay: " + ", ".join(f"{row.get('ticker')} ({format_signed(row.get('benchmark_relative_return'))}%)" for row in missed)) + if actions: + lines.append(f"Azione recovery proposta: {actions[0].get('recommended_action')} | stato {actions[0].get('status')}.") + return dedupe_warnings(lines) + lines = list(truth[:3]) or ["Insufficient evidence: validated benchmarks and trade ledger data are required before attributing alpha loss."] + if invalid: + lines.append("Some benchmarks are not valid for learning; BLUM blocks recovery conclusions on those comparisons.") + if top_category: + lines.append(f"Main measured cause: {str(top_category).replace('_', ' ')}.") + if missed: + lines.append("Missed winners for replay: " + ", ".join(f"{row.get('ticker')} ({format_signed(row.get('benchmark_relative_return'))}%)" for row in missed)) + if actions: + lines.append(f"Recovery action proposed: {actions[0].get('recommended_action')} | status {actions[0].get('status')}.") + return dedupe_warnings(lines) + + +def meta_cognition_lines(payload: dict, language: str) -> list[str]: + if not payload or payload.get("status") == "unavailable": + return ["Meta-Cognition non disponibile: non invento quali fattori creano o distruggono alpha." if language == "it" else "Meta-Cognition is unavailable; I will not invent which factors create or destroy alpha."] + snapshot_payload = ((payload.get("snapshot") or {}).get("payload") or {}) if isinstance(payload.get("snapshot"), dict) else {} + factor_summary = ((payload.get("factor_importance") or {}).get("summary") or {}) + focus_rows = ((payload.get("learning_focus") or {}).get("rows") or []) + noise_rows = ((payload.get("noise") or {}).get("rows") or []) + preservation_summary = ((payload.get("capital_preservation") or {}).get("summary") or {}) + events_summary = ((payload.get("events") or {}).get("summary") or {}) + conclusion = payload.get("conclusion") or snapshot_payload.get("meta_cognition_conclusion") or {} + + top_alpha = snapshot_payload.get("top_alpha_factor") or first_payload(factor_summary.get("top_alpha_creators")) + top_destroyer = snapshot_payload.get("top_alpha_destroyer") or first_payload(factor_summary.get("top_alpha_destroyers")) + noisiest = snapshot_payload.get("noisiest_factor") or first_payload(factor_summary.get("noisiest_factors")) or first_payload(noise_rows) + focus = snapshot_payload.get("next_learning_focus") or first_payload(focus_rows) + preservation = snapshot_payload.get("strongest_capital_preservation_rule") or first_payload(preservation_summary.get("top_preservers")) + + if language == "it": + lines = [] + if top_alpha: + lines.append(f"Fattore che sta creando piu alpha misurabile: {top_alpha.get('factor_name', 'n/a')} | contributo {format_number(top_alpha.get('alpha_contribution'))} | campione {top_alpha.get('sample_size', 'n/a')}.") + if top_destroyer: + lines.append(f"Fattore che sta distruggendo piu alpha: {top_destroyer.get('factor_name', 'n/a')} | perdita {format_number(top_destroyer.get('alpha_loss_contribution'))} | azione {top_destroyer.get('recommended_weight_action', 'n/a')}.") + if noisiest: + lines.append(f"Fattore/modulo piu rumoroso: {noisiest.get('factor_name') or noisiest.get('module_name', 'n/a')} | noise {format_number(noisiest.get('noise_score'))}/100 | severita {noisiest.get('severity', 'n/a')}.") + if preservation: + lines.append(f"Regola no-trade piu utile: {preservation.get('ticker', preservation.get('factor_name', 'n/a'))} | capitale preservato {format_money(preservation.get('capital_preserved'))} | quality {format_number(preservation.get('quality_score'))}/100.") + if focus: + lines.append(f"Prossimo focus Learning Loop: {focus.get('priority_type', 'focus')} su {focus.get('target', 'n/a')} | valore atteso {format_number(focus.get('expected_learning_value'))}/100.") + if conclusion.get("summary"): + lines.append(str(conclusion.get("summary"))) + if events_summary.get("events"): + lines.append(f"Azioni di learning valutate: {events_summary.get('events')} | miglioramenti {events_summary.get('improvements', 0)} | peggioramenti {events_summary.get('degradations', 0)}.") + return dedupe_warnings(lines or ["Evidenza meta-cognitiva insufficiente: serve ledger, benchmark validi e piu campioni prima di attribuire alpha ai fattori."]) + + lines = [] + if top_alpha: + lines.append(f"Top measured alpha-creating factor: {top_alpha.get('factor_name', 'n/a')} | contribution {format_number(top_alpha.get('alpha_contribution'))} | sample {top_alpha.get('sample_size', 'n/a')}.") + if top_destroyer: + lines.append(f"Top measured alpha-destroying factor: {top_destroyer.get('factor_name', 'n/a')} | loss {format_number(top_destroyer.get('alpha_loss_contribution'))} | action {top_destroyer.get('recommended_weight_action', 'n/a')}.") + if noisiest: + lines.append(f"Noisiest factor/module: {noisiest.get('factor_name') or noisiest.get('module_name', 'n/a')} | noise {format_number(noisiest.get('noise_score'))}/100 | severity {noisiest.get('severity', 'n/a')}.") + if preservation: + lines.append(f"Strongest no-trade preservation rule: {preservation.get('ticker', preservation.get('factor_name', 'n/a'))} | preserved {format_money(preservation.get('capital_preserved'))} | quality {format_number(preservation.get('quality_score'))}/100.") + if focus: + lines.append(f"Next Learning Loop focus: {focus.get('priority_type', 'focus')} on {focus.get('target', 'n/a')} | expected value {format_number(focus.get('expected_learning_value'))}/100.") + if conclusion.get("summary"): + lines.append(str(conclusion.get("summary"))) + if events_summary.get("events"): + lines.append(f"Learning actions evaluated: {events_summary.get('events')} | improvements {events_summary.get('improvements', 0)} | degradations {events_summary.get('degradations', 0)}.") + return dedupe_warnings(lines or ["Insufficient meta-cognition evidence: BLUM needs a ledger, valid benchmarks and more samples before attributing alpha to factors."]) + + +def first_payload(value: object) -> dict: + if isinstance(value, list) and value: + first = value[0] + return first if isinstance(first, dict) else {} + return value if isinstance(value, dict) else {} + + def trade_ledger_lines(rows: list[dict], language: str) -> list[str]: if not rows: return ["BLUM ha metriche di gioco, ma il trade ledger dettagliato non e ancora disponibile." if language == "it" else "BLUM has game-level metrics, but the detailed trade ledger is not available yet."] @@ -2484,7 +2588,7 @@ def infer_intent(message: str, mode: str | None = None) -> str: return "fundamental_analysis" if any(term in normalized for term in ["tesi", "thesis", "convinzione", "conviction", "ancora valida", "still valid", "sopravviss", "survival", "decay", "decad", "bull bear neutral", "tesi bull", "tesi bear", "tesi neutral", "motore", "engine vote", "sta migliorando", "dove ha sbagliato", "reasoning core", "batte spy", "batte qqq", "vs spy", "vs qqq"]): return "reasoning_memory_question" - if any(term in normalized for term in ["capitale virtuale", "trading game", "sta battendo", "batte il mercato", "benchmark", "drawdown", "profit factor", "expectancy", "p/l", "pl ", "peggior errore", "andato a zero", "rischio per trade", "riproducibil", "reproducib", "win rate", "quali trade", "trade hanno", "dove e entrato", "dove e uscito", "entrato blum", "uscito blum", "per azione", "fortuna", "profitto arriva", "ledger", "trade piu importante", "100 eur", "10,000", "10000", "target cycle", "ciclo capitale", "cicli capitale", "quante volte", "live paper", "forward paper", "storico vs live", "historical vs live", "sta migliorando", "intelligence growth", "missed entry", "stop hit", "target hit", "trading power", "power score", "dove e scarso", "piu scarso", "weakness", "self improvement", "auto miglior", "prossima azione", "baseline semplice", "stiamo battendo spy", "stiamo battendo qqq", "best opportunity", "migliore opportunita", "opportunita migliore", "ha scelto il migliore", "decision superiority", "superiorita decisionale", "alpha capture", "opportunita mancata", "missed opportunity", "business quality", "qualita business", "moat", "management quality", "portfolio quality", "qualita portafoglio", "contribuisce piu alpha", "contribution", "concentrazione portfolio", "capital allocation", "cash allocation", "cash reserve", "quanto capitale", "quanto allocare", "peso capitale", "sizing logic", "logica di sizing"]): + if any(term in normalized for term in ["capitale virtuale", "trading game", "sta battendo", "batte il mercato", "benchmark", "drawdown", "profit factor", "expectancy", "p/l", "pl ", "peggior errore", "andato a zero", "rischio per trade", "riproducibil", "reproducib", "win rate", "quali trade", "trade hanno", "dove e entrato", "dove e uscito", "entrato blum", "uscito blum", "per azione", "fortuna", "profitto arriva", "ledger", "trade piu importante", "100 eur", "10,000", "10000", "target cycle", "ciclo capitale", "cicli capitale", "quante volte", "live paper", "forward paper", "storico vs live", "historical vs live", "sta migliorando", "intelligence growth", "missed entry", "stop hit", "target hit", "trading power", "power score", "dove e scarso", "piu scarso", "weakness", "self improvement", "auto miglior", "prossima azione", "baseline semplice", "stiamo battendo spy", "stiamo battendo qqq", "best opportunity", "migliore opportunita", "opportunita migliore", "ha scelto il migliore", "decision superiority", "superiorita decisionale", "alpha capture", "opportunita mancata", "missed opportunity", "business quality", "qualita business", "moat", "management quality", "portfolio quality", "qualita portafoglio", "contribuisce piu alpha", "contribution", "concentrazione portfolio", "capital allocation", "cash allocation", "cash reserve", "quanto capitale", "quanto allocare", "peso capitale", "sizing logic", "logica di sizing", "alpha loss", "alpha recovery", "perche perdiamo", "perché perdiamo", "perdiamo contro", "why are we losing", "why losing", "qqq", "spy", "missed winners", "winners mancati", "opportunita mancate", "opportunità mancate", "recovery action", "azioni recovery", "perdita alpha", "alpha perso", "lose alpha", "meta cognition", "meta-cognition", "meta cognizione", "meta-cognizione", "fattore alpha", "factor alpha", "quale fattore", "which factor", "fattore rumoroso", "noisy factor", "modulo rumoroso", "cosa deve imparare", "what should blum learn", "imparare adesso", "learn next", "trust technical", "fidarsi dei tecnici", "capital preservation", "preservazione capitale", "no-trade rule", "regola no trade"]): return "trading_game" if any(term in normalized for term in ["sniper", "entrabile", "meglio aspettare", "ingresso", "entry", "risk/reward", "uscita", "exit", "target", "invalidazione", "invalidation", "profitto", "take profit"]): return "market_sniper" diff --git a/backend/app/services/learning_loop.py b/backend/app/services/learning_loop.py index 4f1253d3aad6450484532095519eb3f12c0f3474..aa45d65daf8cea0e76d46693feddd1ff956d05e7 100644 --- a/backend/app/services/learning_loop.py +++ b/backend/app/services/learning_loop.py @@ -17,11 +17,15 @@ from app.core.config import get_settings from app.models import ( Asset, FundamentalSnapshot, + FeedbackLoopAudit, HistoricalPrediction, + CapitalPreservationAlpha, + LearningFocusPriority, LearningEvent, LearningMetric, LearningRun, MacroSnapshot, + MissedWinner, MistakeAnalysis, ModelVersion, NewsArticle, @@ -30,6 +34,7 @@ from app.models import ( PriceHistory, SignalPerformance, StrategyMemory, + TradingGameTrade, ) from app.services.technical_analysis_engine import TechnicalAnalysisEngine @@ -54,6 +59,10 @@ BASE_SIGNAL_WEIGHTS = { "regime": 0.05, } +MIN_MODEL_VERSION_OUTCOMES = 30 +MIN_MODEL_VERSION_SIGNAL_ROWS = 3 +MIN_MODEL_VERSION_SIGNAL_SAMPLE = 3 + ERROR_TYPES = { "technical_false_breakout", "overbought_signal_ignored", @@ -86,10 +95,17 @@ class LearningLoopService: self.memory = StrategyMemoryService() self.model_scores = ModelScoreService() - def run_batch(self, db: Session, batch_size: int | None = None, trigger: str = "manual") -> dict: + def run_batch( + self, + db: Session, + batch_size: int | None = None, + trigger: str = "manual", + sniper_simulation_limit: int | None = None, + ) -> dict: requested_batch = int(batch_size or settings.learning_batch_size) - batch = max(1, min(requested_batch, settings.learning_batch_size, 500)) - daily_guard = self.daily_guard(db, batch) + configured_batch = max(1, min(requested_batch, settings.learning_batch_size, 500)) + daily_guard = self.daily_guard(db, configured_batch) + batch = max(1, int(daily_guard.get("effective_batch", configured_batch) or configured_batch)) run_id = f"learn-{datetime.utcnow().strftime('%Y%m%d%H%M%S')}-{uuid4().hex[:8]}" run = LearningRun( run_id=run_id, @@ -104,26 +120,26 @@ class LearningLoopService: db.flush() if not daily_guard["allowed"]: - run.status = "skipped" + run.status = "budget_wait" run.completed_at = datetime.utcnow() - run.summary = {"reason": daily_guard["reason"], "requested_batch_size": requested_batch} + run.summary = {"reason": daily_guard["reason"], "requested_batch_size": requested_batch, "daily_guard": daily_guard} event = LearningEvent( - event_type="blum_learning_loop_skipped", + event_type="blum_learning_loop_budget_wait", severity="Warning", - title="BLUM Learning Loop skipped by daily guard", + title="BLUM Learning Loop waiting for daily budget", description=daily_guard["reason"], payload={"run_id": run_id, "guard": daily_guard}, ) db.add(event) db.commit() - return {"status": "skipped", "run_id": run_id, "guard": daily_guard} + return {"status": "budget_wait", "run_id": run_id, "guard": daily_guard} reports: list[dict] = [] errors: list[dict] = [] seen_samples: set[tuple[str, str]] = set() for _ in range(batch): try: - sample = self.sampler.random_sample(db, seen_samples=seen_samples) + sample = self.sampler.blended_sample(db, seen_samples=seen_samples, trigger=trigger) if not sample: errors.append({"stage": "sample", "error": "No eligible historical sample found."}) continue @@ -135,9 +151,16 @@ class LearningLoopService: sniper_learning = {"status": "skipped", "reason": "No reports created."} if reports: try: - from app.services.market_sniper import MarketSniperEngine - - sniper_learning = MarketSniperEngine().simulate(db, limit=min(300, max(60, len(reports) * len(TIMEFRAMES) * 6))) + limit = sniper_simulation_limit if sniper_simulation_limit is not None else min(300, max(60, len(reports) * len(TIMEFRAMES) * 6)) + if limit > 0: + from app.services.market_sniper import MarketSniperEngine + + sniper_learning = MarketSniperEngine().simulate(db, limit=limit) + else: + sniper_learning = { + "status": "deferred", + "reason": "Sniper R-multiple simulation is deferred for this bounded learning lane.", + } except Exception as exc: sniper_learning = {"status": "degraded", "error": f"{type(exc).__name__}: {exc}"} @@ -156,6 +179,7 @@ class LearningLoopService: "latest_reports": reports[-5:], "dashboard_metrics": metrics, "model_version": model_version, + "learning_mode": "alpha_loss_replay" if trigger == "alpha_loss_replay" else "random_point_in_time", "market_sniper_learning": sniper_learning, } run.anti_overfitting_report = anti_overfitting @@ -174,10 +198,13 @@ class LearningLoopService: "status": run.status, "run_id": run_id, "batch_size": batch, + "requested_batch_size": requested_batch, + "daily_guard": daily_guard, "reports_created": len(reports), "errors": errors[:8], "metrics": metrics, "model_version": model_version, + "learning_mode": "alpha_loss_replay" if trigger == "alpha_loss_replay" else "random_point_in_time", "market_sniper_learning": sniper_learning, "anti_overfitting": anti_overfitting, "disclaimer": "Research learning loop only. It improves calibration and robustness; it does not create guaranteed market predictions.", @@ -187,7 +214,12 @@ class LearningLoopService: context = self.point_in_time.context_for(db, sample["asset"], sample["analysis_date"]) prediction_context = dict(context) prediction_context.pop("future_prices", None) - prediction_payload = self.predictor.predict(prediction_context) + sample_metadata = dict(sample) + sample_metadata["run_trigger"] = run.trigger + sample_metadata["evaluation_mode"] = run.evaluation_mode + sample_metadata["learning_mode_metadata"] = learning_mode_metadata(run.trigger, sample_metadata) + prediction_payload = self.predictor.predict(prediction_context, db=db, sample_metadata=sample_metadata) + feedback_payload = prediction_payload.get("feedback_loop", {}) prediction = HistoricalPrediction( learning_run_id=run.id, asset_id=sample["asset"].id, @@ -203,7 +235,12 @@ class LearningLoopService: point_in_time_context=json_safe(context), expected_direction=prediction_payload["prediction"]["dominant_direction"], confidence=prediction_payload["prediction"]["aggregate_confidence"], - model_version="blum-learning-loop-v1", + model_version=feedback_payload.get("model_version_used") or "base-static", + model_version_used=feedback_payload.get("model_version_used") or "base-static", + weights_used=json_safe(feedback_payload.get("weights_used") or {}), + learning_memory_used=json_safe(feedback_payload.get("learning_memory_used") or {}), + strategy_memory_used=json_safe(feedback_payload.get("strategy_memory_used") or {}), + research_priority_used=json_safe(feedback_payload.get("research_priority_used") or {}), data_quality_score=context["data_quality_score"], ) db.add(prediction) @@ -264,6 +301,7 @@ class LearningLoopService: memory_updates.extend(self.memory.update_from_outcome(db, context, frame_prediction, outcome_payload, analysis)) self.memory.update_signal_performance(db, context, prediction_payload, outcomes) + feedback_audit = FeedbackLoopAuditService().record(db, prediction, prediction_payload, outcomes, memory_updates) report = { "asset": prediction.ticker, "analysis_date": prediction.analysis_date.isoformat(), @@ -280,20 +318,35 @@ class LearningLoopService: "mistakes": mistakes, "lessons_learned": [item["lesson"] for item in memory_updates], "memory_updates": memory_updates, + "feedback_loop_audit": feedback_audit, } return json_safe(report) def daily_guard(self, db: Session, requested_batch: int) -> dict: start = datetime.combine(datetime.utcnow().date(), time.min) today_predictions = int(db.scalar(select(func.coalesce(func.sum(LearningRun.predictions_created), 0)).where(LearningRun.started_at >= start)) or 0) - projected = today_predictions + requested_batch - allowed = projected <= settings.learning_max_daily_runs + max_daily = max(0, int(settings.learning_max_daily_runs)) + remaining = max(0, max_daily - today_predictions) + effective_batch = min(max(1, requested_batch), remaining) if remaining else 0 + projected = today_predictions + effective_batch + allowed = effective_batch > 0 + partial = allowed and effective_batch < requested_batch return { "allowed": allowed, "today_predictions": today_predictions, "requested_batch": requested_batch, - "max_daily_runs": settings.learning_max_daily_runs, - "reason": "within daily limit" if allowed else "Learning max daily run guard prevents overfitting and excessive repeated sampling.", + "effective_batch": effective_batch, + "remaining_daily_budget": remaining, + "projected_predictions": projected, + "max_daily_runs": max_daily, + "partial_batch": partial, + "reason": ( + "within daily limit" + if allowed and not partial + else "partial batch: using remaining daily learning budget to keep training without overfitting" + if partial + else "daily learning budget exhausted; waiting for next UTC window instead of oversampling the same day" + ), } @@ -301,6 +354,92 @@ class HistoricalSamplerService: def __init__(self) -> None: self.rng = random.Random(self.seed()) + def blended_sample(self, db: Session, seen_samples: set[tuple[str, str]] | None = None, trigger: str = "manual") -> dict | None: + if trigger == "alpha_loss_replay": + return self.alpha_loss_sample(db, seen_samples=seen_samples) or self.random_sample(db, seen_samples=seen_samples) + roll = self.rng.random() + random_ratio = clamp_ratio(settings.learning_random_sample_ratio) + alpha_ratio = clamp_ratio(settings.learning_alpha_loss_sample_ratio) + factor_ratio = clamp_ratio(settings.learning_factor_focus_sample_ratio) + preservation_ratio = clamp_ratio(settings.learning_capital_preservation_sample_ratio) + total = max(0.01, random_ratio + alpha_ratio + factor_ratio + preservation_ratio) + random_cut = random_ratio / total + alpha_cut = random_cut + alpha_ratio / total + factor_cut = alpha_cut + factor_ratio / total + if roll < random_cut: + return self.random_sample(db, seen_samples=seen_samples) + if roll < alpha_cut: + return self.alpha_loss_sample(db, seen_samples=seen_samples) or self.random_sample(db, seen_samples=seen_samples) + if roll < factor_cut: + return self.focus_priority_sample(db, seen_samples=seen_samples) or self.random_sample(db, seen_samples=seen_samples) + return self.capital_preservation_sample(db, seen_samples=seen_samples) or self.random_sample(db, seen_samples=seen_samples) + + def alpha_loss_sample(self, db: Session, seen_samples: set[tuple[str, str]] | None = None) -> dict | None: + missed = db.scalars( + select(MissedWinner) + .order_by(desc(MissedWinner.benchmark_relative_return), desc(MissedWinner.created_at)) + .limit(120) + ).all() + for row in missed: + asset = db.scalar(select(Asset).where(Asset.ticker == row.ticker, Asset.is_active.is_(True)).limit(1)) + if not asset: + continue + sample = self.sample_for_asset(db, asset, preferred_date=as_date(row.decision_date), seen_samples=seen_samples) + if sample: + sample["sampling_reason"] = "alpha_loss_replay" + sample["missed_winner_id"] = row.id + sample["benchmark_relative_return"] = row.benchmark_relative_return + return sample + return None + + def focus_priority_sample(self, db: Session, seen_samples: set[tuple[str, str]] | None = None) -> dict | None: + priorities = db.scalars( + select(LearningFocusPriority) + .where(LearningFocusPriority.status.in_(["proposed", "active"])) + .order_by(desc(LearningFocusPriority.expected_learning_value), desc(LearningFocusPriority.created_at)) + .limit(80) + ).all() + for priority in priorities: + target = str(priority.target or "").upper() + asset = db.scalar(select(Asset).where(Asset.ticker == target, Asset.is_active.is_(True)).limit(1)) + if not asset: + asset = db.scalar(select(Asset).where(Asset.sector.ilike(priority.target), Asset.is_active.is_(True)).limit(1)) + if not asset: + linked_trade = db.scalar( + select(TradingGameTrade) + .where(TradingGameTrade.setup_type == priority.target) + .order_by(desc(TradingGameTrade.created_at)) + .limit(1) + ) + asset = db.scalar(select(Asset).where(Asset.ticker == linked_trade.ticker, Asset.is_active.is_(True)).limit(1)) if linked_trade else None + if not asset: + continue + sample = self.sample_for_asset(db, asset, preferred_date=None, seen_samples=seen_samples) + if sample: + sample["sampling_reason"] = "learning_focus_priority" + sample["learning_focus_priority_id"] = priority.id + sample["priority_type"] = priority.priority_type + return sample + return None + + def capital_preservation_sample(self, db: Session, seen_samples: set[tuple[str, str]] | None = None) -> dict | None: + rows = db.scalars( + select(CapitalPreservationAlpha) + .where(CapitalPreservationAlpha.missed_gain > CapitalPreservationAlpha.avoided_loss) + .order_by(desc(CapitalPreservationAlpha.missed_gain), desc(CapitalPreservationAlpha.created_at)) + .limit(80) + ).all() + for row in rows: + asset = db.scalar(select(Asset).where(Asset.ticker == row.ticker, Asset.is_active.is_(True)).limit(1)) + if not asset: + continue + sample = self.sample_for_asset(db, asset, preferred_date=as_date(row.decision_date), seen_samples=seen_samples) + if sample: + sample["sampling_reason"] = "capital_preservation_replay" + sample["capital_preservation_alpha_id"] = row.id + return sample + return None + def random_sample(self, db: Session, seen_samples: set[tuple[str, str]] | None = None) -> dict | None: universe = {item.strip().lower() for item in settings.learning_asset_universe.split(",") if item.strip()} asset_types = [] @@ -313,32 +452,37 @@ class HistoricalSamplerService: candidates = db.scalars(select(Asset).where(Asset.is_active.is_(True), Asset.asset_type.in_(asset_types))).all() self.rng.shuffle(candidates) - min_rows = max(252, settings.learning_min_history_years * 252) for asset in candidates: - stats = db.execute( - select(func.count(PriceHistory.id), func.min(PriceHistory.date), func.max(PriceHistory.date)).where(PriceHistory.asset_id == asset.id) - ).one() - count, first_date, last_date = int(stats[0] or 0), as_date(stats[1]), as_date(stats[2]) - if count < min_rows or not first_date or not last_date: + sample = self.sample_for_asset(db, asset, preferred_date=None, seen_samples=seen_samples) + if sample: + return sample + return None + + def sample_for_asset(self, db: Session, asset: Asset, preferred_date: date | None, seen_samples: set[tuple[str, str]] | None = None) -> dict | None: + min_rows = max(252, settings.learning_min_history_years * 252) + stats = db.execute( + select(func.count(PriceHistory.id), func.min(PriceHistory.date), func.max(PriceHistory.date)).where(PriceHistory.asset_id == asset.id) + ).one() + count, first_date, last_date = int(stats[0] or 0), as_date(stats[1]), as_date(stats[2]) + if count < min_rows or not first_date or not last_date: + return None + earliest = first_date + timedelta(days=max(365, settings.learning_min_history_years * 365)) + latest = last_date - timedelta(days=TIMEFRAMES["long"]["horizon_days"] * 2 + 30) + if earliest >= latest: + return None + preferred_candidates: list[date] = [] + if preferred_date and earliest <= preferred_date <= latest: + preferred_candidates.extend([preferred_date, preferred_date - timedelta(days=3), preferred_date + timedelta(days=3)]) + span = (latest - earliest).days + preferred_candidates.extend(earliest + timedelta(days=self.rng.randint(0, max(1, span))) for _ in range(8)) + for candidate_date in preferred_candidates: + analysis_date = nearest_trading_date(db, asset, max(earliest, min(candidate_date, latest)), latest) + if not analysis_date: continue - earliest = first_date + timedelta(days=max(365, settings.learning_min_history_years * 365)) - latest = last_date - timedelta(days=TIMEFRAMES["long"]["horizon_days"] * 2 + 30) - if earliest >= latest: + key = (asset.ticker, analysis_date.isoformat()) + if seen_samples and key in seen_samples: continue - span = (latest - earliest).days - for _ in range(8): - analysis_date = nearest_trading_date( - db, - asset, - earliest + timedelta(days=self.rng.randint(0, max(1, span))), - latest, - ) - if not analysis_date: - continue - key = (asset.ticker, analysis_date.isoformat()) - if seen_samples and key in seen_samples: - continue - return {"asset": asset, "analysis_date": analysis_date, "first_price_date": first_date, "last_price_date": last_date, "sample_rows": count} + return {"asset": asset, "analysis_date": analysis_date, "first_price_date": first_date, "last_price_date": last_date, "sample_rows": count} return None def seed(self) -> int: @@ -480,12 +624,18 @@ class PointInTimeDataService: class PredictionEngine: - def predict(self, context: dict) -> dict: + def predict(self, context: dict, db: Session | None = None, sample_metadata: dict | None = None) -> dict: technical = context["technical"] signal_scores = self.signal_scores(context) - aggregate_score = weighted_score(signal_scores, BASE_SIGNAL_WEIGHTS) + sample_metadata = sample_metadata or {} + feedback = self.feedback_context(db, context, signal_scores, sample_metadata) + weights_used = feedback["weights_used"] + aggregate_score = weighted_score(signal_scores, weights_used) dominant_direction = direction_from_score(aggregate_score, technical) - confidence = confidence_from_evidence(aggregate_score, context["data_quality_score"], context["market_context"], technical) + base_confidence = confidence_from_evidence(aggregate_score, context["data_quality_score"], context["market_context"], technical) + confidence = round(clamp(base_confidence + feedback["confidence_adjustment"], 15, 88), 1) + feedback["base_confidence"] = base_confidence + feedback["final_confidence"] = confidence timeframes = { timeframe: self.timeframe_prediction(timeframe, config, context, signal_scores, aggregate_score, dominant_direction, confidence) for timeframe, config in TIMEFRAMES.items() @@ -502,9 +652,68 @@ class PredictionEngine: "reasoning": self.reasoning(context, signal_scores, dominant_direction), }, "timeframes": timeframes, + "feedback_loop": feedback, + "model_version_used": feedback["model_version_used"], + "weights_used": weights_used, + "learning_memory_used": feedback["learning_memory_used"], + "strategy_memory_used": feedback["strategy_memory_used"], + "research_priority_used": feedback["research_priority_used"], + "learning_mode_metadata": feedback["learning_mode_metadata"], "anti_leakage": context["point_in_time_policy"], } + def feedback_context(self, db: Session | None, context: dict, signal_scores: dict, sample_metadata: dict) -> dict: + model_version_used, weights_used, weight_source = active_weight_context(db) + signal_memory = signal_performance_context(db, context, signal_scores) + strategy_memory = strategy_memory_context(db, context) + research_priority = research_priority_context(db, sample_metadata) + mode_metadata = sample_metadata.get("learning_mode_metadata") or learning_mode_metadata(sample_metadata.get("run_trigger"), sample_metadata) + confidence_adjustment = round( + clamp( + signal_memory["confidence_delta"] + strategy_memory["confidence_delta"] + research_priority.get("confidence_delta", 0.0), + -14.0, + 14.0, + ), + 2, + ) + return { + "model_version_used": model_version_used, + "weight_source": weight_source, + "weights_used": weights_used, + "learning_memory_used": { + "signal_performance": signal_memory["rows"], + "confidence_delta": signal_memory["confidence_delta"], + "policy": "SignalPerformance reliability changes confidence only when enough outcome evidence exists.", + }, + "strategy_memory_used": { + "rows": strategy_memory["rows"], + "confidence_delta": strategy_memory["confidence_delta"], + "policy": "StrategyMemory lessons modify confidence when their stored conditions match the current point-in-time setup.", + }, + "research_priority_used": research_priority, + "learning_mode_metadata": mode_metadata, + "confidence_adjustment": confidence_adjustment, + "policy": "PredictionEngine uses active learned weights when available; otherwise BASE_SIGNAL_WEIGHTS. Learning memory changes confidence, not source code.", + } + + def baseline_prediction(self, context: dict) -> dict: + signal_scores = self.signal_scores(context) + weights = normalize_weights(BASE_SIGNAL_WEIGHTS) + aggregate_score = weighted_score(signal_scores, weights) + direction = direction_from_score(aggregate_score, context["technical"]) + confidence = confidence_from_evidence(aggregate_score, context["data_quality_score"], context["market_context"], context["technical"]) + return { + "model_version_used": "base-static", + "weights_used": weights, + "aggregate_score": round(aggregate_score, 2), + "aggregate_confidence": confidence, + "dominant_direction": direction, + "actionability": feedback_actionability(direction, confidence, aggregate_score), + "confidence_adjustment": 0.0, + "memory_adjustment_used": False, + "policy": "Counterfactual baseline uses BASE_SIGNAL_WEIGHTS and ignores learned memory/confidence adjustments.", + } + def signal_scores(self, context: dict) -> dict: technical = context["technical"] indicators = technical.get("technical_indicators") or {} @@ -775,19 +984,43 @@ class StrategyMemoryService: class ModelScoreService: def recalculate(self, db: Session) -> dict: rows = db.scalars(select(SignalPerformance).order_by(desc(SignalPerformance.updated_at)).limit(600)).all() - if not rows: - return {"status": "insufficient_sample", "version": None} previous = active_model_version(db) + anti = self.anti_overfitting_report(db) + eligible_rows = [row for row in rows if int(row.sample_count or 0) >= MIN_MODEL_VERSION_SIGNAL_SAMPLE] + if ( + int(anti.get("sample_count", 0) or 0) < MIN_MODEL_VERSION_OUTCOMES + or len(eligible_rows) < MIN_MODEL_VERSION_SIGNAL_ROWS + ): + return { + "status": "insufficient_evidence", + "version": previous.version if previous else None, + "active_version": previous.version if previous else None, + "thresholds": { + "min_outcomes": MIN_MODEL_VERSION_OUTCOMES, + "min_signal_rows": MIN_MODEL_VERSION_SIGNAL_ROWS, + "min_signal_sample": MIN_MODEL_VERSION_SIGNAL_SAMPLE, + }, + "evidence": {"outcomes": anti.get("sample_count", 0), "eligible_signal_rows": len(eligible_rows)}, + "anti_overfitting": anti, + "policy": "No ModelVersion is created until enough outcome and signal reliability evidence exists.", + } previous_weights = previous.weights if previous else BASE_SIGNAL_WEIGHTS new_weights = dict(BASE_SIGNAL_WEIGHTS) for signal_name in new_weights: - matching = [row for row in rows if row.signal_name == signal_name and row.sample_count >= 3] + matching = [row for row in rows if row.signal_name == signal_name and row.sample_count >= MIN_MODEL_VERSION_SIGNAL_SAMPLE] if not matching: continue avg_reliability = mean(row.reliability_score for row in matching) new_weights[signal_name] = max(0.03, new_weights[signal_name] + (avg_reliability - 50) / 1000) new_weights = normalize_weights(new_weights) - anti = self.anti_overfitting_report(db) + if previous and max(abs(safe_float(new_weights.get(key)) - safe_float((previous.weights or {}).get(key))) for key in BASE_SIGNAL_WEIGHTS) < 0.001: + return { + "status": "stable", + "version": previous.version, + "weights": previous.weights, + "anti_overfitting": anti, + "policy": "No new ModelVersion created because learned weights did not materially change.", + } version = f"learning-{datetime.utcnow().strftime('%Y%m%d%H%M%S')}" row = ModelVersion( version=version, @@ -844,6 +1077,181 @@ class ModelScoreService: } +class FeedbackLoopAuditService: + def record( + self, + db: Session, + prediction: HistoricalPrediction, + prediction_payload: dict, + outcomes: list[dict], + memory_updates: list[dict], + ) -> dict: + feedback = prediction_payload.get("feedback_loop", {}) + usable = [row for row in outcomes if row.get("outcome_label") in {"correct", "wrong", "neutral"}] + correct = sum(1 for row in usable if row.get("outcome_label") == "correct") + wrong = sum(1 for row in usable if row.get("outcome_label") == "wrong") + returns = [safe_float(row.get("realized_return")) for row in usable if row.get("realized_return") is not None] + evidence_grade = "medium" if len(usable) >= 3 else "low" if usable else "insufficient" + learned = { + "memory_updates": memory_updates[:12], + "signal_performance_used": (feedback.get("learning_memory_used") or {}).get("signal_performance", []), + "strategy_memory_used": (feedback.get("strategy_memory_used") or {}).get("rows", []), + } + counterfactual = self.counterfactual_audit(prediction, prediction_payload, outcomes) + comparison = counterfactual.get("outcome_comparison", {}) + changed_decision = bool( + (counterfactual.get("differences") or {}).get("direction_changed") + or (counterfactual.get("differences") or {}).get("actionability_changed") + or safe_float((counterfactual.get("differences") or {}).get("score_delta")) != 0.0 + or safe_float((counterfactual.get("differences") or {}).get("confidence_delta")) != 0.0 + ) + improved = bool(comparison.get("improvement_detected")) + changes = { + "model_version_used": feedback.get("model_version_used"), + "weights_used": feedback.get("weights_used"), + "confidence_adjustment": feedback.get("confidence_adjustment"), + "base_confidence": feedback.get("base_confidence"), + "final_confidence": feedback.get("final_confidence"), + "research_priority_used": feedback.get("research_priority_used"), + "learning_mode_metadata": feedback.get("learning_mode_metadata"), + "counterfactual_audit": counterfactual, + } + decision = { + "prediction_id": prediction.id, + "ticker": prediction.ticker, + "analysis_date": iso(prediction.analysis_date), + "direction": prediction.expected_direction, + "confidence": prediction.confidence, + "aggregate_score": (prediction_payload.get("prediction") or {}).get("aggregate_score"), + "actionability": counterfactual.get("learned_prediction", {}).get("actionability"), + } + outcome_payload = { + "correct": correct, + "wrong": wrong, + "neutral": sum(1 for row in usable if row.get("outcome_label") == "neutral"), + "average_realized_return": round(mean(returns), 4) if returns else None, + "outcomes": {row.get("timeframe"): row.get("outcome_label") for row in outcomes}, + "baseline_direction_correct": comparison.get("baseline_direction_correct"), + "learned_direction_correct": comparison.get("learned_direction_correct"), + "baseline_actionability": comparison.get("baseline_actionability"), + "learned_actionability": comparison.get("learned_actionability"), + "baseline_would_trade": comparison.get("baseline_would_trade"), + "learned_would_trade": comparison.get("learned_would_trade"), + "avoided_loss": comparison.get("avoided_loss"), + "missed_gain": comparison.get("missed_gain"), + "improvement_reason": comparison.get("improvement_reason"), + } + summary = ( + f"{prediction.ticker} used {feedback.get('model_version_used', 'base-static')} with " + f"confidence adjustment {safe_float(feedback.get('confidence_adjustment')):.2f}; " + f"changed_decision={changed_decision}, improved={improved}. " + f"reason={comparison.get('improvement_reason', 'counterfactual_not_available')}." + ) + row = FeedbackLoopAudit( + prediction_id=prediction.id, + ticker=prediction.ticker, + model_version_used=feedback.get("model_version_used") or "base-static", + learned_knowledge_json=json_safe(learned), + changes_applied_json=json_safe(changes), + future_decision_json=json_safe(decision), + outcome_json=json_safe(outcome_payload), + improvement_detected=improved, + evidence_grade=evidence_grade, + summary=summary, + ) + db.add(row) + return { + "status": "recorded", + "prediction_id": prediction.id, + "model_version_used": row.model_version_used, + "what_was_learned": learned, + "what_changed": changes, + "future_decision_used_change": decision, + "counterfactual_audit": counterfactual, + "outcome": outcome_payload, + "improvement_detected": improved, + "evidence_grade": evidence_grade, + "summary": summary, + } + + def counterfactual_audit(self, prediction: HistoricalPrediction, prediction_payload: dict, outcomes: list[dict]) -> dict: + context = dict(prediction.point_in_time_context or {}) + context.pop("future_prices", None) + baseline = PredictionEngine().baseline_prediction(context) if context else {} + learned_prediction = prediction_payload.get("prediction") or {} + baseline_actionability = baseline.get("actionability") + learned_actionability = feedback_actionability( + learned_prediction.get("dominant_direction"), + learned_prediction.get("aggregate_confidence"), + learned_prediction.get("aggregate_score"), + ) + learned = { + "model_version_used": (prediction_payload.get("feedback_loop") or {}).get("model_version_used") or "base-static", + "weights_used": prediction_payload.get("weights_used") or {}, + "aggregate_score": learned_prediction.get("aggregate_score"), + "aggregate_confidence": learned_prediction.get("aggregate_confidence"), + "dominant_direction": learned_prediction.get("dominant_direction"), + "actionability": learned_actionability, + "confidence_adjustment": (prediction_payload.get("feedback_loop") or {}).get("confidence_adjustment", 0.0), + "memory_adjustment_used": bool((prediction_payload.get("feedback_loop") or {}).get("confidence_adjustment")), + } + baseline_correct = direction_correctness_summary(baseline.get("dominant_direction"), outcomes) + learned_correct = direction_correctness_summary(learned.get("dominant_direction"), outcomes) + baseline_would_trade = feedback_would_trade(baseline_actionability) + learned_would_trade = feedback_would_trade(learned_actionability) + returns = [safe_float(row.get("realized_return")) for row in outcomes if row.get("realized_return") is not None] + average_return = mean(returns) if returns else 0.0 + avoided_loss = round(abs(average_return), 4) if baseline_would_trade and not learned_would_trade and average_return < 0 else 0.0 + missed_gain = round(average_return, 4) if baseline_would_trade and not learned_would_trade and average_return > 0 else 0.0 + improvement_detected, improvement_reason = counterfactual_improvement_reason( + baseline_correct, + learned_correct, + baseline_would_trade, + learned_would_trade, + average_return, + avoided_loss, + missed_gain, + ) + comparison = { + "score_delta": round(safe_float(learned.get("aggregate_score")) - safe_float(baseline.get("aggregate_score")), 4), + "confidence_delta": round(safe_float(learned.get("aggregate_confidence")) - safe_float(baseline.get("aggregate_confidence")), 4), + "direction_changed": baseline.get("dominant_direction") != learned.get("dominant_direction"), + "actionability_changed": baseline_actionability != learned_actionability, + } + return { + "baseline_prediction": baseline, + "learned_prediction": learned, + "differences": comparison, + "outcome_comparison": { + "outcome_labels": {row.get("timeframe"): row.get("outcome_label") for row in outcomes}, + "realized_returns": {row.get("timeframe"): row.get("realized_return") for row in outcomes}, + "learned_direction": learned.get("dominant_direction"), + "baseline_direction": baseline.get("dominant_direction"), + "baseline_direction_correct": baseline_correct["direction_correct"], + "learned_direction_correct": learned_correct["direction_correct"], + "baseline_correct_count": baseline_correct["correct_count"], + "learned_correct_count": learned_correct["correct_count"], + "baseline_actionability": baseline_actionability, + "learned_actionability": learned_actionability, + "baseline_would_trade": baseline_would_trade, + "learned_would_trade": learned_would_trade, + "avoided_loss": avoided_loss, + "missed_gain": missed_gain, + "improvement_detected": improvement_detected, + "improvement_reason": improvement_reason, + "policy": "Outcome is observed after prediction persistence; baseline is recomputed only from point-in-time context.", + }, + } + + def report(self, db: Session, limit: int = 20) -> dict: + rows = db.scalars(select(FeedbackLoopAudit).order_by(desc(FeedbackLoopAudit.created_at)).limit(limit)).all() + return { + "status": "ready" if rows else "insufficient_evidence", + "rows": [serialize_feedback_audit(row) for row in rows], + "policy": "FeedbackLoopAudit is persisted by background learning runs and never computed by GET page render.", + } + + class LearningDashboardService: def dashboard(self, db: Session) -> dict: latest_run = db.scalar(select(LearningRun).order_by(desc(LearningRun.started_at)).limit(1)) @@ -866,6 +1274,7 @@ class LearningDashboardService: "strategy_memory": self.strategy_memory(db), "mistakes": self.mistake_summary(db), "model_versions": [serialize_model_version(row) for row in db.scalars(select(ModelVersion).order_by(desc(ModelVersion.created_at)).limit(8)).all()], + "feedback_loop_audit": FeedbackLoopAuditService().report(db, limit=8), "trading_game": trading_game, "policy": "BLUM Learning Loop optimizes calibration and robustness, not artificial 100% winrate.", } @@ -1302,6 +1711,227 @@ def active_model_version(db: Session) -> ModelVersion | None: return db.scalar(select(ModelVersion).where(ModelVersion.is_active.is_(True)).order_by(desc(ModelVersion.created_at)).limit(1)) +def active_weight_context(db: Session | None) -> tuple[str, dict, str]: + if db is not None: + row = active_model_version(db) + if row and isinstance(row.weights, dict) and row.weights: + return row.version, model_weights_with_fallback(row.weights), "active_model_version" + return "base-static", normalize_weights(BASE_SIGNAL_WEIGHTS), "base_signal_weights" + + +def learning_mode_metadata(trigger: str | None, sample_metadata: dict | None = None) -> dict: + sample_metadata = sample_metadata or {} + sampling_reason = sample_metadata.get("sampling_reason") or "random_point_in_time" + mode = "training_replay" if sampling_reason in {"alpha_loss_replay", "learning_focus_priority", "capital_preservation_replay"} or trigger == "alpha_loss_replay" else "walk_forward_validation" + if trigger == "paper_forward" or sample_metadata.get("mode") == "paper_forward": + mode = "paper_forward" + return { + "mode": mode, + "training_replay": mode == "training_replay", + "walk_forward_validation": mode == "walk_forward_validation", + "paper_forward": mode == "paper_forward", + "trigger": trigger or sample_metadata.get("run_trigger") or "unknown", + "sampling_reason": sampling_reason, + "evaluation_mode": sample_metadata.get("evaluation_mode") or settings.learning_evaluation_mode, + "policy": "Mode metadata is descriptive. It changes audit traceability, not source code or frontend execution.", + } + + +def feedback_actionability(direction: str | None, confidence: float | None, score: float | None = None) -> str: + confidence_value = safe_float(confidence) + score_value = safe_float(score) + if direction == "neutral" or confidence_value < 35: + return "watch" + if confidence_value >= 68 and direction in {"bullish", "bearish"} and abs(score_value - 50) >= 10: + return "active_setup" + if confidence_value >= 54 and direction in {"bullish", "bearish"}: + return "wait_for_trigger" + return "watch" + + +def feedback_would_trade(actionability: str | None) -> bool: + return actionability in {"active_setup", "wait_for_trigger", "actionable_if_confirmed"} + + +def direction_correctness_summary(direction: str | None, outcomes: list[dict]) -> dict: + rows = [row for row in outcomes if row.get("realized_return") is not None] + if not rows: + return {"direction_correct": None, "correct_count": 0, "wrong_count": 0, "sample_count": 0} + correct = sum(1 for row in rows if direction_matches_return(direction, safe_float(row.get("realized_return")))) + wrong = len(rows) - correct + return { + "direction_correct": correct > wrong, + "correct_count": correct, + "wrong_count": wrong, + "sample_count": len(rows), + } + + +def direction_matches_return(direction: str | None, realized_return: float) -> bool: + if direction == "bullish": + return realized_return > 0 + if direction == "bearish": + return realized_return < 0 + if direction == "neutral": + return abs(realized_return) <= 1.0 + return False + + +def counterfactual_improvement_reason( + baseline_correct: dict, + learned_correct: dict, + baseline_would_trade: bool, + learned_would_trade: bool, + average_return: float, + avoided_loss: float, + missed_gain: float, +) -> tuple[bool, str]: + baseline_count = int(baseline_correct.get("correct_count") or 0) + learned_count = int(learned_correct.get("correct_count") or 0) + if learned_count > baseline_count: + return True, "learned_direction_more_correct_than_baseline" + if learned_count < baseline_count: + return False, "learned_direction_less_correct_than_baseline" + if avoided_loss > 0: + return True, "learned_actionability_avoided_baseline_loss" + if missed_gain > 0: + return False, "learned_actionability_missed_baseline_gain" + if learned_would_trade and not baseline_would_trade and average_return > 0: + return True, "learned_actionability_captured_gain_baseline_would_skip" + if learned_would_trade and not baseline_would_trade and average_return < 0: + return False, "learned_actionability_entered_losing_trade_baseline_would_skip" + return False, "no_counterfactual_improvement_detected" + + +def model_weights_with_fallback(weights: dict) -> dict: + merged = dict(BASE_SIGNAL_WEIGHTS) + for key in BASE_SIGNAL_WEIGHTS: + if key in weights: + merged[key] = safe_float(weights.get(key)) if weights.get(key) is not None else BASE_SIGNAL_WEIGHTS[key] + return normalize_weights(merged) + + +def signal_performance_context(db: Session | None, context: dict, signal_scores: dict) -> dict: + if db is None or not signal_scores: + return {"rows": [], "confidence_delta": 0.0} + regime = context.get("market_context", {}).get("market_regime", "Unknown") + rows = db.scalars( + select(SignalPerformance) + .where(SignalPerformance.signal_name.in_(list(signal_scores.keys())), SignalPerformance.market_regime == regime) + .order_by(desc(SignalPerformance.sample_count), desc(SignalPerformance.updated_at)) + .limit(80) + ).all() + grouped: dict[str, list[SignalPerformance]] = defaultdict(list) + for row in rows: + grouped[row.signal_name].append(row) + payloads = [] + deltas = [] + for signal_name, signal_rows in grouped.items(): + sample_count = sum(int(row.sample_count or 0) for row in signal_rows) + reliability = mean(float(row.reliability_score or 50.0) for row in signal_rows) + false_positives = sum(int(row.false_positive_count or 0) for row in signal_rows) + false_positive_rate = false_positives / max(1, sample_count) + enough_evidence = sample_count >= MIN_MODEL_VERSION_SIGNAL_SAMPLE + delta = clamp((reliability - 50.0) / 8.0 - false_positive_rate * 4.0, -5.0, 5.0) if enough_evidence else 0.0 + payloads.append( + { + "signal_name": signal_name, + "market_regime": regime, + "sample_count": sample_count, + "reliability_score": round(reliability, 2), + "false_positive_rate": round(false_positive_rate, 4), + "signal_score": signal_scores.get(signal_name), + "confidence_delta": round(delta, 3), + "used": enough_evidence, + } + ) + if enough_evidence: + deltas.append(delta) + total_delta = clamp(sum(deltas) / max(1, len(deltas)) * 1.4, -8.0, 8.0) if deltas else 0.0 + return {"rows": payloads[:16], "confidence_delta": round(total_delta, 3)} + + +def strategy_memory_context(db: Session | None, context: dict) -> dict: + if db is None: + return {"rows": [], "confidence_delta": 0.0} + rows = db.scalars(select(StrategyMemory).order_by(desc(StrategyMemory.reliability_score), desc(StrategyMemory.updated_at)).limit(120)).all() + applicable = [] + deltas = [] + for row in rows: + if not strategy_memory_matches(row, context): + continue + sample_count = int(row.sample_count or 0) + enough_evidence = sample_count >= 3 + positive = int(row.positive_count or 0) + negative = int(row.negative_count or 0) + reliability = safe_float(row.reliability_score) if row.reliability_score is not None else 50.0 + delta = clamp((reliability - 50.0) / 10.0, -4.0, 4.0) if enough_evidence else 0.0 + if negative > positive and enough_evidence: + delta = min(delta, -1.5) + applicable.append( + { + "memory_key": row.memory_key, + "category": row.category, + "lesson": row.lesson, + "sample_count": sample_count, + "positive_count": positive, + "negative_count": negative, + "reliability_score": reliability, + "confidence_delta": round(delta, 3), + "used": enough_evidence, + } + ) + if enough_evidence: + deltas.append(delta) + total_delta = clamp(sum(deltas), -6.0, 6.0) if deltas else 0.0 + return {"rows": applicable[:12], "confidence_delta": round(total_delta, 3)} + + +def strategy_memory_matches(row: StrategyMemory, context: dict) -> bool: + conditions = row.conditions or {} + technical = context.get("technical") or {} + indicators = technical.get("technical_indicators") or {} + volume = technical.get("volume") or {} + fundamentals = context.get("fundamentals") or {} + if "rsi_gt" in conditions and safe_float(indicators.get("rsi")) > safe_float(conditions.get("rsi_gt")): + return True + if "relative_volume_gt" in conditions and safe_float(volume.get("relative_volume")) > safe_float(conditions.get("relative_volume_gt")): + return True + if conditions.get("fundamentals") == "not_point_in_time_verified" and fundamentals.get("status") != "ready": + return True + if row.category in {"general_calibration", "volume_confirmation"}: + return True + return False + + +def research_priority_context(db: Session | None, sample_metadata: dict) -> dict: + priority_id = sample_metadata.get("learning_focus_priority_id") + if db is not None and priority_id: + row = db.get(LearningFocusPriority, priority_id) + if row: + return { + "status": "used", + "id": row.id, + "priority_type": row.priority_type, + "target": row.target, + "reason": row.reason, + "expected_learning_value": row.expected_learning_value, + "urgency": row.urgency, + "sample_gap": row.sample_gap, + "sampling_reason": sample_metadata.get("sampling_reason"), + "confidence_delta": 0.0, + } + if sample_metadata.get("sampling_reason"): + return { + "status": "used", + "sampling_reason": sample_metadata.get("sampling_reason"), + "priority_type": sample_metadata.get("priority_type"), + "missed_winner_id": sample_metadata.get("missed_winner_id"), + "confidence_delta": 0.0, + } + return {"status": "not_applicable", "confidence_delta": 0.0} + + def normalize_weights(weights: dict[str, float]) -> dict[str, float]: total = sum(max(0.0, float(value)) for value in weights.values()) or 1.0 return {key: round(max(0.0, float(value)) / total, 4) for key, value in weights.items()} @@ -1372,6 +2002,11 @@ def serialize_prediction(row: HistoricalPrediction) -> dict: "market_regime": row.market_regime, "volatility_regime": row.volatility_regime, "data_quality_score": row.data_quality_score, + "model_version_used": row.model_version_used, + "weights_used": row.weights_used, + "learning_memory_used": row.learning_memory_used, + "strategy_memory_used": row.strategy_memory_used, + "research_priority_used": row.research_priority_used, "prediction": row.prediction_payload.get("prediction", {}) if row.prediction_payload else {}, "timeframes": row.prediction_payload.get("timeframes", {}) if row.prediction_payload else {}, "created_at": iso(row.created_at), @@ -1423,6 +2058,24 @@ def serialize_model_version(row: ModelVersion) -> dict: } +def serialize_feedback_audit(row: FeedbackLoopAudit) -> dict: + return { + "id": row.id, + "prediction_id": row.prediction_id, + "ticker": row.ticker, + "model_version_used": row.model_version_used, + "what_was_learned": row.learned_knowledge_json, + "what_changed": row.changes_applied_json, + "counterfactual_audit": (row.changes_applied_json or {}).get("counterfactual_audit"), + "future_decision_used_change": row.future_decision_json, + "outcome": row.outcome_json, + "improvement_detected": row.improvement_detected, + "evidence_grade": row.evidence_grade, + "summary": row.summary, + "created_at": iso(row.created_at), + } + + def fundamental_reason(fundamentals: dict) -> str: if fundamentals.get("status") == "ready": return f"Point-in-time verified fundamentals available with quality score {fundamentals.get('quality_score')}." @@ -1509,6 +2162,10 @@ def clamp(value: float, low: float = 0.0, high: float = 100.0) -> float: return max(low, min(high, float(value))) +def clamp_ratio(value: float) -> float: + return max(0.0, min(1.0, safe_float(value))) + + def round_float(value) -> float | None: return round(safe_float(value), 4) if value is not None else None diff --git a/backend/app/services/learning_summary.py b/backend/app/services/learning_summary.py index 261c61c892326ece96a71477adab490ece8da60d..b59eda124ad88f9a01934362b8a2d2a20c0bac10 100644 --- a/backend/app/services/learning_summary.py +++ b/backend/app/services/learning_summary.py @@ -3,16 +3,23 @@ from __future__ import annotations from datetime import datetime import time -from sqlalchemy import desc, select +from sqlalchemy import desc, inspect, select from sqlalchemy.orm import Session from app.models import ( BlumTradingPowerScore, DashboardSnapshot, + CapitalPreservationAlpha, LearningBenchmarkComparison, + LearningFactorImportance, + LearningFocusPriority, LearningRun, + LearningStrengthWeaknessMap, + ReasoningNoiseFlag, TradingCapitalCycle, TradingGame, + TradingIntelligenceMetric, + TradeLearningEvidence, ) from app.services.dashboard_snapshots import DashboardSnapshotService from app.services.performance import performance_recorder @@ -30,6 +37,21 @@ class LearningSummaryService: started = time.perf_counter() missing_sections: list[str] = [] warnings: list[str] = [] + snapshot_types = [ + "learning_summary", + "trading_game_summary", + "benchmark_summary", + "intelligence_growth_summary", + "truth_panel_summary", + "meta_cognition_summary", + ] + snapshots = {snapshot_type: DashboardSnapshotService().latest(db, snapshot_type) for snapshot_type in snapshot_types} + stale_snapshots = [snapshot_type for snapshot_type, payload in snapshots.items() if payload.get("status") == "stale"] + missing_snapshots = [snapshot_type for snapshot_type, payload in snapshots.items() if payload.get("status") == "missing"] + if stale_snapshots: + warnings.append(f"Using stale dashboard snapshots for: {', '.join(stale_snapshots)}.") + if missing_snapshots: + warnings.append(f"Dashboard snapshots not available yet for: {', '.join(missing_snapshots)}.") power = db.scalar(select(BlumTradingPowerScore).order_by(desc(BlumTradingPowerScore.calculated_at)).limit(1)) if power is None: @@ -54,35 +76,63 @@ class LearningSummaryService: if latest_run is None: missing_sections.append("latest_learning_run") + latest_metric = db.scalar(select(TradingIntelligenceMetric).order_by(desc(TradingIntelligenceMetric.calculated_at)).limit(1)) + if latest_metric is None: + missing_sections.append("trading_intelligence_metrics") + + top_weakness = db.scalar(select(LearningStrengthWeaknessMap).order_by(desc(LearningStrengthWeaknessMap.weakness_score), desc(LearningStrengthWeaknessMap.calculated_at)).limit(1)) + latest_lesson = db.scalar(select(TradeLearningEvidence).order_by(desc(TradeLearningEvidence.created_at)).limit(1)) + benchmarks = list(db.scalars(select(LearningBenchmarkComparison).order_by(desc(LearningBenchmarkComparison.calculated_at)).limit(24)).all()) benchmark_summary = summarize_benchmarks(benchmarks) if not benchmarks: missing_sections.append("benchmark_summary") live_snapshot = DashboardSnapshotService().latest(db, "live_vs_historical_summary") + meta_snapshot = snapshots.get("meta_cognition_summary") or {} if live_snapshot["status"] == "missing": warnings.append("Live vs historical summary snapshot is missing.") + if meta_snapshot.get("status") == "missing": + warnings.append("Meta-Cognition summary snapshot is missing.") current_capital = getattr(current_cycle, "final_capital", None) if current_cycle else getattr(game, "current_capital", None) target_capital = getattr(current_cycle, "target_capital", None) if current_cycle else getattr(game, "target_capital", None) target_progress = safe_progress(current_capital, target_capital) + current_cycle_payload = serialize_cycle(current_cycle) truth_panel_lines = build_truth_panel(power, benchmark_summary, warnings, benchmarks) + truth_snapshot = snapshots.get("truth_panel_summary", {}) + truth_snapshot_payload = truth_snapshot.get("payload") or {} + if truth_snapshot_payload.get("truth_panel"): + truth_panel_lines = truth_snapshot_payload["truth_panel"] + last_snapshot_timestamp = latest_snapshot_timestamp(snapshots) + backend_training_status = training_status(latest_run, snapshots) payload = { "status": "initializing" if missing_sections else "ready", "generated_at": datetime.utcnow().isoformat(), "summary_duration_ms": round((time.perf_counter() - started) * 1000, 3), + "learning_loop_status": getattr(latest_run, "status", None) or "not_started", "trading_power_score": power.score if power else None, "trading_power_classification": power.classification if power else "initializing", + "current_capital_cycle": current_cycle_payload, "current_capital": current_capital, "target_capital": target_capital, "target_progress": target_progress, + "win_rate": first_not_none(getattr(latest_metric, "win_rate", None), getattr(game, "win_rate", None)), + "expectancy_r": first_not_none(getattr(latest_metric, "expectancy_r", None), getattr(current_cycle, "expectancy_r", None), getattr(game, "expectancy_r", None)), "completed_target_cycles": getattr(game, "target_cycles_completed", 0) if game else 0, "bankrupt_cycles": getattr(game, "bankrupt_cycles", 0) if game else 0, "latest_learning_run_status": getattr(latest_run, "status", None) or "not_started", "latest_learning_run_at": latest_run.started_at.isoformat() if latest_run and latest_run.started_at else None, "benchmark_summary": benchmark_summary, "live_vs_historical_summary": live_snapshot, + "live_vs_historical_status": live_snapshot.get("status", "missing"), + "top_weakness": serialize_weakness(top_weakness), + "latest_lesson_learned": serialize_lesson(latest_lesson), "truth_panel": truth_panel_lines, + "what_blum_should_learn_next": what_blum_should_learn_next(db, meta_snapshot), + "backend_training_status": backend_training_status, + "last_snapshot_timestamp": last_snapshot_timestamp, + "snapshots": summarize_snapshots(snapshots), "warnings": warnings, "missing_sections": missing_sections, "data_freshness": { @@ -90,13 +140,15 @@ class LearningSummaryService: "game_updated_at": game.updated_at.isoformat() if game and game.updated_at else None, "learning_run_started_at": latest_run.started_at.isoformat() if latest_run and latest_run.started_at else None, "benchmark_calculated_at": max((row.calculated_at for row in benchmarks if row.calculated_at), default=None).isoformat() if benchmarks else None, + "trading_intelligence_calculated_at": latest_metric.calculated_at.isoformat() if latest_metric and latest_metric.calculated_at else None, + "last_snapshot_timestamp": last_snapshot_timestamp, }, - "is_recalculation_running": False, + "is_recalculation_running": backend_training_status["is_recalculation_running"], "suggested_next_step": "Use background workers or explicit recalculation buttons to refresh missing summaries." if missing_sections else "Summary is ready.", "performance": { "budget_ms": 300, "duration_ms": round((time.perf_counter() - started) * 1000, 3), - "source": "latest_precomputed_rows_only", + "source": "snapshots_first_latest_precomputed_rows_only", }, } performance_recorder.record_dashboard_widget( @@ -150,6 +202,160 @@ def build_truth_panel(power: BlumTradingPowerScore | None, benchmark_summary: di return output[:7] +def what_blum_should_learn_next(db: Session, meta_snapshot: dict) -> dict: + snapshot_payload = meta_snapshot.get("payload") or {} + if snapshot_payload: + return { + "status": meta_snapshot.get("status", "ready"), + "top_alpha_creating_factor": compact_factor(snapshot_payload.get("top_alpha_factor")), + "top_alpha_destroying_factor": compact_factor(snapshot_payload.get("top_alpha_destroyer")), + "noisiest_factor": compact_factor(snapshot_payload.get("noisiest_factor")), + "most_undervalued_factor": compact_factor(snapshot_payload.get("most_undervalued_factor")), + "strongest_capital_preservation_rule": compact_preservation(snapshot_payload.get("strongest_capital_preservation_rule")), + "weakest_current_module": compact_noise(snapshot_payload.get("weakest_current_module")), + "next_learning_focus": compact_focus(snapshot_payload.get("next_learning_focus")), + "conclusion": snapshot_payload.get("meta_cognition_conclusion", {}).get("summary") or "Meta-Cognition snapshot available.", + "source": "snapshot", + } + if not all(table_exists(db, model.__tablename__) for model in [LearningFactorImportance, LearningFocusPriority, ReasoningNoiseFlag, CapitalPreservationAlpha]): + return { + "status": "missing", + "top_alpha_creating_factor": None, + "top_alpha_destroying_factor": None, + "noisiest_factor": None, + "most_undervalued_factor": None, + "strongest_capital_preservation_rule": None, + "weakest_current_module": None, + "next_learning_focus": None, + "conclusion": "Meta-Cognition tables are not available yet; showing the rest of the Learning snapshot without recalculation.", + "source": "schema_not_ready", + } + factor_rows = db.scalars(select(LearningFactorImportance).order_by(desc(LearningFactorImportance.calculated_at)).limit(40)).all() + focus = db.scalar( + select(LearningFocusPriority) + .where(LearningFocusPriority.status.in_(["proposed", "active"])) + .order_by(desc(LearningFocusPriority.expected_learning_value), desc(LearningFocusPriority.created_at)) + .limit(1) + ) + noise = db.scalar(select(ReasoningNoiseFlag).where(ReasoningNoiseFlag.status == "open").order_by(desc(ReasoningNoiseFlag.created_at)).limit(1)) + preservation = db.scalar(select(CapitalPreservationAlpha).order_by(desc(CapitalPreservationAlpha.capital_preserved), desc(CapitalPreservationAlpha.created_at)).limit(1)) + top_alpha = max(factor_rows, key=lambda row: row.alpha_contribution, default=None) + top_loss = max(factor_rows, key=lambda row: row.alpha_loss_contribution, default=None) + noisiest = max(factor_rows, key=lambda row: row.noise_score, default=None) + undervalued = max(factor_rows, key=lambda row: row.undervaluation_score, default=None) + return { + "status": "ready" if factor_rows or focus or noise or preservation else "missing", + "top_alpha_creating_factor": compact_factor_obj(top_alpha), + "top_alpha_destroying_factor": compact_factor_obj(top_loss), + "noisiest_factor": compact_factor_obj(noisiest), + "most_undervalued_factor": compact_factor_obj(undervalued), + "strongest_capital_preservation_rule": compact_preservation_obj(preservation), + "weakest_current_module": compact_noise_obj(noise), + "next_learning_focus": compact_focus_obj(focus), + "conclusion": "Meta-Cognition snapshot missing; showing latest stored evidence only." if factor_rows else "Meta-Cognition evidence is not available yet.", + "source": "latest_rows_no_recalculation", + } + + +def table_exists(db: Session, table_name: str) -> bool: + try: + return inspect(db.get_bind()).has_table(table_name) + except Exception: + return False + + +def compact_factor(item: dict | None) -> dict | None: + if not item: + return None + return { + "factor_name": item.get("factor_name"), + "sample_size": item.get("sample_size"), + "confidence": item.get("confidence"), + "recommended_weight_action": item.get("recommended_weight_action"), + "alpha_contribution": item.get("alpha_contribution"), + "alpha_loss_contribution": item.get("alpha_loss_contribution"), + "noise_score": item.get("noise_score"), + } + + +def compact_factor_obj(row: LearningFactorImportance | None) -> dict | None: + return compact_factor({ + "factor_name": row.factor_name, + "sample_size": row.sample_size, + "confidence": row.confidence, + "recommended_weight_action": row.recommended_weight_action, + "alpha_contribution": row.alpha_contribution, + "alpha_loss_contribution": row.alpha_loss_contribution, + "noise_score": row.noise_score, + }) if row else None + + +def compact_focus(item: dict | None) -> dict | None: + if not item: + return None + return { + "priority_type": item.get("priority_type"), + "target": item.get("target"), + "expected_learning_value": item.get("expected_learning_value"), + "urgency": item.get("urgency"), + "reason": item.get("reason"), + } + + +def compact_focus_obj(row: LearningFocusPriority | None) -> dict | None: + return compact_focus({ + "priority_type": row.priority_type, + "target": row.target, + "expected_learning_value": row.expected_learning_value, + "urgency": row.urgency, + "reason": row.reason, + }) if row else None + + +def compact_preservation(item: dict | None) -> dict | None: + if not item: + return None + return { + "ticker": item.get("ticker"), + "setup_type": item.get("setup_type"), + "capital_preserved": item.get("capital_preserved"), + "opportunity_cost": item.get("opportunity_cost"), + "quality_score": item.get("quality_score"), + } + + +def compact_preservation_obj(row: CapitalPreservationAlpha | None) -> dict | None: + return compact_preservation({ + "ticker": row.ticker, + "setup_type": row.setup_type, + "capital_preserved": row.capital_preserved, + "opportunity_cost": row.opportunity_cost, + "quality_score": row.quality_score, + }) if row else None + + +def compact_noise(item: dict | None) -> dict | None: + if not item: + return None + return { + "factor_name": item.get("factor_name"), + "module_name": item.get("module_name"), + "noise_type": item.get("noise_type"), + "severity": item.get("severity"), + "recommended_action": item.get("recommended_action"), + } + + +def compact_noise_obj(row: ReasoningNoiseFlag | None) -> dict | None: + return compact_noise({ + "factor_name": row.factor_name, + "module_name": row.module_name, + "noise_type": row.noise_type, + "severity": row.severity, + "recommended_action": row.recommended_action, + }) if row else None + + def safe_progress(capital: float | None, target: float | None) -> float | None: if capital is None or target is None or target <= 0: return None @@ -158,3 +364,98 @@ def safe_progress(capital: float | None, target: float | None) -> float | None: def format_number(value: float | None) -> str: return "n/a" if value is None else f"{value:.2f}" + + +def first_not_none(*values): + for value in values: + if value is not None: + return value + return None + + +def serialize_cycle(row: TradingCapitalCycle | None) -> dict | None: + if row is None: + return None + return { + "id": row.id, + "cycle_number": row.cycle_number, + "status": row.status, + "started_at": row.started_at.isoformat() if row.started_at else None, + "ended_at": row.ended_at.isoformat() if row.ended_at else None, + "start_capital": row.start_capital, + "target_capital": row.target_capital, + "final_capital": row.final_capital, + "trades_count": row.trades_count, + "wins": row.wins, + "losses": row.losses, + "missed_entries": row.missed_entries, + "target_hits": row.target_hits, + "stop_hits": row.stop_hits, + "expectancy_r": row.expectancy_r, + "excess_return_vs_benchmark": row.excess_return_vs_benchmark, + "updated_at": row.updated_at.isoformat() if row.updated_at else None, + } + + +def serialize_weakness(row: LearningStrengthWeaknessMap | None) -> dict | None: + if row is None: + return None + return { + "dimension": row.dimension, + "entity": row.entity, + "weakness_score": row.weakness_score, + "strength_score": row.strength_score, + "sample_size": row.sample_size, + "main_problem": row.main_problem, + "recommended_action": row.recommended_action, + "priority": row.priority, + "calculated_at": row.calculated_at.isoformat() if row.calculated_at else None, + } + + +def serialize_lesson(row: TradeLearningEvidence | None) -> dict | None: + if row is None: + return None + return { + "ticker": row.ticker, + "setup_type": row.setup_type, + "lesson_type": row.lesson_type, + "observation": row.observation, + "sample_size": row.sample_size, + "affected_module": row.affected_module, + "confidence": row.confidence, + "created_at": row.created_at.isoformat() if row.created_at else None, + } + + +def summarize_snapshots(snapshots: dict[str, dict]) -> dict: + output = {} + for snapshot_type, payload in snapshots.items(): + output[snapshot_type] = { + "status": payload.get("status"), + "created_at": payload.get("created_at"), + "expires_at": payload.get("expires_at"), + "is_stale": payload.get("is_stale"), + "warnings": payload.get("warnings") or ([payload.get("warning")] if payload.get("warning") else []), + } + return output + + +def latest_snapshot_timestamp(snapshots: dict[str, dict]) -> str | None: + timestamps = [payload.get("created_at") for payload in snapshots.values() if payload.get("created_at")] + return max(timestamps) if timestamps else None + + +def training_status(latest_run: LearningRun | None, snapshots: dict[str, dict]) -> dict: + running_statuses = {"running", "queued", "processing", "in_progress"} + status = getattr(latest_run, "status", None) or "not_started" + running = status in running_statuses + stale_count = sum(1 for payload in snapshots.values() if payload.get("status") == "stale") + return { + "mode": "backend_scheduler_independent", + "status": "running" if running else status, + "is_recalculation_running": running, + "frontend_policy": "read_only_snapshot_observer", + "stale_snapshot_count": stale_count, + "latest_run_id": getattr(latest_run, "run_id", None), + } diff --git a/backend/app/services/performance.py b/backend/app/services/performance.py index 16aa93d827ca2379026309dfd002e72b1a4b1baa..2ca05b981f7485860f1f6cc606206b1bc4a32ce1 100644 --- a/backend/app/services/performance.py +++ b/backend/app/services/performance.py @@ -424,7 +424,12 @@ def top_bottlenecks(api_events: list[dict[str, Any]], db_events: list[dict[str, def learning_page_load_summary(api_events: list[dict[str, Any]], widget_events: list[dict[str, Any]], frontend_widget_events: list[dict[str, Any]]) -> dict[str, Any]: - frontend_api_events = [event for event in frontend_widget_events if str(event.get("name", "")).startswith("frontend.api.")] + all_frontend_api_events = [event for event in frontend_widget_events if str(event.get("name", "")).startswith("frontend.api.")] + frontend_api_events = [ + event for event in all_frontend_api_events + if str((event.get("metadata") or {}).get("route") or "").startswith("/learning") + and bool((event.get("metadata") or {}).get("initial_learning_window")) + ] status_counts: dict[str, int] = defaultdict(int) for event in frontend_api_events: status_counts[str((event.get("metadata") or {}).get("status") or "unknown")] += 1 @@ -450,6 +455,7 @@ def learning_page_load_summary(api_events: list[dict[str, Any]], widget_events: ] return { "frontend_request_count": len(frontend_api_events), + "unscoped_frontend_request_count": len(all_frontend_api_events), "duplicate_request_count": status_counts.get("deduped", 0), "cache_hit_count": status_counts.get("cache_hit", 0) + status_counts.get("cache", 0), "status_counts": dict(status_counts), diff --git a/backend/app/services/trade_transparency.py b/backend/app/services/trade_transparency.py index efb66999210d5c7a05ecb96b8fab01e0e230af2b..4efb9f766eccbe28dafa5273ec16d143edfc9517 100644 --- a/backend/app/services/trade_transparency.py +++ b/backend/app/services/trade_transparency.py @@ -51,41 +51,79 @@ class TradeLedgerService: limit: int = 200, offset: int = 0, refresh: bool = True, + use_snapshot: bool = True, + include_trace: bool = False, ) -> dict: + if use_snapshot and self._can_use_ledger_snapshot( + ticker=ticker, + setup_type=setup_type, + outcome_label=outcome_label, + start_date=start_date, + end_date=end_date, + min_r=min_r, + max_r=max_r, + only_open=only_open, + only_closed=only_closed, + sort_by=sort_by, + ): + from app.services.trading_game_runtime import TradingGameRuntimeSnapshotService + + snapshot_payload = TradingGameRuntimeSnapshotService().ledger_from_snapshot(db, game_id=game_id, limit=limit, offset=offset) + if snapshot_payload is not None: + return snapshot_payload game = self.game(db, game_id) if not game: return {"status": "no_game", "rows": [], "summary": {}, "policy": TRANSPARENCY_POLICY} + from app.services.trading_game_runtime import RuntimeTrace, payload_size_bytes + + trace = RuntimeTrace("trading_game_ledger_live_read") if refresh: - self.refresh_game_transparency(db, game, commit=False, persist_reality=False) - query = select(TradingGameTrade).where(TradingGameTrade.game_id == game.id) - if ticker: - query = query.where(TradingGameTrade.ticker == ticker.upper()) - if setup_type: - query = query.where(TradingGameTrade.setup_type == setup_type) - if outcome_label: - query = query.where(TradingGameTrade.outcome_label == outcome_label) - parsed_start = parse_date(start_date) - parsed_end = parse_date(end_date) - if parsed_start: - query = query.where(TradingGameTrade.entry_date >= parsed_start) - if parsed_end: - query = query.where(TradingGameTrade.entry_date <= parsed_end) - if min_r is not None: - query = query.where(TradingGameTrade.realized_r_multiple >= min_r) - if max_r is not None: - query = query.where(TradingGameTrade.realized_r_multiple <= max_r) - if only_open: - query = query.where(TradingGameTrade.exit_date.is_(None)) - if only_closed: - query = query.where(TradingGameTrade.exit_date.is_not(None)) - total = int(db.scalar(select(func.count()).select_from(query.subquery())) or 0) - query = order_trade_query(query, sort_by).limit(limit).offset(offset) - rows = db.scalars(query).all() - return { + with trace.phase("refresh_transparency"): + self.refresh_game_transparency(db, game, commit=False, persist_reality=False) + with trace.phase("base_trade_query"): + query = select(TradingGameTrade).where(TradingGameTrade.game_id == game.id) + if ticker: + query = query.where(TradingGameTrade.ticker == ticker.upper()) + if setup_type: + query = query.where(TradingGameTrade.setup_type == setup_type) + if outcome_label: + query = query.where(TradingGameTrade.outcome_label == outcome_label) + parsed_start = parse_date(start_date) + parsed_end = parse_date(end_date) + if parsed_start: + query = query.where(TradingGameTrade.entry_date >= parsed_start) + if parsed_end: + query = query.where(TradingGameTrade.entry_date <= parsed_end) + if min_r is not None: + query = query.where(TradingGameTrade.realized_r_multiple >= min_r) + if max_r is not None: + query = query.where(TradingGameTrade.realized_r_multiple <= max_r) + if only_open: + query = query.where(TradingGameTrade.exit_date.is_(None)) + if only_closed: + query = query.where(TradingGameTrade.exit_date.is_not(None)) + total = int(db.scalar(select(func.count()).select_from(query.subquery())) or 0) + query = order_trade_query(query, sort_by).limit(limit).offset(offset) + rows = db.scalars(query).all() + with trace.phase("attribution_loading"): + attribution_count = 0 + with trace.phase("evidence_loading"): + evidence_count = 0 + with trace.phase("benchmark_loading"): + benchmark_count = sum(1 for row in rows if row.benchmark_return_same_period is not None or row.benchmark_return is not None) + with trace.phase("quality_loading"): + quality_count = sum(1 for row in rows if row.trade_quality_score is not None) + with trace.phase("prediction_loading"): + prediction_count = sum(1 for row in rows if row.thesis_id) + with trace.phase("serialization"): + serialized_rows = [self.serialize_trade(db, row) for row in rows] + summary = self.summary_for_game(db, game) + payload = { "status": "ok", + "snapshot_status": "miss", "game": serialize_game_header(game), - "summary": self.summary_for_game(db, game), - "rows": [self.serialize_trade(db, row) for row in rows], + "summary": summary, + "rows": serialized_rows, "total": total, "limit": limit, "offset": offset, @@ -104,6 +142,27 @@ class TradeLedgerService: }, "policy": TRANSPARENCY_POLICY, } + with trace.phase("json_generation"): + response_size = payload_size_bytes(payload) + trace.add( + snapshot_miss=True, + base_trade_query_count=2, + attribution_loading_queries=0, + evidence_loading_queries=0, + benchmark_loading_queries=0, + quality_loading_queries=0, + prediction_loading_queries=0, + attribution_rows=attribution_count, + evidence_rows=evidence_count, + benchmark_rows=benchmark_count, + quality_rows=quality_count, + prediction_links=prediction_count, + row_count=len(rows), + total_trades=total, + response_size_bytes=response_size, + ) + payload["runtime_trace"] = trace.payload() + return payload def detail(self, db: Session, trade_id: int) -> dict: trade = db.get(TradingGameTrade, trade_id) @@ -233,6 +292,33 @@ class TradeLedgerService: return db.get(TradingGame, game_id) return db.scalar(select(TradingGame).where(TradingGame.status == "active").order_by(desc(TradingGame.started_at)).limit(1)) or db.scalar(select(TradingGame).order_by(desc(TradingGame.started_at)).limit(1)) + def _can_use_ledger_snapshot( + self, + *, + ticker: str | None, + setup_type: str | None, + outcome_label: str | None, + start_date: str | None, + end_date: str | None, + min_r: float | None, + max_r: float | None, + only_open: bool, + only_closed: bool, + sort_by: str, + ) -> bool: + return ( + ticker is None + and setup_type is None + and outcome_label is None + and start_date is None + and end_date is None + and min_r is None + and max_r is None + and not only_open + and not only_closed + and sort_by == "created_at_desc" + ) + def serialize_trade(self, db: Session, trade: TradingGameTrade) -> dict: return { "trade_id": trade.id, @@ -430,22 +516,61 @@ class TradeQualityEvaluator: class EquityCurveAnnotationService: - def annotated_equity(self, db: Session, game_id: int | None = None, limit: int = 800) -> dict: + def annotated_equity( + self, + db: Session, + game_id: int | None = None, + limit: int = 800, + *, + refresh: bool = False, + use_snapshot: bool = True, + include_trace: bool = False, + ) -> dict: + if use_snapshot: + from app.services.trading_game_runtime import TradingGameRuntimeSnapshotService + + snapshot_payload = TradingGameRuntimeSnapshotService().equity_from_snapshot(db, game_id=game_id, limit=limit) + if snapshot_payload is not None: + return snapshot_payload game = TradeLedgerService().game(db, game_id) if not game: return {"status": "no_game", "equity_curve_points": [], "benchmark_curve_points": [], "annotations": []} - trades = db.scalars(select(TradingGameTrade).where(TradingGameTrade.game_id == game.id).order_by(TradingGameTrade.created_at)).all() - self.refresh(db, game, trades) - points = db.scalars(select(TradingGameEquityCurve).where(TradingGameEquityCurve.game_id == game.id).order_by(TradingGameEquityCurve.created_at).limit(limit)).all() - annotations = db.scalars(select(EquityCurveAnnotation).where(EquityCurveAnnotation.game_id == game.id).order_by(EquityCurveAnnotation.timestamp).limit(limit)).all() - return { - "status": "ok", - "game": serialize_game_header(game), - "equity_curve_points": [serialize_equity_point(row) for row in points], - "benchmark_curve_points": [{"timestamp": iso(row.equity_date or row.created_at), "value": row.benchmark_equity, "return": row.benchmark_return} for row in points], - "annotations": [serialize_annotation(row) for row in annotations], - "policy": "Markers connect equity movement to trade entries, exits, drawdowns, rule events and benchmark divergence when those events exist.", - } + from app.services.trading_game_runtime import RuntimeTrace, payload_size_bytes + + trace = RuntimeTrace("equity_curve_annotated_live_read") + if refresh: + with trace.phase("annotation_refresh"): + trades = db.scalars(select(TradingGameTrade).where(TradingGameTrade.game_id == game.id).order_by(TradingGameTrade.created_at)).all() + self.refresh(db, game, trades) + with trace.phase("equity_points_loading"): + points = db.scalars(select(TradingGameEquityCurve).where(TradingGameEquityCurve.game_id == game.id).order_by(TradingGameEquityCurve.created_at).limit(limit)).all() + with trace.phase("annotations_loading"): + annotations = db.scalars(select(EquityCurveAnnotation).where(EquityCurveAnnotation.game_id == game.id).order_by(EquityCurveAnnotation.timestamp).limit(limit)).all() + with trace.phase("benchmark_loading"): + benchmark_curve_points = [{"timestamp": iso(row.equity_date or row.created_at), "value": row.benchmark_equity, "return": row.benchmark_return} for row in points] + with trace.phase("serialization"): + payload = { + "status": "ok", + "snapshot_status": "miss", + "game": serialize_game_header(game), + "equity_curve_points": [serialize_equity_point(row) for row in points], + "benchmark_curve_points": benchmark_curve_points, + "annotations": [serialize_annotation(row) for row in annotations], + "policy": "Markers connect equity movement to trade entries, exits, drawdowns, rule events and benchmark divergence when those events exist.", + } + with trace.phase("json_generation"): + size = payload_size_bytes(payload) + trace.add( + snapshot_miss=True, + equity_points_queries=1, + annotations_queries=1, + benchmark_loading_queries=0, + point_count=len(points), + annotation_count=len(annotations), + response_size_bytes=size, + ) + payload["runtime_trace"] = trace.payload() + return payload def refresh(self, db: Session, game: TradingGame, trades: list[TradingGameTrade]) -> None: for trade in trades: diff --git a/backend/app/services/trading_game.py b/backend/app/services/trading_game.py index 1dbeb02016562ea2800f483a440e5ed9b0268d56..4a7b34291ddc9c561b47a320708bd1e234450fb8 100644 --- a/backend/app/services/trading_game.py +++ b/backend/app/services/trading_game.py @@ -428,6 +428,7 @@ class TradingGameSimulator: "simulation": simulation.simulation_payload, "prediction_id": prediction.id if prediction else None, "market_regime": prediction.market_regime if prediction else "unknown", + "feedback_loop": prediction_feedback_payload(prediction), "guardrails": guardrails(), }, ) @@ -624,6 +625,26 @@ def trade_reproducibility_score(simulation: ExecutionSimulation, prediction: His return round(clamp(score), 2) +def prediction_feedback_payload(prediction: HistoricalPrediction | None) -> dict: + if not prediction: + return { + "status": "missing_prediction", + "policy": "No HistoricalPrediction was linked to this simulated trade.", + } + feedback = (prediction.prediction_payload or {}).get("feedback_loop") or {} + return { + "status": "ready", + "model_version_used": prediction.model_version_used or prediction.model_version or "base-static", + "weights_used": prediction.weights_used or feedback.get("weights_used") or {}, + "confidence_adjustment": feedback.get("confidence_adjustment", 0.0), + "learning_memory_used": prediction.learning_memory_used or feedback.get("learning_memory_used") or {}, + "strategy_memory_used": prediction.strategy_memory_used or feedback.get("strategy_memory_used") or {}, + "research_priority_used": prediction.research_priority_used or feedback.get("research_priority_used") or {}, + "learning_mode_metadata": feedback.get("learning_mode_metadata") or (prediction.prediction_payload or {}).get("learning_mode_metadata") or {}, + "policy": "Paper trade payload records the prediction feedback loop metadata; it does not recalculate learning during trade rendering.", + } + + def decision_state_for(simulation: ExecutionSimulation, reproducibility: float) -> str: if reproducibility < 42: return "avoid" diff --git a/backend/tests/test_learning_performance_architecture.py b/backend/tests/test_learning_performance_architecture.py index 19f1424e568ae6e2aa088a6628a71ad5b6cd599c..d641bb2ef257b3e771c0e1c3687dcf7dc183e20a 100644 --- a/backend/tests/test_learning_performance_architecture.py +++ b/backend/tests/test_learning_performance_architecture.py @@ -9,8 +9,12 @@ from app.models import ( DashboardSnapshot, LearningBenchmarkComparison, LearningRun, + LearningStrengthWeaknessMap, TradingCapitalCycle, TradingGame, + TradingGameTrade, + TradingIntelligenceMetric, + TradeLearningEvidence, ) from app.services.dashboard_snapshots import DashboardSnapshotService from app.services.learning_summary import LearningSummaryService, build_truth_panel, safe_progress, summarize_benchmarks @@ -41,8 +45,12 @@ def test_learning_summary_returns_partial_payload_without_precomputed_rows(): DashboardSnapshot, LearningBenchmarkComparison, LearningRun, + LearningStrengthWeaknessMap, TradingCapitalCycle, TradingGame, + TradingGameTrade, + TradingIntelligenceMetric, + TradeLearningEvidence, ]: model.__table__.create(bind=engine) @@ -51,6 +59,9 @@ def test_learning_summary_returns_partial_payload_without_precomputed_rows(): assert payload["status"] == "initializing" assert "trading_power_score" in payload["missing_sections"] + assert "trading_intelligence_metrics" in payload["missing_sections"] + assert payload["backend_training_status"]["frontend_policy"] == "read_only_snapshot_observer" + assert "snapshots" in payload assert payload["truth_panel"][0].startswith("Not enough precomputed evidence") @@ -74,9 +85,69 @@ def test_learning_page_keeps_heavy_work_out_of_initial_render(): page = Path(__file__).resolve().parents[2] / "frontend" / "app" / "learning" / "page.tsx" text = page.read_text() - assert "setTimeout(loadVisibleTables" not in text - assert "IntersectionObserver" in text + assert text.strip() == 'export { default } from "../training-ground/page";' + + training_page = Path(__file__).resolve().parents[2] / "frontend" / "app" / "training-ground" / "page.tsx" + training_text = training_page.read_text() + initial_effect = training_text.split("useEffect(() => {", 1)[1].split("}, []);", 1)[0] + + assert "api.traderTrainingGround()" in initial_effect + assert initial_effect.count("api.") == 1 + assert "api.tradingGameLedger" not in training_text + assert "api.alphaRecoveryDashboard()" not in training_text + assert "api.metaCognitionSummary()" not in training_text assert "recalculateLearningTradingPower" not in text assert "recalculateDecisionSuperiority" not in text assert "recalculateBusinessQuality" not in text assert "recalculatePortfolioIntelligence" not in text + assert "recalculateAlphaRecovery" not in text + assert "metaCognitionRecalculate" not in text + + +def test_deep_diagnostics_uses_human_readable_renderer_not_raw_json_dump(): + page = Path(__file__).resolve().parents[2] / "frontend" / "components" / "DiagnosticPanelRenderer.tsx" + text = page.read_text() + + assert "compactPreview" not in text + assert "JSON.stringify(compactPreview" not in text + assert "DiagnosticPanelRenderer" in text + assert "Show raw JSON" in text + + +def test_diagnostic_panel_renderer_hides_raw_json_by_default(): + renderer = Path(__file__).resolve().parents[2] / "frontend" / "components" / "DiagnosticPanelRenderer.tsx" + text = renderer.read_text() + + assert "export function DiagnosticPanelRenderer" in text + assert "function ReliabilityByRegimeRenderer" in text + assert "function EnsembleStatusRenderer" in text + assert "export function SampleSizeWarning" in text + assert "export function WeightDistributionTable" in text + assert "Show raw JSON" in text + assert "Hide raw JSON" in text + assert "open && react-plotly.js": { + "id": 3506, + "files": [ + "static/chunks/51e374df.e869da9a92d22819.js", + "static/chunks/54.5c9e84e15db88a9c.js" + ] + } +} \ No newline at end of file diff --git a/frontend/.next/required-server-files.json b/frontend/.next/required-server-files.json new file mode 100644 index 0000000000000000000000000000000000000000..b8e595d18d9d7919cc4b53d92e2c5ecbd2417af8 --- /dev/null +++ b/frontend/.next/required-server-files.json @@ -0,0 +1 @@ +{"version":1,"config":{"env":{},"webpack":null,"eslint":{"ignoreDuringBuilds":false},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"distDir":".next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"poweredByHeader":true,"compress":true,"analyticsId":"","images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image/","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"],"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"inline","remotePatterns":[],"unoptimized":true},"devIndicators":{"buildActivity":true,"buildActivityPosition":"bottom-right"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":true,"i18n":null,"productionBrowserSourceMaps":false,"optimizeFonts":true,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactProductionProfiling":false,"reactStrictMode":null,"httpAgentOptions":{"keepAlive":true},"outputFileTracing":true,"staticPageGenerationTimeout":60,"swcMinify":true,"output":"export","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"experimental":{"multiZoneDraftMode":false,"prerenderEarlyExit":false,"serverMinification":true,"serverSourceMaps":false,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","middlewarePrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":10,"memoryBasedWorkersCount":false,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"outputFileTracingRoot":"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend","swcTraceProfiling":false,"forceSwcTransforms":false,"largePageDataBytes":128000,"adjustFontFallbacks":false,"adjustFontFallbacksWithSizeAdjust":false,"typedRoutes":false,"instrumentationHook":false,"bundlePagesExternals":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"missingSuspenseWithCSRBailout":true,"optimizeServerReact":true,"useEarlyImport":false,"staleTimes":{"dynamic":30,"static":300},"optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"trustHostHeader":false,"isExperimentalCompile":false},"configFileName":"next.config.mjs"},"appDir":"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend","relativeAppDir":"","files":[".next/routes-manifest.json",".next/server/pages-manifest.json",".next/build-manifest.json",".next/prerender-manifest.json",".next/server/middleware-manifest.json",".next/server/middleware-build-manifest.js",".next/server/middleware-react-loadable-manifest.js",".next/server/app-paths-manifest.json",".next/app-path-routes-manifest.json",".next/app-build-manifest.json",".next/server/server-reference-manifest.js",".next/server/server-reference-manifest.json",".next/react-loadable-manifest.json",".next/server/font-manifest.json",".next/BUILD_ID",".next/server/next-font-manifest.js",".next/server/next-font-manifest.json"],"ignore":["node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"]} \ No newline at end of file diff --git a/frontend/.next/routes-manifest.json b/frontend/.next/routes-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..068b893a8d0f8d64de03f06b7576f1f94452e590 --- /dev/null +++ b/frontend/.next/routes-manifest.json @@ -0,0 +1 @@ +{"version":3,"pages404":true,"caseSensitive":false,"basePath":"","redirects":[{"source":"/:file((?!\\.well-known(?:/.*)?)(?:[^/]+/)*[^/]+\\.\\w+)/","destination":"/:file","internal":true,"missing":[{"type":"header","key":"x-nextjs-data"}],"statusCode":308,"regex":"^(?:/((?!\\.well-known(?:/.*)?)(?:[^/]+/)*[^/]+\\.\\w+))/$"},{"source":"/:notfile((?!\\.well-known(?:/.*)?)(?:[^/]+/)*[^/\\.]+)","destination":"/:notfile/","internal":true,"statusCode":308,"regex":"^(?:/((?!\\.well-known(?:/.*)?)(?:[^/]+/)*[^/\\.]+))$"}],"headers":[],"dynamicRoutes":[{"page":"/assets/[ticker]","regex":"^/assets/([^/]+?)(?:/)?$","routeKeys":{"nxtPticker":"nxtPticker"},"namedRegex":"^/assets/(?[^/]+?)(?:/)?$"}],"staticRoutes":[{"page":"/","regex":"^/(?:/)?$","routeKeys":{},"namedRegex":"^/(?:/)?$"},{"page":"/_not-found","regex":"^/_not\\-found(?:/)?$","routeKeys":{},"namedRegex":"^/_not\\-found(?:/)?$"},{"page":"/backtest","regex":"^/backtest(?:/)?$","routeKeys":{},"namedRegex":"^/backtest(?:/)?$"},{"page":"/chart-analyst","regex":"^/chart\\-analyst(?:/)?$","routeKeys":{},"namedRegex":"^/chart\\-analyst(?:/)?$"},{"page":"/chat","regex":"^/chat(?:/)?$","routeKeys":{},"namedRegex":"^/chat(?:/)?$"},{"page":"/chatbot","regex":"^/chatbot(?:/)?$","routeKeys":{},"namedRegex":"^/chatbot(?:/)?$"},{"page":"/dashboard","regex":"^/dashboard(?:/)?$","routeKeys":{},"namedRegex":"^/dashboard(?:/)?$"},{"page":"/etf-radar","regex":"^/etf\\-radar(?:/)?$","routeKeys":{},"namedRegex":"^/etf\\-radar(?:/)?$"},{"page":"/ipo-radar","regex":"^/ipo\\-radar(?:/)?$","routeKeys":{},"namedRegex":"^/ipo\\-radar(?:/)?$"},{"page":"/learning","regex":"^/learning(?:/)?$","routeKeys":{},"namedRegex":"^/learning(?:/)?$"},{"page":"/market-brain","regex":"^/market\\-brain(?:/)?$","routeKeys":{},"namedRegex":"^/market\\-brain(?:/)?$"},{"page":"/methodology","regex":"^/methodology(?:/)?$","routeKeys":{},"namedRegex":"^/methodology(?:/)?$"},{"page":"/narratives","regex":"^/narratives(?:/)?$","routeKeys":{},"namedRegex":"^/narratives(?:/)?$"},{"page":"/performance","regex":"^/performance(?:/)?$","routeKeys":{},"namedRegex":"^/performance(?:/)?$"},{"page":"/signal-lab","regex":"^/signal\\-lab(?:/)?$","routeKeys":{},"namedRegex":"^/signal\\-lab(?:/)?$"},{"page":"/sniper","regex":"^/sniper(?:/)?$","routeKeys":{},"namedRegex":"^/sniper(?:/)?$"},{"page":"/stock-radar","regex":"^/stock\\-radar(?:/)?$","routeKeys":{},"namedRegex":"^/stock\\-radar(?:/)?$"},{"page":"/themes","regex":"^/themes(?:/)?$","routeKeys":{},"namedRegex":"^/themes(?:/)?$"}],"dataRoutes":[],"rsc":{"header":"RSC","varyHeader":"RSC, Next-Router-State-Tree, Next-Router-Prefetch","prefetchHeader":"Next-Router-Prefetch","didPostponeHeader":"x-nextjs-postponed","contentTypeHeader":"text/x-component","suffix":".rsc","prefetchSuffix":".prefetch.rsc"},"rewrites":[]} \ No newline at end of file diff --git a/frontend/.next/server/app-paths-manifest.json b/frontend/.next/server/app-paths-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..baf504a44afaf685268a7cfc3c2abc1e9858d099 --- /dev/null +++ b/frontend/.next/server/app-paths-manifest.json @@ -0,0 +1,21 @@ +{ + "/_not-found/page": "app/_not-found/page.js", + "/backtest/page": "app/backtest/page.js", + "/chart-analyst/page": "app/chart-analyst/page.js", + "/chat/page": "app/chat/page.js", + "/chatbot/page": "app/chatbot/page.js", + "/learning/page": "app/learning/page.js", + "/methodology/page": "app/methodology/page.js", + "/ipo-radar/page": "app/ipo-radar/page.js", + "/market-brain/page": "app/market-brain/page.js", + "/narratives/page": "app/narratives/page.js", + "/page": "app/page.js", + "/etf-radar/page": "app/etf-radar/page.js", + "/performance/page": "app/performance/page.js", + "/signal-lab/page": "app/signal-lab/page.js", + "/sniper/page": "app/sniper/page.js", + "/stock-radar/page": "app/stock-radar/page.js", + "/themes/page": "app/themes/page.js", + "/dashboard/page": "app/dashboard/page.js", + "/assets/[ticker]/page": "app/assets/[ticker]/page.js" +} \ No newline at end of file diff --git a/frontend/.next/server/app/_not-found.html b/frontend/.next/server/app/_not-found.html new file mode 100644 index 0000000000000000000000000000000000000000..c258a346726f06c8f5193fd77a2c9c4950c64554 --- /dev/null +++ b/frontend/.next/server/app/_not-found.html @@ -0,0 +1 @@ +404: This page could not be found.Blum AI Financial Intelligence

404

This page could not be found.

\ No newline at end of file diff --git a/frontend/.next/server/app/_not-found.meta b/frontend/.next/server/app/_not-found.meta new file mode 100644 index 0000000000000000000000000000000000000000..af19ee3e9e2ebbe56d0f288023f8016b08c4e93f --- /dev/null +++ b/frontend/.next/server/app/_not-found.meta @@ -0,0 +1,6 @@ +{ + "status": 404, + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/_not-found/layout,_N_T_/_not-found/page,_N_T_/_not-found/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/_not-found.rsc b/frontend/.next/server/app/_not-found.rsc new file mode 100644 index 0000000000000000000000000000000000000000..842c67610aaa303eaef910238d0f39d7c136d45d --- /dev/null +++ b/frontend/.next/server/app/_not-found.rsc @@ -0,0 +1,10 @@ +2:I[176,[],""] +3:I[9414,[],""] +4:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +5:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"} +6:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} +7:{"display":"inline-block"} +8:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null],null],null]},[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$5","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$6","children":"404"}],["$","div",null,{"style":"$7","children":["$","h2",null,{"style":"$8","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L9",["$","meta",null,{"name":"robots","content":"noindex"}]]]]] +9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/_not-found/index.html b/frontend/.next/server/app/_not-found/index.html new file mode 100644 index 0000000000000000000000000000000000000000..c258a346726f06c8f5193fd77a2c9c4950c64554 --- /dev/null +++ b/frontend/.next/server/app/_not-found/index.html @@ -0,0 +1 @@ +404: This page could not be found.Blum AI Financial Intelligence

404

This page could not be found.

\ No newline at end of file diff --git a/frontend/.next/server/app/_not-found/index.meta b/frontend/.next/server/app/_not-found/index.meta new file mode 100644 index 0000000000000000000000000000000000000000..af19ee3e9e2ebbe56d0f288023f8016b08c4e93f --- /dev/null +++ b/frontend/.next/server/app/_not-found/index.meta @@ -0,0 +1,6 @@ +{ + "status": 404, + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/_not-found/layout,_N_T_/_not-found/page,_N_T_/_not-found/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/_not-found/index.rsc b/frontend/.next/server/app/_not-found/index.rsc new file mode 100644 index 0000000000000000000000000000000000000000..842c67610aaa303eaef910238d0f39d7c136d45d --- /dev/null +++ b/frontend/.next/server/app/_not-found/index.rsc @@ -0,0 +1,10 @@ +2:I[176,[],""] +3:I[9414,[],""] +4:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +5:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"} +6:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"} +7:{"display":"inline-block"} +8:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0} +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["/_not-found",{"children":["__PAGE__",{},[["$L1",[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null],null],null]},[null,["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children","/_not-found","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$5","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$6","children":"404"}],["$","div",null,{"style":"$7","children":["$","h2",null,{"style":"$8","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L9",["$","meta",null,{"name":"robots","content":"noindex"}]]]]] +9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/_not-found/page.js b/frontend/.next/server/app/_not-found/page.js new file mode 100644 index 0000000000000000000000000000000000000000..cd2de404729ae8b92b76b9740e989e171330e784 --- /dev/null +++ b/frontend/.next/server/app/_not-found/page.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=409,e.ids=[409],e.modules={2934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},5741:(e,t,n)=>{n.r(t),n.d(t,{GlobalError:()=>a.a,__next_app__:()=>p,originalPathname:()=>f,pages:()=>s,routeModule:()=>c,tree:()=>d}),n(8793),n(311),n(8777);var o=n(9296),r=n(1650),u=n(7045),a=n.n(u),i=n(8184),l={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>i[e]);n.d(t,l);let d=["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(n.t.bind(n,311,23)),"next/dist/client/components/not-found-error"]}]},{}]},{layout:[()=>Promise.resolve().then(n.bind(n,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(n.t.bind(n,311,23)),"next/dist/client/components/not-found-error"]}],s=[],f="/_not-found/page",p={require:n,loadChunk:()=>Promise.resolve()},c=new o.AppPageRouteModule({definition:{kind:r.x.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},1202:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{isNotFoundError:function(){return r},notFound:function(){return o}});let n="NEXT_NOT_FOUND";function o(){let e=Error(n);throw e.digest=n,e}function r(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8793:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{PARALLEL_ROUTE_DEFAULT_PATH:function(){return r},default:function(){return u}});let o=n(1202),r="next/dist/client/components/parallel-route-default.js";function u(){(0,o.notFound)()}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}};var t=require("../../webpack-runtime.js");t.C(e);var n=e=>t(t.s=e),o=t.X(0,[273,394],()=>n(5741));module.exports=o})(); \ No newline at end of file diff --git a/frontend/.next/server/app/_not-found/page.js.nft.json b/frontend/.next/server/app/_not-found/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..bc0d09be27bbb4edc14fcf577a82bb6fb2b18cd4 --- /dev/null +++ b/frontend/.next/server/app/_not-found/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/_not-found/page_client-reference-manifest.js b/frontend/.next/server/app/_not-found/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..cc7e8babc2f3eb309d48605f84cab5962197d32a --- /dev/null +++ b/frontend/.next/server/app/_not-found/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/_not-found/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/AAPL.html b/frontend/.next/server/app/assets/AAPL.html new file mode 100644 index 0000000000000000000000000000000000000000..eb6811499004f4dac9dc204e7c1c9d02f9f086c2 --- /dev/null +++ b/frontend/.next/server/app/assets/AAPL.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading AAPL
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/AAPL.meta b/frontend/.next/server/app/assets/AAPL.meta new file mode 100644 index 0000000000000000000000000000000000000000..d194e4886b8a6d4323656f69d361e65d25240a20 --- /dev/null +++ b/frontend/.next/server/app/assets/AAPL.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/AAPL/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/AAPL.rsc b/frontend/.next/server/app/assets/AAPL.rsc new file mode 100644 index 0000000000000000000000000000000000000000..966f08c7fba58b708130869628786185243497d4 --- /dev/null +++ b/frontend/.next/server/app/assets/AAPL.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","AAPL","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","AAPL","d"],{"children":["__PAGE__?{\"ticker\":\"AAPL\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","AAPL","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"AAPL"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/AIR_PA.html b/frontend/.next/server/app/assets/AIR_PA.html new file mode 100644 index 0000000000000000000000000000000000000000..a8988af772186cd0338afd98311cc8242e3109cf --- /dev/null +++ b/frontend/.next/server/app/assets/AIR_PA.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading AIR.PA
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/AIR_PA.meta b/frontend/.next/server/app/assets/AIR_PA.meta new file mode 100644 index 0000000000000000000000000000000000000000..2ac0ce9b1932330c49a99d255a74c3ce2bfe1cf5 --- /dev/null +++ b/frontend/.next/server/app/assets/AIR_PA.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/AIR_PA/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/AIR_PA.rsc b/frontend/.next/server/app/assets/AIR_PA.rsc new file mode 100644 index 0000000000000000000000000000000000000000..94c39e70c88bf4c2a19e8b10713542877d6ea9e6 --- /dev/null +++ b/frontend/.next/server/app/assets/AIR_PA.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","AIR_PA","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","AIR_PA","d"],{"children":["__PAGE__?{\"ticker\":\"AIR_PA\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","AIR_PA","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"AIR.PA"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/AMD.html b/frontend/.next/server/app/assets/AMD.html new file mode 100644 index 0000000000000000000000000000000000000000..7c509dfd0a4cda4417bae2aa1e5aef3c1daceadb --- /dev/null +++ b/frontend/.next/server/app/assets/AMD.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading AMD
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/AMD.meta b/frontend/.next/server/app/assets/AMD.meta new file mode 100644 index 0000000000000000000000000000000000000000..57721f7ec1f625ab6a5fdb784c1b2f518e39bc00 --- /dev/null +++ b/frontend/.next/server/app/assets/AMD.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/AMD/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/AMD.rsc b/frontend/.next/server/app/assets/AMD.rsc new file mode 100644 index 0000000000000000000000000000000000000000..70b01f118b4fc9cb5345267e6d59f493e9400965 --- /dev/null +++ b/frontend/.next/server/app/assets/AMD.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","AMD","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","AMD","d"],{"children":["__PAGE__?{\"ticker\":\"AMD\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","AMD","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"AMD"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/AMZN.html b/frontend/.next/server/app/assets/AMZN.html new file mode 100644 index 0000000000000000000000000000000000000000..31e6d2050ddfcefd0ef3d535a1efed927286a47e --- /dev/null +++ b/frontend/.next/server/app/assets/AMZN.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading AMZN
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/AMZN.meta b/frontend/.next/server/app/assets/AMZN.meta new file mode 100644 index 0000000000000000000000000000000000000000..11a93b9c45b670512038e16292c449e3fde67168 --- /dev/null +++ b/frontend/.next/server/app/assets/AMZN.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/AMZN/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/AMZN.rsc b/frontend/.next/server/app/assets/AMZN.rsc new file mode 100644 index 0000000000000000000000000000000000000000..126f6ad7a053d67b0dd2c82b7fe4f37a57e3d1ba --- /dev/null +++ b/frontend/.next/server/app/assets/AMZN.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","AMZN","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","AMZN","d"],{"children":["__PAGE__?{\"ticker\":\"AMZN\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","AMZN","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"AMZN"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/ASML.html b/frontend/.next/server/app/assets/ASML.html new file mode 100644 index 0000000000000000000000000000000000000000..77b0f3c35e7c68a85b7af1bd03b095a50aac123e --- /dev/null +++ b/frontend/.next/server/app/assets/ASML.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading ASML
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/ASML.meta b/frontend/.next/server/app/assets/ASML.meta new file mode 100644 index 0000000000000000000000000000000000000000..12b85e460b499dc52edbc33035379c8f2d126026 --- /dev/null +++ b/frontend/.next/server/app/assets/ASML.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/ASML/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/ASML.rsc b/frontend/.next/server/app/assets/ASML.rsc new file mode 100644 index 0000000000000000000000000000000000000000..8cda5fb46d47aa30595bbc252e6674fcc2e704d2 --- /dev/null +++ b/frontend/.next/server/app/assets/ASML.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","ASML","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","ASML","d"],{"children":["__PAGE__?{\"ticker\":\"ASML\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","ASML","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"ASML"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/AVGO.html b/frontend/.next/server/app/assets/AVGO.html new file mode 100644 index 0000000000000000000000000000000000000000..0c47a63d672de4f365090926d873756cbf1de803 --- /dev/null +++ b/frontend/.next/server/app/assets/AVGO.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading AVGO
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/AVGO.meta b/frontend/.next/server/app/assets/AVGO.meta new file mode 100644 index 0000000000000000000000000000000000000000..5b341fcb4a52b82d992ca3d427fdc5ab3ed64987 --- /dev/null +++ b/frontend/.next/server/app/assets/AVGO.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/AVGO/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/AVGO.rsc b/frontend/.next/server/app/assets/AVGO.rsc new file mode 100644 index 0000000000000000000000000000000000000000..4c11af04a5542a7c0284968d17359b5659ac695e --- /dev/null +++ b/frontend/.next/server/app/assets/AVGO.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","AVGO","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","AVGO","d"],{"children":["__PAGE__?{\"ticker\":\"AVGO\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","AVGO","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"AVGO"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/BOTZ.html b/frontend/.next/server/app/assets/BOTZ.html new file mode 100644 index 0000000000000000000000000000000000000000..48e8703f67211ca90819ee72feed3b7eb2c8cc01 --- /dev/null +++ b/frontend/.next/server/app/assets/BOTZ.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading BOTZ
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/BOTZ.meta b/frontend/.next/server/app/assets/BOTZ.meta new file mode 100644 index 0000000000000000000000000000000000000000..312fb8016c4d0fad0220f106f735c4aee6c0cfb8 --- /dev/null +++ b/frontend/.next/server/app/assets/BOTZ.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/BOTZ/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/BOTZ.rsc b/frontend/.next/server/app/assets/BOTZ.rsc new file mode 100644 index 0000000000000000000000000000000000000000..00bc3f252e67c8bdb0d3ab3ffc83ef9355971ab2 --- /dev/null +++ b/frontend/.next/server/app/assets/BOTZ.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","BOTZ","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","BOTZ","d"],{"children":["__PAGE__?{\"ticker\":\"BOTZ\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","BOTZ","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"BOTZ"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/DIA.html b/frontend/.next/server/app/assets/DIA.html new file mode 100644 index 0000000000000000000000000000000000000000..ec151a81b151e3cb37d9caef6744ac22fcbdf5f6 --- /dev/null +++ b/frontend/.next/server/app/assets/DIA.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading DIA
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/DIA.meta b/frontend/.next/server/app/assets/DIA.meta new file mode 100644 index 0000000000000000000000000000000000000000..93fc55dc5a3ce0c4fc2271f7bd194ee85bbf9fa4 --- /dev/null +++ b/frontend/.next/server/app/assets/DIA.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/DIA/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/DIA.rsc b/frontend/.next/server/app/assets/DIA.rsc new file mode 100644 index 0000000000000000000000000000000000000000..9ffadff85a95c235db079dedb1317ef3e2c38a5e --- /dev/null +++ b/frontend/.next/server/app/assets/DIA.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","DIA","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","DIA","d"],{"children":["__PAGE__?{\"ticker\":\"DIA\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","DIA","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"DIA"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/ENR_DE.html b/frontend/.next/server/app/assets/ENR_DE.html new file mode 100644 index 0000000000000000000000000000000000000000..286bfc58f536363a1156e774c88c0d6f55fbff20 --- /dev/null +++ b/frontend/.next/server/app/assets/ENR_DE.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading ENR.DE
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/ENR_DE.meta b/frontend/.next/server/app/assets/ENR_DE.meta new file mode 100644 index 0000000000000000000000000000000000000000..6cf0e62b3548eb7a42f786c19ae8e170ce1374c9 --- /dev/null +++ b/frontend/.next/server/app/assets/ENR_DE.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/ENR_DE/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/ENR_DE.rsc b/frontend/.next/server/app/assets/ENR_DE.rsc new file mode 100644 index 0000000000000000000000000000000000000000..1aaf848e34317d493d07ebf5ea9c943c945f9134 --- /dev/null +++ b/frontend/.next/server/app/assets/ENR_DE.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","ENR_DE","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","ENR_DE","d"],{"children":["__PAGE__?{\"ticker\":\"ENR_DE\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","ENR_DE","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"ENR.DE"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/GLD.html b/frontend/.next/server/app/assets/GLD.html new file mode 100644 index 0000000000000000000000000000000000000000..23231f16e12eed5d957967b9d7be9809d001f8c7 --- /dev/null +++ b/frontend/.next/server/app/assets/GLD.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading GLD
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/GLD.meta b/frontend/.next/server/app/assets/GLD.meta new file mode 100644 index 0000000000000000000000000000000000000000..f082e19f93fe10217250309b45b6849eb8c0dc0c --- /dev/null +++ b/frontend/.next/server/app/assets/GLD.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/GLD/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/GLD.rsc b/frontend/.next/server/app/assets/GLD.rsc new file mode 100644 index 0000000000000000000000000000000000000000..a97c259f91b140fc412fcd12d69483370b321a71 --- /dev/null +++ b/frontend/.next/server/app/assets/GLD.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","GLD","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","GLD","d"],{"children":["__PAGE__?{\"ticker\":\"GLD\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","GLD","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"GLD"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/GOOGL.html b/frontend/.next/server/app/assets/GOOGL.html new file mode 100644 index 0000000000000000000000000000000000000000..7faab0fa4e916e21e4d46ee5a5811a42a36625c4 --- /dev/null +++ b/frontend/.next/server/app/assets/GOOGL.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading GOOGL
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/GOOGL.meta b/frontend/.next/server/app/assets/GOOGL.meta new file mode 100644 index 0000000000000000000000000000000000000000..ffeda4842e76f93a635e4161cd1936245650bba2 --- /dev/null +++ b/frontend/.next/server/app/assets/GOOGL.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/GOOGL/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/GOOGL.rsc b/frontend/.next/server/app/assets/GOOGL.rsc new file mode 100644 index 0000000000000000000000000000000000000000..e81458f17a642d44dc6b2b51da5cc6981faca516 --- /dev/null +++ b/frontend/.next/server/app/assets/GOOGL.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","GOOGL","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","GOOGL","d"],{"children":["__PAGE__?{\"ticker\":\"GOOGL\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","GOOGL","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"GOOGL"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/HACK.html b/frontend/.next/server/app/assets/HACK.html new file mode 100644 index 0000000000000000000000000000000000000000..f5e76192a3f6a96ed4f201f7c36a4d28c590572c --- /dev/null +++ b/frontend/.next/server/app/assets/HACK.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading HACK
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/HACK.meta b/frontend/.next/server/app/assets/HACK.meta new file mode 100644 index 0000000000000000000000000000000000000000..6e5deb5ac1e310d80e1ddc0a88143eda252bb21b --- /dev/null +++ b/frontend/.next/server/app/assets/HACK.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/HACK/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/HACK.rsc b/frontend/.next/server/app/assets/HACK.rsc new file mode 100644 index 0000000000000000000000000000000000000000..4e3c4e65b17b7fd5b1052ffc03f3a55947b3a158 --- /dev/null +++ b/frontend/.next/server/app/assets/HACK.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","HACK","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","HACK","d"],{"children":["__PAGE__?{\"ticker\":\"HACK\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","HACK","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"HACK"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/ICLN.html b/frontend/.next/server/app/assets/ICLN.html new file mode 100644 index 0000000000000000000000000000000000000000..da80422a6cebc794c4e7b981b1507baa9f60ca65 --- /dev/null +++ b/frontend/.next/server/app/assets/ICLN.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading ICLN
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/ICLN.meta b/frontend/.next/server/app/assets/ICLN.meta new file mode 100644 index 0000000000000000000000000000000000000000..1e91f05c2d1738673833f306a8427603a8223120 --- /dev/null +++ b/frontend/.next/server/app/assets/ICLN.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/ICLN/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/ICLN.rsc b/frontend/.next/server/app/assets/ICLN.rsc new file mode 100644 index 0000000000000000000000000000000000000000..6e209bd0139d1df09d5396527ac2fb0610e4fad9 --- /dev/null +++ b/frontend/.next/server/app/assets/ICLN.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","ICLN","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","ICLN","d"],{"children":["__PAGE__?{\"ticker\":\"ICLN\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","ICLN","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"ICLN"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/IWM.html b/frontend/.next/server/app/assets/IWM.html new file mode 100644 index 0000000000000000000000000000000000000000..9298230be99375170187c38fd559a58416c973ba --- /dev/null +++ b/frontend/.next/server/app/assets/IWM.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading IWM
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/IWM.meta b/frontend/.next/server/app/assets/IWM.meta new file mode 100644 index 0000000000000000000000000000000000000000..da9caf6e97f3384f8c94a30fdfea6d95676a5692 --- /dev/null +++ b/frontend/.next/server/app/assets/IWM.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/IWM/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/IWM.rsc b/frontend/.next/server/app/assets/IWM.rsc new file mode 100644 index 0000000000000000000000000000000000000000..e3486e2eaf74604e732520231025c6376efbf01a --- /dev/null +++ b/frontend/.next/server/app/assets/IWM.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","IWM","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","IWM","d"],{"children":["__PAGE__?{\"ticker\":\"IWM\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","IWM","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"IWM"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/JPM.html b/frontend/.next/server/app/assets/JPM.html new file mode 100644 index 0000000000000000000000000000000000000000..0e1ff60581c964c8e8efd71a9e732fddbf6a6dda --- /dev/null +++ b/frontend/.next/server/app/assets/JPM.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading JPM
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/JPM.meta b/frontend/.next/server/app/assets/JPM.meta new file mode 100644 index 0000000000000000000000000000000000000000..e835093ef9cff0aa93a401c63ed5b1c5b3b3eab3 --- /dev/null +++ b/frontend/.next/server/app/assets/JPM.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/JPM/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/JPM.rsc b/frontend/.next/server/app/assets/JPM.rsc new file mode 100644 index 0000000000000000000000000000000000000000..d9990b71b9ff1023efeb467ad408e7536124959d --- /dev/null +++ b/frontend/.next/server/app/assets/JPM.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","JPM","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","JPM","d"],{"children":["__PAGE__?{\"ticker\":\"JPM\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","JPM","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"JPM"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/LLY.html b/frontend/.next/server/app/assets/LLY.html new file mode 100644 index 0000000000000000000000000000000000000000..a87432f506727aee6c3b9afaa95038b81fdd4fa6 --- /dev/null +++ b/frontend/.next/server/app/assets/LLY.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading LLY
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/LLY.meta b/frontend/.next/server/app/assets/LLY.meta new file mode 100644 index 0000000000000000000000000000000000000000..407304889eb3ca26d1f37fd42a9e80c3d6a9be1c --- /dev/null +++ b/frontend/.next/server/app/assets/LLY.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/LLY/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/LLY.rsc b/frontend/.next/server/app/assets/LLY.rsc new file mode 100644 index 0000000000000000000000000000000000000000..e141e925cc7691e83434887480cf49668d8aeeb1 --- /dev/null +++ b/frontend/.next/server/app/assets/LLY.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","LLY","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","LLY","d"],{"children":["__PAGE__?{\"ticker\":\"LLY\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","LLY","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"LLY"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/MC_PA.html b/frontend/.next/server/app/assets/MC_PA.html new file mode 100644 index 0000000000000000000000000000000000000000..0c374630a19eac0ab8b1cf914eda20c5e4dbe000 --- /dev/null +++ b/frontend/.next/server/app/assets/MC_PA.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading MC.PA
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/MC_PA.meta b/frontend/.next/server/app/assets/MC_PA.meta new file mode 100644 index 0000000000000000000000000000000000000000..7cfc76cb678c2a087ae1011b944bc0ab9cafe4c7 --- /dev/null +++ b/frontend/.next/server/app/assets/MC_PA.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/MC_PA/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/MC_PA.rsc b/frontend/.next/server/app/assets/MC_PA.rsc new file mode 100644 index 0000000000000000000000000000000000000000..f5568450d4ff2165fc310233dbbf56ba4a2b91d7 --- /dev/null +++ b/frontend/.next/server/app/assets/MC_PA.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","MC_PA","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","MC_PA","d"],{"children":["__PAGE__?{\"ticker\":\"MC_PA\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","MC_PA","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"MC.PA"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/META.html b/frontend/.next/server/app/assets/META.html new file mode 100644 index 0000000000000000000000000000000000000000..e43a9e3e47936435693a20e37cf21684ce7e8171 --- /dev/null +++ b/frontend/.next/server/app/assets/META.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading META
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/META.meta b/frontend/.next/server/app/assets/META.meta new file mode 100644 index 0000000000000000000000000000000000000000..20889c9482e86d092fc9f6956be7d310fbe182f1 --- /dev/null +++ b/frontend/.next/server/app/assets/META.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/META/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/META.rsc b/frontend/.next/server/app/assets/META.rsc new file mode 100644 index 0000000000000000000000000000000000000000..19b534b24673761f0173b6e208dbb8da16b94462 --- /dev/null +++ b/frontend/.next/server/app/assets/META.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","META","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","META","d"],{"children":["__PAGE__?{\"ticker\":\"META\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","META","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"META"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/MSFT.html b/frontend/.next/server/app/assets/MSFT.html new file mode 100644 index 0000000000000000000000000000000000000000..e7cf9d9678ee250ec1808b55e2d48b318b26ff0d --- /dev/null +++ b/frontend/.next/server/app/assets/MSFT.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading MSFT
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/MSFT.meta b/frontend/.next/server/app/assets/MSFT.meta new file mode 100644 index 0000000000000000000000000000000000000000..7fbf5becd836044c6ba8e2bc8fc419ba772450c4 --- /dev/null +++ b/frontend/.next/server/app/assets/MSFT.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/MSFT/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/MSFT.rsc b/frontend/.next/server/app/assets/MSFT.rsc new file mode 100644 index 0000000000000000000000000000000000000000..952da1a6d8356454472be3f483286ead6ec3b5d8 --- /dev/null +++ b/frontend/.next/server/app/assets/MSFT.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","MSFT","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","MSFT","d"],{"children":["__PAGE__?{\"ticker\":\"MSFT\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","MSFT","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"MSFT"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/NVDA.html b/frontend/.next/server/app/assets/NVDA.html new file mode 100644 index 0000000000000000000000000000000000000000..efb0bc602c70291a24e138fc4c65d87da2e916c1 --- /dev/null +++ b/frontend/.next/server/app/assets/NVDA.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading NVDA
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/NVDA.meta b/frontend/.next/server/app/assets/NVDA.meta new file mode 100644 index 0000000000000000000000000000000000000000..b8ca1ddd1a74da504876682b29f6c224e707bdcb --- /dev/null +++ b/frontend/.next/server/app/assets/NVDA.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/NVDA/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/NVDA.rsc b/frontend/.next/server/app/assets/NVDA.rsc new file mode 100644 index 0000000000000000000000000000000000000000..ec96ace9764910b2f751d611e4a1c7559b9cf75f --- /dev/null +++ b/frontend/.next/server/app/assets/NVDA.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","NVDA","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","NVDA","d"],{"children":["__PAGE__?{\"ticker\":\"NVDA\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","NVDA","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"NVDA"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/NVO.html b/frontend/.next/server/app/assets/NVO.html new file mode 100644 index 0000000000000000000000000000000000000000..b2818b6b18f33d8e30a00f3474d568a1447cd173 --- /dev/null +++ b/frontend/.next/server/app/assets/NVO.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading NVO
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/NVO.meta b/frontend/.next/server/app/assets/NVO.meta new file mode 100644 index 0000000000000000000000000000000000000000..41eafec805f48ca67df33b133fd0304155834af2 --- /dev/null +++ b/frontend/.next/server/app/assets/NVO.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/NVO/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/NVO.rsc b/frontend/.next/server/app/assets/NVO.rsc new file mode 100644 index 0000000000000000000000000000000000000000..8bfec78616c26d70e9f49921286984459842654f --- /dev/null +++ b/frontend/.next/server/app/assets/NVO.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","NVO","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","NVO","d"],{"children":["__PAGE__?{\"ticker\":\"NVO\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","NVO","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"NVO"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/QQQ.html b/frontend/.next/server/app/assets/QQQ.html new file mode 100644 index 0000000000000000000000000000000000000000..2db90c278263c3238b09e96f358da75387edaa14 --- /dev/null +++ b/frontend/.next/server/app/assets/QQQ.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading QQQ
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/QQQ.meta b/frontend/.next/server/app/assets/QQQ.meta new file mode 100644 index 0000000000000000000000000000000000000000..d0b4eeb610240cbad326de551142cbd208015ee7 --- /dev/null +++ b/frontend/.next/server/app/assets/QQQ.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/QQQ/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/QQQ.rsc b/frontend/.next/server/app/assets/QQQ.rsc new file mode 100644 index 0000000000000000000000000000000000000000..f83bfc4da63f6599e394cf689e844d6d308e2513 --- /dev/null +++ b/frontend/.next/server/app/assets/QQQ.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","QQQ","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","QQQ","d"],{"children":["__PAGE__?{\"ticker\":\"QQQ\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","QQQ","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"QQQ"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/RHM_DE.html b/frontend/.next/server/app/assets/RHM_DE.html new file mode 100644 index 0000000000000000000000000000000000000000..410b722d96337f90a328f54a96a05051fbc0a526 --- /dev/null +++ b/frontend/.next/server/app/assets/RHM_DE.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading RHM.DE
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/RHM_DE.meta b/frontend/.next/server/app/assets/RHM_DE.meta new file mode 100644 index 0000000000000000000000000000000000000000..fbcd9fe5e330d8ca799a4d22789af7c7acde7b5f --- /dev/null +++ b/frontend/.next/server/app/assets/RHM_DE.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/RHM_DE/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/RHM_DE.rsc b/frontend/.next/server/app/assets/RHM_DE.rsc new file mode 100644 index 0000000000000000000000000000000000000000..4526c16795b2ce891ee655236dd37f1530a63397 --- /dev/null +++ b/frontend/.next/server/app/assets/RHM_DE.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","RHM_DE","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","RHM_DE","d"],{"children":["__PAGE__?{\"ticker\":\"RHM_DE\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","RHM_DE","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"RHM.DE"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/SAP.html b/frontend/.next/server/app/assets/SAP.html new file mode 100644 index 0000000000000000000000000000000000000000..129e7cbff4d20aaf724b848d8b01103d93775fc9 --- /dev/null +++ b/frontend/.next/server/app/assets/SAP.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading SAP
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/SAP.meta b/frontend/.next/server/app/assets/SAP.meta new file mode 100644 index 0000000000000000000000000000000000000000..74064be2fb306572d68b33c505244dad00f36201 --- /dev/null +++ b/frontend/.next/server/app/assets/SAP.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/SAP/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/SAP.rsc b/frontend/.next/server/app/assets/SAP.rsc new file mode 100644 index 0000000000000000000000000000000000000000..c89c41d5013452ddeaa557f3acd8ae9bfd08a000 --- /dev/null +++ b/frontend/.next/server/app/assets/SAP.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","SAP","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","SAP","d"],{"children":["__PAGE__?{\"ticker\":\"SAP\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","SAP","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"SAP"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/SIE_DE.html b/frontend/.next/server/app/assets/SIE_DE.html new file mode 100644 index 0000000000000000000000000000000000000000..6bd1f98922055fe00b0e0784f6dad67277cba6e9 --- /dev/null +++ b/frontend/.next/server/app/assets/SIE_DE.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading SIE.DE
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/SIE_DE.meta b/frontend/.next/server/app/assets/SIE_DE.meta new file mode 100644 index 0000000000000000000000000000000000000000..650c2062ca26d36766541d840a3910ad5aa99bd4 --- /dev/null +++ b/frontend/.next/server/app/assets/SIE_DE.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/SIE_DE/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/SIE_DE.rsc b/frontend/.next/server/app/assets/SIE_DE.rsc new file mode 100644 index 0000000000000000000000000000000000000000..35a83e9cf96ab094ed4694ad50a5bc5434a35171 --- /dev/null +++ b/frontend/.next/server/app/assets/SIE_DE.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","SIE_DE","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","SIE_DE","d"],{"children":["__PAGE__?{\"ticker\":\"SIE_DE\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","SIE_DE","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"SIE.DE"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/SMH.html b/frontend/.next/server/app/assets/SMH.html new file mode 100644 index 0000000000000000000000000000000000000000..cbf4991cc059fbfaa9a603703867935c5e8d40c1 --- /dev/null +++ b/frontend/.next/server/app/assets/SMH.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading SMH
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/SMH.meta b/frontend/.next/server/app/assets/SMH.meta new file mode 100644 index 0000000000000000000000000000000000000000..3b9eb90a6a3ec5ecbd13756ec80655ef16ae3847 --- /dev/null +++ b/frontend/.next/server/app/assets/SMH.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/SMH/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/SMH.rsc b/frontend/.next/server/app/assets/SMH.rsc new file mode 100644 index 0000000000000000000000000000000000000000..f784c9dbbda2b2a0cb347d2f0d398d91ff4e9374 --- /dev/null +++ b/frontend/.next/server/app/assets/SMH.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","SMH","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","SMH","d"],{"children":["__PAGE__?{\"ticker\":\"SMH\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","SMH","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"SMH"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/SPY.html b/frontend/.next/server/app/assets/SPY.html new file mode 100644 index 0000000000000000000000000000000000000000..d225beaabebee550d93f5b8f53d31cc824ffd418 --- /dev/null +++ b/frontend/.next/server/app/assets/SPY.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading SPY
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/SPY.meta b/frontend/.next/server/app/assets/SPY.meta new file mode 100644 index 0000000000000000000000000000000000000000..4bd4f6fcec462fb0b36d6c68c73353bfd6a8a926 --- /dev/null +++ b/frontend/.next/server/app/assets/SPY.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/SPY/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/SPY.rsc b/frontend/.next/server/app/assets/SPY.rsc new file mode 100644 index 0000000000000000000000000000000000000000..9100f4b44d8b5ee3fce148601ee30d03c5f27151 --- /dev/null +++ b/frontend/.next/server/app/assets/SPY.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","SPY","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","SPY","d"],{"children":["__PAGE__?{\"ticker\":\"SPY\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","SPY","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"SPY"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/TLT.html b/frontend/.next/server/app/assets/TLT.html new file mode 100644 index 0000000000000000000000000000000000000000..c51d53e92d431304c100bd439960f6fe54bfa58d --- /dev/null +++ b/frontend/.next/server/app/assets/TLT.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading TLT
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/TLT.meta b/frontend/.next/server/app/assets/TLT.meta new file mode 100644 index 0000000000000000000000000000000000000000..8f19f1b6a03fb7e913012afb983c3f20e2ad7384 --- /dev/null +++ b/frontend/.next/server/app/assets/TLT.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/TLT/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/TLT.rsc b/frontend/.next/server/app/assets/TLT.rsc new file mode 100644 index 0000000000000000000000000000000000000000..910d5c241353003757e31e9ee42f5feff28d8214 --- /dev/null +++ b/frontend/.next/server/app/assets/TLT.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","TLT","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","TLT","d"],{"children":["__PAGE__?{\"ticker\":\"TLT\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","TLT","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"TLT"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/TSLA.html b/frontend/.next/server/app/assets/TSLA.html new file mode 100644 index 0000000000000000000000000000000000000000..1b3e10e551e81aff40c86be64f1ebd6401002bb2 --- /dev/null +++ b/frontend/.next/server/app/assets/TSLA.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading TSLA
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/TSLA.meta b/frontend/.next/server/app/assets/TSLA.meta new file mode 100644 index 0000000000000000000000000000000000000000..6134b6c744d20c05dfba738feadcbc42f934b3eb --- /dev/null +++ b/frontend/.next/server/app/assets/TSLA.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/TSLA/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/TSLA.rsc b/frontend/.next/server/app/assets/TSLA.rsc new file mode 100644 index 0000000000000000000000000000000000000000..95591e748884fe5a862ee60c82966f5acd1fc072 --- /dev/null +++ b/frontend/.next/server/app/assets/TSLA.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","TSLA","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","TSLA","d"],{"children":["__PAGE__?{\"ticker\":\"TSLA\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","TSLA","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"TSLA"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/XAR.html b/frontend/.next/server/app/assets/XAR.html new file mode 100644 index 0000000000000000000000000000000000000000..8ff9bd9525c91dbfefe7df69c1365ab1faf479be --- /dev/null +++ b/frontend/.next/server/app/assets/XAR.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading XAR
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/XAR.meta b/frontend/.next/server/app/assets/XAR.meta new file mode 100644 index 0000000000000000000000000000000000000000..1c567295e0c1c5560ed4d3d20e949bf331edd3ff --- /dev/null +++ b/frontend/.next/server/app/assets/XAR.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/XAR/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/XAR.rsc b/frontend/.next/server/app/assets/XAR.rsc new file mode 100644 index 0000000000000000000000000000000000000000..a575f97d5309eaba533a8a8d46c576ed0dbaf2fc --- /dev/null +++ b/frontend/.next/server/app/assets/XAR.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","XAR","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","XAR","d"],{"children":["__PAGE__?{\"ticker\":\"XAR\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","XAR","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"XAR"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/XLE.html b/frontend/.next/server/app/assets/XLE.html new file mode 100644 index 0000000000000000000000000000000000000000..160f4140f106529b92c3541b18cc7ca79e6270e0 --- /dev/null +++ b/frontend/.next/server/app/assets/XLE.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading XLE
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLE.meta b/frontend/.next/server/app/assets/XLE.meta new file mode 100644 index 0000000000000000000000000000000000000000..543a473ec8ae59f1d089e68d23295c92c14bb5cb --- /dev/null +++ b/frontend/.next/server/app/assets/XLE.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/XLE/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLE.rsc b/frontend/.next/server/app/assets/XLE.rsc new file mode 100644 index 0000000000000000000000000000000000000000..b4d863604512aeda8038a90b7014114e5496df76 --- /dev/null +++ b/frontend/.next/server/app/assets/XLE.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","XLE","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","XLE","d"],{"children":["__PAGE__?{\"ticker\":\"XLE\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","XLE","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"XLE"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/XLF.html b/frontend/.next/server/app/assets/XLF.html new file mode 100644 index 0000000000000000000000000000000000000000..d0a6847d730d9bdde980fad04b487fb9eea667e5 --- /dev/null +++ b/frontend/.next/server/app/assets/XLF.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading XLF
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLF.meta b/frontend/.next/server/app/assets/XLF.meta new file mode 100644 index 0000000000000000000000000000000000000000..10f41acec40b59620e0be37f60f7d42b77cbad0d --- /dev/null +++ b/frontend/.next/server/app/assets/XLF.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/XLF/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLF.rsc b/frontend/.next/server/app/assets/XLF.rsc new file mode 100644 index 0000000000000000000000000000000000000000..dcec26c2ac61b6b4060c11a79379e2f0a9ec151e --- /dev/null +++ b/frontend/.next/server/app/assets/XLF.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","XLF","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","XLF","d"],{"children":["__PAGE__?{\"ticker\":\"XLF\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","XLF","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"XLF"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/XLK.html b/frontend/.next/server/app/assets/XLK.html new file mode 100644 index 0000000000000000000000000000000000000000..9a97cc5b264e8f96a7c7e701cf5731ec8b471426 --- /dev/null +++ b/frontend/.next/server/app/assets/XLK.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading XLK
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLK.meta b/frontend/.next/server/app/assets/XLK.meta new file mode 100644 index 0000000000000000000000000000000000000000..50bc95a378238108a59057014c0109ed32510072 --- /dev/null +++ b/frontend/.next/server/app/assets/XLK.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/XLK/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLK.rsc b/frontend/.next/server/app/assets/XLK.rsc new file mode 100644 index 0000000000000000000000000000000000000000..780284ece579c13dfecf77024ab5b68f5c9fcb42 --- /dev/null +++ b/frontend/.next/server/app/assets/XLK.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","XLK","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","XLK","d"],{"children":["__PAGE__?{\"ticker\":\"XLK\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","XLK","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"XLK"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/XLV.html b/frontend/.next/server/app/assets/XLV.html new file mode 100644 index 0000000000000000000000000000000000000000..6a6bd24e90152309ac80a1abcec8dd24149f40e0 --- /dev/null +++ b/frontend/.next/server/app/assets/XLV.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading XLV
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLV.meta b/frontend/.next/server/app/assets/XLV.meta new file mode 100644 index 0000000000000000000000000000000000000000..9efc1a669d4465d7de94aebb84f6ad4481e64347 --- /dev/null +++ b/frontend/.next/server/app/assets/XLV.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/XLV/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/XLV.rsc b/frontend/.next/server/app/assets/XLV.rsc new file mode 100644 index 0000000000000000000000000000000000000000..bf0ff52a87087c9f3cf210ace836b3584f06c087 --- /dev/null +++ b/frontend/.next/server/app/assets/XLV.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","XLV","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","XLV","d"],{"children":["__PAGE__?{\"ticker\":\"XLV\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","XLV","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"XLV"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/XOM.html b/frontend/.next/server/app/assets/XOM.html new file mode 100644 index 0000000000000000000000000000000000000000..ba589f701ce431355acda6d23dfd76d9222d1b43 --- /dev/null +++ b/frontend/.next/server/app/assets/XOM.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading XOM
\ No newline at end of file diff --git a/frontend/.next/server/app/assets/XOM.meta b/frontend/.next/server/app/assets/XOM.meta new file mode 100644 index 0000000000000000000000000000000000000000..d7efccd9ffa9fc0e3c8080978680b6e6e11941c1 --- /dev/null +++ b/frontend/.next/server/app/assets/XOM.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/assets/layout,_N_T_/assets/[ticker]/layout,_N_T_/assets/[ticker]/page,_N_T_/assets/XOM/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/XOM.rsc b/frontend/.next/server/app/assets/XOM.rsc new file mode 100644 index 0000000000000000000000000000000000000000..7e861b12cd412a415f06735bcd54fae69e454208 --- /dev/null +++ b/frontend/.next/server/app/assets/XOM.rsc @@ -0,0 +1,8 @@ +2:I[3713,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"AssetDetailClient"] +3:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +4:["ticker","XOM","d"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["assets",{"children":[["ticker","XOM","d"],{"children":["__PAGE__?{\"ticker\":\"XOM\"}",{}]}]}]},"$undefined","$undefined",true],["",{"children":["assets",{"children":[["ticker","XOM","d"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"ticker":"XOM"}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","assets","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/assets/[ticker]/page.js b/frontend/.next/server/app/assets/[ticker]/page.js new file mode 100644 index 0000000000000000000000000000000000000000..d2e8ed7ff16fd17e170065236859694a490376b7 --- /dev/null +++ b/frontend/.next/server/app/assets/[ticker]/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=825,e.ids=[825],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},5758:(e,s,i)=>{"use strict";i.r(s),i.d(s,{GlobalError:()=>t.a,__next_app__:()=>m,originalPathname:()=>u,pages:()=>o,routeModule:()=>h,tree:()=>d}),i(1474),i(8777),i(311);var n=i(9296),r=i(1650),a=i(7045),t=i.n(a),l=i(8184),c={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(c[e]=()=>l[e]);i.d(s,c);let d=["",{children:["assets",{children:["[ticker]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(i.bind(i,1474)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(i.bind(i,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(i.t.bind(i,311,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/page.tsx"],u="/assets/[ticker]/page",m={require:i,loadChunk:()=>Promise.resolve()},h=new n.AppPageRouteModule({definition:{kind:r.x.APP_PAGE,page:"/assets/[ticker]/page",pathname:"/assets/[ticker]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},3376:(e,s,i)=>{Promise.resolve().then(i.bind(i,5210))},5210:(e,s,i)=>{"use strict";i.d(s,{AssetDetailClient:()=>p});var n=i(8924),r=i(3911);i(3789);var a=i(2522);function t({memory:e}){var s;if(!e)return(0,n.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:"Blum Memory"}),n.jsx("strong",{children:"Loading"})]}),n.jsx("div",{className:"empty-state",children:"Historical memory is loading for this instrument."})]});let i=e.historical_similarity;return(0,n.jsxs)("section",{className:"panel blum-memory-panel",style:{marginTop:12},children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:"Blum Memory"}),n.jsx("strong",{children:e.learning_state})]}),n.jsx("p",{children:e.blum_memory_summary}),(0,n.jsxs)("div",{className:"brain-status-grid",children:[n.jsx(l,{label:"Similar Cases",value:i.similar_cases_found}),n.jsx(l,{label:"Average Return",value:c(i.average_return)}),n.jsx(l,{label:"Success Rate",value:null==(s=i.success_rate)?"Pending":`${Math.round(100*Number(s))}%`}),n.jsx(l,{label:"Confidence Adjustment",value:`${Number(i.confidence_adjustment??0).toFixed(1)} pts`})]}),(0,n.jsxs)("div",{className:"brain-drift info",children:[n.jsx("strong",{children:"Historical Similarity"}),n.jsx("span",{children:i.explanation})]}),(0,n.jsxs)("div",{className:"brain-two-col",children:[(0,n.jsxs)("div",{children:[n.jsx("h3",{children:"Why Confidence Changed"}),n.jsx("div",{className:"learning-event-list",children:(e.why_confidence_changed.length?e.why_confidence_changed:["No confidence change has been recorded yet."]).slice(0,5).map(e=>n.jsx("span",{children:e},e))})]}),(0,n.jsxs)("div",{children:[n.jsx("h3",{children:"What Blum Learned"}),n.jsx("div",{className:"learning-event-list",children:e.what_blum_learned.slice(0,5).map(e=>n.jsx("span",{children:e},e))})]})]}),(0,n.jsxs)("div",{className:"brain-two-col",children:[(0,n.jsxs)("div",{children:[n.jsx("h3",{children:"Confidence Evolution"}),(0,n.jsxs)("div",{className:"confidence-timeline",children:[e.confidence_evolution.slice(0,8).map(e=>(0,n.jsxs)("div",{children:[n.jsx("strong",{children:Number(e.adjusted_confidence??0).toFixed(1)}),(0,n.jsxs)("span",{children:[Number(e.adjustment??0).toFixed(1)," pts | ",e.signal_type??"signal"]})]},e.id)),!e.confidence_evolution.length&&n.jsx("div",{className:"empty-state compact",children:"No confidence history yet."})]})]}),(0,n.jsxs)("div",{children:[n.jsx("h3",{children:"Signal Outcome History"}),(0,n.jsxs)("div",{className:"brain-performance-list",children:[e.signal_outcome_history.slice(0,8).map(e=>(0,n.jsxs)("div",{children:[(0,n.jsxs)("strong",{children:[e.horizon_days,"D ",e.outcome]}),(0,n.jsxs)("span",{children:[e.signal_type," | return ",c(e.realized_return)," | data ",e.data_quality_score.toFixed(0)]})]},e.id)),!e.signal_outcome_history.length&&n.jsx("div",{className:"empty-state compact",children:"No evaluated signal horizons yet."})]})]})]}),!!e.similar_historical_setups.length&&n.jsx("div",{className:"similar-case-strip",children:e.similar_historical_setups.slice(0,6).map(e=>(0,n.jsxs)("span",{children:[e.outcome_summary?.historical_ticker??"Case"," | ",Number(e.similarity_score??0).toFixed(0)," similarity | ",e.outcome_summary?.final_outcome??"pending"]},e.id))}),n.jsx("p",{children:e.governance_note})]})}function l({label:e,value:s}){return(0,n.jsxs)("div",{className:"brain-metric",children:[n.jsx("span",{children:e}),n.jsx("strong",{children:s})]})}function c(e){return null==e?"Pending":`${Number(e).toFixed(2)}%`}function d({breakdown:e}){let s=Object.entries(e??{});return s.length?n.jsx("div",{className:"breakdown-bars",children:s.map(([e,s])=>(0,n.jsxs)("div",{className:"breakdown-row",children:[n.jsx("span",{children:e.replaceAll("_"," ")}),n.jsx("div",{children:n.jsx("i",{style:{width:`${Math.max(4,Math.min(100,Number(s)))}%`}})}),n.jsx("strong",{children:Number(s).toFixed(1)})]},e))}):n.jsx("div",{className:"empty-state",children:"No score breakdown available."})}var o=i(905),u=i(6927),m=i(8117),h=i(7749),x=i(3081);function p({ticker:e}){var s;let[i,l]=(0,r.useState)(null),[c,p]=(0,r.useState)(null),[_,b]=(0,r.useState)(null),[y,N]=(0,r.useState)(null),[w,S]=(0,r.useState)(null),[T,P]=(0,r.useState)(null),[A,C]=(0,r.useState)(""),[M,F]=(0,r.useState)(!1),[D,R]=(0,r.useState)("");if(D)return(0,n.jsxs)("div",{className:"empty-state",children:["API error: ",D]});if(!i)return n.jsx(a.G,{label:`Loading ${e}`});let I=i.latest_signal,L=i.prices??[],z=i.market_snapshot??I?.market_snapshot??i.asset?.market_snapshot,$=T?.reason??I?.explanation??y?.why_in_radar,B=T?.thesis??y?.thesis??I?.narrative_summary?.thesis;return(0,n.jsxs)(n.Fragment,{children:[n.jsx(u.ft,{eyebrow:"Asset Intelligence Report",title:"Security research cockpit.",subtitle:"Price action, sentiment, technical evidence, news quality, Blum memory and AI explanation for a single stock or ETF.",statusItems:[{label:"Ticker",value:i.asset.ticker,tone:"attention"},{label:"Exchange",value:i.asset.exchange??"n/a"},{label:"Provider",value:z?.provider??"pending"},{label:"Updated",value:z?.date??"no price date",tone:z?.price?"positive":"attention"}]}),n.jsx(u.XK,{ticker:i.asset.ticker,name:i.asset.name,description:i.asset.description,sector:i.asset.sector,exchange:i.asset.exchange,assetType:i.asset.asset_type,price:z?.price,currency:z?.currency,changePercent:z?.perf_1d,blumScore:I?.blum_score,confidence:I?.confidence_score??c?.blum_confidence_score,narrative:$}),(0,n.jsxs)("section",{className:"terminal-command-grid",style:{marginTop:12},children:[n.jsx(u.i9,{label:"Last Price",value:(0,m.T4)(z?.price,z?.currency),subvalue:z?.date??"price date pending"}),n.jsx(u.i9,{label:"1D / 5D",value:`${(0,m.T3)(z?.perf_1d)} / ${(0,m.T3)(z?.perf_5d)}`,subvalue:`${(0,m.T3)(z?.perf_1m)} 1M`,tone:(z?.perf_1d??0)>=0?"positive":"negative"}),n.jsx(u.i9,{label:"Volume",value:(0,m.fP)(z?.volume),subvalue:"Latest stored market volume"}),n.jsx(u.i9,{label:"Blum Score",value:I?.blum_score?.toFixed(1)??"n/a",subvalue:I?.classification??"No active signal",tone:"attention"}),n.jsx(u.i9,{label:"Sentiment",value:k(I,"sentiment_score"),subvalue:"News-linked score"}),n.jsx(u.i9,{label:"Momentum",value:k(I,"momentum_score"),subvalue:"Price factor"}),n.jsx(u.i9,{label:"Volatility",value:k(I,"volatility_score"),subvalue:"Risk component"}),n.jsx(u.i9,{label:"AI Confidence",value:I?.confidence_score?.toFixed(0)??c?.blum_confidence_score?.toFixed(0)??"Pending",subvalue:c?.confidence_label??"Evidence layer"})]}),I&&n.jsx("section",{style:{marginTop:12},children:n.jsx(u.il,{signal:I})}),n.jsx(g,{thesis:B,fallbackReason:$}),(0,n.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[n.jsx(j,{accuracy:c}),n.jsx(v,{fundamentals:_,assetType:i.asset.asset_type})]}),y&&n.jsx(f,{report:y}),n.jsx(t,{memory:w}),n.jsx(o.P,{ticker:i.asset.ticker,prices:L}),(0,n.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[n.jsx(h.G,{title:"Historical Price",data:[{x:L.map(e=>e.date),y:L.map(e=>e.close),type:"scatter",mode:"lines",name:e,line:{color:"#ffb000",width:2}}]}),n.jsx(h.G,{title:"Volume",data:[{x:L.map(e=>e.date),y:L.map(e=>e.volume??0),type:"bar",name:"Volume",marker:{color:"#4dd8ff"}}]})]}),(0,n.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[n.jsx(u.Ez,{title:"Score Breakdown",value:I?.score_version??"Blum score",children:n.jsx(d,{breakdown:I?.score_breakdown??{}})}),(0,n.jsxs)(u.Ez,{title:"Why This Asset Matters Now",value:T?.evidence_status?String(T.evidence_status).replaceAll("_"," "):"Evidence",children:[M&&(0,n.jsxs)("div",{className:"loading-state",children:[n.jsx("div",{}),"Building explanation from real market and news evidence."]}),A&&n.jsx("div",{className:"empty-state",children:A}),n.jsx("p",{children:T?.reason??I?.explanation??"The backend is collecting verified evidence for this asset."}),n.jsx("ul",{children:(T?.watch_points??I?.watch_points?.items??[]).map(e=>n.jsx("li",{children:e},e))}),T?.data_diagnostics&&n.jsx(E,{diagnostics:T.data_diagnostics})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsxs)(u.Ez,{title:"Decision Box",value:"Monitor, do not advise",children:[(0,n.jsxs)("div",{className:"professional-grid-2",children:[n.jsx(u.i9,{label:"Primary Trigger",value:I?I.classification.toLowerCase().includes("breakout")?"Confirmed breakout with volume expansion":I.classification.toLowerCase().includes("divergence")?"Sentiment and price alignment":"Sustained score and evidence improvement":"Signal snapshot pending",subvalue:"Condition that would increase attention"}),n.jsx(u.i9,{label:"Invalidation",value:I?I.risk_level.toLowerCase().includes("high")?"Volatility expands while confidence falls":"Momentum decay, negative news reversal or support failure":"Missing price, news or signal evidence",subvalue:"Condition that weakens the setup",tone:"negative"}),n.jsx(u.i9,{label:"Main Risk",value:I?.risk_level??"Evidence pending",subvalue:y?.risk_review?.[0]??"Risk review pending"}),n.jsx(u.i9,{label:"Confidence",value:I?.confidence_score?.toFixed(0)??c?.blum_confidence_score?.toFixed(0)??"Pending",subvalue:"Adaptive confidence layer"})]}),n.jsx("div",{className:"issue-list",children:(T?.watch_points??I?.watch_points?.items??y?.risk_review??[]).slice(0,5).map(e=>n.jsx("span",{children:e},e))})]}),n.jsx(u.Ez,{title:"Risk and Signal State",value:I?n.jsx(u.en,{risk:I.risk_level,score:(s="volatility_score",I?.score_breakdown?.[s]===void 0?null:Number(I.score_breakdown[s]))}):"No signal",children:(0,n.jsxs)("div",{className:"professional-grid-2",children:[n.jsx(u.i9,{label:"Classification",value:I?n.jsx(x.O,{label:I.classification}):"No signal"}),n.jsx(u.i9,{label:"Time Horizon",value:I?.time_horizon??"n/a"}),n.jsx(u.i9,{label:"Lifecycle",value:I?.lifecycle_state??"n/a"}),n.jsx(u.i9,{label:"Evidence",value:n.jsx(u.Dk,{value:c?.blum_confidence_score,label:"Quality"})})]})})]}),n.jsx(u.Ez,{title:"Related News",value:`${i.related_news.length} articles`,subtitle:"Sorted by stored relevance and source quality",className:"asset-news-panel",children:n.jsx("div",{className:"news-list",children:i.related_news.map(e=>(0,n.jsxs)("a",{className:"news-item",href:e.url,target:"_blank",rel:"noreferrer",children:[n.jsx("strong",{children:e.title}),(0,n.jsxs)("span",{children:[e.source," | quality ",e.quality_score]}),n.jsx("span",{children:[...e.theme_tags.events??[],...e.theme_tags.themes??[]].slice(0,4).map(e=>e.replaceAll("_"," ")).join(" | ")||"event classification pending"})]},e.id))})})]})}function j({accuracy:e}){if(!e)return(0,n.jsxs)("div",{className:"panel",children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:"Evidence Confidence"}),n.jsx("strong",{children:"Pending"})]}),n.jsx("div",{className:"empty-state",children:"The 15-point accuracy profile is being built for this asset."})]});let s=Object.entries(e.components).map(([e,s])=>({key:e,score:Number(s?.score??0),issues:s?.issues?.length??0})).sort((e,s)=>e.score-s.score).slice(0,7);return(0,n.jsxs)("div",{className:"panel",children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:"Evidence Confidence"}),(0,n.jsxs)("strong",{children:[e.blum_confidence_score.toFixed(1)," / ",e.confidence_label]})]}),n.jsx("div",{className:"confidence-meter",children:n.jsx("i",{style:{width:`${Math.max(2,Math.min(100,e.blum_confidence_score))}%`}})}),n.jsx("div",{className:"macro-list",children:s.map(e=>(0,n.jsxs)("div",{children:[n.jsx("strong",{children:e.key.replaceAll("_"," ")}),(0,n.jsxs)("span",{children:[e.score.toFixed(1)," score | ",e.issues," issues"]})]},e.key))}),!!e.issues.length&&n.jsx("div",{className:"issue-list",children:e.issues.slice(0,6).map(e=>n.jsx("span",{children:e.code.replaceAll("_"," ")},`${e.code}-${e.message}`))})]})}function v({fundamentals:e,assetType:s}){let i=e?.latest_snapshot,r=i?.metrics??{};return(0,n.jsxs)("div",{className:"panel",children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:"Fundamental Context"}),n.jsx("strong",{children:"ETF"===s?"ETF not required":i?"SEC evidence":"Pending"})]}),"ETF"===s?n.jsx("p",{children:"ETF confidence is driven by holdings proxy, sector rotation, trend confirmation and macro context. Issuer fundamentals are not required."}):i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"grid-4",children:[(0,n.jsxs)("div",{className:"metric-card",children:[n.jsx("span",{children:"Quality"}),n.jsx("strong",{children:Number(i.quality_score??0).toFixed(0)})]}),(0,n.jsxs)("div",{className:"metric-card",children:[n.jsx("span",{children:"Period"}),n.jsx("strong",{children:i.period_end??"n/a"})]}),(0,n.jsxs)("div",{className:"metric-card",children:[n.jsx("span",{children:"Revenue"}),n.jsx("strong",{children:y(N(r.revenue))})]}),(0,n.jsxs)("div",{className:"metric-card",children:[n.jsx("span",{children:"Net Income"}),n.jsx("strong",{children:y(N(r.net_income))})]})]}),(0,n.jsxs)("p",{children:["Provider: ",i.provider,". This context is sourced from public filings and is used as evidence quality, not as a recommendation."]})]}):n.jsx("div",{className:"empty-state",children:"No verified fundamental snapshot is stored yet for this asset."})]})}function g({thesis:e,fallbackReason:s}){if(!e)return n.jsx(u.Ez,{title:"Executive Thesis",value:"Building",subtitle:"Every asset requires a structured thesis before it can become a research candidate.",className:"asset-thesis-panel",children:n.jsx("div",{className:"empty-state",children:"Blum is collecting enough signal, news, technical, sentiment and memory evidence to create an explicit thesis. No placeholder thesis is displayed."})});let i=e.conviction??{},r=e.market_context??{},a=e.narrative_analysis??{},t=e.historical_similarity??{},l=e.causal_reasoning??{},c=Object.entries(i.components??{}).slice(0,7);return(0,n.jsxs)("section",{style:{marginTop:12},children:[(0,n.jsxs)(u.Ez,{title:"Executive Thesis",value:`${w(e.conviction_score??i.score)} conviction`,subtitle:"Thesis strength, not probability of profit. Evidence, inference and uncertainty are separated.",className:"asset-thesis-panel",children:[n.jsx("p",{children:e.executive_thesis??s??"The thesis is being assembled from stored evidence."}),(0,n.jsxs)("div",{className:"professional-grid-4",style:{marginTop:12},children:[n.jsx(u.i9,{label:"Market Regime",value:r.regime??"Sideways",subvalue:r.signal_regime_adjustment??"Context adjustment pending"}),n.jsx(u.i9,{label:"Narrative Stage",value:a.lifecycle??"n/a",subvalue:`Intensity ${w(a.intensity)} | crowding ${w(a.crowding)}`}),n.jsx(u.i9,{label:"Historical Cases",value:t.similar_cases_found??0,subvalue:t.reliability??t.status??"memory pending"}),n.jsx(u.i9,{label:"Conviction Label",value:i.label??"n/a",subvalue:i.meaning??"Thesis strength score",tone:(e.conviction_score??0)>=70?"positive":"attention"})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsxs)(u.Ez,{title:"What Is Happening",value:"Observed + inferred",children:[n.jsx("p",{children:e.what_is_happening}),n.jsx("h3",{children:"Causal read"}),n.jsx("p",{children:e.why_it_may_be_happening}),(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Price caused sentiment"}),n.jsx("span",{children:l.price_caused_sentiment??"not established"})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Sentiment caused price"}),n.jsx("span",{children:l.sentiment_caused_price??"not established"})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"External event explains both"}),n.jsx("span",{children:l.external_event_explains_both??"not observed"})]})]})]}),(0,n.jsxs)(u.Ez,{title:"Market Context",value:r.regime??"Regime",children:[n.jsx("p",{children:r.interpretation??"Market regime context is pending."}),n.jsx(_,{items:e.facts_observed,empty:"Observed facts are still being collected."})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[n.jsx(u.Ez,{title:"Supporting Evidence",value:`${b(e.supporting_evidence).length} items`,children:n.jsx(_,{items:e.supporting_evidence,empty:"No strong independent support is available yet."})}),n.jsx(u.Ez,{title:"Contradicting Evidence",value:`${b(e.contradicting_evidence).length} items`,children:n.jsx(_,{items:e.contradicting_evidence,empty:"No contradiction was found, but this does not prove the thesis."})})]}),(0,n.jsxs)("section",{className:"professional-grid-3",style:{marginTop:12},children:[(0,n.jsxs)(u.Ez,{title:"Narrative Analysis",value:a.lifecycle??"n/a",dense:!0,children:[(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Growth velocity"}),n.jsx("span",{children:w(a.growth_velocity)})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Saturation"}),n.jsx("span",{children:w(a.saturation)})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Most exposed"}),n.jsx("span",{children:(a.most_exposed_assets??[]).join(", ")||"n/a"})]})]}),n.jsx("p",{children:a.interpretation??"Narrative interpretation is pending."})]}),(0,n.jsxs)(u.Ez,{title:"Historical Similarity",value:t.status??"memory",dense:!0,children:[(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"20D average"}),(0,n.jsxs)("span",{children:[w(t.average_forward_return_20d),"%"]})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Success rate"}),n.jsx("span",{children:w(t.success_rate)})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Drawdown"}),(0,n.jsxs)("span",{children:[w(t.average_drawdown),"%"]})]})]}),n.jsx("p",{children:t.explanation??"No similar historical setup is available yet."})]}),n.jsx(u.Ez,{title:"Conviction Reducers",value:i.label??"n/a",dense:!0,children:n.jsx(_,{items:e.conviction_reducers??i.reducers,empty:"No major conviction reducer was detected."})})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[n.jsx(u.Ez,{title:"What The Market May Be Missing",value:"Blind spots",children:n.jsx(_,{items:e.what_the_market_may_be_missing,empty:"No clear market blind spot is visible."})}),(0,n.jsxs)(u.Ez,{title:"Risks and Invalidation",value:"Governance",children:[n.jsx("h3",{children:"Risks"}),n.jsx(_,{items:e.risks,empty:"Risk evidence is still forming."}),n.jsx("h3",{children:"Invalidation conditions"}),n.jsx(_,{items:e.invalidation_conditions,empty:"Invalidation conditions are not available yet."})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsxs)(u.Ez,{title:"Final Blum View",value:"Research stance",children:[n.jsx("p",{children:e.final_blum_view??"Final view pending."}),n.jsx("h3",{children:"Intellectual honesty"}),n.jsx(_,{items:e.intellectual_honesty,empty:"No specific limitation was recorded."})]}),n.jsx(u.Ez,{title:"Conviction Components",value:w(e.conviction_score),children:n.jsx("div",{className:"macro-list",children:c.map(([e,s])=>(0,n.jsxs)("div",{children:[n.jsx("strong",{children:e.replaceAll("_"," ")}),n.jsx("span",{children:w(s)})]},e))})})]})]})}function _({items:e,empty:s}){let i=b(e);return i.length?n.jsx("ul",{children:i.map((e,s)=>n.jsx("li",{children:e},`${e}-${s}`))}):n.jsx("div",{className:"empty-state",children:s})}function b(e){return e?(Array.isArray(e)?e:[e]).map(e=>null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):e.explanation??e.reason??e.summary??JSON.stringify(e)).filter(Boolean):[]}function f({report:e}){let s=e.similar_signal_history??{};return(0,n.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:"Asset Intelligence Report"}),n.jsx("strong",{children:String(e.data_mode??"evidence").replaceAll("_"," ")})]}),(0,n.jsxs)("div",{className:"grid-2",children:[(0,n.jsxs)("div",{children:[n.jsx("h3",{children:"Why it surfaced"}),n.jsx("p",{children:e.why_in_radar}),n.jsx("h3",{children:"Bullish scenario"}),n.jsx("p",{children:e.bullish_scenario}),n.jsx("h3",{children:"Bearish scenario"}),n.jsx("p",{children:e.bearish_scenario})]}),(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Similar cases"}),(0,n.jsxs)("span",{children:[s.case_count??0," / ",s.data_mode??"n/a"]})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"5D avg"}),(0,n.jsxs)("span",{children:[w(s.avg_forward_return_5d),"%"]})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"20D avg"}),(0,n.jsxs)("span",{children:[w(s.avg_forward_return_20d),"%"]})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Positive 20D"}),n.jsx("span",{children:w(s.positive_outcome_probability_20d)})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Avg drawdown"}),(0,n.jsxs)("span",{children:[w(s.average_drawdown),"%"]})]}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Reliability"}),n.jsx("span",{children:s.statistical_reliability??"n/a"})]})]})]}),n.jsx("div",{className:"issue-list",children:(e.risk_review??[]).slice(0,5).map(e=>n.jsx("span",{children:e},e))}),(0,n.jsxs)("p",{children:[n.jsx("strong",{children:"AI conclusion:"})," ",e.ai_conclusion]}),n.jsx("p",{children:e.disclaimer})]})}function y(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1}).format(Number(e))}function N(e){return"number"==typeof e?e:e&&"number"==typeof e.value?e.value:null}function w(e){return null==e||Number.isNaN(Number(e))?"n/a":Number(e).toFixed(2)}function k(e,s){return e?.score_breakdown?.[s]===void 0?"n/a":Number(e.score_breakdown[s]).toFixed(0)}function E({diagnostics:e}){let s=e.market_update??{},i=e.news_update??{};return(0,n.jsxs)("div",{className:"diagnostic-grid",children:[(0,n.jsxs)("div",{children:[n.jsx("span",{children:"Market evidence"}),(0,n.jsxs)("strong",{children:[e.price_rows??0," stored rows"]}),(0,n.jsxs)("p",{children:[s.updated_assets??0," assets updated | ",s.price_rows??0," rows fetched"]}),!!s.missing_assets?.length&&(0,n.jsxs)("p",{children:["Missing public prices: ",s.missing_assets.slice(0,6).join(", ")]})]}),(0,n.jsxs)("div",{children:[n.jsx("span",{children:"News evidence"}),(0,n.jsxs)("strong",{children:[e.linked_news??0," linked articles"]}),(0,n.jsxs)("p",{children:[i.sources_ok??0,"/",i.sources_requested??0," public sources ok | ",i.linked_assets??0," asset links"]})]})]})}},8117:(e,s,i)=>{"use strict";i.d(s,{Ku:()=>r,T3:()=>t,T4:()=>a,fP:()=>l});var n=i(8924);function r({snapshot:e,compact:s=!1}){return e&&"ready"===e.data_status&&null!=e.price?(0,n.jsxs)("div",{className:s?"market-strip compact":"market-strip",children:[(0,n.jsxs)("div",{children:[n.jsx("span",{children:"Last Price"}),n.jsx("strong",{children:a(e.price,e.currency)})]}),(0,n.jsxs)("div",{children:[n.jsx("span",{children:"1D"}),n.jsx("strong",{className:c(e.perf_1d),children:t(e.perf_1d)})]}),!s&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{children:[n.jsx("span",{children:"5D"}),n.jsx("strong",{className:c(e.perf_5d),children:t(e.perf_5d)})]}),(0,n.jsxs)("div",{children:[n.jsx("span",{children:"1M"}),n.jsx("strong",{className:c(e.perf_1m),children:t(e.perf_1m)})]})]}),(0,n.jsxs)("div",{children:[n.jsx("span",{children:e.provider??"Provider"}),n.jsx("strong",{children:e.date??"n/a"})]})]}):(0,n.jsxs)("div",{className:s?"market-strip compact":"market-strip",children:[(0,n.jsxs)("div",{children:[n.jsx("span",{children:"Price"}),n.jsx("strong",{children:"Real price pending"})]}),(0,n.jsxs)("div",{children:[n.jsx("span",{children:"Provider"}),n.jsx("strong",{children:"n/a"})]})]})}function a(e,s="USD"){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:s||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function t(e){return null==e||Number.isNaN(Number(e))?"n/a":`${e>0?"+":""}${Number(e).toFixed(2)}%`}function l(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function c(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},3081:(e,s,i)=>{"use strict";i.d(s,{O:()=>a});var n=i(8924),r=i(9779);function a({label:e}){let s=e.includes("Breakout")||e.includes("Strong")?"positive":e.includes("Risk")||e.includes("Avoid")?"negative":e.includes("Divergence")||e.includes("Contrarian")?"warning":"neutral";return n.jsx("span",{className:(0,r.Z)("status-badge",s),children:e})}},1474:(e,s,i)=>{"use strict";i.r(s),i.d(s,{default:()=>l,generateStaticParams:()=>t});var n=i(5886);let r=(0,i(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx#AssetDetailClient`),a=["SPY","QQQ","IWM","DIA","SMH","XLK","XLF","XLE","XLV","XAR","BOTZ","HACK","ICLN","TLT","GLD","AAPL","MSFT","NVDA","AMD","AVGO","AMZN","GOOGL","META","TSLA","JPM","XOM","LLY","NVO","ASML","SAP","SIE.DE","AIR.PA","RHM.DE","MC.PA","ENR.DE"];function t(){return a.map(e=>({ticker:encodeURIComponent(e.toUpperCase().replaceAll(".","_"))}))}function l({params:e}){return n.jsx(r,{ticker:decodeURIComponent(e.ticker).replaceAll("_",".").toUpperCase()})}}};var s=require("../../../webpack-runtime.js");s.C(e);var i=e=>s(s.s=e),n=s.X(0,[273,394,927,640],()=>i(5758));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/app/assets/[ticker]/page.js.nft.json b/frontend/.next/server/app/assets/[ticker]/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..a23cb1be3bb658c840b2cb6bcf01e0d7bee095be --- /dev/null +++ b/frontend/.next/server/app/assets/[ticker]/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../../node_modules/next","../../../../../package.json","../../../../package.json","../../../chunks/273.js","../../../chunks/394.js","../../../chunks/640.js","../../../chunks/927.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/assets/[ticker]/page_client-reference-manifest.js b/frontend/.next/server/app/assets/[ticker]/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..df0e423f7cc111a3df25f74a0b4cc1235c55c594 --- /dev/null +++ b/frontend/.next/server/app/assets/[ticker]/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/assets/[ticker]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","75","static/chunks/75-8c48549bc3f12b00.js","825","static/chunks/app/assets/%5Bticker%5D/page-3687f8c7fa1ef7c8.js"],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/backtest.html b/frontend/.next/server/app/backtest.html new file mode 100644 index 0000000000000000000000000000000000000000..7e204e869bc486724c53bc9ee2d69a4c5fdcffcf --- /dev/null +++ b/frontend/.next/server/app/backtest.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
\ No newline at end of file diff --git a/frontend/.next/server/app/backtest.meta b/frontend/.next/server/app/backtest.meta new file mode 100644 index 0000000000000000000000000000000000000000..3a29b6d0d107dc66774cad952fc3594f985f86e7 --- /dev/null +++ b/frontend/.next/server/app/backtest.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/backtest/layout,_N_T_/backtest/page,_N_T_/backtest/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/backtest.rsc b/frontend/.next/server/app/backtest.rsc new file mode 100644 index 0000000000000000000000000000000000000000..1790cbdedd105927072131f6990ad4a6587488a6 --- /dev/null +++ b/frontend/.next/server/app/backtest.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[4374,["651","static/chunks/651-5689242ae9b0ffc6.js","103","static/chunks/app/backtest/page-60b494c3f5caeab7.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["backtest",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["backtest",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","backtest","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/backtest/page.js b/frontend/.next/server/app/backtest/page.js new file mode 100644 index 0000000000000000000000000000000000000000..1896e9131183cb9c99b29fc8bbf13d6c6bfee467 --- /dev/null +++ b/frontend/.next/server/app/backtest/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=103,e.ids=[103],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},2890:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>l.a,__next_app__:()=>p,originalPathname:()=>c,pages:()=>u,routeModule:()=>f,tree:()=>d}),r(5771),r(8777),r(311);var s=r(9296),a=r(1650),n=r(7045),l=r.n(n),i=r(8184),o={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>i[e]);r.d(t,o);let d=["",{children:["backtest",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,5771)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,311,23)),"next/dist/client/components/not-found-error"]}],u=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx"],c="/backtest/page",p={require:r,loadChunk:()=>Promise.resolve()},f=new s.AppPageRouteModule({definition:{kind:a.x.APP_PAGE,page:"/backtest/page",pathname:"/backtest",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},6541:(e,t,r)=>{Promise.resolve().then(r.bind(r,9927))},9927:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>i});var s=r(8924),a=r(3911),n=r(3789),l=r(7749);function i(){let[e,t]=(0,a.useState)("NVDA"),[r,i]=(0,a.useState)(null),[d,u]=(0,a.useState)(!1),c=async()=>{u(!0);try{i(await n.h.backtest(e.toUpperCase()))}finally{u(!1)}},p=r?.metrics??{};return(0,s.jsxs)(s.Fragment,{children:[s.jsx("div",{className:"page-header",children:(0,s.jsxs)("div",{children:[s.jsx("div",{className:"kicker",children:"Backtest"}),s.jsx("h1",{children:"Historical validation, not performance prediction."})]})}),(0,s.jsxs)("div",{className:"control-row",children:[s.jsx("input",{className:"input",value:e,onChange:e=>t(e.target.value)}),s.jsx("button",{className:"button primary",onClick:c,children:d?"Running...":"Run validation"})]}),r&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("section",{className:"grid-4",children:[s.jsx(o,{label:"Signals",value:p.signal_count??0}),s.jsx(o,{label:"Hit Rate 20D",value:`${((p.hit_rate_20d??0)*100).toFixed(1)}%`}),s.jsx(o,{label:"Avg Forward 20D",value:`${(p.average_forward_return_20d??0).toFixed(2)}%`}),s.jsx(o,{label:"False Positive 20D",value:`${((p.false_positive_rate_20d??0)*100).toFixed(1)}%`})]}),(0,s.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[s.jsx(l.G,{title:"Best Signals",data:[{x:(r.best_signals??[]).map(e=>e.date),y:(r.best_signals??[]).map(e=>e.forward_return_20d),type:"bar",marker:{color:"#20e070"}}]}),s.jsx(l.G,{title:"Worst Signals",data:[{x:(r.worst_signals??[]).map(e=>e.date),y:(r.worst_signals??[]).map(e=>e.forward_return_20d),type:"bar",marker:{color:"#ff4d5e"}}]})]}),s.jsx("p",{children:r.disclaimer})]})]})}function o({label:e,value:t}){return(0,s.jsxs)("div",{className:"metric-card",children:[s.jsx("span",{children:e}),s.jsx("strong",{children:t})]})}},7749:(e,t,r)=>{"use strict";r.d(t,{G:()=>o});var s=r(8924),a=r(1328),n=r.n(a),l=r(3911);let i=n()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function o({title:e,data:t,layout:r={},height:a=360,emptyMessage:n="Waiting for real data series."}){let o=t.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),d={data:t,layout:{autosize:!0,height:a,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...r},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,s.jsxs)("section",{className:"panel",children:[s.jsx("div",{className:"panel-head",children:s.jsx("span",{children:e})}),o?(0,l.createElement)(i,d):s.jsx("div",{className:"plot-empty",children:n})]})}},1328:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}});let s=r(1607);r(8924),r(3911);let a=s._(r(4737));function n(e,t){var r;let s={loading:e=>{let{error:t,isLoading:r,pastDelay:s}=e;return null}};"function"==typeof e&&(s.loader=e);let n={...s,...t};return(0,a.default)({...n,modules:null==(r=n.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3880:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let s=r(6483);function a(e){let{reason:t,children:r}=e;throw new s.BailoutToCSRError(t)}},4737:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let s=r(8924),a=r(3911),n=r(3880),l=r(7083);function i(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},d=function(e){let t={...o,...e},r=(0,a.lazy)(()=>t.loader().then(i)),d=t.loading;function u(e){let i=d?(0,s.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,o=t.ssr?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.PreloadCss,{moduleIds:t.modules}),(0,s.jsx)(r,{...e})]}):(0,s.jsx)(n.BailoutToCSR,{reason:"next/dynamic",children:(0,s.jsx)(r,{...e})});return(0,s.jsx)(a.Suspense,{fallback:i,children:o})}return u.displayName="LoadableComponent",u}},7083:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return n}});let s=r(8924),a=r(4580);function n(e){let{moduleIds:t}=e,r=(0,a.getExpectedRequestStore)("next/dynamic css"),n=[];if(r.reactLoadableManifest&&t){let e=r.reactLoadableManifest;for(let r of t){if(!e[r])continue;let t=e[r].files.filter(e=>e.endsWith(".css"));n.push(...t)}}return 0===n.length?null:(0,s.jsx)(s.Fragment,{children:n.map(e=>(0,s.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:r.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},5771:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});let s=(0,r(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[273,394],()=>r(2890));module.exports=s})(); \ No newline at end of file diff --git a/frontend/.next/server/app/backtest/page.js.nft.json b/frontend/.next/server/app/backtest/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..877e4e935689e2063c7f370e14175cea6de0d164 --- /dev/null +++ b/frontend/.next/server/app/backtest/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/backtest/page_client-reference-manifest.js b/frontend/.next/server/app/backtest/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..3e36229833b59f396ebf3a53376a2efbfff62278 --- /dev/null +++ b/frontend/.next/server/app/backtest/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/backtest/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":["651","static/chunks/651-5689242ae9b0ffc6.js","103","static/chunks/app/backtest/page-60b494c3f5caeab7.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/chart-analyst.html b/frontend/.next/server/app/chart-analyst.html new file mode 100644 index 0000000000000000000000000000000000000000..bdaf15c92d5f217fc00d6a11b0876df27c74b71e --- /dev/null +++ b/frontend/.next/server/app/chart-analyst.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading chart analyst
\ No newline at end of file diff --git a/frontend/.next/server/app/chart-analyst.meta b/frontend/.next/server/app/chart-analyst.meta new file mode 100644 index 0000000000000000000000000000000000000000..fc35e764d2d87bce418f4f10c96bf149016f6cec --- /dev/null +++ b/frontend/.next/server/app/chart-analyst.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/chart-analyst/layout,_N_T_/chart-analyst/page,_N_T_/chart-analyst/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/chart-analyst.rsc b/frontend/.next/server/app/chart-analyst.rsc new file mode 100644 index 0000000000000000000000000000000000000000..c065505b0aa6437b4d27534fb9464bc52b17393b --- /dev/null +++ b/frontend/.next/server/app/chart-analyst.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[6543,["651","static/chunks/651-5689242ae9b0ffc6.js","75","static/chunks/75-8c48549bc3f12b00.js","441","static/chunks/app/chart-analyst/page-422122938e79d615.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["chart-analyst",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["chart-analyst",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","chart-analyst","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/chart-analyst/page.js b/frontend/.next/server/app/chart-analyst/page.js new file mode 100644 index 0000000000000000000000000000000000000000..eb3913b88e8c08f43e4f6ac01741494070a1ce32 --- /dev/null +++ b/frontend/.next/server/app/chart-analyst/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=441,e.ids=[441],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},5067:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>i.a,__next_app__:()=>u,originalPathname:()=>p,pages:()=>d,routeModule:()=>h,tree:()=>c}),r(1102),r(8777),r(311);var s=r(9296),n=r(1650),a=r(7045),i=r.n(a),o=r(8184),l={};for(let e in o)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>o[e]);r.d(t,l);let c=["",{children:["chart-analyst",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,1102)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx"],p="/chart-analyst/page",u={require:r,loadChunk:()=>Promise.resolve()},h=new s.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/chart-analyst/page",pathname:"/chart-analyst",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},6034:(e,t,r)=>{Promise.resolve().then(r.bind(r,9722))},9722:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});var s=r(8924),n=r(3911);r(3789);var a=r(905),i=r(2522);function o(){let[e,t]=(0,n.useState)(null),[r,o]=(0,n.useState)("NVDA"),[l,c]=(0,n.useState)([]),[d,p]=(0,n.useState)(""),u=(0,n.useMemo)(()=>e?.find(e=>e.ticker===r),[e,r]);return d?(0,s.jsxs)("div",{className:"empty-state",children:["API error: ",d]}):e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"page-header",children:[(0,s.jsxs)("div",{children:[s.jsx("div",{className:"kicker",children:"Chart Analyst"}),s.jsx("h1",{children:"Institutional technical chart intelligence."}),s.jsx("p",{children:"Hybrid analysis from deterministic OHLCV indicators, optional Qwen3-VL chart vision, sentiment context and Blum memory."})]}),s.jsx("select",{className:"input",value:r,onChange:e=>o(e.target.value),children:e.map(e=>(0,s.jsxs)("option",{value:e.ticker,children:[e.ticker," | ",e.name]},e.ticker))})]}),u&&(0,s.jsxs)("section",{className:"instrument-card",style:{marginBottom:12},children:[(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Instrument"}),(0,s.jsxs)("strong",{children:[u.ticker," | ",u.sector]}),(0,s.jsxs)("p",{children:[u.name," | ",u.asset_type," | ",u.exchange," | ",u.country]})]}),(0,s.jsxs)("div",{className:"market-strip compact",children:[(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Price"}),s.jsx("strong",{children:u.market_snapshot?.price??"n/a"})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"1D"}),(0,s.jsxs)("strong",{children:[u.market_snapshot?.perf_1d??"n/a","%"]})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Provider"}),s.jsx("strong",{children:u.market_snapshot?.provider??"pending"})]})]})]}),s.jsx(a.P,{ticker:r,prices:l})]}):s.jsx(i.G,{label:"Loading chart analyst"})}},1102:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});let s=(0,r(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[273,394,640],()=>r(5067));module.exports=s})(); \ No newline at end of file diff --git a/frontend/.next/server/app/chart-analyst/page.js.nft.json b/frontend/.next/server/app/chart-analyst/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e7482b470b58d70bdbdb5247c4e7fade7c4d1a3a --- /dev/null +++ b/frontend/.next/server/app/chart-analyst/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/640.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/chart-analyst/page_client-reference-manifest.js b/frontend/.next/server/app/chart-analyst/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..38eafd6e45a9538f626bdd0d92cd19d97a3e1318 --- /dev/null +++ b/frontend/.next/server/app/chart-analyst/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/chart-analyst/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":["651","static/chunks/651-5689242ae9b0ffc6.js","75","static/chunks/75-8c48549bc3f12b00.js","441","static/chunks/app/chart-analyst/page-422122938e79d615.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/chat.html b/frontend/.next/server/app/chat.html new file mode 100644 index 0000000000000000000000000000000000000000..b52910feab2cb7ba466496431bb53310f373efb8 --- /dev/null +++ b/frontend/.next/server/app/chat.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
BLUM Chat

Financial intelligence conversation.

Multilingual market assistant connected to Blum signals, narratives, technical analysis, fundamentals, memory, backtests and evidence controls.

ModeRAG analyst
Languageauto
Riskbalanced
Evidence0 news
B
BLUM Financial Brain

Sono BLUM Chat. Fai una domanda come faresti a un analista buy-side: io recupero contesto BLUM, segnali, news, narrativa, tecnica, fondamentali, memoria storica e restituisco una risposta strutturata. Analisi informativa, non consulenza finanziaria.

\ No newline at end of file diff --git a/frontend/.next/server/app/chat.meta b/frontend/.next/server/app/chat.meta new file mode 100644 index 0000000000000000000000000000000000000000..d76e0e4f84014be7e0d4099bb5ae43d561980e42 --- /dev/null +++ b/frontend/.next/server/app/chat.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/chat/layout,_N_T_/chat/page,_N_T_/chat/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/chat.rsc b/frontend/.next/server/app/chat.rsc new file mode 100644 index 0000000000000000000000000000000000000000..e349837bf8181cef0c4e8eb7a32c21920af7664b --- /dev/null +++ b/frontend/.next/server/app/chat.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[841,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","145","static/chunks/145-04bdfe555d73caf0.js","929","static/chunks/app/chat/page-01bb723eea532598.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["chat",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["chat",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","chat","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/chat/page.js b/frontend/.next/server/app/chat/page.js new file mode 100644 index 0000000000000000000000000000000000000000..6a3d4285f8af93fe17567cf324460646e80a419d --- /dev/null +++ b/frontend/.next/server/app/chat/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=929,e.ids=[929],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},9228:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>o.a,__next_app__:()=>c,originalPathname:()=>d,pages:()=>u,routeModule:()=>m,tree:()=>l}),r(9992),r(8777),r(311);var n=r(9296),a=r(1650),s=r(7045),o=r.n(s),i=r(8184),p={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>i[e]);r.d(t,p);let l=["",{children:["chat",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,9992)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,311,23)),"next/dist/client/components/not-found-error"]}],u=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx"],d="/chat/page",c={require:r,loadChunk:()=>Promise.resolve()},m=new n.AppPageRouteModule({definition:{kind:a.x.APP_PAGE,page:"/chat/page",pathname:"/chat",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:l}})},4377:(e,t,r)=>{Promise.resolve().then(r.bind(r,9737))},9737:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});let n=r(8377).default},9992:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});let n=(0,r(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[273,394,927,377],()=>r(9228));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/app/chat/page.js.nft.json b/frontend/.next/server/app/chat/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..3dc9c67f58e44ff0b598c6958e6b2498f5d22c18 --- /dev/null +++ b/frontend/.next/server/app/chat/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/377.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/chat/page_client-reference-manifest.js b/frontend/.next/server/app/chat/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..191f930e9009f8da63088637c7d50b4e345b2485 --- /dev/null +++ b/frontend/.next/server/app/chat/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/chat/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","145","static/chunks/145-04bdfe555d73caf0.js","929","static/chunks/app/chat/page-01bb723eea532598.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/chatbot.html b/frontend/.next/server/app/chatbot.html new file mode 100644 index 0000000000000000000000000000000000000000..f110f79e98b62e961acc2a2fe809a87ef33f998c --- /dev/null +++ b/frontend/.next/server/app/chatbot.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
BLUM Chat

Financial intelligence conversation.

Multilingual market assistant connected to Blum signals, narratives, technical analysis, fundamentals, memory, backtests and evidence controls.

ModeRAG analyst
Languageauto
Riskbalanced
Evidence0 news
B
BLUM Financial Brain

Sono BLUM Chat. Fai una domanda come faresti a un analista buy-side: io recupero contesto BLUM, segnali, news, narrativa, tecnica, fondamentali, memoria storica e restituisco una risposta strutturata. Analisi informativa, non consulenza finanziaria.

\ No newline at end of file diff --git a/frontend/.next/server/app/chatbot.meta b/frontend/.next/server/app/chatbot.meta new file mode 100644 index 0000000000000000000000000000000000000000..5cb6571e01fbd54e2fe736ec91dba6e1626994b2 --- /dev/null +++ b/frontend/.next/server/app/chatbot.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/chatbot/layout,_N_T_/chatbot/page,_N_T_/chatbot/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/chatbot.rsc b/frontend/.next/server/app/chatbot.rsc new file mode 100644 index 0000000000000000000000000000000000000000..9bd5e5175737cb942baafae90720e0515f79a29e --- /dev/null +++ b/frontend/.next/server/app/chatbot.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[8145,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","145","static/chunks/145-04bdfe555d73caf0.js","278","static/chunks/app/chatbot/page-ec86bf53c052af5b.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["chatbot",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["chatbot",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","chatbot","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/chatbot/page.js b/frontend/.next/server/app/chatbot/page.js new file mode 100644 index 0000000000000000000000000000000000000000..0cb6f3661778bafb7213835630f24b820f81bf8a --- /dev/null +++ b/frontend/.next/server/app/chatbot/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=278,e.ids=[278],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},5674:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>s.a,__next_app__:()=>d,originalPathname:()=>c,pages:()=>u,routeModule:()=>m,tree:()=>l}),r(8289),r(8777),r(311);var n=r(9296),o=r(1650),a=r(7045),s=r.n(a),i=r(8184),p={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>i[e]);r.d(t,p);let l=["",{children:["chatbot",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,8289)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,311,23)),"next/dist/client/components/not-found-error"]}],u=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx"],c="/chatbot/page",d={require:r,loadChunk:()=>Promise.resolve()},m=new n.AppPageRouteModule({definition:{kind:o.x.APP_PAGE,page:"/chatbot/page",pathname:"/chatbot",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:l}})},5450:(e,t,r)=>{Promise.resolve().then(r.bind(r,8377))},8289:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});let n=(0,r(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[273,394,927,377],()=>r(5674));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/app/chatbot/page.js.nft.json b/frontend/.next/server/app/chatbot/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..3dc9c67f58e44ff0b598c6958e6b2498f5d22c18 --- /dev/null +++ b/frontend/.next/server/app/chatbot/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/377.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/chatbot/page_client-reference-manifest.js b/frontend/.next/server/app/chatbot/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..47d7b935125b4a1d269395263a73278de0204a25 --- /dev/null +++ b/frontend/.next/server/app/chatbot/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/chatbot/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","145","static/chunks/145-04bdfe555d73caf0.js","278","static/chunks/app/chatbot/page-ec86bf53c052af5b.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/dashboard.html b/frontend/.next/server/app/dashboard.html new file mode 100644 index 0000000000000000000000000000000000000000..c1e52e872d125c67a7dae97dfba990ff8f8ce88c --- /dev/null +++ b/frontend/.next/server/app/dashboard.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading Blum Command Center
\ No newline at end of file diff --git a/frontend/.next/server/app/dashboard.meta b/frontend/.next/server/app/dashboard.meta new file mode 100644 index 0000000000000000000000000000000000000000..130958b45199274c9c7c40c183b1985e1801328e --- /dev/null +++ b/frontend/.next/server/app/dashboard.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/dashboard/layout,_N_T_/dashboard/page,_N_T_/dashboard/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/dashboard.rsc b/frontend/.next/server/app/dashboard.rsc new file mode 100644 index 0000000000000000000000000000000000000000..10766036d18cbce5f0a0932b9a5e77c826fcccaf --- /dev/null +++ b/frontend/.next/server/app/dashboard.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[7096,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","702","static/chunks/app/dashboard/page-d9577bde4b3301c9.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["dashboard",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["dashboard",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","dashboard","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/dashboard/page.js b/frontend/.next/server/app/dashboard/page.js new file mode 100644 index 0000000000000000000000000000000000000000..691e87f59a50ee3d005a1fb0e68bbf18487173c0 --- /dev/null +++ b/frontend/.next/server/app/dashboard/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=702,e.ids=[702],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4815:(e,r,t)=>{"use strict";t.r(r),t.d(r,{GlobalError:()=>a.a,__next_app__:()=>c,originalPathname:()=>u,pages:()=>l,routeModule:()=>m,tree:()=>p}),t(8666),t(8777),t(311);var n=t(9296),o=t(1650),s=t(7045),a=t.n(s),i=t(8184),d={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>i[e]);t.d(r,d);let p=["",{children:["dashboard",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,8666)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,311,23)),"next/dist/client/components/not-found-error"]}],l=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx"],u="/dashboard/page",c={require:t,loadChunk:()=>Promise.resolve()},m=new n.AppPageRouteModule({definition:{kind:o.x.APP_PAGE,page:"/dashboard/page",pathname:"/dashboard",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:p}})},3229:(e,r,t)=>{Promise.resolve().then(t.bind(t,1952))}};var r=require("../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),n=r.X(0,[273,394,927,965],()=>t(4815));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/app/dashboard/page.js.nft.json b/frontend/.next/server/app/dashboard/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..c8c43de61e1e0773716c663ba2455c7e52b2e463 --- /dev/null +++ b/frontend/.next/server/app/dashboard/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../chunks/965.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/dashboard/page_client-reference-manifest.js b/frontend/.next/server/app/dashboard/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..f1624b6363b4890a71aee4c5356510a55d0363d6 --- /dev/null +++ b/frontend/.next/server/app/dashboard/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/dashboard/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","702","static/chunks/app/dashboard/page-d9577bde4b3301c9.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/etf-radar.html b/frontend/.next/server/app/etf-radar.html new file mode 100644 index 0000000000000000000000000000000000000000..2bf1df9cdcf326d11979a2639f57e34d316259f0 --- /dev/null +++ b/frontend/.next/server/app/etf-radar.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading ETF radar
\ No newline at end of file diff --git a/frontend/.next/server/app/etf-radar.meta b/frontend/.next/server/app/etf-radar.meta new file mode 100644 index 0000000000000000000000000000000000000000..80c4cf8873d5fe3a4130ad0510b07bea5060ad40 --- /dev/null +++ b/frontend/.next/server/app/etf-radar.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/etf-radar/layout,_N_T_/etf-radar/page,_N_T_/etf-radar/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/etf-radar.rsc b/frontend/.next/server/app/etf-radar.rsc new file mode 100644 index 0000000000000000000000000000000000000000..fe56cfcaad5bb8e367477b1b50ad208aa787a9cd --- /dev/null +++ b/frontend/.next/server/app/etf-radar.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[9239,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","429","static/chunks/app/etf-radar/page-cb504f6343d399db.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["etf-radar",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["etf-radar",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","etf-radar","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/etf-radar/page.js b/frontend/.next/server/app/etf-radar/page.js new file mode 100644 index 0000000000000000000000000000000000000000..36f00f3a669382aa343aabdb95795b4b6b5c362c --- /dev/null +++ b/frontend/.next/server/app/etf-radar/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=429,e.ids=[429],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3803:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>i.a,__next_app__:()=>m,originalPathname:()=>u,pages:()=>d,routeModule:()=>h,tree:()=>c}),r(7637),r(8777),r(311);var s=r(9296),n=r(1650),a=r(7045),i=r.n(a),l=r(8184),o={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>l[e]);r.d(t,o);let c=["",{children:["etf-radar",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,7637)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(r.bind(r,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx"],u="/etf-radar/page",m={require:r,loadChunk:()=>Promise.resolve()},h=new s.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/etf-radar/page",pathname:"/etf-radar",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},7098:(e,t,r)=>{Promise.resolve().then(r.bind(r,8132))},8132:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>c});var s=r(8924),n=r(3911);r(3789);var a=r(6927),i=r(2522),l=r(8117),o=r(7749);function c(){let[e,t]=(0,n.useState)(null),[r,c]=(0,n.useState)("");if(r)return(0,s.jsxs)("div",{className:"empty-state",children:["API error: ",r]});if(!e)return s.jsx(i.G,{label:"Loading ETF radar"});let d=e.length?e.reduce((e,t)=>e+Number(t.confirmation_score??0),0)/e.length:0;return(0,s.jsxs)(s.Fragment,{children:[s.jsx(a.ft,{eyebrow:"ETF Radar",title:"ETF rotation and sector confirmation.",subtitle:"ETF intelligence monitors thematic breadth, sector confirmation and rotation leaders behind stock-level signals.",statusItems:[{label:"ETF rows",value:String(e.length),tone:e.length?"positive":"attention"},{label:"Avg confirm",value:d.toFixed(1),tone:"attention"},{label:"Top ETF",value:e[0]?.ticker??"pending"},{label:"Mode",value:"Evidence only"}]}),!e.length&&(0,s.jsxs)("section",{className:"panel readiness-panel",style:{marginBottom:12},children:[(0,s.jsxs)("div",{className:"panel-head",children:[s.jsx("span",{children:"ETF readiness"}),s.jsx("strong",{children:"No ETF trends yet"})]}),s.jsx("p",{children:"ETF rotation appears after the real-data pipeline stores prices and signal context for ETF instruments. No synthetic ETF confirmation scores are displayed."})]}),(0,s.jsxs)("section",{className:"terminal-command-grid",children:[s.jsx(a.i9,{label:"ETF Count",value:e.length,subvalue:"Rotation universe"}),s.jsx(a.i9,{label:"Average Confirmation",value:d.toFixed(1),subvalue:"ETF trend support",tone:"attention"}),s.jsx(a.i9,{label:"Top Momentum",value:e[0]?.momentum_score??"n/a",subvalue:e[0]?.ticker??"pending"}),s.jsx(a.i9,{label:"Top Theme",value:e[0]?.thematic_score??"n/a",subvalue:e[0]?.category??"category pending"})]}),s.jsx("section",{className:"grid-3",style:{marginBottom:12},children:e.slice(0,6).map(e=>(0,s.jsxs)("article",{className:"score-card",children:[(0,s.jsxs)("div",{className:"score-card-top",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("span",{children:["ETF | ",e.asset?.sector??e.category]}),s.jsx("h3",{children:e.ticker}),s.jsx("p",{className:"asset-subtitle",children:e.asset?.name??e.category})]}),s.jsx("div",{className:"score-ring",style:{"--score":e.confirmation_score},children:s.jsx("strong",{children:Math.round(e.confirmation_score)})})]}),s.jsx(l.Ku,{snapshot:e.market_snapshot,compact:!0}),(0,s.jsxs)("div",{className:"mini-metrics",children:[(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Category"}),s.jsx("strong",{children:e.category})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Exchange"}),s.jsx("strong",{children:e.asset?.exchange??"n/a"})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Momentum"}),s.jsx("strong",{children:e.momentum_score})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Theme"}),s.jsx("strong",{children:e.thematic_score})]})]})]},`etf-card-${e.ticker}-${e.created_at}`))}),(0,s.jsxs)("section",{className:"grid-2",children:[s.jsx(o.G,{title:"ETF Confirmation Ranking",data:[{x:e.map(e=>e.confirmation_score),y:e.map(e=>e.ticker),type:"bar",orientation:"h",marker:{color:"#20e070"}}],layout:{xaxis:{range:[0,100]}},emptyMessage:"ETF confirmation ranking appears after ETF trend snapshots are available."}),s.jsx(o.G,{title:"Momentum vs Theme",data:[{x:e.map(e=>e.momentum_score),y:e.map(e=>e.thematic_score),text:e.map(e=>e.ticker),type:"scatter",mode:"markers+text",marker:{size:13,color:"#ffb000"}}],emptyMessage:"Momentum/theme scatter requires real ETF trend rows."})]}),s.jsx(a.Ez,{title:"ETF Rotation Leaders",value:`${e.length} ETFs`,subtitle:"Confirmation layer for sector and thematic narratives",className:"radar-core-panel",children:e.length?s.jsx("div",{className:"table-shell",children:(0,s.jsxs)("table",{className:"intel-table",children:[s.jsx("thead",{children:(0,s.jsxs)("tr",{children:[s.jsx("th",{children:"ETF"}),s.jsx("th",{children:"Price"}),s.jsx("th",{children:"Category"}),s.jsx("th",{children:"Momentum"}),s.jsx("th",{children:"Theme"}),s.jsx("th",{children:"Confirmation"}),s.jsx("th",{children:"Read-through"})]})}),s.jsx("tbody",{children:e.map(e=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[s.jsx("span",{className:"asset-link",children:e.ticker}),s.jsx("span",{children:e.asset?.name??"ETF metadata pending"}),(0,s.jsxs)("span",{children:[e.asset?.exchange??"Exchange n/a"," | ",e.asset?.country??"Country n/a"]})]}),(0,s.jsxs)("td",{children:[s.jsx("strong",{children:(0,l.T4)(e.market_snapshot?.price,e.market_snapshot?.currency)}),(0,s.jsxs)("span",{children:[e.market_snapshot?.date??"date n/a"," | ",e.market_snapshot?.provider??"provider n/a"]})]}),s.jsx("td",{children:e.category}),s.jsx("td",{children:e.momentum_score}),s.jsx("td",{children:e.thematic_score}),s.jsx("td",{children:s.jsx("strong",{className:"score-number",children:e.confirmation_score})}),s.jsx("td",{children:e.details?.classification??"ETF trend confirmation"})]},`${e.ticker}-${e.created_at}`))})]})}):s.jsx("div",{className:"empty-state",children:"No ETF trend rows are available yet. The autonomous engine is building ETF rotation evidence in the background."})})]})}},2522:(e,t,r)=>{"use strict";r.d(t,{G:()=>n});var s=r(8924);function n({label:e="Loading intelligence snapshot"}){return(0,s.jsxs)("div",{className:"loading-state",children:[s.jsx("div",{}),s.jsx("span",{children:e})]})}},8117:(e,t,r)=>{"use strict";r.d(t,{Ku:()=>n,T3:()=>i,T4:()=>a,fP:()=>l});var s=r(8924);function n({snapshot:e,compact:t=!1}){return e&&"ready"===e.data_status&&null!=e.price?(0,s.jsxs)("div",{className:t?"market-strip compact":"market-strip",children:[(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Last Price"}),s.jsx("strong",{children:a(e.price,e.currency)})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"1D"}),s.jsx("strong",{className:o(e.perf_1d),children:i(e.perf_1d)})]}),!t&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[s.jsx("span",{children:"5D"}),s.jsx("strong",{className:o(e.perf_5d),children:i(e.perf_5d)})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"1M"}),s.jsx("strong",{className:o(e.perf_1m),children:i(e.perf_1m)})]})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:e.provider??"Provider"}),s.jsx("strong",{children:e.date??"n/a"})]})]}):(0,s.jsxs)("div",{className:t?"market-strip compact":"market-strip",children:[(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Price"}),s.jsx("strong",{children:"Real price pending"})]}),(0,s.jsxs)("div",{children:[s.jsx("span",{children:"Provider"}),s.jsx("strong",{children:"n/a"})]})]})}function a(e,t="USD"){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:t||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function i(e){return null==e||Number.isNaN(Number(e))?"n/a":`${e>0?"+":""}${Number(e).toFixed(2)}%`}function l(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function o(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},7749:(e,t,r)=>{"use strict";r.d(t,{G:()=>o});var s=r(8924),n=r(1328),a=r.n(n),i=r(3911);let l=a()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function o({title:e,data:t,layout:r={},height:n=360,emptyMessage:a="Waiting for real data series."}){let o=t.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:t,layout:{autosize:!0,height:n,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...r},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,s.jsxs)("section",{className:"panel",children:[s.jsx("div",{className:"panel-head",children:s.jsx("span",{children:e})}),o?(0,i.createElement)(l,c):s.jsx("div",{className:"plot-empty",children:a})]})}},1328:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let s=r(1607);r(8924),r(3911);let n=s._(r(4737));function a(e,t){var r;let s={loading:e=>{let{error:t,isLoading:r,pastDelay:s}=e;return null}};"function"==typeof e&&(s.loader=e);let a={...s,...t};return(0,n.default)({...a,modules:null==(r=a.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3880:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let s=r(6483);function n(e){let{reason:t,children:r}=e;throw new s.BailoutToCSRError(t)}},4737:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let s=r(8924),n=r(3911),a=r(3880),i=r(7083);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},r=(0,n.lazy)(()=>t.loader().then(l)),c=t.loading;function d(e){let l=c?(0,s.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=t.ssr?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.PreloadCss,{moduleIds:t.modules}),(0,s.jsx)(r,{...e})]}):(0,s.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,s.jsx)(r,{...e})});return(0,s.jsx)(n.Suspense,{fallback:l,children:o})}return d.displayName="LoadableComponent",d}},7083:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return a}});let s=r(8924),n=r(4580);function a(e){let{moduleIds:t}=e,r=(0,n.getExpectedRequestStore)("next/dynamic css"),a=[];if(r.reactLoadableManifest&&t){let e=r.reactLoadableManifest;for(let r of t){if(!e[r])continue;let t=e[r].files.filter(e=>e.endsWith(".css"));a.push(...t)}}return 0===a.length?null:(0,s.jsx)(s.Fragment,{children:a.map(e=>(0,s.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:r.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},7637:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});let s=(0,r(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[273,394,927],()=>r(3803));module.exports=s})(); \ No newline at end of file diff --git a/frontend/.next/server/app/etf-radar/page.js.nft.json b/frontend/.next/server/app/etf-radar/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/etf-radar/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/etf-radar/page_client-reference-manifest.js b/frontend/.next/server/app/etf-radar/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..6a17e6b6d7d8d24df367fff8a027bb012a18a664 --- /dev/null +++ b/frontend/.next/server/app/etf-radar/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/etf-radar/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","429","static/chunks/app/etf-radar/page-cb504f6343d399db.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/index.html b/frontend/.next/server/app/index.html new file mode 100644 index 0000000000000000000000000000000000000000..553eae5da026e8b836e89489cb731b0e2d9dcee7 --- /dev/null +++ b/frontend/.next/server/app/index.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading Blum Command Center
\ No newline at end of file diff --git a/frontend/.next/server/app/index.meta b/frontend/.next/server/app/index.meta new file mode 100644 index 0000000000000000000000000000000000000000..4bb667622e0bb5eb9b84b2e0ad9938bdcbdb15a6 --- /dev/null +++ b/frontend/.next/server/app/index.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/page,_N_T_/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/index.rsc b/frontend/.next/server/app/index.rsc new file mode 100644 index 0000000000000000000000000000000000000000..1aa749c48e8521e43e3e5713f11da70d5ae249a1 --- /dev/null +++ b/frontend/.next/server/app/index.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[7096,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"default",1] +4:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +5:I[176,[],""] +6:I[9414,[],""] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"children":["$","$L5",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/ipo-radar.html b/frontend/.next/server/app/ipo-radar.html new file mode 100644 index 0000000000000000000000000000000000000000..9ef7da8230ee94f2586d6e959efd80f49a5c70a1 --- /dev/null +++ b/frontend/.next/server/app/ipo-radar.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading IPO Radar
\ No newline at end of file diff --git a/frontend/.next/server/app/ipo-radar.meta b/frontend/.next/server/app/ipo-radar.meta new file mode 100644 index 0000000000000000000000000000000000000000..4275fea4b39cdddfdf2255ecf96c240132e92817 --- /dev/null +++ b/frontend/.next/server/app/ipo-radar.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/ipo-radar/layout,_N_T_/ipo-radar/page,_N_T_/ipo-radar/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/ipo-radar.rsc b/frontend/.next/server/app/ipo-radar.rsc new file mode 100644 index 0000000000000000000000000000000000000000..64d55cd877e80df6a25af87505737e5dbdedd1ce --- /dev/null +++ b/frontend/.next/server/app/ipo-radar.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[9135,["651","static/chunks/651-5689242ae9b0ffc6.js","405","static/chunks/app/ipo-radar/page-37bfbd97573d6050.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["ipo-radar",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["ipo-radar",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","ipo-radar","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/ipo-radar/page.js b/frontend/.next/server/app/ipo-radar/page.js new file mode 100644 index 0000000000000000000000000000000000000000..0123451b2da49fc353d8d34b947cc892d5e421f0 --- /dev/null +++ b/frontend/.next/server/app/ipo-radar/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=405,e.ids=[405],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3307:(e,s,n)=>{"use strict";n.r(s),n.d(s,{GlobalError:()=>t.a,__next_app__:()=>u,originalPathname:()=>p,pages:()=>d,routeModule:()=>h,tree:()=>c}),n(3272),n(8777),n(311);var r=n(9296),i=n(1650),a=n(7045),t=n.n(a),l=n(8184),o={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>l[e]);n.d(s,o);let c=["",{children:["ipo-radar",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(n.bind(n,3272)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(n.bind(n,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(n.t.bind(n,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx"],p="/ipo-radar/page",u={require:n,loadChunk:()=>Promise.resolve()},h=new r.AppPageRouteModule({definition:{kind:i.x.APP_PAGE,page:"/ipo-radar/page",pathname:"/ipo-radar",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},7988:(e,s,n)=>{Promise.resolve().then(n.bind(n,432))},432:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>d});var r=n(8924),i=n(3911),a=n(3789),t=n(2522),l=n(7749),o=n(3081);let c=[["highest_opportunity","Highest Opportunity"],["final_prospectus_watch","Final Prospectus"],["advanced_filing_watch","Advanced Filing"],["narrative_watch","Narrative Watch"],["early_filing_watch","Early Filing"]];function d(){let[e,s]=(0,i.useState)(null),[n,o]=(0,i.useState)("highest_opportunity"),[d,x]=(0,i.useState)(""),[j,g]=(0,i.useState)(""),[f,y]=(0,i.useState)(""),[_,v]=(0,i.useState)(""),[b,N]=(0,i.useState)(null),P=async()=>{v("");try{s(await a.h.ipoRadar(120))}catch(e){v(e.message)}},k=async(e,s)=>{if(e.company.cik){y(e.company.cik),v("");try{let n=await a.h.secSubmissions(e.company.cik,s);N(n),s&&await P()}catch(e){v(e.message)}finally{y("")}}},w=(0,i.useMemo)(()=>{let s=d.trim().toLowerCase();return(e?.sections?.[n]??e?.rows??[]).filter(e=>(!j||e.score.classification===j)&&(!s||`${e.company.name} ${e.company.cik??""} ${e.latest_filing?.form_type??""}`.toLowerCase().includes(s)))},[e,n,d,j]);if(_)return(0,r.jsxs)("div",{className:"empty-state",children:["API error: ",_]});if(!e)return r.jsx(t.G,{label:"Loading IPO Radar"});let S=Array.from(new Set(e.rows.map(e=>e.score.classification))).sort(),C=e.rows.slice(0,36);return(0,r.jsxs)(r.Fragment,{children:[r.jsx("div",{className:"page-header",children:(0,r.jsxs)("div",{children:[r.jsx("div",{className:"kicker",children:"IPO Radar"}),r.jsx("h1",{children:"SEC filing and pre-listing intelligence."}),r.jsx("p",{children:"Autonomous public filing surveillance for newly listed and pre-listing opportunities. No generated listing dates, valuations or tickers are displayed."})]})}),(0,r.jsxs)("section",{className:"grid-4",children:[r.jsx(h,{label:"Companies",value:e.summary.companies_observed}),r.jsx(h,{label:"Filings",value:e.summary.filings_observed}),r.jsx(h,{label:"Scored",value:e.summary.scored_companies}),r.jsx(h,{label:"Top Score",value:e.summary.top_opportunity_score.toFixed(1)})]}),!e.rows.length&&(0,r.jsxs)("section",{className:"panel readiness-panel",style:{marginTop:12},children:[(0,r.jsxs)("div",{className:"panel-head",children:[r.jsx("span",{children:"SEC readiness"}),r.jsx("strong",{children:"No IPO rows yet"})]}),r.jsx("p",{children:"IPO Radar only displays observed SEC filings and public pre-listing narratives. The autonomous engine keeps hydrating this table in the background."})]}),r.jsx("section",{className:"radar-tabs",style:{marginTop:12},children:c.map(([s,i])=>(0,r.jsxs)("button",{className:n===s?"active":"",onClick:()=>o(s),children:[i,r.jsx("span",{children:e.sections[s]?.length??0})]},s))}),(0,r.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[r.jsx(l.G,{title:"IPO Opportunity Score",data:[{x:C.map(e=>e.score.opportunity_score),y:C.map(e=>e.company.name.slice(0,32)),type:"bar",orientation:"h",marker:{color:"#ffb000"}}],layout:{xaxis:{range:[0,100]}},emptyMessage:"IPO opportunity scores appear after SEC filing rows are stored."}),r.jsx(l.G,{title:"Readiness vs Listing Probability",data:[{x:C.map(e=>e.score.readiness_score),y:C.map(e=>e.score.listing_probability_score),text:C.map(e=>e.company.name),type:"scatter",mode:"markers+text",marker:{size:C.map(e=>Math.max(9,e.score.opportunity_score/5)),color:"#4dd8ff"}}],layout:{xaxis:{range:[0,100],title:"Readiness"},yaxis:{range:[0,100],title:"Listing probability proxy"}},emptyMessage:"Readiness/listing probability requires scored SEC filing evidence."})]}),r.jsx("section",{className:"grid-3",style:{marginTop:12},children:w.slice(0,6).map(e=>r.jsx(p,{row:e,onLoadSec:s=>k(e,s),secBusy:f===e.company.cik},`${e.company.id}-${e.latest_filing?.accession_number??e.company.name}`))}),b&&(0,r.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,r.jsxs)("div",{className:"panel-head",children:[r.jsx("span",{children:"SEC company submissions"}),r.jsx("strong",{children:b.name??b.cik})]}),(0,r.jsxs)("div",{className:"diagnostic-grid",children:[(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Official filing history"}),(0,r.jsxs)("strong",{children:[b.filing_count," filings | ",b.ipo_related_filing_count," IPO-related"]}),(0,r.jsxs)("p",{children:[(b.tickers??[]).join(" | ")||"No public ticker in SEC payload"," | ",(b.exchanges??[]).join(" | ")||"No exchange in SEC payload"]})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Persistence"}),(0,r.jsxs)("strong",{children:[b.persisted_new_ipo_filings??0," new filings stored"]}),r.jsx("p",{children:b.data_policy})]})]}),r.jsx("div",{className:"table-shell",style:{marginTop:12},children:(0,r.jsxs)("table",{className:"intel-table",children:[r.jsx("thead",{children:(0,r.jsxs)("tr",{children:[r.jsx("th",{children:"Form"}),r.jsx("th",{children:"Date"}),r.jsx("th",{children:"Description"}),r.jsx("th",{children:"Document"})]})}),r.jsx("tbody",{children:(b.ipo_related_filings??[]).slice(0,20).map(e=>(0,r.jsxs)("tr",{children:[r.jsx("td",{children:r.jsx("strong",{children:e.form_type})}),r.jsx("td",{children:r.jsx("span",{children:m(e.filing_date)})}),r.jsx("td",{children:r.jsx("span",{children:e.description??"n/a"})}),r.jsx("td",{children:e.url?r.jsx("a",{className:"asset-link",href:e.url,target:"_blank",rel:"noreferrer",children:"Open"}):r.jsx("span",{children:"n/a"})})]},e.accession_number))})]})})]}),(0,r.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,r.jsxs)("div",{className:"panel-head",children:[r.jsx("span",{children:"IPO radar table"}),(0,r.jsxs)("strong",{children:[w.length," companies"]})]}),(0,r.jsxs)("div",{className:"control-row",children:[r.jsx("input",{className:"input",placeholder:"Search company, CIK, form",value:d,onChange:e=>x(e.target.value)}),(0,r.jsxs)("select",{className:"input",value:j,onChange:e=>g(e.target.value),children:[r.jsx("option",{value:"",children:"All classifications"}),S.map(e=>r.jsx("option",{children:e},e))]})]}),r.jsx(u,{rows:w})]}),(0,r.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,r.jsxs)("div",{className:"panel-head",children:[r.jsx("span",{children:"Public pre-listing narratives"}),r.jsx("strong",{children:e.prelisting_narratives.length})]}),!e.prelisting_narratives.length&&r.jsx("div",{className:"empty-state",children:"No IPO/listing headlines are stored yet from the public news tape."}),r.jsx("div",{className:"news-list",children:e.prelisting_narratives.slice(0,12).map(e=>(0,r.jsxs)("a",{className:"news-item",href:e.url,target:"_blank",rel:"noreferrer",children:[r.jsx("strong",{children:e.title}),(0,r.jsxs)("span",{children:[e.source," | ",m(e.published_at)," | quality ",e.quality_score.toFixed(1)]})]},e.id))})]}),(0,r.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,r.jsxs)("div",{className:"panel-head",children:[r.jsx("span",{children:"Source policy"}),r.jsx("strong",{children:e.data_mode})]}),r.jsx("p",{children:e.source_diagnostics.data_policy}),(0,r.jsxs)("p",{children:["Tracked forms: ",(e.source_diagnostics.forms_tracked??[]).join(" | ")]})]})]})}function p({row:e,onLoadSec:s,secBusy:n}){return(0,r.jsxs)("article",{className:"score-card ipo-card",children:[(0,r.jsxs)("div",{className:"score-card-top",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("span",{children:[e.latest_filing?.form_type??"SEC filing"," | ",m(e.latest_filing?.filing_date??null)]}),r.jsx("h3",{children:e.company.name}),(0,r.jsxs)("p",{className:"asset-subtitle",children:["CIK ",e.company.cik??"n/a"," | ",e.company.sector]})]}),r.jsx("div",{className:"score-ring",style:{"--score":e.score.opportunity_score},children:r.jsx("strong",{children:Math.round(e.score.opportunity_score)})})]}),r.jsx(o.O,{label:e.score.classification}),r.jsx("p",{children:e.score.explanation}),(0,r.jsxs)("div",{className:"mini-metrics",children:[(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Readiness"}),r.jsx("strong",{children:e.score.readiness_score.toFixed(0)})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Listing proxy"}),r.jsx("strong",{children:e.score.listing_probability_score.toFixed(0)})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Narrative"}),r.jsx("strong",{children:e.score.narrative_heat_score.toFixed(0)})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Risk terms"}),r.jsx("strong",{children:e.score.valuation_risk_score.toFixed(0)})]})]}),(0,r.jsxs)("div",{className:"control-row",style:{marginTop:12,marginBottom:0},children:[e.latest_filing?.url&&r.jsx("a",{className:"button",href:e.latest_filing.url,target:"_blank",rel:"noreferrer",children:"Open SEC filing"}),e.company.cik&&r.jsx("button",{className:"button",onClick:()=>s(!1),disabled:n,children:n?"Loading SEC...":"SEC history"}),e.company.cik&&r.jsx("button",{className:"button",onClick:()=>s(!0),disabled:n,children:n?"Syncing...":"Sync filings"})]})]})}function u({rows:e}){return e.length?r.jsx("div",{className:"table-shell",children:(0,r.jsxs)("table",{className:"intel-table",children:[r.jsx("thead",{children:(0,r.jsxs)("tr",{children:[r.jsx("th",{children:"Company"}),r.jsx("th",{children:"Filing"}),r.jsx("th",{children:"Classification"}),r.jsx("th",{children:"Scores"}),r.jsx("th",{children:"Evidence"}),r.jsx("th",{children:"Reason"})]})}),r.jsx("tbody",{children:e.map(e=>(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{children:[r.jsx("strong",{children:e.company.name}),(0,r.jsxs)("span",{children:["CIK ",e.company.cik??"n/a"," | ",e.company.sector," | ",e.company.country]})]}),(0,r.jsxs)("td",{children:[e.latest_filing?.url?r.jsx("a",{className:"asset-link",href:e.latest_filing.url,target:"_blank",rel:"noreferrer",children:e.latest_filing.form_type}):r.jsx("strong",{children:"n/a"}),r.jsx("span",{children:m(e.latest_filing?.filing_date??null)}),r.jsx("span",{children:e.latest_filing?.accession_number??"accession n/a"})]}),(0,r.jsxs)("td",{children:[r.jsx(o.O,{label:e.score.classification}),r.jsx("span",{children:e.score.time_horizon})]}),(0,r.jsxs)("td",{children:[r.jsx("strong",{className:"score-number",children:e.score.opportunity_score.toFixed(1)}),(0,r.jsxs)("span",{children:["Ready ",e.score.readiness_score.toFixed(0)," | Prob ",e.score.listing_probability_score.toFixed(0)]}),(0,r.jsxs)("span",{children:["Narr ",e.score.narrative_heat_score.toFixed(0)," | Quality ",e.score.quality_score.toFixed(0)," | Risk ",e.score.valuation_risk_score.toFixed(0)]})]}),(0,r.jsxs)("td",{children:[(0,r.jsxs)("span",{children:["Forms ",(e.score.evidence.forms_observed??[]).join(" | ")]}),(0,r.jsxs)("span",{children:["Filings ",e.score.evidence.filing_count??0," | Amendments ",e.score.evidence.amendment_count??0]}),(0,r.jsxs)("span",{children:["Themes ",(e.score.evidence.themes??[]).join(" | ")||"n/a"]})]}),r.jsx("td",{className:"why",children:e.score.explanation})]},`${e.company.id}-${e.score.created_at}`))})]})}):r.jsx("div",{className:"empty-state",children:"No IPO radar rows match the current filters."})}function h({label:e,value:s}){return(0,r.jsxs)("div",{className:"metric-card",children:[r.jsx("span",{children:e}),r.jsx("strong",{children:s})]})}function m(e){return e?new Intl.DateTimeFormat("en",{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(e)):"Pending"}},2522:(e,s,n)=>{"use strict";n.d(s,{G:()=>i});var r=n(8924);function i({label:e="Loading intelligence snapshot"}){return(0,r.jsxs)("div",{className:"loading-state",children:[r.jsx("div",{}),r.jsx("span",{children:e})]})}},7749:(e,s,n)=>{"use strict";n.d(s,{G:()=>o});var r=n(8924),i=n(1328),a=n.n(i),t=n(3911);let l=a()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function o({title:e,data:s,layout:n={},height:i=360,emptyMessage:a="Waiting for real data series."}){let o=s.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:s,layout:{autosize:!0,height:i,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...n},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,r.jsxs)("section",{className:"panel",children:[r.jsx("div",{className:"panel-head",children:r.jsx("span",{children:e})}),o?(0,t.createElement)(l,c):r.jsx("div",{className:"plot-empty",children:a})]})}},3081:(e,s,n)=>{"use strict";n.d(s,{O:()=>a});var r=n(8924),i=n(9779);function a({label:e}){let s=e.includes("Breakout")||e.includes("Strong")?"positive":e.includes("Risk")||e.includes("Avoid")?"negative":e.includes("Divergence")||e.includes("Contrarian")?"warning":"neutral";return r.jsx("span",{className:(0,i.Z)("status-badge",s),children:e})}},1328:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return a}});let r=n(1607);n(8924),n(3911);let i=r._(n(4737));function a(e,s){var n;let r={loading:e=>{let{error:s,isLoading:n,pastDelay:r}=e;return null}};"function"==typeof e&&(r.loader=e);let a={...r,...s};return(0,i.default)({...a,modules:null==(n=a.loadableGenerated)?void 0:n.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),e.exports=s.default)},3880:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return i}});let r=n(6483);function i(e){let{reason:s,children:n}=e;throw new r.BailoutToCSRError(s)}},4737:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return c}});let r=n(8924),i=n(3911),a=n(3880),t=n(7083);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},c=function(e){let s={...o,...e},n=(0,i.lazy)(()=>s.loader().then(l)),c=s.loading;function d(e){let l=c?(0,r.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=s.ssr?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.PreloadCss,{moduleIds:s.modules}),(0,r.jsx)(n,{...e})]}):(0,r.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(i.Suspense,{fallback:l,children:o})}return d.displayName="LoadableComponent",d}},7083:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadCss",{enumerable:!0,get:function(){return a}});let r=n(8924),i=n(4580);function a(e){let{moduleIds:s}=e,n=(0,i.getExpectedRequestStore)("next/dynamic css"),a=[];if(n.reactLoadableManifest&&s){let e=n.reactLoadableManifest;for(let n of s){if(!e[n])continue;let s=e[n].files.filter(e=>e.endsWith(".css"));a.push(...s)}}return 0===a.length?null:(0,r.jsx)(r.Fragment,{children:a.map(e=>(0,r.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},3272:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>r});let r=(0,n(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx#default`)}};var s=require("../../webpack-runtime.js");s.C(e);var n=e=>s(s.s=e),r=s.X(0,[273,394],()=>n(3307));module.exports=r})(); \ No newline at end of file diff --git a/frontend/.next/server/app/ipo-radar/page.js.nft.json b/frontend/.next/server/app/ipo-radar/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..877e4e935689e2063c7f370e14175cea6de0d164 --- /dev/null +++ b/frontend/.next/server/app/ipo-radar/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/ipo-radar/page_client-reference-manifest.js b/frontend/.next/server/app/ipo-radar/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..e6ac7b7843eb9aa7e47e31a14afed2dafc68db4a --- /dev/null +++ b/frontend/.next/server/app/ipo-radar/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/ipo-radar/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":["651","static/chunks/651-5689242ae9b0ffc6.js","405","static/chunks/app/ipo-radar/page-37bfbd97573d6050.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/learning.html b/frontend/.next/server/app/learning.html new file mode 100644 index 0000000000000000000000000000000000000000..ad91687633d95b300c467499e61d28b42b30c25c --- /dev/null +++ b/frontend/.next/server/app/learning.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Simulationsloading

0 evaluated horizons

Short Accuracyn/a

5-20 trading days

Mid Accuracyn/a

1-3 months

Calibration Errorn/a

insufficient sample

Tier 1 Critical Snapshotloading
Loading lightweight summary
Tier 2 Main Chartsready

Equity curve, benchmark comparison and rolling intelligence metrics load after the critical snapshot.

Tier 3 Tablesready

Trade ledgers, cycles, predictions and learning evidence use safe default limits and load only when this section becomes visible or when requested.

BLUM Trading Power Scoren/a/100
Classificationnot calculated
Evidencen/a
Sample0
Live sample0
Benchmark scoren/a
Live validationn/a

The score appears after the Trading Intelligence ledger has evidence to evaluate.

Truth Panelno hype
current stateNot enough evidence yet.
Learning Progressinconclusive
Growth Scoren/a/100
Current Trades0
Win Raten/a
Expectancyn/aR
Missed Entryn/a
Benchmark Excessn/a

BLUM cannot claim improvement until rolling windows and live validation are meaningful.

Decision Superiorityn/a/100
Classificationinsufficient evidence
Recalln/a
Precisionn/a
Alpha Capturen/a
Rankingn/a
Comparable Decisions0

BLUM needs comparable decision snapshots before it can claim it selected superior opportunities.

Business Quality Lab0
No business-quality evidence yet. Stored fundamental snapshots are required.
Portfolio Intelligencen/a/100
Diversificationn/a
Concentration Riskn/a
Drawdown Controln/a
Alpha Generationn/a
Contributors0
Correlations0

BLUM needs portfolio trade evidence before contribution, concentration and portfolio-alpha quality can be measured.

Benchmark Arena0
BenchmarkTypeResultExcessSampleEvidence
No benchmark comparison is available yet.
Strength / Weakness Map0
No weakness map yet. BLUM needs trade outcomes and attribution samples.
Self-Improvement Queue0
No self-improvement action has been proposed yet.
Capital Cycleno cycle
Cycle Capitaln/a
Targetn/a
Progress0.0%
Cycle #n/a
Targets Hit0
Bankrupt Cycles0

Capital growth is capped into 100 EUR to target cycles. When target or bankruptcy is reached, the cycle is recorded and the active bankroll restarts from 100 EUR.

Trading Intelligence Metricsn/a/100
Win Raten/a
Missed Entryn/a
Target Hitn/a
Stop Hitn/a
Expectancyn/aR
Benchmark Excessn/a

These metrics measure decision quality, not only P/L. High numbers still require sample-size and realism checks before they mean anything.

Historical vs Live Forwardloading
Live Capitaln/a
Open Positions0
Live Trades0
Historical Trades0
Live Expectancyn/aR
Historical Expectancyn/aR

Live forward paper evidence starts weak and becomes meaningful only after enough timestamp-frozen trades close.

Tier 4 Deep Reasoning Panels

Thesis survival, conviction decay, regime-aware reliability, thesis competitions, ensemble status and training quality are intentionally lazy-loaded. They no longer block the Learning dashboard first render.

Full Trade Ledger0 visible / 0 total
Detailed ledgers are lazy-loaded. Scroll here or use the Tier 3 button to fetch paginated trade evidence.
Wins0
Losses0
Missed Entries0
Target Hits0
Stop Hits0
No-Trade Correct0
TickerSetupModeCycleEntryExitP/L EURP/L/shareROutcomeQualityExcess
No detailed trade ledger is available yet. The next Trading Game run will enrich persisted trades with entry, exit, attribution, P/L and learning evidence.
Reality Checkn/a
Trades0
Tickers0
Sectors0
Regimes0
Samplen/a/100
Realismn/a/100

Reality check will appear after trade transparency runs.

P/L Breakdownn/a
No setup-level P/L breakdown yet.
Learning Evidence Log0
No trade learning evidence has been persisted yet.
Capital Cycle History0
No capital cycle has been recorded yet.
Setup Development0
No setup intelligence metrics yet.
Regime / Sector Learning0
No regime or sector learning metrics yet.
Trading Game Equity Curve
Waiting for real data series.
Paper P/L and capital disciplineNo game
Capitaln/a
Realized P/Ln/a
Max Drawdownn/a%
Expectancyn/aR
Profit Factorn/a
Risk of Ruinn/a%
Benchmark Alphan/a%
Reproducibilityn/a/100

BLUM starts each paper game at 100 EUR, risks fractionally, rejects non-reproducible setups and compares the equity curve against . Small samples never qualify as proof of outperformance.

Recent reproducible trade decisions0
TickerSetupDecisionRP/LCapital
No P/L decisions yet. BLUM needs stored execution simulations before the game can score trades.
Capital management lessons0
No capital management lessons yet.
Walk-forward Accuracy by Horizon
Latest autonomous runNo run yet
The scheduler is active but no point-in-time learning run has been persisted yet.
Signal reliability memory0
FactorTFRegimeSamplesReliabilityFalse +
No signal reliability rows yet. The first learning batches will populate this table.
Mistake taxonomy0
No classified mistakes yet. This is expected before enough simulated outcomes mature.
Strategy memory0
No strategy memory has been learned yet.
Recent point-in-time predictions0
TickerDateRegimeDirectionConfidenceQuality
No historical predictions persisted yet.
Governance and anti-overfittingResearch only
Asset Universestocks,etfs
Min Historyn/a years
Daily Guardn/a
Batch Sizen/a

Progressive loading is active. Deep learning details load after the lightweight summary and visible tables.

Every prediction stores the simulated date, hidden future policy, horizons, confidence, outcomes and mistake analysis. The loop updates parameters and memory only; it does not execute trades and does not self-modify source code.

\ No newline at end of file diff --git a/frontend/.next/server/app/learning.meta b/frontend/.next/server/app/learning.meta new file mode 100644 index 0000000000000000000000000000000000000000..4b1cf75c538b2e64fe2ad5f6d1458fcf744d07d1 --- /dev/null +++ b/frontend/.next/server/app/learning.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/learning/layout,_N_T_/learning/page,_N_T_/learning/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/learning.rsc b/frontend/.next/server/app/learning.rsc new file mode 100644 index 0000000000000000000000000000000000000000..67e85f77e385421e8a943c38131b3c1186f9a260 --- /dev/null +++ b/frontend/.next/server/app/learning.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[6056,["651","static/chunks/651-5689242ae9b0ffc6.js","934","static/chunks/app/learning/page-fb9d9a3de58b413d.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["learning",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["learning",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","learning","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/learning/page.js b/frontend/.next/server/app/learning/page.js new file mode 100644 index 0000000000000000000000000000000000000000..f6b4c400b377c9e74aef4f71683107ce131e547a --- /dev/null +++ b/frontend/.next/server/app/learning/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=649,e.ids=[649],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},6050:(e,s,a)=>{"use strict";a.r(s),a.d(s,{GlobalError:()=>r.a,__next_app__:()=>h,originalPathname:()=>p,pages:()=>o,routeModule:()=>m,tree:()=>d}),a(2071),a(8777),a(311);var l=a(9296),n=a(1650),i=a(7045),r=a.n(i),t=a(8184),c={};for(let e in t)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(c[e]=()=>t[e]);a.d(s,c);let d=["",{children:["learning",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(a.bind(a,2071)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(a.bind(a,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(a.t.bind(a,311,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx"],p="/learning/page",h={require:a,loadChunk:()=>Promise.resolve()},m=new l.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/learning/page",pathname:"/learning",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},2338:(e,s,a)=>{Promise.resolve().then(a.bind(a,1309))},1309:(e,s,a)=>{"use strict";a.r(s),a.d(s,{default:()=>m});var l=a(8924),n=a(3911),i=a(7993),r=a(9773),t=a(2567),c=a(741),d=a(3789);function o({title:e,loading:s,error:a,stale:n,updatedAt:i,onRetry:r,children:t,fallback:c="Loading panel"}){return(0,l.jsxs)("section",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:e}),l.jsx("strong",{children:n?"stale":i?new Date(i).toLocaleTimeString():s?"loading":"ready"})]}),s&&l.jsx("div",{className:"empty-state compact",children:c}),a&&(0,l.jsxs)("div",{className:"empty-state compact",children:[a,r&&l.jsx("button",{className:"button compact",onClick:r,children:"Retry"})]}),!s&&!a&&t]})}var p=a(7749),h=a(3081);function m(){let[e,s]=(0,n.useState)(null),[a,m]=(0,n.useState)(null),[N,f]=(0,n.useState)([]),[k,w]=(0,n.useState)([]),[S,T]=(0,n.useState)(null),[R,L]=(0,n.useState)(null),[P,C]=(0,n.useState)(null),[q,M]=(0,n.useState)(null),[A,$]=(0,n.useState)(""),[E,B]=(0,n.useState)(""),[O,z]=(0,n.useState)(""),[U,D]=(0,n.useState)(!1),[F,G]=(0,n.useState)(!1),[H,I]=(0,n.useState)(!1),[Q,W]=(0,n.useState)(!1),[Z,V]=(0,n.useState)(!1),[X,J]=(0,n.useState)(!1),K=(0,n.useRef)(null);async function Y(){V(!0);let[e,s,a,l,n,i,r,t]=await Promise.allSettled([d.h.reasoningCoreStatus(),d.h.thesisSurvival(16),d.h.convictionDecay(16),d.h.reliabilityByRegime(16),d.h.thesisCompetitions(12),d.h.ensembleStatus(),d.h.benchmarkRelative(16),d.h.trainingQuality(16)]);C({status:"fulfilled"===e.status?e.value:null,survival:"fulfilled"===s.status?s.value:null,conviction:"fulfilled"===a.status?a.value:null,reliability:"fulfilled"===l.status?l.value:null,competitions:"fulfilled"===n.status?n.value:null,ensemble:"fulfilled"===i.status?i.value:null,benchmark:"fulfilled"===r.status?r.value:null,trainingQuality:"fulfilled"===t.status?t.value:null}),J(!0),V(!1)}let ee=a?.metrics??{},es=ee.by_timeframe??{},ea=S?.signal_performance??a?.signal_performance??[],el=S?.strategy_memory??a?.strategy_memory??[],en=S?.mistakes??a?.mistakes??[],ei=a?.latest_run,er=R?.status?.current_game??a?.trading_game?.current_game??{current_capital:e?.current_capital,target_capital:e?.target_capital,target_cycles_completed:e?.completed_target_cycles,bankrupt_cycles:e?.bankrupt_cycles,status:e?.status},et=R?.equity??[],ec=R?.annotatedEquity?.equity_curve_points??et,ed=R?.annotatedEquity?.annotations??[],eo=R?.trades??[],ep=R?.ledger?.rows??[],eh=R?.ledgerSummary?.summary??R?.ledger?.summary??{},em=R?.cycles?.cycles??[],eu=R?.currentCycle?.cycle??{},ex=R?.cycleStats?.stats??R?.cycles?.stats??{},ej=R?.intelligenceMetrics?.metrics??{};R?.rollingMetrics?.windows;let eg=R?.metricsBySetup?.rows??[],ev=R?.metricsByRegime?.rows??[],e_=R?.metricsBySector?.rows??[],ey=R?.historicalVsLive??{},eb=R?.liveStatus??{},eN=eb?.game??{},ef=R?.livePositions?.positions??eb?.open_positions??[],ek=Array.isArray(ef)?ef:[],ew=R?.liveMetrics?.metrics??{},eS=R?.learningIntelligence??{},eT=R?.decisionIntelligence??{},eR=eT?.decision?.decision_superiority??{},eL=eT?.decision?.top_missed_opportunities??[],eP=eT?.business_quality?.highest_quality_companies??[],eC=eT?.portfolio?.portfolio_quality??{},eq=eT?.portfolio?.contributions??[],eM=eT?.portfolio?.correlations??[],eA=eS?.trading_power??{score:e?.trading_power_score,classification:e?.trading_power_classification,truth_panel:e?.truth_panel,warnings:e?.warnings,explanation:e?.suggested_next_step,statistical_confidence:e?.benchmark_summary?.status},e$=eA?.components??{},eE=eS?.benchmarks?.rows??Object.entries(e?.benchmark_summary?.major_benchmarks??{}).map(([e,s])=>({benchmark_name:e,benchmark_type:"market",result_label:s.result_label,excess_return:s.excess_return,sample_size:s.sample_size,statistical_confidence:s.statistical_confidence})),eB=eS?.progress??{},eO=eS?.weakness_map?.rows??[],ez=eS?.self_improvement?.actions??[],eU=eS?.truth_panel??eA?.truth_panel??e?.truth_panel??[],eD=R?.learningEvidence?.rows??[],eF=R?.realityCheck??{},eG=R?.pnlBreakdown??{},eH=R?.lessons??[],eI=R?.benchmark??{},eQ=R?.reproducibility??{},eW=P?.status?.precision_core?.counts??{},eZ=P?.survival?.rows??[],eV=P?.conviction?.rows??[],eX=P?.reliability?.rows??[],eJ=P?.competitions?.rows??[],eK=P?.trainingQuality?.rows??[],eY=(0,n.useMemo)(()=>{let e=["short","mid","long"];return[{x:e,y:e.map(e=>{var s;return null==(s=es[e]?.accuracy)?0:100*Number(s)}),type:"bar",marker:{color:["#55aaff","#20e070","#ffb000"]}}]},[es]),e0=(0,n.useMemo)(()=>{let e=ec.map(e=>e.timestamp||e.equity_date||e.created_at),s=ed.filter(e=>"trade_entry"!==e.event_type);return[{x:e,y:ec.map(e=>e.equity),type:"scatter",mode:"lines",name:"BLUM",line:{color:"#ffb000",width:3}},{x:e,y:ec.map(e=>e.benchmark_equity),type:"scatter",mode:"lines",name:"Benchmark",line:{color:"#55aaff",width:2}},{x:s.map(e=>e.timestamp),y:s.map(e=>e.capital_after_event),type:"scatter",mode:"markers",name:"Events",marker:{color:s.map(e=>e.pnl_impact>=0?"#20e070":"#ff4d5e"),size:9,symbol:"diamond"},text:s.map(e=>e.label),hovertemplate:"%{text}"}]},[ec,ed]);async function e1(e){$("");try{let s=await d.h.tradingGameTradeDetail(e);M(s)}catch(e){$(e instanceof Error?e.message:String(e))}}return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("header",{className:"page-header",children:[(0,l.jsxs)("div",{children:[l.jsx("div",{className:"kicker",children:"BLUM Trading Intelligence Lab"}),l.jsx("h1",{children:"Auditable paper trading intelligence."}),l.jsx("p",{children:"Capital cycles, advanced trade ledger, live forward paper mode and intelligence-growth metrics. Built to measure whether BLUM is improving entries, exits, risk control and benchmark-relative decision quality."})]}),(0,l.jsxs)("div",{className:"header-actions",children:[l.jsx(h.O,{label:e?.status==="ready"||a?.status==="active"?"Learning snapshot ready":"Loading snapshot"}),l.jsx(h.O,{label:a?.configuration?.evaluation_mode??"progressive"}),U&&l.jsx(h.O,{label:"charts loading"}),F&&l.jsx(h.O,{label:"tables loading"})]})]}),O&&(0,l.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["Summary warning: ",O]}),E&&(0,l.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["Deferred widget warning: ",E]}),(0,l.jsxs)("section",{className:"grid-4",children:[l.jsx(u,{icon:l.jsx(i.Z,{size:18}),label:"Simulations",value:ee.simulations??"loading",subvalue:`${ee.outcomes??0} evaluated horizons`}),l.jsx(u,{icon:l.jsx(r.Z,{size:18}),label:"Short Accuracy",value:j(es.short?.accuracy),subvalue:"5-20 trading days"}),l.jsx(u,{icon:l.jsx(t.Z,{size:18}),label:"Mid Accuracy",value:j(es.mid?.accuracy),subvalue:"1-3 months"}),l.jsx(u,{icon:l.jsx(c.Z,{size:18}),label:"Calibration Error",value:_(ee.confidence_calibration?.mean_absolute_error),subvalue:ee.confidence_calibration?.status??"insufficient sample"})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[l.jsx(o,{title:"Tier 1 Critical Snapshot",loading:!e&&!O,error:O,updatedAt:e?.generated_at,fallback:"Loading lightweight summary",children:(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Capital",value:y(e?.current_capital)}),l.jsx(x,{label:"Target Progress",value:e?.target_progress===null||e?.target_progress===void 0?"n/a":j(e.target_progress)}),l.jsx(x,{label:"Power Score",value:e?.trading_power_score===null||e?.trading_power_score===void 0?"n/a":`${_(e.trading_power_score)}/100`}),l.jsx(x,{label:"Benchmarks",value:e?.benchmark_summary?.status??"loading"}),l.jsx(x,{label:"Latest Run",value:e?.latest_learning_run_status??"loading"}),l.jsx(x,{label:"Freshness",value:b(e?.generated_at)})]})}),l.jsx(o,{title:"Tier 2 Main Charts",loading:U,error:"",updatedAt:e?.generated_at,fallback:"Loading charts without blocking the page",children:l.jsx("p",{children:"Equity curve, benchmark comparison and rolling intelligence metrics load after the critical snapshot."})}),(0,l.jsxs)(o,{title:"Tier 3 Tables",loading:F,error:"",updatedAt:H?e?.generated_at:null,fallback:"Loading ledgers and memory tables progressively",children:[l.jsx("p",{children:"Trade ledgers, cycles, predictions and learning evidence use safe default limits and load only when this section becomes visible or when requested."}),!H&&l.jsx("button",{className:"button compact",onClick:()=>W(!0),disabled:F,children:F?"Loading details...":"Load detailed tables"})]})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"BLUM Trading Power Score"}),(0,l.jsxs)("strong",{children:[_(eA?.score),"/100"]})]}),l.jsx("div",{className:"cycle-progress-track",children:l.jsx("span",{style:{width:`${Math.max(0,Math.min(100,Number(eA?.score??0)))}%`}})}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Classification",value:eA?.classification??"not calculated"}),l.jsx(x,{label:"Evidence",value:eA?.statistical_confidence??"n/a"}),l.jsx(x,{label:"Sample",value:eA?.sample_size??0}),l.jsx(x,{label:"Live sample",value:eA?.live_sample_size??0}),l.jsx(x,{label:"Benchmark score",value:_(e$?.benchmark_relative_score)}),l.jsx(x,{label:"Live validation",value:_(e$?.live_forward_validation_score)})]}),l.jsx("p",{children:eA?.explanation??"The score appears after the Trading Intelligence ledger has evidence to evaluate."}),(eA?.warnings??[]).length>0&&l.jsx("div",{className:"tag-row",children:eA.warnings.slice(0,5).map(e=>l.jsx("span",{children:e},e))})]}),(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Truth Panel"}),l.jsx("strong",{children:"no hype"})]}),l.jsx("div",{className:"brain-list dense",children:(eU.length?eU:["Not enough evidence yet."]).slice(0,6).map((e,s)=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:0===s?"current state":"evidence"}),l.jsx("strong",{children:e})]},`${s}-${e}`))})]}),(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Learning Progress"}),l.jsx("strong",{children:eB?.trend_label??"inconclusive"})]}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Growth Score",value:`${_(eB?.intelligence_growth_score)}/100`}),l.jsx(x,{label:"Current Trades",value:eB?.current?.trades_count??0}),l.jsx(x,{label:"Win Rate",value:j(eB?.current?.win_rate)}),l.jsx(x,{label:"Expectancy",value:`${_(eB?.current?.expectancy_r)}R`}),l.jsx(x,{label:"Missed Entry",value:j(eB?.current?.missed_entry_rate)}),l.jsx(x,{label:"Benchmark Excess",value:g(eB?.current?.benchmark_excess)})]}),l.jsx("p",{children:eB?.summary??"BLUM cannot claim improvement until rolling windows and live validation are meaningful."})]})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Decision Superiority"}),(0,l.jsxs)("strong",{children:[_(eR?.score),"/100"]})]}),l.jsx("div",{className:"cycle-progress-track",children:l.jsx("span",{style:{width:`${Math.max(0,Math.min(100,Number(eR?.score??0)))}%`}})}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Classification",value:eR?.classification??"insufficient evidence"}),l.jsx(x,{label:"Recall",value:j(eR?.metrics?.opportunity_recall)}),l.jsx(x,{label:"Precision",value:j(eR?.metrics?.opportunity_precision)}),l.jsx(x,{label:"Alpha Capture",value:j(eR?.metrics?.alpha_capture_rate)}),l.jsx(x,{label:"Ranking",value:j(eR?.metrics?.ranking_accuracy)}),l.jsx(x,{label:"Comparable Decisions",value:eR?.sample_size??0})]}),l.jsx("p",{children:eR?.explanation??"BLUM needs comparable decision snapshots before it can claim it selected superior opportunities."}),eL.length>0&&l.jsx("div",{className:"tag-row",children:eL.slice(0,4).map(e=>(0,l.jsxs)("span",{children:["Missed ",e.best_available_ticker," vs ",e.ticker]},`${e.trade_id}-${e.best_available_ticker}`))})]}),(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Business Quality Lab"}),l.jsx("strong",{children:eP.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[(eP.length?eP:[]).slice(0,5).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:`${e.ticker} | ${e.status}`}),(0,l.jsxs)("div",{className:"opportunity-line",children:[l.jsx("strong",{children:e.name}),(0,l.jsxs)("span",{children:[_(e.business_quality_score),"/100"]})]}),(0,l.jsxs)("p",{children:["Growth ",_(e.growth_quality)," | FCF ",_(e.cash_flow_quality)," | moat ",_(e.moat_quality)," | data ",_(e.data_quality_score)]})]},e.ticker)),0===eP.length&&l.jsx("div",{className:"empty-state compact",children:"No business-quality evidence yet. Stored fundamental snapshots are required."})]})]}),(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Portfolio Intelligence"}),(0,l.jsxs)("strong",{children:[_(eC?.score),"/100"]})]}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Diversification",value:_(eC?.components?.diversification)}),l.jsx(x,{label:"Concentration Risk",value:_(eC?.components?.concentration_risk)}),l.jsx(x,{label:"Drawdown Control",value:_(eC?.components?.drawdown_control)}),l.jsx(x,{label:"Alpha Generation",value:_(eC?.components?.alpha_generation)}),l.jsx(x,{label:"Contributors",value:eq.length}),l.jsx(x,{label:"Correlations",value:eM.length})]}),l.jsx("p",{children:eC?.explanation??"BLUM needs portfolio trade evidence before contribution, concentration and portfolio-alpha quality can be measured."}),(eC?.warnings??[]).length>0&&l.jsx("div",{className:"tag-row",children:eC.warnings.slice(0,4).map(e=>l.jsx("span",{children:e},e))})]})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Benchmark Arena"}),l.jsx("strong",{children:eE.length})]}),(0,l.jsxs)("div",{className:"learning-table",children:[(0,l.jsxs)("div",{className:"learning-row head",children:[l.jsx("span",{children:"Benchmark"}),l.jsx("span",{children:"Type"}),l.jsx("span",{children:"Result"}),l.jsx("span",{children:"Excess"}),l.jsx("span",{children:"Sample"}),l.jsx("span",{children:"Evidence"})]}),eE.slice(0,10).map(e=>(0,l.jsxs)("div",{className:"learning-row",children:[l.jsx("strong",{children:e.benchmark_name}),l.jsx("span",{children:e.benchmark_type}),l.jsx("span",{className:function(e){let s=String(e??"");return"outperforming"===s?"positive-text":"underperforming"===s?"negative-text":""}(e.result_label),children:String(e.result_label).replaceAll("_"," ")}),l.jsx("span",{className:Number(e.excess_return)>=0?"positive-text":"negative-text",children:g(e.excess_return)}),l.jsx("span",{children:e.sample_size}),l.jsx("span",{children:e.statistical_confidence})]},`${e.benchmark_name}-${e.benchmark_type}`)),0===eE.length&&l.jsx("div",{className:"empty-state",children:"No benchmark comparison is available yet."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Strength / Weakness Map"}),l.jsx("strong",{children:eO.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[eO.slice(0,6).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:`${e.dimension}: ${String(e.entity).replaceAll("_"," ")}`}),(0,l.jsxs)("div",{className:"opportunity-line",children:[l.jsx("strong",{children:e.main_problem}),(0,l.jsxs)("span",{children:[_(e.weakness_score),"/100 weak"]})]}),l.jsx("p",{children:e.recommended_action}),(0,l.jsxs)("p",{children:["Samples ",e.sample_size," | strength ",_(e.strength_score)," | priority ",e.priority]})]},`${e.dimension}-${e.entity}`)),0===eO.length&&l.jsx("div",{className:"empty-state compact",children:"No weakness map yet. BLUM needs trade outcomes and attribution samples."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Self-Improvement Queue"}),l.jsx("strong",{children:ez.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[ez.slice(0,6).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:`${e.priority} | ${e.status}`}),l.jsx("strong",{children:e.detected_problem}),l.jsx("p",{children:e.recommended_action}),(0,l.jsxs)("p",{children:["Module ",e.affected_module," | impact: ",e.expected_impact]})]},e.id??`${e.source_dimension}-${e.affected_module}`)),0===ez.length&&l.jsx("div",{className:"empty-state compact",children:"No self-improvement action has been proposed yet."})]})]})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Capital Cycle"}),l.jsx("strong",{children:eu?.status??"no cycle"})]}),l.jsx("div",{className:"cycle-progress-track",children:l.jsx("span",{style:{width:`${v(eu)}%`}})}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Cycle Capital",value:y(eu?.final_capital??er?.current_capital)}),l.jsx(x,{label:"Target",value:y(eu?.target_capital??er?.target_capital)}),l.jsx(x,{label:"Progress",value:`${v(eu).toFixed(1)}%`}),l.jsx(x,{label:"Cycle #",value:eu?.cycle_number??"n/a"}),l.jsx(x,{label:"Targets Hit",value:ex?.target_cycles_completed??er?.target_cycles_completed??0}),l.jsx(x,{label:"Bankrupt Cycles",value:ex?.bankrupt_cycles??er?.bankrupt_cycles??0})]}),l.jsx("p",{children:"Capital growth is capped into 100 EUR to target cycles. When target or bankruptcy is reached, the cycle is recorded and the active bankroll restarts from 100 EUR."})]}),(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Trading Intelligence Metrics"}),(0,l.jsxs)("strong",{children:[_(ej?.intelligence_growth_score),"/100"]})]}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Win Rate",value:j(ej?.win_rate)}),l.jsx(x,{label:"Missed Entry",value:j(ej?.missed_entry_rate)}),l.jsx(x,{label:"Target Hit",value:j(ej?.target_hit_rate)}),l.jsx(x,{label:"Stop Hit",value:j(ej?.stop_hit_rate)}),l.jsx(x,{label:"Expectancy",value:`${_(ej?.expectancy_r)}R`}),l.jsx(x,{label:"Benchmark Excess",value:g(ej?.benchmark_excess)})]}),l.jsx("p",{children:"These metrics measure decision quality, not only P/L. High numbers still require sample-size and realism checks before they mean anything."})]}),(0,l.jsxs)("div",{className:"panel lab-command-panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Historical vs Live Forward"}),l.jsx("strong",{children:eb?.status??"loading"})]}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Live Capital",value:y(eN?.current_capital)}),l.jsx(x,{label:"Open Positions",value:ek.length??eN?.open_positions??0}),l.jsx(x,{label:"Live Trades",value:ew?.trades_count??ey?.live?.trades_count??0}),l.jsx(x,{label:"Historical Trades",value:ey?.historical?.trades_count??0}),l.jsx(x,{label:"Live Expectancy",value:`${_(ew?.expectancy_r??ey?.live?.expectancy_r)}R`}),l.jsx(x,{label:"Historical Expectancy",value:`${_(ey?.historical?.expectancy_r)}R`})]}),l.jsx("p",{children:ey?.sample_warning??"Live forward paper evidence starts weak and becomes meaningful only after enough timestamp-frozen trades close."})]})]}),X?(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Reasoning Precision Core"}),l.jsx("strong",{children:P?.status?.precision_core?.status??"Loading"})]}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Survival Metrics",value:eW.thesis_survival_metrics??0}),l.jsx(x,{label:"Conviction Rows",value:eW.conviction_history_rows??0}),l.jsx(x,{label:"Regime Reliability",value:eW.reliability_by_regime_rows??0}),l.jsx(x,{label:"Thesis Competitions",value:eW.thesis_competitions??0}),l.jsx(x,{label:"Engine Votes",value:eW.engine_votes??0}),l.jsx(x,{label:"Benchmark Outcomes",value:eW.benchmark_relative_outcomes??0})]}),l.jsx("p",{children:"These panels measure thesis durability, confidence decay, benchmark-relative evidence and engine disagreement. They update database memory only; no source code is self-modified."})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Thesis survival and decay"}),(0,l.jsxs)("strong",{children:[eZ.length," / ",eV.length]})]}),(0,l.jsxs)("div",{className:"learning-table",children:[(0,l.jsxs)("div",{className:"learning-row head",children:[l.jsx("span",{children:"Ticker"}),l.jsx("span",{children:"Status"}),l.jsx("span",{children:"Age"}),l.jsx("span",{children:"Confidence"}),l.jsx("span",{children:"Excess"}),l.jsx("span",{children:"Quality"})]}),eZ.slice(0,8).map(e=>{var s;return(0,l.jsxs)("div",{className:"learning-row",children:[l.jsx("strong",{children:e.ticker}),l.jsx("span",{children:e.survival_status}),(0,l.jsxs)("span",{children:[_(e.survival_days),"d"]}),l.jsx("span",{children:_(e.current_confidence)}),l.jsx("span",{className:Number(e.excess_return)>=0?"positive-text":"negative-text",children:null==(s=e.excess_return)||Number.isNaN(Number(s))?"n/a":`${(100*Number(s)).toFixed(2)}%`}),l.jsx("span",{children:_(e.survival_quality_score)})]},e.id)}),0===eZ.length&&l.jsx("div",{className:"empty-state",children:"No thesis survival rows yet. The autonomous model cycle will create them after stored theses exist."})]})]})]}):(0,l.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Tier 4 Deep Reasoning Panels"}),l.jsx("button",{className:"button compact",onClick:Y,disabled:Z,children:Z?"Loading...":"Load deep reasoning panels"})]}),l.jsx("p",{children:"Thesis survival, conviction decay, regime-aware reliability, thesis competitions, ensemble status and training quality are intentionally lazy-loaded. They no longer block the Learning dashboard first render."})]}),(0,l.jsxs)("section",{className:"panel",style:{marginTop:12},ref:K,children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Full Trade Ledger"}),(0,l.jsxs)("strong",{children:[ep.length," visible / ",R?.ledger?.total??0," total"]})]}),!Q&&!H&&l.jsx("div",{className:"empty-state compact",style:{marginBottom:12},children:"Detailed ledgers are lazy-loaded. Scroll here or use the Tier 3 button to fetch paginated trade evidence."}),(0,l.jsxs)("div",{className:"evidence-grid",style:{marginBottom:12},children:[l.jsx(x,{label:"Wins",value:eh?.wins??0}),l.jsx(x,{label:"Losses",value:eh?.losses??0}),l.jsx(x,{label:"Missed Entries",value:eh?.missed_entries??0}),l.jsx(x,{label:"Target Hits",value:eh?.target_hits??0}),l.jsx(x,{label:"Stop Hits",value:eh?.stop_hits??0}),l.jsx(x,{label:"No-Trade Correct",value:eh?.no_trade_correct??0})]}),(0,l.jsxs)("div",{className:"learning-table trade-ledger-table",children:[(0,l.jsxs)("div",{className:"learning-row trade-ledger-row head",children:[l.jsx("span",{children:"Ticker"}),l.jsx("span",{children:"Setup"}),l.jsx("span",{children:"Mode"}),l.jsx("span",{children:"Cycle"}),l.jsx("span",{children:"Entry"}),l.jsx("span",{children:"Exit"}),l.jsx("span",{children:"P/L EUR"}),l.jsx("span",{children:"P/L/share"}),l.jsx("span",{children:"R"}),l.jsx("span",{children:"Outcome"}),l.jsx("span",{children:"Quality"}),l.jsx("span",{children:"Excess"})]}),ep.slice(0,18).map(e=>(0,l.jsxs)("button",{className:"learning-row trade-ledger-row clickable",onClick:()=>e1(e.trade_id),children:[l.jsx("strong",{children:e.ticker}),l.jsx("span",{children:String(e.setup_type).replaceAll("_"," ")}),l.jsx("span",{children:String(e.mode??"historical").replaceAll("_"," ")}),l.jsx("span",{children:e.capital_cycle_id??"n/a"}),(0,l.jsxs)("span",{children:[e.entry_date,l.jsx("br",{}),_(e.entry_price)]}),(0,l.jsxs)("span",{children:[e.exit_date??"open",l.jsx("br",{}),_(e.exit_price)]}),l.jsx("span",{className:Number(e.net_pnl_eur)>=0?"positive-text":"negative-text",children:y(e.net_pnl_eur)}),l.jsx("span",{className:Number(e.pnl_per_share)>=0?"positive-text":"negative-text",children:_(e.pnl_per_share)}),l.jsx("span",{className:Number(e.r_multiple)>=0?"positive-text":"negative-text",children:_(e.r_multiple)}),l.jsx("span",{children:String(e.outcome_label??e.decision_state).replaceAll("_"," ")}),l.jsx("span",{children:_(e.trade_quality_score)}),l.jsx("span",{className:Number(e.excess_return_vs_benchmark)>=0?"positive-text":"negative-text",children:g(e.excess_return_vs_benchmark)})]},e.trade_id)),0===ep.length&&l.jsx("div",{className:"empty-state",children:"No detailed trade ledger is available yet. The next Trading Game run will enrich persisted trades with entry, exit, attribution, P/L and learning evidence."})]})]}),A&&(0,l.jsxs)("div",{className:"empty-state",style:{marginTop:12},children:["Trade detail error: ",A]}),q&&(0,l.jsxs)("section",{className:"panel trade-detail-panel",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Trade Replay"}),l.jsx("button",{className:"button compact",onClick:()=>M(null),children:"Close"})]}),(0,l.jsxs)("div",{className:"grid-3",children:[(0,l.jsxs)("div",{className:"observed-model-panel",children:[l.jsx("span",{children:"Trade"}),(0,l.jsxs)("h3",{children:[q.trade?.ticker," / ",String(q.trade?.setup_type).replaceAll("_"," ")]}),l.jsx("p",{children:q.replay?.entry_decision?.why_considered}),l.jsx("p",{children:q.replay?.exit_decision?.reason})]}),(0,l.jsxs)("div",{className:"observed-model-panel",children:[l.jsx("span",{children:"P/L Breakdown"}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Net P/L",value:y(q.pnl_breakdown?.net_pnl_eur)}),l.jsx(x,{label:"Per Share",value:_(q.pnl_breakdown?.pnl_per_share)}),l.jsx(x,{label:"R Multiple",value:_(q.pnl_breakdown?.r_multiple)}),l.jsx(x,{label:"Benchmark Excess",value:g(q.pnl_breakdown?.benchmark_relative_pnl)}),l.jsx(x,{label:"Fees",value:y(q.pnl_breakdown?.fees_estimate)}),l.jsx(x,{label:"Slippage",value:y(q.pnl_breakdown?.slippage_estimate)})]})]}),(0,l.jsxs)("div",{className:"observed-model-panel",children:[l.jsx("span",{children:"Risk Plan"}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Capital Before",value:y(q.replay?.risk_management?.capital_before)}),l.jsx(x,{label:"Risk EUR",value:y(q.replay?.risk_management?.risk_amount_eur)}),l.jsx(x,{label:"Risk %",value:g(q.replay?.risk_management?.risk_percent)}),l.jsx(x,{label:"Size",value:_(q.replay?.risk_management?.position_size)}),l.jsx(x,{label:"Invalidation",value:_(q.replay?.risk_management?.invalidation_level)}),l.jsx(x,{label:"Max Loss",value:y(q.replay?.risk_management?.max_expected_loss)})]})]})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel-inner",children:[l.jsx("span",{children:"Engine Attribution"}),l.jsx("div",{className:"brain-list dense",children:(q.attribution??[]).slice(0,6).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:e.engine_name}),(0,l.jsxs)("strong",{children:[e.vote," | contribution ",_(e.contribution_score)]}),l.jsx("p",{children:e.explanation})]},e.id??e.engine_name))})]}),(0,l.jsxs)("div",{className:"panel-inner",children:[l.jsx("span",{children:"Trade Quality"}),l.jsx("p",{children:q.quality?.explanation}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Final",value:_(q.quality?.final_trade_quality_score)}),l.jsx(x,{label:"Entry",value:_(q.quality?.entry_quality)}),l.jsx(x,{label:"Exit",value:_(q.quality?.exit_quality)}),l.jsx(x,{label:"Risk/Reward",value:_(q.quality?.risk_reward_quality)}),l.jsx(x,{label:"Rule",value:_(q.quality?.rule_compliance)}),l.jsx(x,{label:"Luck",value:_(q.quality?.luck_factor)})]})]}),(0,l.jsxs)("div",{className:"panel-inner",children:[l.jsx("span",{children:"Learning Outcome"}),(0,l.jsxs)("div",{className:"brain-list dense",children:[(q.learning_outcome??[]).slice(0,4).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:String(e.lesson_type).replaceAll("_"," ")}),l.jsx("strong",{children:e.affected_module}),l.jsx("p",{children:e.observation})]},e.id)),(!q.learning_outcome||0===q.learning_outcome.length)&&l.jsx("div",{className:"empty-state compact",children:"No learning evidence is linked to this trade yet."})]})]})]})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Reality Check"}),l.jsx("strong",{children:eF?.statistical_confidence??"n/a"})]}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Trades",value:eF?.trades_count??0}),l.jsx(x,{label:"Tickers",value:eF?.unique_tickers??0}),l.jsx(x,{label:"Sectors",value:eF?.unique_sectors??0}),l.jsx(x,{label:"Regimes",value:eF?.unique_regimes??0}),l.jsx(x,{label:"Sample",value:`${_(eF?.sample_quality_score)}/100`}),l.jsx(x,{label:"Realism",value:`${_(eF?.realism_score)}/100`})]}),l.jsx("p",{children:eF?.explanation??"Reality check will appear after trade transparency runs."}),(eF?.warnings??[]).length>0&&l.jsx("div",{className:"tag-row",children:eF.warnings.slice(0,8).map(e=>l.jsx("span",{children:e.replaceAll("_"," ")},e))})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"P/L Breakdown"}),l.jsx("strong",{children:y(eG?.total_realized_pnl)})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[Object.entries(eG?.pnl_by_setup??{}).slice(0,5).map(([e,s])=>(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"opportunity-line",children:[l.jsx("strong",{children:e.replaceAll("_"," ")}),l.jsx("span",{className:Number(s.pnl)>=0?"positive-text":"negative-text",children:y(s.pnl)})]}),(0,l.jsxs)("p",{children:["Count ",s.count," | average ",_(s.average_r),"R"]})]},e)),0===Object.keys(eG?.pnl_by_setup??{}).length&&l.jsx("div",{className:"empty-state compact",children:"No setup-level P/L breakdown yet."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Learning Evidence Log"}),l.jsx("strong",{children:eD.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[eD.slice(0,6).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:String(e.lesson_type).replaceAll("_"," ")}),(0,l.jsxs)("strong",{children:[e.ticker," | ",String(e.setup_type).replaceAll("_"," ")]}),l.jsx("p",{children:e.observation})]},e.id)),0===eD.length&&l.jsx("div",{className:"empty-state compact",children:"No trade learning evidence has been persisted yet."})]})]})]}),(0,l.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Capital Cycle History"}),l.jsx("strong",{children:em.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[em.slice(0,6).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:`Cycle ${e.cycle_number}`}),(0,l.jsxs)("div",{className:"opportunity-line",children:[l.jsx("strong",{children:String(e.status).replaceAll("_"," ")}),l.jsx("span",{children:y(e.final_capital)})]}),(0,l.jsxs)("p",{children:["Target ",y(e.target_capital)," | trades ",e.trades_count," | return ",g(e.return_percent)," | expectancy ",_(e.expectancy_r),"R"]})]},e.id)),0===em.length&&l.jsx("div",{className:"empty-state compact",children:"No capital cycle has been recorded yet."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Setup Development"}),l.jsx("strong",{children:eg.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[eg.slice(0,6).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:String(e.scope_id).replaceAll("_"," ")}),(0,l.jsxs)("div",{className:"opportunity-line",children:[(0,l.jsxs)("strong",{children:[_(e.intelligence_growth_score),"/100 growth"]}),(0,l.jsxs)("span",{children:[_(e.expectancy_r),"R"]})]}),(0,l.jsxs)("p",{children:["Win ",j(e.win_rate)," | missed ",j(e.missed_entry_rate)," | quality ",_(e.trade_quality_score)]})]},e.scope_id)),0===eg.length&&l.jsx("div",{className:"empty-state compact",children:"No setup intelligence metrics yet."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Regime / Sector Learning"}),l.jsx("strong",{children:ev.length+e_.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[ev.slice(0,3).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:`Regime ${e.scope_id}`}),(0,l.jsxs)("strong",{children:[_(e.intelligence_growth_score),"/100 | ",_(e.expectancy_r),"R"]}),(0,l.jsxs)("p",{children:["Benchmark excess ",g(e.benchmark_excess)," | trades ",e.trades_count]})]},`regime-${e.scope_id}`)),e_.slice(0,3).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:`Sector ${e.scope_id}`}),(0,l.jsxs)("strong",{children:[_(e.intelligence_growth_score),"/100 | ",_(e.expectancy_r),"R"]}),(0,l.jsxs)("p",{children:["Benchmark excess ",g(e.benchmark_excess)," | trades ",e.trades_count]})]},`sector-${e.scope_id}`)),ev.length+e_.length===0&&l.jsx("div",{className:"empty-state compact",children:"No regime or sector learning metrics yet."})]})]})]}),X&&(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Regime-aware reliability"}),l.jsx("strong",{children:eX.length})]}),(0,l.jsxs)("div",{className:"learning-table",children:[(0,l.jsxs)("div",{className:"learning-row head",children:[l.jsx("span",{children:"Engine"}),l.jsx("span",{children:"Setup"}),l.jsx("span",{children:"Regime"}),l.jsx("span",{children:"Samples"}),l.jsx("span",{children:"Hit"}),l.jsx("span",{children:"Penalty"})]}),eX.slice(0,8).map(e=>(0,l.jsxs)("div",{className:"learning-row",children:[l.jsx("strong",{children:String(e.engine_name).replaceAll("_"," ")}),l.jsx("span",{children:String(e.setup_type).replaceAll("_"," ")}),l.jsx("span",{children:e.market_regime}),l.jsx("span",{children:e.sample_size}),l.jsx("span",{children:j(e.hit_rate)}),l.jsx("span",{children:_(e.confidence_penalty)})]},e.id)),0===eX.length&&l.jsx("div",{className:"empty-state",children:"No regime-specific reliability rows yet. BLUM needs matured thesis outcomes first."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Thesis competition and training quality"}),l.jsx("strong",{children:eJ.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[eJ.slice(0,5).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:e.ticker}),l.jsx("strong",{children:e.judge_summary||"Competition pending"}),(0,l.jsxs)("p",{children:["Uncertainty ",_(e.uncertainty_score),"/100 | theses ",e.theses?.length??0]})]},e.id)),0===eJ.length&&l.jsx("div",{className:"empty-state",children:"No bull/bear/neutral thesis competitions yet."}),eK.slice(0,3).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:"Training gate"}),(0,l.jsxs)("strong",{children:["Training value ",_(e.final_training_value_score),"/100"]}),(0,l.jsxs)("p",{children:["SFT ",String(e.include_in_sft)," | preference ",String(e.include_in_preference_training)," | DPO ",String(e.include_in_dpo)]})]},`quality-${e.id}`))]})]})]}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[l.jsx(p.G,{title:"Trading Game Equity Curve",data:e0,layout:{yaxis:{title:"Capital EUR"},xaxis:{title:"Simulation date"}}}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Paper P/L and capital discipline"}),l.jsx("strong",{children:er?.status??"No game"})]}),er?(0,l.jsxs)("div",{className:"brain-list dense",children:[(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Capital",value:y(er.current_capital)}),l.jsx(x,{label:"Realized P/L",value:y(er.realized_pl)}),l.jsx(x,{label:"Max Drawdown",value:`${_(er.max_drawdown)}%`}),l.jsx(x,{label:"Expectancy",value:`${_(er.expectancy_r)}R`}),l.jsx(x,{label:"Profit Factor",value:_(er.profit_factor)}),l.jsx(x,{label:"Risk of Ruin",value:`${_(er.risk_of_ruin)}%`}),l.jsx(x,{label:"Benchmark Alpha",value:`${_(eI?.alpha)}%`}),l.jsx(x,{label:"Reproducibility",value:`${_(eQ?.average_reproducibility)}/100`})]}),(0,l.jsxs)("p",{children:["BLUM starts each paper game at 100 EUR, risks fractionally, rejects non-reproducible setups and compares the equity curve against ",eI?.benchmark??er.benchmark_ticker,". Small samples never qualify as proof of outperformance."]})]}):l.jsx("div",{className:"empty-state",children:"No trading game has been created yet. The autonomous engine will start it after Sniper simulations are available."})]})]}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Recent reproducible trade decisions"}),l.jsx("strong",{children:eo.length})]}),(0,l.jsxs)("div",{className:"learning-table",children:[(0,l.jsxs)("div",{className:"learning-row head",children:[l.jsx("span",{children:"Ticker"}),l.jsx("span",{children:"Setup"}),l.jsx("span",{children:"Decision"}),l.jsx("span",{children:"R"}),l.jsx("span",{children:"P/L"}),l.jsx("span",{children:"Capital"})]}),eo.slice(0,12).map(e=>(0,l.jsxs)("div",{className:"learning-row",children:[l.jsx("strong",{children:e.ticker}),l.jsx("span",{children:String(e.setup_type).replaceAll("_"," ")}),l.jsx("span",{children:String(e.decision_state).replaceAll("_"," ")}),l.jsx("span",{className:Number(e.realized_r_multiple)>=0?"positive-text":"negative-text",children:_(e.realized_r_multiple)}),l.jsx("span",{className:Number(e.realized_pl)>=0?"positive-text":"negative-text",children:y(e.realized_pl)}),l.jsx("span",{children:y(e.capital_after)})]},e.id)),0===eo.length&&l.jsx("div",{className:"empty-state",children:"No P/L decisions yet. BLUM needs stored execution simulations before the game can score trades."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Capital management lessons"}),l.jsx("strong",{children:eH.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[eH.slice(0,8).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:String(e.category).replaceAll("_"," ")}),l.jsx("strong",{children:e.lesson}),(0,l.jsxs)("p",{children:["Reliability ",_(e.reliability_score),"/100 | samples ",e.sample_count]})]},e.id)),0===eH.length&&l.jsx("div",{className:"empty-state",children:"No capital management lessons yet."})]})]})]}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[l.jsx(p.G,{title:"Walk-forward Accuracy by Horizon",data:eY,layout:{yaxis:{range:[0,100],title:"Accuracy %"},xaxis:{title:"Prediction horizon"}}}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Latest autonomous run"}),l.jsx("strong",{children:ei?.status??"No run yet"})]}),ei?(0,l.jsxs)("div",{className:"brain-list dense",children:[(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:ei.trigger??"scheduled"}),l.jsx("strong",{children:ei.run_id}),(0,l.jsxs)("p",{children:[b(ei.started_at)," to ",b(ei.completed_at)]})]}),(0,l.jsxs)("div",{className:"evidence-grid",children:[l.jsx(x,{label:"Predictions",value:ei.predictions_created}),l.jsx(x,{label:"Outcomes",value:ei.outcomes_evaluated}),l.jsx(x,{label:"Mistakes",value:ei.mistakes_found}),l.jsx(x,{label:"Memory Updates",value:ei.memory_updates})]}),l.jsx("p",{children:ei.anti_overfitting_report?.policy??a?.policy??"Learning Loop policy will appear after the dashboard snapshot loads."})]}):l.jsx("div",{className:"empty-state",children:"The scheduler is active but no point-in-time learning run has been persisted yet."})]})]}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Signal reliability memory"}),l.jsx("strong",{children:ea.length})]}),(0,l.jsxs)("div",{className:"learning-table",children:[(0,l.jsxs)("div",{className:"learning-row head",children:[l.jsx("span",{children:"Factor"}),l.jsx("span",{children:"TF"}),l.jsx("span",{children:"Regime"}),l.jsx("span",{children:"Samples"}),l.jsx("span",{children:"Reliability"}),l.jsx("span",{children:"False +"})]}),ea.slice(0,12).map(e=>(0,l.jsxs)("div",{className:"learning-row",children:[l.jsx("strong",{children:e.signal_name?.replaceAll("_"," ")}),l.jsx("span",{children:e.timeframe}),l.jsx("span",{children:e.market_regime}),l.jsx("span",{children:e.sample_count}),l.jsx("span",{className:function(e){let s=Number(e);return s>=65?"positive-text":s<=42?"negative-text":""}(e.reliability_score),children:_(e.reliability_score)}),l.jsx("span",{children:e.false_positive_count})]},`${e.signal_name}-${e.timeframe}-${e.market_regime}`)),0===ea.length&&l.jsx("div",{className:"empty-state",children:"No signal reliability rows yet. The first learning batches will populate this table."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Mistake taxonomy"}),l.jsx("strong",{children:en.length})]}),(0,l.jsxs)("div",{className:"brain-list dense",children:[en.slice(0,12).map(e=>(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"opportunity-line",children:[l.jsx("strong",{children:String(e.error_type).replaceAll("_"," ")}),l.jsx("span",{children:e.count})]}),l.jsx("p",{children:"Repeated error class used to reduce future overconfidence and improve factor weighting."})]},e.error_type)),0===en.length&&l.jsx("div",{className:"empty-state",children:"No classified mistakes yet. This is expected before enough simulated outcomes mature."})]})]})]}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Strategy memory"}),l.jsx("strong",{children:el.length})]}),(0,l.jsxs)("div",{className:"brain-list",children:[el.slice(0,10).map(e=>(0,l.jsxs)("div",{children:[l.jsx(h.O,{label:e.category}),l.jsx("strong",{children:e.lesson}),(0,l.jsxs)("p",{children:["Reliability ",_(e.reliability_score),"/100 | samples ",e.sample_count," | positive ",e.positive_count," | negative ",e.negative_count]})]},e.memory_key)),0===el.length&&l.jsx("div",{className:"empty-state",children:"No strategy memory has been learned yet."})]})]}),(0,l.jsxs)("div",{className:"panel",children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Recent point-in-time predictions"}),l.jsx("strong",{children:k.length})]}),(0,l.jsxs)("div",{className:"learning-table predictions",children:[(0,l.jsxs)("div",{className:"learning-row head",children:[l.jsx("span",{children:"Ticker"}),l.jsx("span",{children:"Date"}),l.jsx("span",{children:"Regime"}),l.jsx("span",{children:"Direction"}),l.jsx("span",{children:"Confidence"}),l.jsx("span",{children:"Quality"})]}),k.slice(0,14).map(e=>(0,l.jsxs)("div",{className:"learning-row",children:[l.jsx("strong",{children:e.ticker}),l.jsx("span",{children:e.analysis_date}),l.jsx("span",{children:e.market_regime}),l.jsx("span",{children:e.expected_direction}),l.jsx("span",{children:_(e.confidence)}),l.jsx("span",{children:_(e.data_quality_score)})]},e.id)),0===k.length&&l.jsx("div",{className:"empty-state",children:"No historical predictions persisted yet."})]})]})]}),(0,l.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,l.jsxs)("div",{className:"panel-head",children:[l.jsx("span",{children:"Governance and anti-overfitting"}),l.jsx("strong",{children:"Research only"})]}),(0,l.jsxs)("div",{className:"method-grid",children:[l.jsx(x,{label:"Asset Universe",value:a?.configuration?.asset_universe??"stocks,etfs"}),l.jsx(x,{label:"Min History",value:`${a?.configuration?.min_history_years??"n/a"} years`}),l.jsx(x,{label:"Daily Guard",value:a?.configuration?.max_daily_runs??"n/a"}),l.jsx(x,{label:"Batch Size",value:a?.configuration?.batch_size??"n/a"})]}),l.jsx("p",{children:a?.policy??"Progressive loading is active. Deep learning details load after the lightweight summary and visible tables."}),l.jsx("p",{children:"Every prediction stores the simulated date, hidden future policy, horizons, confidence, outcomes and mistake analysis. The loop updates parameters and memory only; it does not execute trades and does not self-modify source code."})]})]})}function u({icon:e,label:s,value:a,subvalue:n}){return(0,l.jsxs)("div",{className:"metric-card",children:[(0,l.jsxs)("span",{className:"metric-label-icon",children:[e,s]}),l.jsx("strong",{children:a}),l.jsx("p",{children:n})]})}function x({label:e,value:s}){return(0,l.jsxs)("div",{children:[l.jsx("span",{children:e}),l.jsx("strong",{children:s??"n/a"})]})}function j(e){return null==e?"n/a":`${(100*Number(e)).toFixed(1)}%`}function g(e){return null==e||Number.isNaN(Number(e))?"n/a":`${Number(e).toFixed(2)}%`}function v(e){let s=Number(e?.final_capital??0),a=Number(e?.target_capital??0);return Number.isFinite(s)&&Number.isFinite(a)&&!(a<=0)?Math.max(0,Math.min(100,s/a*100)):0}function _(e){return null==e||Number.isNaN(Number(e))?"n/a":Number(e).toFixed(2)}function y(e){return null==e||Number.isNaN(Number(e))?"n/a":`${Number(e).toFixed(2)} EUR`}function b(e){return e?new Date(e).toLocaleString():"n/a"}},7749:(e,s,a)=>{"use strict";a.d(s,{G:()=>c});var l=a(8924),n=a(1328),i=a.n(n),r=a(3911);let t=i()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function c({title:e,data:s,layout:a={},height:n=360,emptyMessage:i="Waiting for real data series."}){let c=s.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),d={data:s,layout:{autosize:!0,height:n,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...a},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,l.jsxs)("section",{className:"panel",children:[l.jsx("div",{className:"panel-head",children:l.jsx("span",{children:e})}),c?(0,r.createElement)(t,d):l.jsx("div",{className:"plot-empty",children:i})]})}},3081:(e,s,a)=>{"use strict";a.d(s,{O:()=>i});var l=a(8924),n=a(9779);function i({label:e}){let s=e.includes("Breakout")||e.includes("Strong")?"positive":e.includes("Risk")||e.includes("Avoid")?"negative":e.includes("Divergence")||e.includes("Contrarian")?"warning":"neutral";return l.jsx("span",{className:(0,n.Z)("status-badge",s),children:e})}},741:(e,s,a)=>{"use strict";a.d(s,{Z:()=>l});let l=(0,a(6745).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},1328:(e,s,a)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return i}});let l=a(1607);a(8924),a(3911);let n=l._(a(4737));function i(e,s){var a;let l={loading:e=>{let{error:s,isLoading:a,pastDelay:l}=e;return null}};"function"==typeof e&&(l.loader=e);let i={...l,...s};return(0,n.default)({...i,modules:null==(a=i.loadableGenerated)?void 0:a.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),e.exports=s.default)},3880:(e,s,a)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let l=a(6483);function n(e){let{reason:s,children:a}=e;throw new l.BailoutToCSRError(s)}},4737:(e,s,a)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return d}});let l=a(8924),n=a(3911),i=a(3880),r=a(7083);function t(e){return{default:e&&"default"in e?e.default:e}}let c={loader:()=>Promise.resolve(t(()=>null)),loading:null,ssr:!0},d=function(e){let s={...c,...e},a=(0,n.lazy)(()=>s.loader().then(t)),d=s.loading;function o(e){let t=d?(0,l.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,c=s.ssr?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.PreloadCss,{moduleIds:s.modules}),(0,l.jsx)(a,{...e})]}):(0,l.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,l.jsx)(a,{...e})});return(0,l.jsx)(n.Suspense,{fallback:t,children:c})}return o.displayName="LoadableComponent",o}},7083:(e,s,a)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadCss",{enumerable:!0,get:function(){return i}});let l=a(8924),n=a(4580);function i(e){let{moduleIds:s}=e,a=(0,n.getExpectedRequestStore)("next/dynamic css"),i=[];if(a.reactLoadableManifest&&s){let e=a.reactLoadableManifest;for(let a of s){if(!e[a])continue;let s=e[a].files.filter(e=>e.endsWith(".css"));i.push(...s)}}return 0===i.length?null:(0,l.jsx)(l.Fragment,{children:i.map(e=>(0,l.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:a.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},2071:(e,s,a)=>{"use strict";a.r(s),a.d(s,{default:()=>l});let l=(0,a(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx#default`)}};var s=require("../../webpack-runtime.js");s.C(e);var a=e=>s(s.s=e),l=s.X(0,[273,394],()=>a(6050));module.exports=l})(); \ No newline at end of file diff --git a/frontend/.next/server/app/learning/page.js.nft.json b/frontend/.next/server/app/learning/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..877e4e935689e2063c7f370e14175cea6de0d164 --- /dev/null +++ b/frontend/.next/server/app/learning/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/learning/page_client-reference-manifest.js b/frontend/.next/server/app/learning/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..d3bb52366ed8a0deca81a884b8a3dce3965dc681 --- /dev/null +++ b/frontend/.next/server/app/learning/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/learning/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":["651","static/chunks/651-5689242ae9b0ffc6.js","934","static/chunks/app/learning/page-fb9d9a3de58b413d.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/market-brain.html b/frontend/.next/server/app/market-brain.html new file mode 100644 index 0000000000000000000000000000000000000000..1527f99635c7f2cd3c2e26eed34807d7cfd9660c --- /dev/null +++ b/frontend/.next/server/app/market-brain.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading Market Brain
\ No newline at end of file diff --git a/frontend/.next/server/app/market-brain.meta b/frontend/.next/server/app/market-brain.meta new file mode 100644 index 0000000000000000000000000000000000000000..f2a3387ca9f892bca284b5714fcfa438ca0a2cf8 --- /dev/null +++ b/frontend/.next/server/app/market-brain.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/market-brain/layout,_N_T_/market-brain/page,_N_T_/market-brain/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/market-brain.rsc b/frontend/.next/server/app/market-brain.rsc new file mode 100644 index 0000000000000000000000000000000000000000..d70803a5e25be5fbd002e8805181c0e6d1c16d65 --- /dev/null +++ b/frontend/.next/server/app/market-brain.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[2987,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","653","static/chunks/app/market-brain/page-a3c75d13701833bc.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["market-brain",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["market-brain",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","market-brain","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/market-brain/page.js b/frontend/.next/server/app/market-brain/page.js new file mode 100644 index 0000000000000000000000000000000000000000..8b84f9601978294ee00aa7957e52ddacd82d653a --- /dev/null +++ b/frontend/.next/server/app/market-brain/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=653,e.ids=[653],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},4123:(e,s,n)=>{"use strict";n.r(s),n.d(s,{GlobalError:()=>t.a,__next_app__:()=>h,originalPathname:()=>p,pages:()=>o,routeModule:()=>m,tree:()=>d}),n(3733),n(8777),n(311);var i=n(9296),a=n(1650),r=n(7045),t=n.n(r),l=n(8184),c={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(c[e]=()=>l[e]);n.d(s,c);let d=["",{children:["market-brain",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(n.bind(n,3733)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(n.bind(n,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(n.t.bind(n,311,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx"],p="/market-brain/page",h={require:n,loadChunk:()=>Promise.resolve()},m=new i.AppPageRouteModule({definition:{kind:a.x.APP_PAGE,page:"/market-brain/page",pathname:"/market-brain",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},3489:(e,s,n)=>{Promise.resolve().then(n.bind(n,1358))},1358:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>p});var i=n(8924),a=n(2828),r=n(3911);n(3789);var t=n(398),l=n(6927),c=n(2522),d=n(7749),o=n(3081);function p(){let[e,s]=(0,r.useState)(null),[n,a]=(0,r.useState)([]),[t,p]=(0,r.useState)("");if(t)return(0,i.jsxs)("div",{className:"empty-state",children:["API error: ",t]});if(!e)return i.jsx(c.G,{label:"Loading Market Brain"});let j=e.opportunity_stack,g=e.forward_scenarios.map(e=>e.name.replace(/^.*?:\s*/,"")),v=e.forward_scenarios.map(e=>e.probability_proxy);return(0,i.jsxs)(i.Fragment,{children:[i.jsx(l.ft,{eyebrow:"Market Brain",title:"System intelligence and reasoning layer.",subtitle:"A task-routed AI engine that separates market data, sentiment, technical evidence, memory, confidence and explanations.",statusItems:[{label:"Regime",value:e.regime,tone:"attention"},{label:"Brain score",value:e.brain_score.toFixed(1),tone:"positive"},{label:"Mode",value:e.data_mode},{label:"Snapshot",value:u(e.created_at),tone:"info"}]}),(0,i.jsxs)("section",{className:"brain-hero",children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Current regime"}),i.jsx("h2",{children:i.jsx(l.VL,{regime:e.regime})}),i.jsx("p",{children:e.summary}),(0,i.jsxs)("div",{className:"tag-row",children:[i.jsx("span",{children:e.data_mode}),i.jsx("span",{children:e.horizon}),i.jsx("span",{children:u(e.created_at)})]})]}),(0,i.jsxs)("div",{className:"brain-score",children:[i.jsx("span",{children:"Blum Market Brain Score"}),i.jsx("strong",{children:e.brain_score.toFixed(1)}),i.jsx("p",{children:"Composite evidence score derived from signals, sentiment, coverage, news intensity and IPO/pre-listing evidence."})]})]}),(0,i.jsxs)("section",{className:"market-brain-system-grid",style:{marginTop:12},children:[(0,i.jsxs)(l.Ez,{title:"AI Reasoning Layer",value:e.financial_brain?.model_status??"configured",subtitle:e.financial_brain?.configured_model??"Financial model",children:[i.jsx("p",{children:e.financial_brain?.thesis??"Financial Brain analysis is waiting for a Market Brain packet."}),i.jsx(l.IL,{value:e.financial_brain?.confidence?.score,label:e.financial_brain?.confidence?.label??"Reasoning confidence"})]}),i.jsx(l.i9,{label:"Evidence Coverage",value:e.evidence_ledger.price_rows??"n/a",subvalue:"Stored OHLCV rows"}),i.jsx(l.i9,{label:"News Coverage",value:e.market_now.news_count_48h,subvalue:"48h public evidence"}),i.jsx(l.i9,{label:"Fallback Mode",value:e.financial_brain?.model_status?.includes("fallback")?"Active":"Standby",subvalue:e.financial_brain?.evidence_policy??"Evidence-bound generation",tone:e.financial_brain?.model_status?.includes("fallback")?"attention":"positive"})]}),(0,i.jsxs)("section",{className:"grid-4",style:{marginTop:12},children:[i.jsx(m,{label:"Assets",value:e.market_now.asset_count}),i.jsx(m,{label:"Signals",value:e.market_now.signal_count}),i.jsx(m,{label:"48h News",value:e.market_now.news_count_48h}),i.jsx(m,{label:"Sentiment",value:e.market_now.average_sentiment.toFixed(2)})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[i.jsx(d.G,{title:"Forward Scenario Weights",data:[{x:v,y:g,type:"bar",orientation:"h",marker:{color:["#55aaff","#20e070","#ff4d5e"]}}],layout:{xaxis:{range:[0,100],title:"Probability proxy"}}}),i.jsx(d.G,{title:"Theme Sentiment Map",data:[{x:e.market_now.top_themes.map(e=>e.headline_count),y:e.market_now.top_themes.map(e=>e.avg_sentiment),text:e.market_now.top_themes.map(e=>e.theme),type:"scatter",mode:"markers+text",marker:{size:e.market_now.top_themes.map(e=>Math.max(10,3*e.headline_count)),color:"#ffb000"}}],layout:{xaxis:{title:"Headline count"},yaxis:{title:"Avg sentiment"}}})]}),i.jsx("section",{className:"scenario-grid",style:{marginTop:12},children:e.forward_scenarios.map(e=>(0,i.jsxs)("article",{className:"panel scenario-card",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:e.time_horizon}),(0,i.jsxs)("strong",{children:[e.probability_proxy,"%"]})]}),i.jsx("h3",{children:e.name}),i.jsx("div",{className:"scenario-list",children:e.drivers.map(e=>i.jsx("p",{children:e},e))}),i.jsx("div",{className:"tag-row",children:e.watch_points.slice(0,3).map(e=>i.jsx("span",{children:e},e))})]},e.name))}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Blum Financial Brain"}),i.jsx("strong",{children:e.financial_brain?.model_name??e.financial_brain?.configured_model??"financial brain"})]}),(0,i.jsxs)("div",{className:"financial-brain-grid",children:[(0,i.jsxs)("div",{className:"financial-brain-thesis",children:[i.jsx("span",{children:e.financial_brain?.model_status??"model status pending"}),(0,i.jsxs)("h3",{children:[e.financial_brain?.confidence?.label??"Evidence"," Confidence ",e.financial_brain?.confidence?.score??"n/a"]}),i.jsx("p",{children:e.financial_brain?.thesis??"Financial Brain analysis is waiting for a Market Brain packet."}),i.jsx("p",{children:e.financial_brain?.evidence_policy})]}),i.jsx(h,{title:"Opportunity hypotheses",rows:e.financial_brain?.opportunity_hypotheses??[]}),i.jsx(h,{title:"Risk hypotheses",rows:e.financial_brain?.risk_hypotheses??[]}),i.jsx(h,{title:"Monitoring plan",rows:e.financial_brain?.monitoring_plan??[]})]})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Brain changelog"}),i.jsx("strong",{children:e.change_log.length})]}),i.jsx("div",{className:"brain-list",children:e.change_log.map(e=>(0,i.jsxs)("div",{children:[i.jsx(o.O,{label:e.severity}),i.jsx("strong",{children:e.type.replaceAll("_"," ")}),i.jsx("p",{children:e.message})]},`${e.type}-${e.message}`))})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Contradiction engine"}),i.jsx("strong",{children:e.contradictions.length})]}),(0,i.jsxs)("div",{className:"brain-list",children:[0===e.contradictions.length&&i.jsx("div",{className:"empty-state",children:"No material price, sentiment or risk contradictions detected."}),e.contradictions.slice(0,8).map(e=>(0,i.jsxs)("div",{children:[i.jsx(o.O,{label:e.severity}),i.jsx("strong",{children:e.title}),i.jsx("span",{children:Object.entries(e.evidence).map(([e,s])=>`${e} ${s}`).join(" | ")})]},`${e.type}-${e.ticker}-${e.title}`))]})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[i.jsx(x,{title:"Stock research priorities",rows:j.stock_research_priorities,kind:"stock"}),i.jsx(x,{title:"ETF rotation leaders",rows:j.etf_rotation_leaders,kind:"etf"}),i.jsx(x,{title:"IPO / pre-listing watch",rows:j.ipo_watch,kind:"ipo"})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Event graph"}),(0,i.jsxs)("strong",{children:[e.event_graph.nodes.length," nodes"]})]}),i.jsx("div",{className:"event-graph",children:e.event_graph.nodes.slice(0,28).map(e=>(0,i.jsxs)("div",{className:`event-node ${e.type}`,children:[i.jsx("span",{children:e.type}),i.jsx("strong",{children:e.label}),void 0!==e.score&&null!==e.score&&i.jsx("em",{children:Number(e.score).toFixed(1)})]},e.id))})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Snapshot history"}),i.jsx("strong",{children:n.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[0===n.length&&i.jsx("div",{className:"empty-state",children:"No persisted Market Brain snapshots yet. The autonomous reasoning cycle is building the first durable snapshot."}),n.map(e=>(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"opportunity-line",children:[i.jsx("strong",{children:e.regime}),i.jsx("span",{children:Number(e.brain_score).toFixed(1)})]}),(0,i.jsxs)("p",{children:[u(e.created_at)," | risk ",e.risk_alert_count," | contradictions ",e.contradiction_count]}),(0,i.jsxs)("span",{children:["Top: ",e.top_stock??"n/a"," | ETF ",e.top_etf??"n/a"," | IPO ",e.top_ipo??"n/a"]})]},e.run_id))]})]})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Risk alerts"}),i.jsx("strong",{children:e.risk_alerts.length})]}),(0,i.jsxs)("div",{className:"brain-list",children:[0===e.risk_alerts.length&&i.jsx("div",{className:"empty-state",children:"No active risk alerts from the stored evidence set."}),e.risk_alerts.map(e=>(0,i.jsxs)("div",{children:[i.jsx(o.O,{label:e.severity}),i.jsx("strong",{children:e.title}),i.jsx("p",{children:e.detail}),!!e.tickers.length&&i.jsx("span",{children:e.tickers.join(" | ")})]},`${e.title}-${e.severity}`))]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Evidence ledger"}),i.jsx("strong",{children:"Audit trail"})]}),i.jsx("div",{className:"evidence-grid",children:Object.entries(e.evidence_ledger).map(([e,s])=>(0,i.jsxs)("div",{children:[i.jsx("span",{children:e.replaceAll("_"," ")}),i.jsx("strong",{children:String(s)})]},e))}),i.jsx("p",{children:e.disclaimer})]})]}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Model stack"}),i.jsx("strong",{children:"Task-routed AI"})]}),i.jsx("div",{className:"method-grid",children:Object.entries(e.model_stack).map(([e,s])=>(0,i.jsxs)("div",{children:[i.jsx("span",{children:e}),i.jsx("strong",{children:s})]},e))})]})]})}function h({title:e,rows:s}){return(0,i.jsxs)("div",{className:"observed-model-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:e}),i.jsx("strong",{children:s.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[!s.length&&i.jsx("div",{className:"empty-state",children:"No rows generated yet."}),s.slice(0,5).map((s,n)=>(0,i.jsxs)("div",{children:[i.jsx("strong",{children:s.title??s.item??s.metric??"Evidence row"}),i.jsx("p",{children:s.why_it_matters??s.metric??s.cadence??""}),s.evidence_refs&&i.jsx("span",{children:s.evidence_refs.join(" | ")})]},`${e}-${n}`))]})]})}function m({label:e,value:s}){return(0,i.jsxs)("div",{className:"metric-card",children:[i.jsx("span",{children:e}),i.jsx("strong",{children:s})]})}function x({title:e,rows:s,kind:n}){return(0,i.jsxs)("div",{className:"panel opportunity-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:e}),i.jsx("strong",{children:s.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[0===s.length&&i.jsx("div",{className:"empty-state",children:"No evidence-backed rows are available yet."}),s.slice(0,8).map((s,r)=>{var l;return(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"opportunity-line",children:["stock"===n&&s.ticker?i.jsx(a.default,{href:(0,t.up)(s.ticker),children:s.ticker}):i.jsx("strong",{children:s.ticker??s.name}),i.jsx("span",{children:null==(l=s.score??s.confirmation_score??s.opportunity_score)?"n/a":Number(l).toFixed(1)})]}),i.jsx("p",{children:s.name??s.category??s.classification}),(0,i.jsxs)("div",{className:"tag-row",children:[s.classification&&i.jsx("span",{children:s.classification}),s.research_priority&&i.jsx("span",{children:s.research_priority}),s.risk_level&&i.jsx("span",{children:s.risk_level}),s.latest_form&&i.jsx("span",{children:s.latest_form})]})]},`${e}-${s.ticker??s.name}-${r}`)})]})]})}function u(e){return e?new Intl.DateTimeFormat("en",{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(e)):"Pending"}},2522:(e,s,n)=>{"use strict";n.d(s,{G:()=>a});var i=n(8924);function a({label:e="Loading intelligence snapshot"}){return(0,i.jsxs)("div",{className:"loading-state",children:[i.jsx("div",{}),i.jsx("span",{children:e})]})}},7749:(e,s,n)=>{"use strict";n.d(s,{G:()=>c});var i=n(8924),a=n(1328),r=n.n(a),t=n(3911);let l=r()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function c({title:e,data:s,layout:n={},height:a=360,emptyMessage:r="Waiting for real data series."}){let c=s.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),d={data:s,layout:{autosize:!0,height:a,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...n},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,i.jsxs)("section",{className:"panel",children:[i.jsx("div",{className:"panel-head",children:i.jsx("span",{children:e})}),c?(0,t.createElement)(l,d):i.jsx("div",{className:"plot-empty",children:r})]})}},3081:(e,s,n)=>{"use strict";n.d(s,{O:()=>r});var i=n(8924),a=n(9779);function r({label:e}){let s=e.includes("Breakout")||e.includes("Strong")?"positive":e.includes("Risk")||e.includes("Avoid")?"negative":e.includes("Divergence")||e.includes("Contrarian")?"warning":"neutral";return i.jsx("span",{className:(0,a.Z)("status-badge",s),children:e})}},1328:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return r}});let i=n(1607);n(8924),n(3911);let a=i._(n(4737));function r(e,s){var n;let i={loading:e=>{let{error:s,isLoading:n,pastDelay:i}=e;return null}};"function"==typeof e&&(i.loader=e);let r={...i,...s};return(0,a.default)({...r,modules:null==(n=r.loadableGenerated)?void 0:n.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),e.exports=s.default)},3880:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let i=n(6483);function a(e){let{reason:s,children:n}=e;throw new i.BailoutToCSRError(s)}},4737:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return d}});let i=n(8924),a=n(3911),r=n(3880),t=n(7083);function l(e){return{default:e&&"default"in e?e.default:e}}let c={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},d=function(e){let s={...c,...e},n=(0,a.lazy)(()=>s.loader().then(l)),d=s.loading;function o(e){let l=d?(0,i.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,c=s.ssr?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.PreloadCss,{moduleIds:s.modules}),(0,i.jsx)(n,{...e})]}):(0,i.jsx)(r.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(n,{...e})});return(0,i.jsx)(a.Suspense,{fallback:l,children:c})}return o.displayName="LoadableComponent",o}},7083:(e,s,n)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadCss",{enumerable:!0,get:function(){return r}});let i=n(8924),a=n(4580);function r(e){let{moduleIds:s}=e,n=(0,a.getExpectedRequestStore)("next/dynamic css"),r=[];if(n.reactLoadableManifest&&s){let e=n.reactLoadableManifest;for(let n of s){if(!e[n])continue;let s=e[n].files.filter(e=>e.endsWith(".css"));r.push(...s)}}return 0===r.length?null:(0,i.jsx)(i.Fragment,{children:r.map(e=>(0,i.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},3733:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>i});let i=(0,n(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx#default`)}};var s=require("../../webpack-runtime.js");s.C(e);var n=e=>s(s.s=e),i=s.X(0,[273,394,927],()=>n(4123));module.exports=i})(); \ No newline at end of file diff --git a/frontend/.next/server/app/market-brain/page.js.nft.json b/frontend/.next/server/app/market-brain/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/market-brain/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/market-brain/page_client-reference-manifest.js b/frontend/.next/server/app/market-brain/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..9a4efab1cc34749dd9770948222a51c98017a27e --- /dev/null +++ b/frontend/.next/server/app/market-brain/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/market-brain/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","653","static/chunks/app/market-brain/page-a3c75d13701833bc.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/methodology.html b/frontend/.next/server/app/methodology.html new file mode 100644 index 0000000000000000000000000000000000000000..b6273bebe1bb76275188d28b4ffa7a2d6cac2ee5 --- /dev/null +++ b/frontend/.next/server/app/methodology.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Data workflow

The backend seeds an asset universe, ingests public OHLCV history, collects public RSS news, deduplicates articles, links them to assets and persists all artifacts in PostgreSQL.

AI orchestration

FinBERT handles financial sentiment, sentence-transformers handles embeddings and semantic search, a lightweight LLM creates evidence-only explanations, and the time-series layer computes anomalies, volatility regimes and scenarios.

Market Brain

The Market Brain combines stock signals, ETF rotation, live news, sentiment, SEC filing evidence, forward scenarios, contradictions, risk alerts and change logs into one evidence-bound operating view.

Self-learning financial memory

Blum evaluates signal outcomes after 1D, 3D, 7D, 14D and 30D, then stores accuracy memory, confidence adjustments, source reliability and reversible model weight versions. It updates parameters, not source code, and never executes trades.

Chart Vision Technical Analyst

Chart analysis combines deterministic OHLCV calculations with optional Qwen3-VL visual interpretation and InternVL3 fallback. If vision is unavailable, Blum clearly switches to deterministic technical analysis and does not invent visual levels.

IPO intelligence

IPO Radar uses SEC EDGAR current filings and company submissions data for S-1, F-1 and 424B prospectus evidence. It never fabricates listing dates, valuations or tickers.

Signal scoring

The Blum Intelligence Score combines momentum, trend quality, technical indicators, volatility/risk, sentiment trend, semantic intensity, ETF confirmation and anomaly pressure.

Explainability

Each surfaced asset must expose why it appeared, which technical and narrative data support it, what contradicts it, what to monitor, and which risks limit confidence.

Backtesting

Historical validation reports hit rate, forward returns, max adverse excursion, max favorable excursion, false positives and methodology limits. It does not promise future performance.

Provider architecture

The first provider is yfinance. The backend isolates providers so future integrations can add licensed market data, estimates, filings, transcripts, ownership and portfolio systems.

AI model statusfallback-ready
Model status is not available yet.
Financial disclaimer

This project is for educational, research and technical case-study purposes only. It is not financial advice, an investment recommendation, a trading signal, or a substitute for regulated research, due diligence, valuation work, risk management or professional advice.

\ No newline at end of file diff --git a/frontend/.next/server/app/methodology.meta b/frontend/.next/server/app/methodology.meta new file mode 100644 index 0000000000000000000000000000000000000000..71491fc513e08c451271a61d49f976a56dbfd10c --- /dev/null +++ b/frontend/.next/server/app/methodology.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/methodology/layout,_N_T_/methodology/page,_N_T_/methodology/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/methodology.rsc b/frontend/.next/server/app/methodology.rsc new file mode 100644 index 0000000000000000000000000000000000000000..22eff93bb47410fdfd5550b3c503802af6599b2d --- /dev/null +++ b/frontend/.next/server/app/methodology.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[7413,["651","static/chunks/651-5689242ae9b0ffc6.js","949","static/chunks/app/methodology/page-f0ef96f8ef7d3450.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["methodology",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["methodology",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","methodology","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/methodology/page.js b/frontend/.next/server/app/methodology/page.js new file mode 100644 index 0000000000000000000000000000000000000000..d7e896e1f914f3d292ddbe6539f2591858ed1a5a --- /dev/null +++ b/frontend/.next/server/app/methodology/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=949,e.ids=[949],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},8353:(e,s,t)=>{"use strict";t.r(s),t.d(s,{GlobalError:()=>r.a,__next_app__:()=>h,originalPathname:()=>m,pages:()=>c,routeModule:()=>p,tree:()=>d}),t(1378),t(8777),t(311);var n=t(9296),i=t(1650),a=t(7045),r=t.n(a),o=t(8184),l={};for(let e in o)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>o[e]);t.d(s,l);let d=["",{children:["methodology",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,1378)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,311,23)),"next/dist/client/components/not-found-error"]}],c=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx"],m="/methodology/page",h={require:t,loadChunk:()=>Promise.resolve()},p=new n.AppPageRouteModule({definition:{kind:i.x.APP_PAGE,page:"/methodology/page",pathname:"/methodology",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},8043:(e,s,t)=>{Promise.resolve().then(t.bind(t,8052))},8052:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>a});var n=t(8924),i=t(3911);function a(){let[e,s]=(0,i.useState)(null);return(0,n.jsxs)(n.Fragment,{children:[n.jsx("div",{className:"page-header",children:(0,n.jsxs)("div",{children:[n.jsx("div",{className:"kicker",children:"Methodology"}),n.jsx("h1",{children:"Transparent architecture and scoring rules."})]})}),n.jsx("section",{className:"grid-2",children:o.map(e=>(0,n.jsxs)("article",{className:"panel",children:[n.jsx("div",{className:"panel-head",children:n.jsx("span",{children:e.title})}),n.jsx("p",{children:e.body})]},e.title))}),(0,n.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:"AI model status"}),n.jsx("strong",{children:e?.model_loading_enabled?"model loading enabled":"fallback-ready"})]}),!e&&n.jsx("div",{className:"empty-state",children:"Model status is not available yet."}),e&&(0,n.jsxs)(n.Fragment,{children:[n.jsx("div",{className:"method-grid",children:Object.entries(e.configured_models).map(([e,s])=>(0,n.jsxs)("div",{children:[n.jsx("span",{children:e.replaceAll("_"," ")}),n.jsx("strong",{children:String(s)})]},e))}),(0,n.jsxs)("div",{className:"grid-3",style:{marginTop:10},children:[n.jsx(r,{title:"Sentiment records",rows:e.observed_models.sentiment}),n.jsx(r,{title:"Embedding records",rows:e.observed_models.embeddings}),n.jsx(r,{title:"Insight records",rows:e.observed_models.insights})]})]})]}),(0,n.jsxs)("section",{className:"panel",style:{marginTop:12},children:[n.jsx("div",{className:"panel-head",children:n.jsx("span",{children:"Financial disclaimer"})}),n.jsx("p",{children:"This project is for educational, research and technical case-study purposes only. It is not financial advice, an investment recommendation, a trading signal, or a substitute for regulated research, due diligence, valuation work, risk management or professional advice."})]})]})}function r({title:e,rows:s}){return(0,n.jsxs)("div",{className:"observed-model-panel",children:[(0,n.jsxs)("div",{className:"panel-head",children:[n.jsx("span",{children:e}),n.jsx("strong",{children:s?.length??0})]}),(0,n.jsxs)("div",{className:"brain-list dense",children:[!s?.length&&n.jsx("div",{className:"empty-state",children:"No records observed yet."}),s?.map(e=>n.jsxs("div",{children:[n.jsx("strong",{children:e.model_name}),n.jsxs("span",{children:[e.records," records"]})]},e.model_name))]})]})}t(3789);let o=[{title:"Data workflow",body:"The backend seeds an asset universe, ingests public OHLCV history, collects public RSS news, deduplicates articles, links them to assets and persists all artifacts in PostgreSQL."},{title:"AI orchestration",body:"FinBERT handles financial sentiment, sentence-transformers handles embeddings and semantic search, a lightweight LLM creates evidence-only explanations, and the time-series layer computes anomalies, volatility regimes and scenarios."},{title:"Market Brain",body:"The Market Brain combines stock signals, ETF rotation, live news, sentiment, SEC filing evidence, forward scenarios, contradictions, risk alerts and change logs into one evidence-bound operating view."},{title:"Self-learning financial memory",body:"Blum evaluates signal outcomes after 1D, 3D, 7D, 14D and 30D, then stores accuracy memory, confidence adjustments, source reliability and reversible model weight versions. It updates parameters, not source code, and never executes trades."},{title:"Chart Vision Technical Analyst",body:"Chart analysis combines deterministic OHLCV calculations with optional Qwen3-VL visual interpretation and InternVL3 fallback. If vision is unavailable, Blum clearly switches to deterministic technical analysis and does not invent visual levels."},{title:"IPO intelligence",body:"IPO Radar uses SEC EDGAR current filings and company submissions data for S-1, F-1 and 424B prospectus evidence. It never fabricates listing dates, valuations or tickers."},{title:"Signal scoring",body:"The Blum Intelligence Score combines momentum, trend quality, technical indicators, volatility/risk, sentiment trend, semantic intensity, ETF confirmation and anomaly pressure."},{title:"Explainability",body:"Each surfaced asset must expose why it appeared, which technical and narrative data support it, what contradicts it, what to monitor, and which risks limit confidence."},{title:"Backtesting",body:"Historical validation reports hit rate, forward returns, max adverse excursion, max favorable excursion, false positives and methodology limits. It does not promise future performance."},{title:"Provider architecture",body:"The first provider is yfinance. The backend isolates providers so future integrations can add licensed market data, estimates, filings, transcripts, ownership and portfolio systems."}]},1378:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>n});let n=(0,t(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx#default`)}};var s=require("../../webpack-runtime.js");s.C(e);var t=e=>s(s.s=e),n=s.X(0,[273,394],()=>t(8353));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/app/methodology/page.js.nft.json b/frontend/.next/server/app/methodology/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..877e4e935689e2063c7f370e14175cea6de0d164 --- /dev/null +++ b/frontend/.next/server/app/methodology/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/methodology/page_client-reference-manifest.js b/frontend/.next/server/app/methodology/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..36b03c5557d870ecd4e1c79263ba7bb6566964cd --- /dev/null +++ b/frontend/.next/server/app/methodology/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/methodology/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":["651","static/chunks/651-5689242ae9b0ffc6.js","949","static/chunks/app/methodology/page-f0ef96f8ef7d3450.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/narratives.html b/frontend/.next/server/app/narratives.html new file mode 100644 index 0000000000000000000000000000000000000000..6e17585853883b96d5301944ac4d789e815a3661 --- /dev/null +++ b/frontend/.next/server/app/narratives.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading semantic themes
\ No newline at end of file diff --git a/frontend/.next/server/app/narratives.meta b/frontend/.next/server/app/narratives.meta new file mode 100644 index 0000000000000000000000000000000000000000..76548f8dacbffa436176f8040cb825e69ca23562 --- /dev/null +++ b/frontend/.next/server/app/narratives.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/narratives/layout,_N_T_/narratives/page,_N_T_/narratives/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/narratives.rsc b/frontend/.next/server/app/narratives.rsc new file mode 100644 index 0000000000000000000000000000000000000000..66076876ea72365d165dea94b27d4f035bb04a7b --- /dev/null +++ b/frontend/.next/server/app/narratives.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[892,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","433","static/chunks/433-89ff72e62f774508.js","878","static/chunks/app/narratives/page-f858506c5d5d372d.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["narratives",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["narratives",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","narratives","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/narratives/page.js b/frontend/.next/server/app/narratives/page.js new file mode 100644 index 0000000000000000000000000000000000000000..74cb2bee44da92e1a3ce1bdfb31c2be579c26000 --- /dev/null +++ b/frontend/.next/server/app/narratives/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=878,e.ids=[878],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},6441:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>i.a,__next_app__:()=>m,originalPathname:()=>u,pages:()=>d,routeModule:()=>h,tree:()=>o}),s(1385),s(8777),s(311);var r=s(9296),n=s(1650),a=s(7045),i=s.n(a),l=s(8184),c={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(c[e]=()=>l[e]);s.d(t,c);let o=["",{children:["narratives",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,1385)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/narratives/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/narratives/page.tsx"],u="/narratives/page",m={require:s,loadChunk:()=>Promise.resolve()},h=new r.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/narratives/page",pathname:"/narratives",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:o}})},9652:(e,t,s)=>{Promise.resolve().then(s.bind(s,5213))},5213:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>o});var r=s(8924),n=s(3911),a=s(3789),i=s(6927),l=s(2522);let c=["AI","Rates","Geopolitics","Earnings","Energy","Crypto/Fintech","Market Structure"];function o(){let[e,t]=(0,n.useState)(null),[s,o]=(0,n.useState)(null),[u,p]=(0,n.useState)("AI infrastructure guidance"),[g,x]=(0,n.useState)([]),[v,j]=(0,n.useState)(""),[y,f]=(0,n.useState)(""),[b,N]=(0,n.useState)(""),[S,w]=(0,n.useState)(!1),[_,k]=(0,n.useState)(""),A=(0,n.useMemo)(()=>{let t=e??[];return{articleCount:t.reduce((e,t)=>e+h(t.article_count),0),averageSentiment:t.length?t.reduce((e,t)=>e+h(t.sentiment_score),0)/t.length:0}},[e]),P=async()=>{w(!0),N("");try{let e=await a.h.semanticSearch(u);x(Array.isArray(e)?e:[])}catch(e){x([]),N(e.message)}finally{w(!1)}},C=async e=>{if(e){k(e),f("");try{o(await a.h.themeDetail(e))}catch(e){o(null),f(e.message)}finally{k("")}}};return null===e?r.jsx(l.G,{label:"Loading semantic themes"}):(0,r.jsxs)(r.Fragment,{children:[r.jsx(i.ft,{eyebrow:"Themes and Narratives",title:"Market narrative intelligence.",subtitle:"Semantic clusters, rising themes, linked tickers and source evidence from public financial news.",statusItems:[{label:"Clusters",value:String(e.length),tone:e.length?"positive":"attention"},{label:"Articles",value:String(A.articleCount),tone:A.articleCount?"info":"attention"},{label:"Avg sentiment",value:A.averageSentiment.toFixed(2),tone:A.averageSentiment>=0?"positive":"negative"},{label:"Mode",value:"Evidence only"}]}),v&&(0,r.jsxs)("div",{className:"terminal-empty",style:{marginBottom:12},children:["Narratives endpoint warning: ",v,". The autonomous engine will keep rebuilding semantic clusters as evidence arrives."]}),r.jsx("section",{className:"professional-grid-3",children:c.map(t=>{let s=t.split("/")[0].toLowerCase(),n=e.find(e=>String(e.label??"").toLowerCase().includes(s));return r.jsx(i.x8,{title:t,sentiment:n?.sentiment_score,volume:n?.article_count??0,explanation:n?`Active semantic cluster: ${m(n.keywords).slice(0,4).join(", ")||"keywords pending"}.`:"Strategic narrative taxonomy monitored for future evidence."},t)})}),(0,r.jsxs)(i.Ez,{title:"Semantic Search",value:"Vector evidence",subtitle:"Search public news embeddings and narrative clusters",className:"radar-core-panel",children:[(0,r.jsxs)("div",{className:"control-row",style:{marginBottom:0},children:[r.jsx("input",{className:"input",value:u,onChange:e=>p(e.target.value),"aria-label":"Semantic search query"}),r.jsx("button",{className:"button primary",onClick:P,disabled:S||u.trim().length<3,children:S?"Searching...":"Semantic search"})]}),b&&(0,r.jsxs)("div",{className:"terminal-empty compact",style:{marginTop:10},children:["Search warning: ",b]})]}),r.jsx("section",{className:"professional-grid-3",style:{marginTop:12},children:e.slice(0,12).map((e,t)=>{let s=String(e.label??`Theme ${t+1}`);return(0,r.jsxs)("article",{className:"narrative-card theme-card",onClick:()=>C(s),children:[(0,r.jsxs)("div",{className:"narrative-card-top",children:[r.jsx("strong",{children:s}),(0,r.jsxs)("span",{className:"score-badge tone-attention",children:[r.jsx("strong",{children:h(e.article_count)}),r.jsx("em",{children:"news"})]})]}),(0,r.jsxs)("p",{children:["Keywords: ",m(e.keywords).join(", ")||"semantic cluster"]}),(0,r.jsxs)("div",{className:"narrative-card-meta",children:[(0,r.jsxs)("span",{children:["sentiment ",h(e.sentiment_score).toFixed(2)]}),r.jsx("span",{children:_===s?"loading detail":e.cluster_method??"theme aggregation"})]})]},`${s}-${t}`)})}),!e.length&&!v&&r.jsx(i.Ez,{title:"Narrative Coverage",value:"Building",className:"radar-core-panel",children:r.jsx("div",{className:"terminal-empty",children:"No semantic clusters are stored yet. The autonomous engine is hydrating news, embeddings and theme memory in the background."})}),y&&(0,r.jsxs)("div",{className:"terminal-empty",style:{marginTop:12},children:["Theme detail warning: ",y]}),s&&r.jsx(d,{detail:s}),r.jsx(i.Ez,{title:"Semantic Search Results",value:`${g.length} matches`,className:"radar-core-panel",children:(0,r.jsxs)("div",{className:"news-list",children:[0===g.length&&r.jsx("div",{className:"terminal-empty compact",children:"Search results will appear here after a query is submitted."}),g.map((e,t)=>{let s=e.article??{};return(0,r.jsxs)("a",{className:"news-item",href:s.url??"#",target:"_blank",rel:"noreferrer",children:[r.jsx("strong",{children:s.title??"Untitled evidence item"}),(0,r.jsxs)("span",{children:["Similarity ",h(e.score).toFixed(3)," | ",s.source??"unknown source"]})]},`${s.id??s.url??"result"}-${t}`)})]})})]})}function d({detail:e}){let t=m(e.source_mix),s=m(e.linked_assets),n=m(e.articles);return(0,r.jsxs)(i.Ez,{title:"Theme Detail",value:e.label??"Narrative",className:"radar-core-panel",children:[(0,r.jsxs)("div",{className:"professional-grid-4",children:[r.jsx(u,{label:"Articles",value:h(e.article_count)}),r.jsx(u,{label:"Avg Sentiment",value:h(e.average_sentiment).toFixed(2)}),r.jsx(u,{label:"Sources",value:t.length}),r.jsx(u,{label:"Assets",value:s.length})]}),(0,r.jsxs)("div",{className:"professional-grid-2",style:{marginTop:12},children:[r.jsx(i.Ez,{title:"Linked Assets",dense:!0,children:(0,r.jsxs)("div",{className:"tag-row",children:[0===s.length&&r.jsx("span",{children:"No linked tickers yet"}),s.slice(0,20).map((e,t)=>(0,r.jsxs)("span",{children:[e.ticker??"Asset"," ",e.mentions??0]},`${e.ticker??"asset"}-${t}`))]})}),r.jsx(i.Ez,{title:"Source Mix",dense:!0,children:(0,r.jsxs)("div",{className:"tag-row",children:[0===t.length&&r.jsx("span",{children:"No source concentration yet"}),t.slice(0,16).map((e,t)=>(0,r.jsxs)("span",{children:[e.source??"Source"," ",e.count??0]},`${e.source??"source"}-${t}`))]})})]}),(0,r.jsxs)("div",{className:"news-list",style:{marginTop:12},children:[0===n.length&&r.jsx("div",{className:"terminal-empty compact",children:"No articles are linked to this theme yet."}),n.slice(0,16).map((e,t)=>(0,r.jsxs)("a",{className:"news-item",href:e.url??"#",target:"_blank",rel:"noreferrer",children:[r.jsx("strong",{children:e.title??"Untitled article"}),(0,r.jsxs)("span",{children:[e.source??"unknown"," | sentiment ",h(e.sentiment?.score).toFixed(2)," | assets ",m(e.linked_assets).map(e=>e.ticker).filter(Boolean).join(" | ")||"n/a"]})]},`${e.id??e.url??"article"}-${t}`))]})]})}function u({label:e,value:t}){return r.jsx(i.i9,{label:e,value:t})}function m(e){return Array.isArray(e)?e:[]}function h(e){let t=Number(e);return Number.isFinite(t)?t:0}},2522:(e,t,s)=>{"use strict";s.d(t,{G:()=>n});var r=s(8924);function n({label:e="Loading intelligence snapshot"}){return(0,r.jsxs)("div",{className:"loading-state",children:[r.jsx("div",{}),r.jsx("span",{children:e})]})}},1385:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>r});let r=s(4379).default},4379:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>r});let r=(0,s(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[273,394,927],()=>s(6441));module.exports=r})(); \ No newline at end of file diff --git a/frontend/.next/server/app/narratives/page.js.nft.json b/frontend/.next/server/app/narratives/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/narratives/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/narratives/page_client-reference-manifest.js b/frontend/.next/server/app/narratives/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..efc460e10f64ad5a9933179b254a80977c1f6887 --- /dev/null +++ b/frontend/.next/server/app/narratives/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/narratives/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","433","static/chunks/433-89ff72e62f774508.js","878","static/chunks/app/narratives/page-f858506c5d5d372d.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/narratives/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/page.js b/frontend/.next/server/app/page.js new file mode 100644 index 0000000000000000000000000000000000000000..37c443811dccb82765b4db3102c7c416d88f43a6 --- /dev/null +++ b/frontend/.next/server/app/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=931,e.ids=[931],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},2080:(e,t,r)=>{"use strict";r.r(t),r.d(t,{GlobalError:()=>a.a,__next_app__:()=>c,originalPathname:()=>d,pages:()=>u,routeModule:()=>m,tree:()=>l}),r(1363),r(8777),r(311);var n=r(9296),s=r(1650),o=r(7045),a=r.n(o),i=r(8184),p={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(p[e]=()=>i[e]);r.d(t,p);let l=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(r.bind(r,1363)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(r.bind(r,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(r.t.bind(r,311,23)),"next/dist/client/components/not-found-error"]}],u=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page.tsx"],d="/page",c={require:r,loadChunk:()=>Promise.resolve()},m=new n.AppPageRouteModule({definition:{kind:s.x.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:l}})},817:(e,t,r)=>{Promise.resolve().then(r.bind(r,1952))},1363:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.default});var n=r(8666)}};var t=require("../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[273,394,927,965],()=>r(2080));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/app/page.js.nft.json b/frontend/.next/server/app/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..07eb6d91685068274222803c01181081d2be0362 --- /dev/null +++ b/frontend/.next/server/app/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../node_modules/next","../../../package.json","../../package.json","../chunks/273.js","../chunks/394.js","../chunks/927.js","../chunks/965.js","../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/page_client-reference-manifest.js b/frontend/.next/server/app/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..85ff3ea6aed48be5c06bafab4c5545f2471db205 --- /dev/null +++ b/frontend/.next/server/app/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/performance.html b/frontend/.next/server/app/performance.html new file mode 100644 index 0000000000000000000000000000000000000000..cfe09a51241076436b08eb40437f48ec4907607b --- /dev/null +++ b/frontend/.next/server/app/performance.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading performance diagnostics
\ No newline at end of file diff --git a/frontend/.next/server/app/performance.meta b/frontend/.next/server/app/performance.meta new file mode 100644 index 0000000000000000000000000000000000000000..50a54f9b2b81f0efd74b06a0cf1db3525dcbd21e --- /dev/null +++ b/frontend/.next/server/app/performance.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/performance/layout,_N_T_/performance/page,_N_T_/performance/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/performance.rsc b/frontend/.next/server/app/performance.rsc new file mode 100644 index 0000000000000000000000000000000000000000..ee475df869ef234720207aa20e26f34bbb8f3e25 --- /dev/null +++ b/frontend/.next/server/app/performance.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[8547,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","367","static/chunks/app/performance/page-72d89cf8fa4bd0b1.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["performance",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["performance",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","performance","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/performance/page.js b/frontend/.next/server/app/performance/page.js new file mode 100644 index 0000000000000000000000000000000000000000..c705c4f47d17e71f03214d6fce7559a90a341141 --- /dev/null +++ b/frontend/.next/server/app/performance/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=367,e.ids=[367],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},2356:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>i.a,__next_app__:()=>p,originalPathname:()=>c,pages:()=>u,routeModule:()=>m,tree:()=>d}),s(1079),s(8777),s(311);var a=s(9296),n=s(1650),r=s(7045),i=s.n(r),o=s(8184),l={};for(let e in o)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(l[e]=()=>o[e]);s.d(t,l);let d=["",{children:["performance",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,1079)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,311,23)),"next/dist/client/components/not-found-error"]}],u=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx"],c="/performance/page",p={require:s,loadChunk:()=>Promise.resolve()},m=new a.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/performance/page",pathname:"/performance",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},8157:(e,t,s)=>{Promise.resolve().then(s.bind(s,5441))},5441:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m});var a=s(8924),n=s(3911),r=s(6839),i=s(3041),o=s(6635),l=s(9773),d=s(7617),u=s(3789),c=s(6927),p=s(2522);function m(){let[e,t]=(0,n.useState)(null),[s,m]=(0,n.useState)(null),[v,x]=(0,n.useState)("idle"),[f,w]=(0,n.useState)(""),j=async()=>{try{w(""),t(await u.h.performanceDiagnostics()),m(u.h.clientRequestStats())}catch(e){w(e.message)}},y=async()=>{x("probing"),await Promise.all([["frontend.dashboard.overview",()=>u.h.overview()],["frontend.dashboard.live_news",()=>u.h.liveNews(60)],["frontend.dashboard.market_sentiment",()=>u.h.marketSentiment(48)],["frontend.dashboard.pipeline_status",()=>u.h.pipelineStatus()],["frontend.dashboard.system_status",()=>u.h.systemStatus()],["frontend.dashboard.executive",()=>u.h.executiveDashboard()],["frontend.dashboard.brain_status",()=>u.h.brainStatus()]].map(async([e,t])=>{let s=performance.now();try{await t(),await u.h.recordPerformanceWidget({name:e,duration_ms:performance.now()-s,status:"ok",source:"browser_probe"})}catch(t){await u.h.recordPerformanceWidget({name:e,duration_ms:performance.now()-s,status:"error",source:"browser_probe",detail:t.message.slice(0,180)}).catch(()=>void 0)}})),x("complete"),await j()},k=e?.top_10_bottlenecks??[],N=e?.startup?.phases??[],S=e?.api?.slowest_endpoints??[],P=e?.database?.slowest_queries??[],$=e?.dashboard_widgets?.slowest_widget_events??[],q=e?.background_tasks?.slowest_tasks??[],D=e?.cache??{},z=e?.initial_learning_page_load??{},E=Object.values(e?.dashboard_snapshots?.latest_by_type??{}),L=(0,n.useMemo)(()=>(function(e){if(!e)return"low evidence";let t=Number(e.api?.request_count??0)+Number(e.database?.query_count??0)+Number(e.dashboard_widgets?.event_count??0);return t>500?"strong evidence":t>100?"medium evidence":"low evidence"})(e),[e]);return f&&!e?(0,a.jsxs)("div",{className:"terminal-empty",children:["API error: ",f]}):e?(0,a.jsxs)(a.Fragment,{children:[a.jsx(c.ft,{eyebrow:"Performance Diagnostics",title:"Measure first. Optimize later.",subtitle:"Runtime timing for startup, API endpoints, SQLAlchemy queries, background workers and dashboard widgets. This page exposes bottlenecks without changing financial logic.",statusItems:[{label:"Probe",value:v,tone:"complete"===v?"positive":"attention"},{label:"Evidence",value:L,tone:L.includes("low")?"attention":"positive"},{label:"Generated",value:b(e.generated_at),tone:"info"},{label:"Policy",value:"measurement only",tone:"neutral"}],actions:a.jsx("button",{className:"terminal-button",onClick:y,children:"Run dashboard probe"})}),f&&(0,a.jsxs)("div",{className:"terminal-empty",style:{marginBottom:12},children:["Refresh warning: ",f]}),(0,a.jsxs)("section",{className:"terminal-command-grid",children:[a.jsx(c.i9,{label:"Startup Duration",value:g(e.startup?.total_duration_ms),subvalue:`${N.length} measured phases`,icon:a.jsx(r.Z,{size:18}),tone:"attention"}),a.jsx(c.i9,{label:"API Avg",value:g(e.api?.average_response_ms),subvalue:`p95 ${g(e.api?.p95_response_ms)} | ${e.api?.request_count??0} requests`,icon:a.jsx(i.Z,{size:18}),tone:"info"}),a.jsx(c.i9,{label:"DB Avg",value:g(e.database?.average_query_ms),subvalue:`p95 ${g(e.database?.p95_query_ms)} | ${e.database?.query_count??0} queries`,icon:a.jsx(o.Z,{size:18}),tone:"info"}),a.jsx(c.i9,{label:"Widget Avg",value:g(e.dashboard_widgets?.average_widget_ms),subvalue:`p95 ${g(e.dashboard_widgets?.p95_widget_ms)}`,icon:a.jsx(l.Z,{size:18}),tone:"neutral"}),a.jsx(c.i9,{label:"Cache Hit Rate",value:function(e){let t=Number(e);return Number.isFinite(t)?`${(100*t).toFixed(1)}%`:"n/a"}(D.hit_rate),subvalue:`${D.hits??0} hits / ${D.misses??0} misses`,icon:a.jsx(d.Z,{size:18}),tone:null===D.hit_rate||void 0===D.hit_rate?"attention":"positive"}),a.jsx(c.i9,{label:"Background Avg",value:g(e.background_tasks?.average_duration_ms),subvalue:`p95 ${g(e.background_tasks?.p95_duration_ms)} | ${e.background_tasks?.event_count??0} runs`,icon:a.jsx(i.Z,{size:18}),tone:"attention"})]}),(0,a.jsxs)("section",{className:"professional-grid-2",children:[a.jsx(c.Ez,{title:"Top 10 Bottlenecks",value:`${k.length} events`,subtitle:"Slowest measured operations across API, DB, widgets and background tasks",children:a.jsx(h,{columns:["Kind","Name","Duration","Rows"],rows:k.map(e=>[e.kind,_(e.name,92),g(e.duration_ms),e.rows_scanned_estimate??"-"]),empty:"No bottleneck data has been recorded yet."})}),a.jsx(c.Ez,{title:"Startup Breakdown",value:g(e.startup?.total_duration_ms),subtitle:"Measured application startup phases",children:a.jsx(h,{columns:["Phase","Duration","Started"],rows:N.map(e=>[e.name,g(e.duration_ms),b(e.started_at)]),empty:"Startup phases will appear after the backend process starts."})})]}),(0,a.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,a.jsxs)(c.Ez,{title:"Initial Learning Page Load",value:`${s?.initialLearningPage?.length??0} requests`,subtitle:"Browser-side request storm and dedupe visibility for the current route session",children:[(0,a.jsxs)("div",{className:"professional-grid-3",style:{marginBottom:10},children:[a.jsx(c.i9,{label:"Total Requests",value:s?.total??0}),a.jsx(c.i9,{label:"Duplicate Requests",value:s?.duplicate??0}),a.jsx(c.i9,{label:"Cache Hits",value:s?.cacheHits??0}),a.jsx(c.i9,{label:"Heavy POST During Load",value:z?.heavy_post_calls_during_page_load?.length??0}),a.jsx(c.i9,{label:"Server Frontend Events",value:z?.frontend_request_count??0}),a.jsx(c.i9,{label:"Server Cache Hits",value:z?.cache_hit_count??0})]}),a.jsx(h,{columns:["Method","Endpoint","Duration","Status","Dedupe"],rows:(s?.initialLearningPage??[]).slice(-18).reverse().map(e=>[e.method,_(e.path,86),g(e.duration_ms),e.status,e.duplicate?"yes":e.cache_hit?"cache":"no"]),empty:"Open the Learning page in this session to collect initial-load request data."})]}),a.jsx(c.Ez,{title:"Recommended Next Optimization",value:"from evidence",subtitle:"Generated from currently visible bottleneck classes",children:a.jsx("ul",{className:"diagnostic-list",children:(function(e,t){let s=[],a=e?.api?.slowest_endpoints?.[0],n=e?.database?.slowest_queries?.[0],r=Number(t?.duplicate??0),i=e?.initial_learning_page_load?.heavy_post_calls_during_page_load??[],o=Number(e?.dashboard_snapshots?.stale_count??0);return r>0&&s.push(`Request dedupe is catching ${r} duplicate frontend calls in this session.`),i.length>0&&s.push(`Remove or gate ${i.length} heavy POST call(s) observed during Learning page load.`),o>0&&s.push(`${o} dashboard snapshot(s) are stale; verify background refresh cadence before adding live recomputation.`),a&&s.push(`Inspect ${a.method} ${a.path}: p95 ${g(a.p95_ms)} and max ${g(a.max_ms)}.`),n&&s.push(`Inspect the slowest SQL operation ${n.operation}: ${g(n.duration_ms)}.`),(e?.background_tasks?.slowest_tasks??[]).length&&s.push("Background worker timing is now available; compare startup pipeline versus scheduled refresh jobs before optimizing."),s.length||s.push("Collect more requests first. Open Learning, Dashboard and Performance pages, then review the top bottlenecks."),s})(e,s).map(e=>a.jsx("li",{children:e},e))})})]}),(0,a.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[a.jsx(c.Ez,{title:"Snapshot Freshness",value:`${e.dashboard_snapshots?.fresh_count??0} fresh`,subtitle:"Stale-but-usable dashboard payloads available to avoid blank loading states",children:a.jsx(h,{columns:["Snapshot","Age","Stale","Compute","Warnings"],rows:E.slice(0,12).map(e=>[e.snapshot_type,function(e){let t=Number(e);return Number.isFinite(t)?t<60?`${t.toFixed(0)}s`:t<3600?`${(t/60).toFixed(1)}m`:`${(t/3600).toFixed(1)}h`:"n/a"}(e.age_seconds),e.is_stale?"yes":"no",g(e.computation_duration_ms),(e.warnings??[]).length]),empty:"No dashboard snapshots have been written yet."})}),a.jsx(c.Ez,{title:"Heavy POST Calls During Learning Load",value:`${z?.heavy_post_calls_during_page_load?.length??0} events`,subtitle:"These should stay at zero unless the user explicitly requests recalculation",children:a.jsx(h,{columns:["Method","Path","Duration","Referer"],rows:(z?.heavy_post_calls_during_page_load??[]).slice(0,10).map(e=>[e.method,_(e.path,72),g(e.duration_ms),_(e.referer,72)]),empty:"No heavy recalculation POST was triggered during Learning page load."})})]}),(0,a.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[a.jsx(c.Ez,{title:"Slowest API Endpoints",value:`p95 ${g(e.api?.p95_response_ms)}`,subtitle:"Grouped by method and normalized path",children:a.jsx(h,{columns:["Endpoint","Count","Avg","P95","Max"],rows:S.slice(0,14).map(e=>[`${e.method} ${e.path}`,e.count,g(e.avg_ms),g(e.p95_ms),g(e.max_ms)]),empty:"No API requests recorded yet."})}),a.jsx(c.Ez,{title:"Slowest Database Queries",value:`${e.database?.query_count??0} queries`,subtitle:"Exact query timing; scanned rows are rowcount when exposed by the driver",children:a.jsx(h,{columns:["Operation","Duration","Rows","SQL"],rows:P.slice(0,12).map(e=>[e.operation,g(e.duration_ms),e.rows_scanned_estimate??"unknown",_(e.sql,110)]),empty:"No SQL queries recorded yet."})})]}),(0,a.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[a.jsx(c.Ez,{title:"Slowest Dashboard Widgets",value:`${e.dashboard_widgets?.event_count??0} events`,subtitle:"Backend widget timings plus browser-side probe timings",children:a.jsx(h,{columns:["Widget","Duration","Source","Status"],rows:$.slice(0,16).map(e=>[e.name,g(e.duration_ms),"frontend_widget"===e.event_type?"browser":"backend",e.metadata?.status??"ok"]),empty:"Run the dashboard probe to collect widget timings."})}),a.jsx(c.Ez,{title:"Background Task Durations",value:`${e.background_tasks?.event_count??0} runs`,subtitle:"Scheduler and startup worker timing",children:a.jsx(h,{columns:["Task","Count","Avg","P95","Max"],rows:q.slice(0,12).map(e=>[e.name,e.count,g(e.avg_ms),g(e.p95_ms),g(e.max_ms)]),empty:"No background jobs have completed in this process yet."})})]}),(0,a.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[a.jsx(c.Ez,{title:"Query Fingerprints",value:"Grouped SQL",subtitle:"Repeated query shapes ranked by p95 latency",children:a.jsx(h,{columns:["Count","P95","Max","Rows","Fingerprint"],rows:(e.database?.slowest_query_fingerprints??[]).slice(0,12).map(e=>[e.count,g(e.p95_ms),g(e.max_ms),e.last_rows_scanned_estimate??"unknown",_(e.fingerprint,120)]),empty:"No SQL fingerprints recorded yet."})}),a.jsx(c.Ez,{title:"Observability Limits",value:"Honest measurement",subtitle:"Important boundaries before optimization decisions",children:(0,a.jsxs)("ul",{className:"diagnostic-list",children:[(e.observability_limits??[]).map(e=>a.jsx("li",{children:e},e)),a.jsx("li",{children:e.database?.rows_scanned_policy}),a.jsx("li",{children:D.note})]})})]})]}):a.jsx(p.G,{label:"Loading performance diagnostics"})}function h({columns:e,rows:t,empty:s}){return t.length?a.jsx("div",{className:"performance-table-wrap",children:(0,a.jsxs)("table",{className:"asset-terminal-table performance-table",children:[a.jsx("thead",{children:a.jsx("tr",{children:e.map(e=>a.jsx("th",{children:e},e))})}),a.jsx("tbody",{children:t.map((e,t)=>a.jsx("tr",{children:e.map((e,t)=>a.jsx("td",{children:e},`${t}-${String(e).slice(0,20)}`))},`${t}-${e.join("-")}`))})]})}):a.jsx("div",{className:"terminal-empty",children:s})}function g(e){let t=Number(e);return Number.isFinite(t)?t>=1e3?`${(t/1e3).toFixed(2)}s`:`${t.toFixed(1)}ms`:"n/a"}function b(e){if(!e)return"n/a";try{return new Date(e).toLocaleTimeString()}catch{return e}}function _(e,t){let s=String(e??"");return s.length>t?`${s.slice(0,t)}...`:s}},2522:(e,t,s)=>{"use strict";s.d(t,{G:()=>n});var a=s(8924);function n({label:e="Loading intelligence snapshot"}){return(0,a.jsxs)("div",{className:"loading-state",children:[a.jsx("div",{}),a.jsx("span",{children:e})]})}},1079:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>a});let a=(0,s(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[273,394,927],()=>s(2356));module.exports=a})(); \ No newline at end of file diff --git a/frontend/.next/server/app/performance/page.js.nft.json b/frontend/.next/server/app/performance/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/performance/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/performance/page_client-reference-manifest.js b/frontend/.next/server/app/performance/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..d7d09424e81e83e6157705d84e8cb8267809017d --- /dev/null +++ b/frontend/.next/server/app/performance/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/performance/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","367","static/chunks/app/performance/page-72d89cf8fa4bd0b1.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/signal-lab.html b/frontend/.next/server/app/signal-lab.html new file mode 100644 index 0000000000000000000000000000000000000000..64067c5995fcdf048b5c9bac89f9881c2e181825 --- /dev/null +++ b/frontend/.next/server/app/signal-lab.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading signal lab
\ No newline at end of file diff --git a/frontend/.next/server/app/signal-lab.meta b/frontend/.next/server/app/signal-lab.meta new file mode 100644 index 0000000000000000000000000000000000000000..adb41998e63212d12fc6d9a9570261a11b290c6b --- /dev/null +++ b/frontend/.next/server/app/signal-lab.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/signal-lab/layout,_N_T_/signal-lab/page,_N_T_/signal-lab/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/signal-lab.rsc b/frontend/.next/server/app/signal-lab.rsc new file mode 100644 index 0000000000000000000000000000000000000000..974c6a0ca54d7aa616b65ec23267e28b8d872394 --- /dev/null +++ b/frontend/.next/server/app/signal-lab.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[2010,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","826","static/chunks/app/signal-lab/page-a2f85a5c0d0847cd.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["signal-lab",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["signal-lab",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","signal-lab","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/signal-lab/page.js b/frontend/.next/server/app/signal-lab/page.js new file mode 100644 index 0000000000000000000000000000000000000000..f4019f0ffaabca5e8534bbd24f5703195a24c3b7 --- /dev/null +++ b/frontend/.next/server/app/signal-lab/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=826,e.ids=[826],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},9379:(e,s,n)=>{"use strict";n.r(s),n.d(s,{GlobalError:()=>t.a,__next_app__:()=>h,originalPathname:()=>u,pages:()=>d,routeModule:()=>p,tree:()=>o}),n(1183),n(8777),n(311);var i=n(9296),a=n(1650),r=n(7045),t=n.n(r),l=n(8184),c={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(c[e]=()=>l[e]);n.d(s,c);let o=["",{children:["signal-lab",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(n.bind(n,1183)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(n.bind(n,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(n.t.bind(n,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx"],u="/signal-lab/page",h={require:n,loadChunk:()=>Promise.resolve()},p=new i.AppPageRouteModule({definition:{kind:a.x.APP_PAGE,page:"/signal-lab/page",pathname:"/signal-lab",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:o}})},8073:(e,s,n)=>{Promise.resolve().then(n.bind(n,7619))},7619:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>p});var i=n(8924),a=n(3911);n(3789);var r=n(6927),t=n(2522),l=n(2828),c=n(398),o=n(8117),d=n(3081);function u({signals:e}){return e.length?i.jsx("div",{className:"table-shell",children:(0,i.jsxs)("table",{className:"intel-table",children:[i.jsx("thead",{children:(0,i.jsxs)("tr",{children:[i.jsx("th",{children:"Asset"}),i.jsx("th",{children:"Market"}),i.jsx("th",{children:"Score"}),i.jsx("th",{children:"Confidence"}),i.jsx("th",{children:"Classification"}),i.jsx("th",{children:"Risk"}),i.jsx("th",{children:"Momentum"}),i.jsx("th",{children:"Trend"}),i.jsx("th",{children:"Sentiment"}),i.jsx("th",{children:"Why it surfaced"})]})}),i.jsx("tbody",{children:e.map(e=>(0,i.jsxs)("tr",{children:[(0,i.jsxs)("td",{children:[i.jsx(l.default,{href:(0,c.up)(e.ticker),className:"asset-link",children:e.ticker}),i.jsx("span",{children:e.asset?.name??"Name pending"}),(0,i.jsxs)("span",{children:[e.asset?.asset_type??"Asset"," | ",e.asset?.sector??"Sector pending"," | ",e.asset?.exchange??"Exchange n/a"]})]}),(0,i.jsxs)("td",{children:[i.jsx("strong",{children:(0,o.T4)(e.market_snapshot?.price,e.market_snapshot?.currency)}),(0,i.jsxs)("span",{children:[(0,o.T3)(e.market_snapshot?.perf_1d)," 1D | ",(0,o.T3)(e.market_snapshot?.perf_5d)," 5D"]}),(0,i.jsxs)("span",{children:[e.market_snapshot?.provider??"provider n/a"," | vol ",(0,o.fP)(e.market_snapshot?.volume)]})]}),i.jsx("td",{children:i.jsx("strong",{className:"score-number",children:e.blum_score.toFixed(1)})}),(0,i.jsxs)("td",{children:[i.jsx("span",{className:"metric-pill",children:Number(e.confidence_score??0).toFixed(0)}),i.jsx("span",{children:e.lifecycle_state??"active"}),e.accuracy&&(0,i.jsxs)("span",{children:["evidence ",e.accuracy.blum_confidence_score.toFixed(0)," / ",e.accuracy.confidence_label]})]}),i.jsx("td",{children:i.jsx(d.O,{label:e.classification})}),(0,i.jsxs)("td",{children:[e.risk_level,i.jsx("span",{children:e.score_version??"blum-score"})]}),i.jsx("td",{children:h(e,"momentum_score")}),i.jsx("td",{children:h(e,"trend_score")}),i.jsx("td",{children:h(e,"sentiment_score")}),i.jsx("td",{className:"why",children:e.explanation})]},`${e.ticker}-${e.created_at}`))})]})}):i.jsx("div",{className:"empty-state",children:"No signal snapshots are available yet. The autonomous intelligence engine is hydrating price, news, sentiment and provider diagnostics."})}function h(e,s){let n=e.score_breakdown?.[s]??0;return i.jsx("span",{className:"metric-pill",children:Number(n).toFixed(0)})}function p(){let[e,s]=(0,a.useState)(null),[n,l]=(0,a.useState)([]),[c,o]=(0,a.useState)(null),[d,h]=(0,a.useState)(""),[p,j]=(0,a.useState)(""),[v,f]=(0,a.useState)(""),b=(0,a.useMemo)(()=>(e??[]).filter(e=>(!d||e.asset?.asset_type===d)&&(!p||e.risk_level===p)&&(!v||e.classification===v)),[e,d,p,v]);return e?(0,i.jsxs)(i.Fragment,{children:[i.jsx(r.ft,{eyebrow:"Signal Lab",title:"Analyst-grade signal feed and evidence audit.",subtitle:"Every signal is treated as a research note with confidence, evidence stack, trigger, invalidation logic and historical learning impact.",statusItems:[{label:"Signal feed",value:String(e.length),tone:e.length?"positive":"attention"},{label:"Filtered",value:String(b.length)},{label:"Evaluations",value:String(n.length),tone:n.length?"info":"attention"},{label:"Accuracy",value:g(c?.historical_accuracy),tone:"attention"}]}),i.jsx(m,{accuracy:c}),i.jsx(r.Ez,{title:"Signal Filters",value:`${b.length} visible`,subtitle:"Filter by asset type, risk and classification",children:(0,i.jsxs)("div",{className:"control-row",style:{marginBottom:0},children:[(0,i.jsxs)("select",{className:"input",value:d,onChange:e=>h(e.target.value),children:[i.jsx("option",{value:"",children:"All asset types"}),i.jsx("option",{value:"Stock",children:"Stock"}),i.jsx("option",{value:"ETF",children:"ETF"})]}),(0,i.jsxs)("select",{className:"input",value:p,onChange:e=>j(e.target.value),children:[i.jsx("option",{value:"",children:"All risks"}),i.jsx("option",{children:"Low"}),i.jsx("option",{children:"Medium"}),i.jsx("option",{children:"High"})]}),(0,i.jsxs)("select",{className:"input",value:v,onChange:e=>f(e.target.value),children:[i.jsx("option",{value:"",children:"All classifications"}),Array.from(new Set(e.map(e=>e.classification))).map(e=>i.jsx("option",{children:e},e))]})]})}),i.jsx("section",{className:"professional-grid-3",style:{marginTop:12},children:b.slice(0,6).map(e=>i.jsx(r.il,{signal:e},`${e.ticker}-${e.created_at}-card`))}),i.jsx(r.Ez,{title:"Signal Feed",value:`${b.length} signals`,subtitle:"Sortable table with price, classification, risk, momentum, trend and sentiment",className:"radar-core-panel",children:i.jsx(u,{signals:b})}),i.jsx(x,{evaluations:n})]}):i.jsx(t.G,{label:"Loading signal lab"})}function m({accuracy:e}){let s=e?.confidence_calibration??{};return(0,i.jsxs)(r.Ez,{title:"Financial Brain Learning Audit",value:s.status??"pending",className:"financial-brain-panel",children:[(0,i.jsxs)("div",{className:"professional-grid-4",children:[i.jsx(r.i9,{label:"Historical Accuracy",value:g(e?.historical_accuracy)}),i.jsx(r.i9,{label:"7D Success",value:g(e?.success_rate_7d)}),i.jsx(r.i9,{label:"30D Success",value:g(e?.success_rate_30d)}),i.jsx(r.i9,{label:"Calibration",value:void 0===s.score||null===s.score?"Pending":`${Number(s.score).toFixed(1)}/100`})]}),i.jsx("div",{style:{marginTop:12},children:i.jsx(r.IL,{value:s.score,label:"Confidence calibration"})}),(0,i.jsxs)("div",{className:"brain-two-col",children:[(0,i.jsxs)("div",{children:[i.jsx("h3",{children:"Best signal types"}),i.jsx(j,{rows:e?.by_signal_type?.slice(0,5)??[]})]}),(0,i.jsxs)("div",{children:[i.jsx("h3",{children:"Source reliability"}),(0,i.jsxs)("div",{className:"brain-performance-list",children:[(e?.source_reliability??[]).slice(0,5).map(e=>(0,i.jsxs)("div",{children:[i.jsx("strong",{children:e.source}),(0,i.jsxs)("span",{children:[Number(e.reliability_score??0).toFixed(1)," reliability | ",e.article_count??0," articles"]})]},e.source)),!e?.source_reliability?.length&&i.jsx("div",{className:"empty-state compact",children:"Waiting for linked source outcomes."})]})]})]}),i.jsx("p",{children:"Signal outcomes are evaluated by the autonomous learning loop. This view shows stored evidence, calibration and source reliability without requiring manual intervention."})]})}function x({evaluations:e}){return(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Signal Outcome Memory"}),(0,i.jsxs)("strong",{children:[e.length," horizons"]})]}),(0,i.jsxs)("div",{className:"evaluation-table",children:[(0,i.jsxs)("div",{className:"evaluation-row header",children:[i.jsx("span",{children:"Ticker"}),i.jsx("span",{children:"Signal"}),i.jsx("span",{children:"Horizon"}),i.jsx("span",{children:"Pre-signal confidence"}),i.jsx("span",{children:"Post result"}),i.jsx("span",{children:"Learning impact"}),i.jsx("span",{children:"Invalidating conditions"})]}),e.map(e=>(0,i.jsxs)("div",{className:"evaluation-row",children:[i.jsx("strong",{children:e.ticker}),i.jsx("span",{children:e.signal_type}),(0,i.jsxs)("span",{children:[e.horizon_days,"D"]}),i.jsx("span",{children:e.initial_confidence.toFixed(1)}),i.jsx("span",{className:`outcome ${e.outcome}`,children:e.outcome}),i.jsx("span",{children:"correct"===e.outcome?"Supports future confidence in similar setups":"wrong"===e.outcome?"Reduces future confidence for similar evidence":"neutral"===e.outcome?"Keeps confidence stable; follow-through was inconclusive":"Pending future price observations"}),i.jsx("span",{children:function(e){let s=e.evaluation_payload??{};return"wrong"===e.outcome?s.reason??"Price action contradicted the initial thesis.":"inconclusive"===e.outcome?"Horizon has not matured or future OHLCV is missing.":"Monitor sentiment reversal, volume decay and support/resistance failure."}(e)})]},e.id)),!e.length&&i.jsx("div",{className:"empty-state",children:"No learning evaluations are stored yet. Run the learning cycle after signal snapshots exist."})]})]})}function j({rows:e}){return e.length?i.jsx("div",{className:"brain-performance-list",children:e.map(e=>(0,i.jsxs)("div",{children:[i.jsx("strong",{children:e.key}),(0,i.jsxs)("span",{children:[g(e.success_rate)," success | ",e.mature_count," matured | score ",e.accuracy_score.toFixed(1)]})]},e.key))}):i.jsx("div",{className:"empty-state compact",children:"Waiting for matured signal families."})}function g(e){return null==e?"Pending":`${Math.round(100*Number(e))}%`}},2522:(e,s,n)=>{"use strict";n.d(s,{G:()=>a});var i=n(8924);function a({label:e="Loading intelligence snapshot"}){return(0,i.jsxs)("div",{className:"loading-state",children:[i.jsx("div",{}),i.jsx("span",{children:e})]})}},8117:(e,s,n)=>{"use strict";n.d(s,{Ku:()=>a,T3:()=>t,T4:()=>r,fP:()=>l});var i=n(8924);function a({snapshot:e,compact:s=!1}){return e&&"ready"===e.data_status&&null!=e.price?(0,i.jsxs)("div",{className:s?"market-strip compact":"market-strip",children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Last Price"}),i.jsx("strong",{children:r(e.price,e.currency)})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"1D"}),i.jsx("strong",{className:c(e.perf_1d),children:t(e.perf_1d)})]}),!s&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:"5D"}),i.jsx("strong",{className:c(e.perf_5d),children:t(e.perf_5d)})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"1M"}),i.jsx("strong",{className:c(e.perf_1m),children:t(e.perf_1m)})]})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:e.provider??"Provider"}),i.jsx("strong",{children:e.date??"n/a"})]})]}):(0,i.jsxs)("div",{className:s?"market-strip compact":"market-strip",children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Price"}),i.jsx("strong",{children:"Real price pending"})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Provider"}),i.jsx("strong",{children:"n/a"})]})]})}function r(e,s="USD"){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:s||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function t(e){return null==e||Number.isNaN(Number(e))?"n/a":`${e>0?"+":""}${Number(e).toFixed(2)}%`}function l(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function c(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},3081:(e,s,n)=>{"use strict";n.d(s,{O:()=>r});var i=n(8924),a=n(9779);function r({label:e}){let s=e.includes("Breakout")||e.includes("Strong")?"positive":e.includes("Risk")||e.includes("Avoid")?"negative":e.includes("Divergence")||e.includes("Contrarian")?"warning":"neutral";return i.jsx("span",{className:(0,a.Z)("status-badge",s),children:e})}},1183:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>i});let i=(0,n(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx#default`)}};var s=require("../../webpack-runtime.js");s.C(e);var n=e=>s(s.s=e),i=s.X(0,[273,394,927],()=>n(9379));module.exports=i})(); \ No newline at end of file diff --git a/frontend/.next/server/app/signal-lab/page.js.nft.json b/frontend/.next/server/app/signal-lab/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/signal-lab/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/signal-lab/page_client-reference-manifest.js b/frontend/.next/server/app/signal-lab/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..9d18da7a2bc690248e06b17478df572c8d8aa9ef --- /dev/null +++ b/frontend/.next/server/app/signal-lab/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/signal-lab/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","826","static/chunks/app/signal-lab/page-a2f85a5c0d0847cd.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/sniper.html b/frontend/.next/server/app/sniper.html new file mode 100644 index 0000000000000000000000000000000000000000..670c500a9e6fc8d7ed5b64e98d5b9b4bb3171c49 --- /dev/null +++ b/frontend/.next/server/app/sniper.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading BLUM Market Sniper Engine
\ No newline at end of file diff --git a/frontend/.next/server/app/sniper.meta b/frontend/.next/server/app/sniper.meta new file mode 100644 index 0000000000000000000000000000000000000000..b58a7e6877e9600228bc8e88c2cc821849ae52e5 --- /dev/null +++ b/frontend/.next/server/app/sniper.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/sniper/layout,_N_T_/sniper/page,_N_T_/sniper/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/sniper.rsc b/frontend/.next/server/app/sniper.rsc new file mode 100644 index 0000000000000000000000000000000000000000..06e868ff83c19754d1884699270d1cbb36eb343b --- /dev/null +++ b/frontend/.next/server/app/sniper.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[7768,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","74","static/chunks/app/sniper/page-66e545665c88da6b.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["sniper",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["sniper",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","sniper","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/sniper/page.js b/frontend/.next/server/app/sniper/page.js new file mode 100644 index 0000000000000000000000000000000000000000..6d51d327e2f3887486320b1e38370aa004c4b5fa --- /dev/null +++ b/frontend/.next/server/app/sniper/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=74,e.ids=[74],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},5409:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>a.a,__next_app__:()=>p,originalPathname:()=>u,pages:()=>d,routeModule:()=>x,tree:()=>c}),s(4109),s(8777),s(311);var i=s(9296),n=s(1650),r=s(7045),a=s.n(r),l=s(8184),o={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>l[e]);s.d(t,o);let c=["",{children:["sniper",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,4109)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx"],u="/sniper/page",p={require:s,loadChunk:()=>Promise.resolve()},x=new i.AppPageRouteModule({definition:{kind:n.x.APP_PAGE,page:"/sniper/page",pathname:"/sniper",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},5043:(e,t,s)=>{Promise.resolve().then(s.bind(s,7663))},7663:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>h});var i=s(8924),n=s(3911),r=s(2828),a=s(9534);let l=(0,s(6745).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);var o=s(741);s(3789);var c=s(398),d=s(6927),u=s(2522),p=s(7749),x=s(3081);function h(){let[e,t]=(0,n.useState)(null),[s,h]=(0,n.useState)(null),[v,y]=(0,n.useState)([]),[_,f]=(0,n.useState)(""),b=e?.candidates??[],k=e?.summary??{},N=e?.market_regime??{},w=e?.sections??{},P=(0,n.useMemo)(()=>[{x:b.slice(0,18).map(e=>e.ticker),y:b.slice(0,18).map(e=>e.sniper_score??0),type:"bar",marker:{color:b.slice(0,18).map(e=>{var t;return"active_setup"===(t=e.actionability)?"#20e070":"actionable_if_confirmed"===t||"wait_for_trigger"===t?"#ffb000":"avoid"===t?"#ff4d5e":"#55aaff"})}}],[b]),R=s?.r_multiple??[],S=(0,n.useMemo)(()=>[{x:R.slice(0,14).map(e=>e.setup_type),y:R.slice(0,14).map(e=>e.expectancy_r??0),type:"bar",marker:{color:R.slice(0,14).map(e=>Number(e.expectancy_r??0)>=0?"#20e070":"#ff4d5e")}}],[R]);return!e&&_?(0,i.jsxs)("div",{className:"empty-state",children:["API error: ",_]}):e?(0,i.jsxs)(i.Fragment,{children:[i.jsx(d.ft,{eyebrow:"Market Sniper Engine",title:"Actionability, not generic attractiveness.",subtitle:"Conditional entry logic, invalidation, target zones, R-multiple learning, no-trade intelligence and exit discipline. Research only.",statusItems:[{label:"Regime",value:N.regime_primary??"n/a",tone:"risk_off"===N.regime_primary?"negative":"attention"},{label:"Candidates",value:String(k.candidate_count??b.length)},{label:"Avg Sniper",value:g(k.average_sniper_score),tone:"info"},{label:"Top Sniper",value:g(k.top_sniper_score),tone:"positive"}],actions:i.jsx(x.O,{label:"Informational scenarios only"})}),_&&(0,i.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["API warning: ",_]}),(0,i.jsxs)("section",{className:"terminal-command-grid",children:[i.jsx(d.i9,{label:"Risk Appetite",value:g(N.risk_appetite_score),subvalue:N.breadth_state??"breadth n/a",tone:"attention"}),i.jsx(d.i9,{label:"Rotation Score",value:g(N.sector_rotation_score),subvalue:N.regime_secondary??"secondary regime"}),i.jsx(d.i9,{label:"Active Setups",value:w.active_setups?.length??0,subvalue:"confirmed conditional",tone:"positive"}),i.jsx(d.i9,{label:"Wait For Trigger",value:w.wait_for_trigger?.length??0,subvalue:"interesting, not active",tone:"attention"}),i.jsx(d.i9,{label:"Avoid",value:w.avoid_list?.length??0,subvalue:"no-trade filter",tone:"negative"}),i.jsx(d.i9,{label:"R-Metric Rows",value:R.length,subvalue:"R-multiple memory"}),i.jsx(d.i9,{label:"Lessons",value:v.length,subvalue:"recent reliability notes"}),i.jsx(d.i9,{label:"Policy",value:"Wait > weak entry",subvalue:"selective by design"})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[i.jsx(p.G,{title:"Sniper Score Distribution",data:P,layout:{yaxis:{range:[0,100],title:"Sniper Score"},xaxis:{title:"Candidate"}},emptyMessage:"No Sniper candidates available yet."}),i.jsx(p.G,{title:"Expectancy by Setup Type",data:S,layout:{yaxis:{title:"Expectancy in R"},xaxis:{title:"Setup"}},emptyMessage:"R-multiple metrics appear after historical execution simulations."})]}),i.jsx("section",{className:"grid-3",style:{marginTop:12},children:b.slice(0,9).map(e=>i.jsx(m,{item:e},e.ticker))}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[i.jsx(j,{title:"Active Setups",icon:i.jsx(a.Z,{size:17}),rows:w.active_setups??[],empty:"No active conditional setup. BLUM prefers patience."}),i.jsx(j,{title:"Wait For Trigger",icon:i.jsx(l,{size:17}),rows:w.wait_for_trigger??[],empty:"No wait-for-trigger setups."})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[i.jsx(j,{title:"Avoid List",icon:i.jsx(o.Z,{size:17}),rows:w.avoid_list??[],empty:"No hard no-trade decisions in the current candidate set."}),i.jsx(d.Ez,{title:"Recent Learning Lessons",value:`${v.length} notes`,children:(0,i.jsxs)("div",{className:"brain-list dense",children:[v.map((e,t)=>(0,i.jsxs)("div",{children:[i.jsx(x.O,{label:e.severity??"Info"}),i.jsx("strong",{children:e.lesson}),(0,i.jsxs)("p",{children:["Sample count: ",e.sample_count??0,". Reliability remains conditional and non-predictive."]})]},`${e.lesson}-${t}`)),!v.length&&i.jsx("div",{className:"empty-state",children:"No Sniper lessons yet. Execution simulations will populate this panel."})]})})]}),i.jsx("section",{style:{marginTop:12},children:i.jsx(d.Ez,{title:"Execution Plan Matrix",value:`${b.length} candidates`,subtitle:"Entry, trigger, invalidation, targets, risk/reward and no-trade reasons",className:"radar-core-panel",children:i.jsx("div",{className:"table-shell",children:(0,i.jsxs)("table",{className:"intel-table",children:[i.jsx("thead",{children:(0,i.jsxs)("tr",{children:[i.jsx("th",{children:"Ticker"}),i.jsx("th",{children:"Actionability"}),i.jsx("th",{children:"Setup"}),i.jsx("th",{children:"Entry / Trigger"}),i.jsx("th",{children:"Risk"}),i.jsx("th",{children:"Targets"}),i.jsx("th",{children:"No-Trade"})]})}),i.jsx("tbody",{children:b.map(e=>{let t=e.trade_plan??{},s=e.setup??{},n=e.risk??{},a=t.entry_zone??{};return(0,i.jsxs)("tr",{children:[(0,i.jsxs)("td",{children:[i.jsx(r.default,{className:"asset-link",href:(0,c.up)(e.ticker),children:e.ticker}),i.jsx("span",{children:e.asset?.name})]}),(0,i.jsxs)("td",{children:[i.jsx(x.O,{label:e.actionability}),(0,i.jsxs)("span",{children:["Sniper ",g(e.sniper_score),"/100"]})]}),(0,i.jsxs)("td",{children:[i.jsx("strong",{children:s.setup_type}),(0,i.jsxs)("span",{children:["Quality ",g(s.setup_quality_score)," | Reliability ",g(s.historical_reliability)]})]}),(0,i.jsxs)("td",{children:[(0,i.jsxs)("strong",{children:[a.low??"n/a"," - ",a.high??"n/a"]}),i.jsx("span",{children:t.entry_trigger})]}),(0,i.jsxs)("td",{children:[(0,i.jsxs)("strong",{children:["Invalidation ",t.invalidation_level??"n/a"]}),(0,i.jsxs)("span",{children:[n.position_risk_class," | RR ",t.risk_reward_estimate?.reward_to_risk??"n/a","R"]})]}),(0,i.jsxs)("td",{children:[(0,i.jsxs)("strong",{children:[t.target_1??"n/a"," / ",t.target_2??"n/a"]}),i.jsx("span",{children:t.trailing_exit_logic})]}),i.jsx("td",{children:i.jsx("span",{children:e.no_trade_reasons?.[0]?.reason??"No hard block; trigger still required."})})]},`plan-${e.ticker}`)})})]})})})})]}):i.jsx(u.G,{label:"Loading BLUM Market Sniper Engine"})}function m({item:e}){let t=e.trade_plan??{},s=e.setup??{},n=e.risk??{};return(0,i.jsxs)("article",{className:"score-card stock-radar-card",children:[(0,i.jsxs)("div",{className:"score-card-top",children:[(0,i.jsxs)("div",{children:[(0,i.jsxs)("span",{children:[e.asset?.sector??"Unknown"," | ",s.setup_type]}),i.jsx("h3",{children:e.ticker}),i.jsx("p",{className:"asset-subtitle",children:e.asset?.name})]}),i.jsx("div",{className:"score-ring",style:{"--score":e.sniper_score??0},children:i.jsx("strong",{children:Math.round(e.sniper_score??0)})})]}),i.jsx(x.O,{label:e.actionability}),i.jsx("p",{children:e.explanation}),(0,i.jsxs)("div",{className:"mini-metrics",children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Entry"}),(0,i.jsxs)("strong",{children:[t.entry_zone?.low??"n/a","-",t.entry_zone?.high??"n/a"]})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Invalidation"}),i.jsx("strong",{children:t.invalidation_level??"n/a"})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"RR"}),(0,i.jsxs)("strong",{children:[t.risk_reward_estimate?.reward_to_risk??"n/a","R"]})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Risk"}),i.jsx("strong",{children:n.position_risk_class??"n/a"})]})]})]})}function j({title:e,icon:t,rows:s,empty:n}){return i.jsx(d.Ez,{title:e,value:`${s.length} names`,children:(0,i.jsxs)("div",{className:"brain-list dense",children:[s.slice(0,12).map(s=>(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"opportunity-line",children:[(0,i.jsxs)("strong",{children:[t,s.ticker]}),i.jsx(x.O,{label:s.actionability})]}),i.jsx("p",{children:s.explanation}),(0,i.jsxs)("div",{className:"mini-metrics",children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Score"}),i.jsx("strong",{children:g(s.sniper_score)})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Setup"}),i.jsx("strong",{children:s.setup?.setup_type})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"RR"}),(0,i.jsxs)("strong",{children:[s.trade_plan?.risk_reward_estimate?.reward_to_risk??"n/a","R"]})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Invalidation"}),i.jsx("strong",{children:s.trade_plan?.invalidation_level??"n/a"})]})]})]},`${e}-${s.ticker}`)),!s.length&&i.jsx("div",{className:"empty-state",children:n})]})})}function g(e){return null==e||Number.isNaN(Number(e))?"n/a":Number(e).toFixed(1)}},2522:(e,t,s)=>{"use strict";s.d(t,{G:()=>n});var i=s(8924);function n({label:e="Loading intelligence snapshot"}){return(0,i.jsxs)("div",{className:"loading-state",children:[i.jsx("div",{}),i.jsx("span",{children:e})]})}},7749:(e,t,s)=>{"use strict";s.d(t,{G:()=>o});var i=s(8924),n=s(1328),r=s.n(n),a=s(3911);let l=r()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function o({title:e,data:t,layout:s={},height:n=360,emptyMessage:r="Waiting for real data series."}){let o=t.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:t,layout:{autosize:!0,height:n,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...s},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,i.jsxs)("section",{className:"panel",children:[i.jsx("div",{className:"panel-head",children:i.jsx("span",{children:e})}),o?(0,a.createElement)(l,c):i.jsx("div",{className:"plot-empty",children:r})]})}},3081:(e,t,s)=>{"use strict";s.d(t,{O:()=>r});var i=s(8924),n=s(9779);function r({label:e}){let t=e.includes("Breakout")||e.includes("Strong")?"positive":e.includes("Risk")||e.includes("Avoid")?"negative":e.includes("Divergence")||e.includes("Contrarian")?"warning":"neutral";return i.jsx("span",{className:(0,n.Z)("status-badge",t),children:e})}},741:(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});let i=(0,s(6745).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},1328:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}});let i=s(1607);s(8924),s(3911);let n=i._(s(4737));function r(e,t){var s;let i={loading:e=>{let{error:t,isLoading:s,pastDelay:i}=e;return null}};"function"==typeof e&&(i.loader=e);let r={...i,...t};return(0,n.default)({...r,modules:null==(s=r.loadableGenerated)?void 0:s.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3880:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let i=s(6483);function n(e){let{reason:t,children:s}=e;throw new i.BailoutToCSRError(t)}},4737:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let i=s(8924),n=s(3911),r=s(3880),a=s(7083);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},s=(0,n.lazy)(()=>t.loader().then(l)),c=t.loading;function d(e){let l=c?(0,i.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=t.ssr?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.PreloadCss,{moduleIds:t.modules}),(0,i.jsx)(s,{...e})]}):(0,i.jsx)(r.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(s,{...e})});return(0,i.jsx)(n.Suspense,{fallback:l,children:o})}return d.displayName="LoadableComponent",d}},7083:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return r}});let i=s(8924),n=s(4580);function r(e){let{moduleIds:t}=e,s=(0,n.getExpectedRequestStore)("next/dynamic css"),r=[];if(s.reactLoadableManifest&&t){let e=s.reactLoadableManifest;for(let s of t){if(!e[s])continue;let t=e[s].files.filter(e=>e.endsWith(".css"));r.push(...t)}}return 0===r.length?null:(0,i.jsx)(i.Fragment,{children:r.map(e=>(0,i.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:s.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},4109:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>i});let i=(0,s(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),i=t.X(0,[273,394,927],()=>s(5409));module.exports=i})(); \ No newline at end of file diff --git a/frontend/.next/server/app/sniper/page.js.nft.json b/frontend/.next/server/app/sniper/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/sniper/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/sniper/page_client-reference-manifest.js b/frontend/.next/server/app/sniper/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..556d0e9e2ccb2f32326fee9884736ed7be62dc3f --- /dev/null +++ b/frontend/.next/server/app/sniper/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/sniper/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","74","static/chunks/app/sniper/page-66e545665c88da6b.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/stock-radar.html b/frontend/.next/server/app/stock-radar.html new file mode 100644 index 0000000000000000000000000000000000000000..bd981222822671db6c462d216df7c0d029e8451c --- /dev/null +++ b/frontend/.next/server/app/stock-radar.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading Stock Radar
\ No newline at end of file diff --git a/frontend/.next/server/app/stock-radar.meta b/frontend/.next/server/app/stock-radar.meta new file mode 100644 index 0000000000000000000000000000000000000000..4f563a0d77559c64c3676af29f2cdf4d37b8473d --- /dev/null +++ b/frontend/.next/server/app/stock-radar.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/stock-radar/layout,_N_T_/stock-radar/page,_N_T_/stock-radar/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/stock-radar.rsc b/frontend/.next/server/app/stock-radar.rsc new file mode 100644 index 0000000000000000000000000000000000000000..a53d0913e64fc0152b3b3a9f8a50b0a9996a3f36 --- /dev/null +++ b/frontend/.next/server/app/stock-radar.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[9570,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","511","static/chunks/app/stock-radar/page-6e7f483858d9a39e.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["stock-radar",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["stock-radar",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","stock-radar","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/stock-radar/page.js b/frontend/.next/server/app/stock-radar/page.js new file mode 100644 index 0000000000000000000000000000000000000000..9be7f408622e57f1f1cee4af91d8bdde6aecba01 --- /dev/null +++ b/frontend/.next/server/app/stock-radar/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=511,e.ids=[511],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},865:(e,s,t)=>{"use strict";t.r(s),t.d(s,{GlobalError:()=>i.a,__next_app__:()=>m,originalPathname:()=>u,pages:()=>d,routeModule:()=>p,tree:()=>c}),t(107),t(8777),t(311);var r=t(9296),a=t(1650),n=t(7045),i=t.n(n),l=t(8184),o={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(o[e]=()=>l[e]);t.d(s,o);let c=["",{children:["stock-radar",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(t.bind(t,107)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(t.bind(t,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(t.t.bind(t,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx"],u="/stock-radar/page",m={require:t,loadChunk:()=>Promise.resolve()},p=new r.AppPageRouteModule({definition:{kind:a.x.APP_PAGE,page:"/stock-radar/page",pathname:"/stock-radar",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},6064:(e,s,t)=>{Promise.resolve().then(t.bind(t,291))},291:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>m});var r=t(8924),a=t(2828),n=t(3911);t(3789);var i=t(6927),l=t(2522),o=t(8117),c=t(7749),d=t(3081);let u=[["strongest_signals","Strongest"],["narrative_breakouts","Narrative"],["technical_breakouts","Technical"],["quality_momentum","Quality Momentum"],["quiet_accumulation","Quiet Accumulation"],["sentiment_divergence","Divergence"],["high_risk_momentum","High Risk"],["contrarian_setups","Contrarian"]];function m(){let[e,s]=(0,n.useState)(null),[t,o]=(0,n.useState)("strongest_signals"),[d,m]=(0,n.useState)(""),[h,g]=(0,n.useState)(""),[j,v]=(0,n.useState)(""),[f,y]=(0,n.useState)(""),_=e?.sections?.[t]??[],b=_.length?_:e?.summary.signal_count?[]:e?.data_gaps??e?.rows??[],N=(0,n.useMemo)(()=>{let e=j.trim().toLowerCase();return b.filter(s=>(!d||s.asset.sector===d)&&(!h||s.research_priority===h)&&(!e||`${s.ticker} ${s.asset.name} ${s.asset.sector} ${s.asset.industry}`.toLowerCase().includes(e)))},[b,d,h,j]);if(!e)return f?(0,r.jsxs)("div",{className:"empty-state",children:["API error: ",f]}):r.jsx(l.G,{label:"Loading Stock Radar"});let k=e.rows.length?e.rows:e.data_gaps,S=Array.from(new Set(k.map(e=>e.asset.sector))).sort(),P=Array.from(new Set(k.map(e=>e.research_priority))).sort(),w=e.rows.filter(e=>e.signal);return(0,r.jsxs)(r.Fragment,{children:[r.jsx(i.ft,{eyebrow:"Stock Radar",title:"Equity opportunity radar and signal triage.",subtitle:"A research desk view for equities, price status, score factors, narrative evidence and risk state.",statusItems:[{label:"Stocks",value:String(e.summary.stock_count)},{label:"Signals",value:String(e.summary.signal_count),tone:e.summary.signal_count?"positive":"attention"},{label:"Priced",value:String(e.summary.priced_count),tone:e.summary.priced_count?"positive":"attention"},{label:"Avg score",value:e.summary.average_score.toFixed(1),tone:"attention"}],actions:(0,r.jsxs)("div",{className:"header-actions",children:[r.jsx(a.default,{className:"button",href:"/etf-radar",children:"ETF Radar"}),r.jsx(a.default,{className:"button",href:"/ipo-radar",children:"IPO Radar"})]})}),f&&(0,r.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["API error: ",f]}),(0,r.jsxs)("section",{className:"terminal-command-grid",children:[r.jsx(i.i9,{label:"Stocks",value:e.summary.stock_count,subvalue:"Equity universe"}),r.jsx(i.i9,{label:"Signals",value:e.summary.signal_count,subvalue:`${e.summary.missing_signal_count} missing`,tone:e.summary.signal_count?"positive":"attention"}),r.jsx(i.i9,{label:"Priced",value:e.summary.priced_count,subvalue:"Latest stored price"}),r.jsx(i.i9,{label:"Avg Score",value:e.summary.average_score.toFixed(1),subvalue:`Top ${e.summary.top_score.toFixed(1)}`,tone:"attention"}),r.jsx(i.i9,{label:"High Risk",value:e.summary.high_risk_count,subvalue:"Risk-heavy momentum",tone:e.summary.high_risk_count?"negative":"neutral"}),r.jsx(i.i9,{label:"Positive 1D",value:e.summary.positive_1d_count,subvalue:"Short-term breadth",tone:"info"}),r.jsx(i.i9,{label:"Sectors",value:e.sector_leaders.length,subvalue:"Leadership groups"}),r.jsx(i.i9,{label:"Status",value:e.status.replaceAll("_"," "),subvalue:"Radar readiness"})]}),r.jsx("section",{className:"radar-tabs",style:{marginTop:12},children:u.map(([s,a])=>(0,r.jsxs)("button",{className:t===s?"active":"",onClick:()=>o(s),children:[a,r.jsx("span",{children:e.sections[s]?.length??0})]},s))}),"ready"!==e.status&&(0,r.jsxs)("section",{className:"panel readiness-panel",style:{marginTop:12},children:[(0,r.jsxs)("div",{className:"panel-head",children:[r.jsx("span",{children:"Evidence readiness"}),r.jsx("strong",{children:e.status.replaceAll("_"," ")})]}),r.jsx("p",{children:"The autonomous research engine is hydrating prices, news, sentiment, embeddings and signal snapshots in the background. The cards below show the real asset universe and latest stored market status. No synthetic prices, headlines or scores are displayed."}),(0,r.jsxs)("div",{className:"mini-metrics",children:[(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Missing signals"}),r.jsx("strong",{children:e.summary.missing_signal_count})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Priced names"}),r.jsx("strong",{children:e.summary.priced_count})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Positive 1D"}),r.jsx("strong",{children:e.summary.positive_1d_count})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Top score"}),r.jsx("strong",{children:e.summary.top_score.toFixed(1)})]})]})]}),r.jsx("section",{className:"grid-3",style:{marginTop:12},children:N.slice(0,6).map(e=>r.jsx(p,{row:e},`card-${e.ticker}`))}),(0,r.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[r.jsx(c.G,{title:"Sector Leadership",data:[{x:e.sector_leaders.map(e=>e.average_score),y:e.sector_leaders.map(e=>e.sector),type:"bar",orientation:"h",marker:{color:"#ffb000"}}],layout:{xaxis:{range:[0,100]}},emptyMessage:"Sector leadership appears after real signal snapshots are created."}),r.jsx(c.G,{title:"Momentum vs Sentiment",data:[{x:w.map(e=>e.factor_scores?.momentum??0),y:w.map(e=>e.factor_scores?.sentiment??0),text:w.map(e=>e.ticker),type:"scatter",mode:"markers+text",marker:{size:w.map(e=>Math.max(9,(e.signal?.blum_score??0)/5)),color:"#4dd8ff"}}],layout:{xaxis:{range:[0,100],title:"Momentum"},yaxis:{range:[0,100],title:"Sentiment"}},emptyMessage:"Momentum and sentiment scatter requires priced assets, linked news and signal snapshots."})]}),(0,r.jsxs)(i.Ez,{title:"Stock Radar Table",value:`${N.length} names`,subtitle:"Sortable terminal table for price, sentiment, momentum, confidence, signal and risk",className:"radar-core-panel",children:[(0,r.jsxs)("div",{className:"control-row",children:[r.jsx("input",{className:"input",placeholder:"Search ticker, company, sector",value:j,onChange:e=>v(e.target.value)}),(0,r.jsxs)("select",{className:"input",value:d,onChange:e=>m(e.target.value),children:[r.jsx("option",{value:"",children:"All sectors"}),S.map(e=>r.jsx("option",{children:e},e))]}),(0,r.jsxs)("select",{className:"input",value:h,onChange:e=>g(e.target.value),children:[r.jsx("option",{value:"",children:"All research priorities"}),P.map(e=>r.jsx("option",{children:e},e))]})]}),r.jsx(i.Xz,{rows:N.map(e=>{let s=e.signal?.blum_score??0,t=e.signal?.risk_level??"Not rated";return{ticker:e.ticker,name:e.asset.name,sector:e.asset.sector,assetType:e.asset.asset_type,price:e.market_snapshot.price,currency:e.market_snapshot.currency,changePercent:e.market_snapshot.perf_1d,volumeRelative:null,sentimentScore:x(e,"sentiment"),momentumScore:x(e,"momentum"),trendScore:x(e,"trend"),newsCount:Number(e.narrative_flags?.news_count_7d??0),newsScore:Number(e.narrative_flags?.narrative_intensity??e.narrative_flags?.news_count_7d??0),confidence:e.signal?.confidence_score??0,signalType:e.signal?.classification??"Insufficient Evidence",riskScore:x(e,"volatility"),riskLevel:t,action:s>=84?"Strong Attention":s>=68?"Watch":t.toLowerCase().includes("high")?"Avoid":"Monitor",why:e.why_watch}})})]})]})}function p({row:e}){let s=e.signal?.blum_score??0;return(0,r.jsxs)("article",{className:"score-card stock-radar-card",children:[(0,r.jsxs)("div",{className:"score-card-top",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("span",{children:[e.asset.sector," | ",e.research_priority]}),r.jsx("h3",{children:e.ticker}),r.jsx("p",{className:"asset-subtitle",children:e.asset.name})]}),r.jsx("div",{className:"score-ring",style:{"--score":s},children:r.jsx("strong",{children:Math.round(s)})})]}),e.signal?r.jsx(d.O,{label:e.signal.classification}):r.jsx(d.O,{label:"Insufficient Evidence"}),r.jsx(o.Ku,{snapshot:e.market_snapshot,compact:!0}),r.jsx("div",{className:"tag-row",children:e.radar_tags.slice(0,5).map(e=>r.jsx("span",{children:e},e))}),r.jsx("p",{children:e.why_watch}),(0,r.jsxs)("div",{className:"mini-metrics",children:[(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Trend"}),r.jsx("strong",{children:h(e,"trend")})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Momentum"}),r.jsx("strong",{children:h(e,"momentum")})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Sentiment"}),r.jsx("strong",{children:h(e,"sentiment")})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Confidence"}),r.jsx("strong",{children:e.signal?.confidence_score?.toFixed(0)??"n/a"})]})]})]})}function h(e,s){return Number(e.factor_scores?.[s]??0).toFixed(0)}function x(e,s){return Number(e.factor_scores?.[s]??0)}},2522:(e,s,t)=>{"use strict";t.d(s,{G:()=>a});var r=t(8924);function a({label:e="Loading intelligence snapshot"}){return(0,r.jsxs)("div",{className:"loading-state",children:[r.jsx("div",{}),r.jsx("span",{children:e})]})}},8117:(e,s,t)=>{"use strict";t.d(s,{Ku:()=>a,T3:()=>i,T4:()=>n,fP:()=>l});var r=t(8924);function a({snapshot:e,compact:s=!1}){return e&&"ready"===e.data_status&&null!=e.price?(0,r.jsxs)("div",{className:s?"market-strip compact":"market-strip",children:[(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Last Price"}),r.jsx("strong",{children:n(e.price,e.currency)})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"1D"}),r.jsx("strong",{className:o(e.perf_1d),children:i(e.perf_1d)})]}),!s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{children:[r.jsx("span",{children:"5D"}),r.jsx("strong",{className:o(e.perf_5d),children:i(e.perf_5d)})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"1M"}),r.jsx("strong",{className:o(e.perf_1m),children:i(e.perf_1m)})]})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:e.provider??"Provider"}),r.jsx("strong",{children:e.date??"n/a"})]})]}):(0,r.jsxs)("div",{className:s?"market-strip compact":"market-strip",children:[(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Price"}),r.jsx("strong",{children:"Real price pending"})]}),(0,r.jsxs)("div",{children:[r.jsx("span",{children:"Provider"}),r.jsx("strong",{children:"n/a"})]})]})}function n(e,s="USD"){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:s||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function i(e){return null==e||Number.isNaN(Number(e))?"n/a":`${e>0?"+":""}${Number(e).toFixed(2)}%`}function l(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function o(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},7749:(e,s,t)=>{"use strict";t.d(s,{G:()=>o});var r=t(8924),a=t(1328),n=t.n(a),i=t(3911);let l=n()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function o({title:e,data:s,layout:t={},height:a=360,emptyMessage:n="Waiting for real data series."}){let o=s.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:s,layout:{autosize:!0,height:a,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...t},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,r.jsxs)("section",{className:"panel",children:[r.jsx("div",{className:"panel-head",children:r.jsx("span",{children:e})}),o?(0,i.createElement)(l,c):r.jsx("div",{className:"plot-empty",children:n})]})}},3081:(e,s,t)=>{"use strict";t.d(s,{O:()=>n});var r=t(8924),a=t(9779);function n({label:e}){let s=e.includes("Breakout")||e.includes("Strong")?"positive":e.includes("Risk")||e.includes("Avoid")?"negative":e.includes("Divergence")||e.includes("Contrarian")?"warning":"neutral";return r.jsx("span",{className:(0,a.Z)("status-badge",s),children:e})}},1328:(e,s,t)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return n}});let r=t(1607);t(8924),t(3911);let a=r._(t(4737));function n(e,s){var t;let r={loading:e=>{let{error:s,isLoading:t,pastDelay:r}=e;return null}};"function"==typeof e&&(r.loader=e);let n={...r,...s};return(0,a.default)({...n,modules:null==(t=n.loadableGenerated)?void 0:t.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),e.exports=s.default)},3880:(e,s,t)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let r=t(6483);function a(e){let{reason:s,children:t}=e;throw new r.BailoutToCSRError(s)}},4737:(e,s,t)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return c}});let r=t(8924),a=t(3911),n=t(3880),i=t(7083);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},c=function(e){let s={...o,...e},t=(0,a.lazy)(()=>s.loader().then(l)),c=s.loading;function d(e){let l=c?(0,r.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=s.ssr?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.PreloadCss,{moduleIds:s.modules}),(0,r.jsx)(t,{...e})]}):(0,r.jsx)(n.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(t,{...e})});return(0,r.jsx)(a.Suspense,{fallback:l,children:o})}return d.displayName="LoadableComponent",d}},7083:(e,s,t)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadCss",{enumerable:!0,get:function(){return n}});let r=t(8924),a=t(4580);function n(e){let{moduleIds:s}=e,t=(0,a.getExpectedRequestStore)("next/dynamic css"),n=[];if(t.reactLoadableManifest&&s){let e=t.reactLoadableManifest;for(let t of s){if(!e[t])continue;let s=e[t].files.filter(e=>e.endsWith(".css"));n.push(...s)}}return 0===n.length?null:(0,r.jsx)(r.Fragment,{children:n.map(e=>(0,r.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:t.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},107:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>r});let r=(0,t(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx#default`)}};var s=require("../../webpack-runtime.js");s.C(e);var t=e=>s(s.s=e),r=s.X(0,[273,394,927],()=>t(865));module.exports=r})(); \ No newline at end of file diff --git a/frontend/.next/server/app/stock-radar/page.js.nft.json b/frontend/.next/server/app/stock-radar/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/stock-radar/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/stock-radar/page_client-reference-manifest.js b/frontend/.next/server/app/stock-radar/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..4e544cc81f29fb58a657631ff576bcffcaa483ab --- /dev/null +++ b/frontend/.next/server/app/stock-radar/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/stock-radar/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","511","static/chunks/app/stock-radar/page-6e7f483858d9a39e.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/app/themes.html b/frontend/.next/server/app/themes.html new file mode 100644 index 0000000000000000000000000000000000000000..22b84a8a7f7bc3253da304bfc13f8d12a638be47 --- /dev/null +++ b/frontend/.next/server/app/themes.html @@ -0,0 +1 @@ +Blum AI Financial Intelligence
Loading semantic themes
\ No newline at end of file diff --git a/frontend/.next/server/app/themes.meta b/frontend/.next/server/app/themes.meta new file mode 100644 index 0000000000000000000000000000000000000000..b04fe0046084515338411adb6f38a0b7c4cacccd --- /dev/null +++ b/frontend/.next/server/app/themes.meta @@ -0,0 +1,5 @@ +{ + "headers": { + "x-next-cache-tags": "_N_T_/layout,_N_T_/themes/layout,_N_T_/themes/page,_N_T_/themes/" + } +} \ No newline at end of file diff --git a/frontend/.next/server/app/themes.rsc b/frontend/.next/server/app/themes.rsc new file mode 100644 index 0000000000000000000000000000000000000000..3fdecd48b8d5f331cfc80d3c61917080f1e6c5ea --- /dev/null +++ b/frontend/.next/server/app/themes.rsc @@ -0,0 +1,8 @@ +2:I[7523,[],"ClientPageRoot"] +3:I[892,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","433","static/chunks/433-89ff72e62f774508.js","277","static/chunks/app/themes/page-9af78316fbb208f8.js"],"default",1] +4:I[176,[],""] +5:I[9414,[],""] +6:I[6813,["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"AppShell"] +0:["wZUVLKXl_CiOxUlt_FdXC",[[["",{"children":["themes",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["themes",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","themes","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/02bd12e03544ea91.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]],null],null],["$L7",null]]]] +7:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Blum AI Financial Intelligence"}],["$","meta","3",{"name":"description","content":"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."}]] +1:null diff --git a/frontend/.next/server/app/themes/page.js b/frontend/.next/server/app/themes/page.js new file mode 100644 index 0000000000000000000000000000000000000000..60bc941d15ff20b82ffba56f40716335a4f70544 --- /dev/null +++ b/frontend/.next/server/app/themes/page.js @@ -0,0 +1 @@ +(()=>{var e={};e.id=277,e.ids=[277],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3972:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>i.a,__next_app__:()=>u,originalPathname:()=>m,pages:()=>d,routeModule:()=>h,tree:()=>o}),s(4379),s(8777),s(311);var n=s(9296),r=s(1650),a=s(7045),i=s.n(a),l=s(8184),c={};for(let e in l)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(c[e]=()=>l[e]);s.d(t,c);let o=["",{children:["themes",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,4379)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,8777)),"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,311,23)),"next/dist/client/components/not-found-error"]}],d=["/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx"],m="/themes/page",u={require:s,loadChunk:()=>Promise.resolve()},h=new n.AppPageRouteModule({definition:{kind:r.x.APP_PAGE,page:"/themes/page",pathname:"/themes",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:o}})},8483:(e,t,s)=>{Promise.resolve().then(s.bind(s,5213))},5213:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>o});var n=s(8924),r=s(3911),a=s(3789),i=s(6927),l=s(2522);let c=["AI","Rates","Geopolitics","Earnings","Energy","Crypto/Fintech","Market Structure"];function o(){let[e,t]=(0,r.useState)(null),[s,o]=(0,r.useState)(null),[m,p]=(0,r.useState)("AI infrastructure guidance"),[g,x]=(0,r.useState)([]),[v,j]=(0,r.useState)(""),[y,f]=(0,r.useState)(""),[b,N]=(0,r.useState)(""),[S,w]=(0,r.useState)(!1),[_,k]=(0,r.useState)(""),A=(0,r.useMemo)(()=>{let t=e??[];return{articleCount:t.reduce((e,t)=>e+h(t.article_count),0),averageSentiment:t.length?t.reduce((e,t)=>e+h(t.sentiment_score),0)/t.length:0}},[e]),P=async()=>{w(!0),N("");try{let e=await a.h.semanticSearch(m);x(Array.isArray(e)?e:[])}catch(e){x([]),N(e.message)}finally{w(!1)}},C=async e=>{if(e){k(e),f("");try{o(await a.h.themeDetail(e))}catch(e){o(null),f(e.message)}finally{k("")}}};return null===e?n.jsx(l.G,{label:"Loading semantic themes"}):(0,n.jsxs)(n.Fragment,{children:[n.jsx(i.ft,{eyebrow:"Themes and Narratives",title:"Market narrative intelligence.",subtitle:"Semantic clusters, rising themes, linked tickers and source evidence from public financial news.",statusItems:[{label:"Clusters",value:String(e.length),tone:e.length?"positive":"attention"},{label:"Articles",value:String(A.articleCount),tone:A.articleCount?"info":"attention"},{label:"Avg sentiment",value:A.averageSentiment.toFixed(2),tone:A.averageSentiment>=0?"positive":"negative"},{label:"Mode",value:"Evidence only"}]}),v&&(0,n.jsxs)("div",{className:"terminal-empty",style:{marginBottom:12},children:["Narratives endpoint warning: ",v,". The autonomous engine will keep rebuilding semantic clusters as evidence arrives."]}),n.jsx("section",{className:"professional-grid-3",children:c.map(t=>{let s=t.split("/")[0].toLowerCase(),r=e.find(e=>String(e.label??"").toLowerCase().includes(s));return n.jsx(i.x8,{title:t,sentiment:r?.sentiment_score,volume:r?.article_count??0,explanation:r?`Active semantic cluster: ${u(r.keywords).slice(0,4).join(", ")||"keywords pending"}.`:"Strategic narrative taxonomy monitored for future evidence."},t)})}),(0,n.jsxs)(i.Ez,{title:"Semantic Search",value:"Vector evidence",subtitle:"Search public news embeddings and narrative clusters",className:"radar-core-panel",children:[(0,n.jsxs)("div",{className:"control-row",style:{marginBottom:0},children:[n.jsx("input",{className:"input",value:m,onChange:e=>p(e.target.value),"aria-label":"Semantic search query"}),n.jsx("button",{className:"button primary",onClick:P,disabled:S||m.trim().length<3,children:S?"Searching...":"Semantic search"})]}),b&&(0,n.jsxs)("div",{className:"terminal-empty compact",style:{marginTop:10},children:["Search warning: ",b]})]}),n.jsx("section",{className:"professional-grid-3",style:{marginTop:12},children:e.slice(0,12).map((e,t)=>{let s=String(e.label??`Theme ${t+1}`);return(0,n.jsxs)("article",{className:"narrative-card theme-card",onClick:()=>C(s),children:[(0,n.jsxs)("div",{className:"narrative-card-top",children:[n.jsx("strong",{children:s}),(0,n.jsxs)("span",{className:"score-badge tone-attention",children:[n.jsx("strong",{children:h(e.article_count)}),n.jsx("em",{children:"news"})]})]}),(0,n.jsxs)("p",{children:["Keywords: ",u(e.keywords).join(", ")||"semantic cluster"]}),(0,n.jsxs)("div",{className:"narrative-card-meta",children:[(0,n.jsxs)("span",{children:["sentiment ",h(e.sentiment_score).toFixed(2)]}),n.jsx("span",{children:_===s?"loading detail":e.cluster_method??"theme aggregation"})]})]},`${s}-${t}`)})}),!e.length&&!v&&n.jsx(i.Ez,{title:"Narrative Coverage",value:"Building",className:"radar-core-panel",children:n.jsx("div",{className:"terminal-empty",children:"No semantic clusters are stored yet. The autonomous engine is hydrating news, embeddings and theme memory in the background."})}),y&&(0,n.jsxs)("div",{className:"terminal-empty",style:{marginTop:12},children:["Theme detail warning: ",y]}),s&&n.jsx(d,{detail:s}),n.jsx(i.Ez,{title:"Semantic Search Results",value:`${g.length} matches`,className:"radar-core-panel",children:(0,n.jsxs)("div",{className:"news-list",children:[0===g.length&&n.jsx("div",{className:"terminal-empty compact",children:"Search results will appear here after a query is submitted."}),g.map((e,t)=>{let s=e.article??{};return(0,n.jsxs)("a",{className:"news-item",href:s.url??"#",target:"_blank",rel:"noreferrer",children:[n.jsx("strong",{children:s.title??"Untitled evidence item"}),(0,n.jsxs)("span",{children:["Similarity ",h(e.score).toFixed(3)," | ",s.source??"unknown source"]})]},`${s.id??s.url??"result"}-${t}`)})]})})]})}function d({detail:e}){let t=u(e.source_mix),s=u(e.linked_assets),r=u(e.articles);return(0,n.jsxs)(i.Ez,{title:"Theme Detail",value:e.label??"Narrative",className:"radar-core-panel",children:[(0,n.jsxs)("div",{className:"professional-grid-4",children:[n.jsx(m,{label:"Articles",value:h(e.article_count)}),n.jsx(m,{label:"Avg Sentiment",value:h(e.average_sentiment).toFixed(2)}),n.jsx(m,{label:"Sources",value:t.length}),n.jsx(m,{label:"Assets",value:s.length})]}),(0,n.jsxs)("div",{className:"professional-grid-2",style:{marginTop:12},children:[n.jsx(i.Ez,{title:"Linked Assets",dense:!0,children:(0,n.jsxs)("div",{className:"tag-row",children:[0===s.length&&n.jsx("span",{children:"No linked tickers yet"}),s.slice(0,20).map((e,t)=>(0,n.jsxs)("span",{children:[e.ticker??"Asset"," ",e.mentions??0]},`${e.ticker??"asset"}-${t}`))]})}),n.jsx(i.Ez,{title:"Source Mix",dense:!0,children:(0,n.jsxs)("div",{className:"tag-row",children:[0===t.length&&n.jsx("span",{children:"No source concentration yet"}),t.slice(0,16).map((e,t)=>(0,n.jsxs)("span",{children:[e.source??"Source"," ",e.count??0]},`${e.source??"source"}-${t}`))]})})]}),(0,n.jsxs)("div",{className:"news-list",style:{marginTop:12},children:[0===r.length&&n.jsx("div",{className:"terminal-empty compact",children:"No articles are linked to this theme yet."}),r.slice(0,16).map((e,t)=>(0,n.jsxs)("a",{className:"news-item",href:e.url??"#",target:"_blank",rel:"noreferrer",children:[n.jsx("strong",{children:e.title??"Untitled article"}),(0,n.jsxs)("span",{children:[e.source??"unknown"," | sentiment ",h(e.sentiment?.score).toFixed(2)," | assets ",u(e.linked_assets).map(e=>e.ticker).filter(Boolean).join(" | ")||"n/a"]})]},`${e.id??e.url??"article"}-${t}`))]})]})}function m({label:e,value:t}){return n.jsx(i.i9,{label:e,value:t})}function u(e){return Array.isArray(e)?e:[]}function h(e){let t=Number(e);return Number.isFinite(t)?t:0}},2522:(e,t,s)=>{"use strict";s.d(t,{G:()=>r});var n=s(8924);function r({label:e="Loading intelligence snapshot"}){return(0,n.jsxs)("div",{className:"loading-state",children:[n.jsx("div",{}),n.jsx("span",{children:e})]})}},4379:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n});let n=(0,s(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),n=t.X(0,[273,394,927],()=>s(3972));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/app/themes/page.js.nft.json b/frontend/.next/server/app/themes/page.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..77578a3c1517e5a73d13826b0254aea2983bdd03 --- /dev/null +++ b/frontend/.next/server/app/themes/page.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../../node_modules/next","../../../../package.json","../../../package.json","../../chunks/273.js","../../chunks/394.js","../../chunks/927.js","../../webpack-runtime.js","page_client-reference-manifest.js"]} \ No newline at end of file diff --git a/frontend/.next/server/app/themes/page_client-reference-manifest.js b/frontend/.next/server/app/themes/page_client-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..8ed5585e338c0bea965afe3d9c6e44d6bc05722a --- /dev/null +++ b/frontend/.next/server/app/themes/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/themes/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"176":{"*":{"id":"6676","name":"*","chunks":[],"async":false}},"841":{"*":{"id":"9737","name":"*","chunks":[],"async":false}},"892":{"*":{"id":"5213","name":"*","chunks":[],"async":false}},"2010":{"*":{"id":"7619","name":"*","chunks":[],"async":false}},"2433":{"*":{"id":"6544","name":"*","chunks":[],"async":false}},"2651":{"*":{"id":"9645","name":"*","chunks":[],"async":false}},"2987":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"3713":{"*":{"id":"5210","name":"*","chunks":[],"async":false}},"4374":{"*":{"id":"9927","name":"*","chunks":[],"async":false}},"6056":{"*":{"id":"1309","name":"*","chunks":[],"async":false}},"6543":{"*":{"id":"9722","name":"*","chunks":[],"async":false}},"6813":{"*":{"id":"5877","name":"*","chunks":[],"async":false}},"7096":{"*":{"id":"1952","name":"*","chunks":[],"async":false}},"7413":{"*":{"id":"8052","name":"*","chunks":[],"async":false}},"7523":{"*":{"id":"3477","name":"*","chunks":[],"async":false}},"7768":{"*":{"id":"7663","name":"*","chunks":[],"async":false}},"8145":{"*":{"id":"8377","name":"*","chunks":[],"async":false}},"8528":{"*":{"id":"5116","name":"*","chunks":[],"async":false}},"8547":{"*":{"id":"5441","name":"*","chunks":[],"async":false}},"9135":{"*":{"id":"432","name":"*","chunks":[],"async":false}},"9239":{"*":{"id":"8132","name":"*","chunks":[],"async":false}},"9414":{"*":{"id":"8850","name":"*","chunks":[],"async":false}},"9570":{"*":{"id":"291","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/app-router.js":{"id":2433,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":7523,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":8528,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":176,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":2651,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":9414,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/globals.css":{"id":4443,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx":{"id":6813,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","185","static/chunks/app/layout-c302ea2b37a37766.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx":{"id":4374,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx":{"id":6543,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx":{"id":841,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx":{"id":8145,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx":{"id":6056,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx":{"id":7413,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx":{"id":9135,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx":{"id":2987,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx":{"id":892,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","433","static/chunks/433-89ff72e62f774508.js","277","static/chunks/app/themes/page-9af78316fbb208f8.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx":{"id":7096,"name":"*","chunks":["183","static/chunks/183-66f1efcf12b29a02.js","651","static/chunks/651-5689242ae9b0ffc6.js","908","static/chunks/908-fe3c8e03f00ace4e.js","96","static/chunks/96-ce8c57cd15d50941.js","931","static/chunks/app/page-d0db9a93fb4af9a5.js"],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx":{"id":9239,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx":{"id":8547,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx":{"id":2010,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx":{"id":7768,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx":{"id":9570,"name":"*","chunks":[],"async":false},"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/view.tsx":{"id":3713,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/layout":["static/css/02bd12e03544ea91.css"],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page":[],"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page":[]}} \ No newline at end of file diff --git a/frontend/.next/server/chunks/273.js b/frontend/.next/server/chunks/273.js new file mode 100644 index 0000000000000000000000000000000000000000..85df5134b036c2d47eef5cbcaa23f85527bb8b8d --- /dev/null +++ b/frontend/.next/server/chunks/273.js @@ -0,0 +1,3 @@ +exports.id=273,exports.ids=[273],exports.modules={6745:(e,t,r)=>{"use strict";r.d(t,{Z:()=>u});var n=r(3911);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim();var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,n.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:l="",children:u,iconNode:s,...c},d)=>(0,n.createElement)("svg",{ref:d,...i,width:t,height:t,stroke:e,strokeWidth:o?24*Number(r)/Number(t):r,className:a("lucide",l),...c},[...s.map(([e,t])=>(0,n.createElement)(e,t)),...Array.isArray(u)?u:[u]])),u=(e,t)=>{let r=(0,n.forwardRef)(({className:r,...i},u)=>(0,n.createElement)(l,{ref:u,iconNode:t,className:a(`lucide-${o(e)}`,r),...i}));return r.displayName=`${e}`,r}},3041:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},7993:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]])},2567:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("ChartLine",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]])},3600:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]])},9534:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]])},6635:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},9773:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]])},3187:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]])},5107:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]])},7540:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]])},470:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},5089:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]])},6839:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=(0,r(6745).Z)("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},2828:(e,t,r)=>{"use strict";r.d(t,{default:()=>o.a});var n=r(4942),o=r.n(n)},8975:(e,t,r)=>{"use strict";var n=r(3728);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}})},5801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(4096),o=r(1858);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1737:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(1858);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return o}});let n=r(6544);async function o(e,t){let r=(0,n.getServerActionDispatcher)();if(!r)throw Error("Invariant: missing action dispatcher.");return new Promise((n,o)=>{r({actionId:e,actionArgs:t,resolve:n,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1077:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AppRouterAnnouncer",{enumerable:!0,get:function(){return i}});let n=r(3911),o=r(6348),a="next-route-announcer";function i(e){let{tree:t}=e,[r,i]=(0,n.useState)(null);(0,n.useEffect)(()=>(i(function(){var e;let t=document.getElementsByName(a)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(a);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(a)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[l,u]=(0,n.useState)(""),s=(0,n.useRef)();return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==s.current&&s.current!==e&&u(e),s.current=e},[t]),r?(0,o.createPortal)(l,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4768:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION:function(){return n},FLIGHT_PARAMETERS:function(){return u},NEXT_DID_POSTPONE_HEADER:function(){return c},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_RSC_UNION_QUERY:function(){return s},NEXT_URL:function(){return i},RSC_CONTENT_TYPE_HEADER:function(){return l},RSC_HEADER:function(){return r}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",a="Next-Router-Prefetch",i="Next-Url",l="text/x-component",u=[[r],[o],[a]],s="_rsc",c="x-nextjs-postponed";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createEmptyCacheNode:function(){return N},default:function(){return I},getServerActionDispatcher:function(){return O},urlToUrlWithoutFlightMarker:function(){return x}});let n=r(5453),o=r(8924),a=n._(r(3911)),i=r(6115),l=r(5343),u=r(7027),s=r(3090),c=r(6743),d=r(5116),f=r(786),p=r(9647),h=r(5801),g=r(1077),_=r(1455),y=r(5873),v=r(8128),b=r(4768),m=r(8183),R=r(9628),P=r(3537),S=null,E=null;function O(){return E}let T={};function x(e){let t=new URL(e,location.origin);if(t.searchParams.delete(b.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function j(e){return e.origin!==window.location.origin}function M(e){let{appRouterState:t,sync:r}=e;return(0,a.useInsertionEffect)(()=>{let{tree:e,pushRef:n,canonicalUrl:o}=t,a={...n.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};n.pendingPush&&(0,u.createHrefFromUrl)(new URL(window.location.href))!==o?(n.pendingPush=!1,window.history.pushState(a,"",o)):window.history.replaceState(a,"",o),r(t)},[t,r]),null}function N(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null}}function A(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function C(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,a.useDeferredValue)(r,o)}function w(e){let t,{buildId:r,initialHead:n,initialTree:u,urlParts:d,initialSeedData:b,couldBeIntercepted:O,assetPrefix:x,missingSlots:N}=e,w=(0,a.useMemo)(()=>(0,f.createInitialRouterState)({buildId:r,initialSeedData:b,urlParts:d,initialTree:u,initialParallelRoutes:S,location:null,initialHead:n,couldBeIntercepted:O}),[r,b,d,u,n,O]),[I,D,L]=(0,c.useReducerWithReduxDevtools)(w);(0,a.useEffect)(()=>{S=null},[]);let{canonicalUrl:U}=(0,c.useUnwrapState)(I),{searchParams:k,pathname:F}=(0,a.useMemo)(()=>{let e=new URL(U,"http://n");return{searchParams:e.searchParams,pathname:(0,R.hasBasePath)(e.pathname)?(0,m.removeBasePath)(e.pathname):e.pathname}},[U]),H=(0,a.useCallback)(e=>{let{previousTree:t,serverResponse:r}=e;(0,a.startTransition)(()=>{D({type:l.ACTION_SERVER_PATCH,previousTree:t,serverResponse:r})})},[D]),G=(0,a.useCallback)((e,t,r)=>{let n=new URL((0,h.addBasePath)(e),location.href);return D({type:l.ACTION_NAVIGATE,url:n,isExternalUrl:j(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t})},[D]);E=(0,a.useCallback)(e=>{(0,a.startTransition)(()=>{D({...e,type:l.ACTION_SERVER_ACTION})})},[D]);let B=(0,a.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let r;if(!(0,p.isBot)(window.navigator.userAgent)){try{r=new URL((0,h.addBasePath)(e),window.location.href)}catch(t){throw Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL.")}j(r)||(0,a.startTransition)(()=>{var e;D({type:l.ACTION_PREFETCH,url:r,kind:null!=(e=null==t?void 0:t.kind)?e:l.PrefetchKind.FULL})})}},replace:(e,t)=>{void 0===t&&(t={}),(0,a.startTransition)(()=>{var r;G(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,a.startTransition)(()=>{var r;G(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,a.startTransition)(()=>{D({type:l.ACTION_REFRESH,origin:window.location.origin})})},fastRefresh:()=>{throw Error("fastRefresh can only be used in development mode. Please use refresh instead.")}}),[D,G]);(0,a.useEffect)(()=>{window.next&&(window.next.router=B)},[B]),(0,a.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(T.pendingMpaPath=void 0,D({type:l.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[D]);let{pushRef:V}=(0,c.useUnwrapState)(I);if(V.mpaNavigation){if(T.pendingMpaPath!==U){let e=window.location;V.pendingPush?e.assign(U):e.replace(U),T.pendingMpaPath=U}(0,a.use)(v.unresolvedThenable)}(0,a.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{var t;let r=window.location.href,n=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,a.startTransition)(()=>{D({type:l.ACTION_RESTORE,url:new URL(null!=e?e:r,r),tree:n})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=A(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=A(e),o&&r(o)),t(e,n,o)};let n=e=>{let{state:t}=e;if(t){if(!t.__NA){window.location.reload();return}(0,a.startTransition)(()=>{D({type:l.ACTION_RESTORE,url:new URL(window.location.href),tree:t.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[D]);let{cache:X,tree:$,nextUrl:W,focusAndScrollRef:z}=(0,c.useUnwrapState)(I),K=(0,a.useMemo)(()=>(0,y.findHeadInCache)(X,$[1]),[X,$]),Y=(0,a.useMemo)(()=>(function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],o=Array.isArray(t),a=o?t[1]:t;!a||a.startsWith(P.PAGE_SEGMENT_KEY)||(o&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):o&&(r[t[0]]=t[1]),r=e(n,r))}return r})($),[$]);if(null!==K){let[e,r]=K;t=(0,o.jsx)(C,{headCacheNode:e},r)}else t=null;let q=(0,o.jsxs)(_.RedirectBoundary,{children:[t,X.rsc,(0,o.jsx)(g.AppRouterAnnouncer,{tree:$})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(M,{appRouterState:(0,c.useUnwrapState)(I),sync:L}),(0,o.jsx)(s.PathParamsContext.Provider,{value:Y,children:(0,o.jsx)(s.PathnameContext.Provider,{value:F,children:(0,o.jsx)(s.SearchParamsContext.Provider,{value:k,children:(0,o.jsx)(i.GlobalLayoutRouterContext.Provider,{value:{buildId:r,changeByServerResponse:H,tree:$,focusAndScrollRef:z,nextUrl:W},children:(0,o.jsx)(i.AppRouterContext.Provider,{value:B,children:(0,o.jsx)(i.LayoutRouterContext.Provider,{value:{childNodes:X.parallelRoutes,tree:$,url:U,loading:X.loading},children:q})})})})})})]})}function I(e){let{globalErrorComponent:t,...r}=e;return(0,o.jsx)(d.ErrorBoundary,{errorComponent:t,children:(0,o.jsx)(w,{...r})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1721:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"bailoutToClientRendering",{enumerable:!0,get:function(){return a}});let n=r(6483),o=r(5869);function a(e){let t=o.staticGenerationAsyncStorage.getStore();if((null==t||!t.forceStatic)&&(null==t?void 0:t.isStaticGeneration))throw new n.BailoutToCSRError(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3477:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return a}});let n=r(8924),o=r(7248);function a(e){let{Component:t,props:r}=e;return r.searchParams=(0,o.createDynamicallyTrackedSearchParams)(r.searchParams||{}),(0,n.jsx)(t,{...r})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5116:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return d},GlobalError:function(){return f},default:function(){return p}});let n=r(1607),o=r(8924),a=n._(r(3911)),i=r(3728),l=r(1643),u=r(5869),s={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function c(e){let{error:t}=e,r=u.staticGenerationAsyncStorage.getStore();if((null==r?void 0:r.isRevalidate)||(null==r?void 0:r.isStaticGeneration))throw console.error(t),t;return null}class d extends a.default.Component{static getDerivedStateFromError(e){if((0,l.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function f(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(c,{error:t}),(0,o.jsx)("div",{style:s.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:s.text,children:"Application error: a "+(r?"server":"client")+"-side exception has occurred (see the "+(r?"server logs":"browser console")+" for more information)."}),r?(0,o.jsx)("p",{style:s.text,children:"Digest: "+r}):null]})})]})]})}let p=f;function h(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:a}=e,l=(0,i.usePathname)();return t?(0,o.jsx)(d,{pathname:l,errorComponent:t,errorStyles:r,errorScripts:n,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5667:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DynamicServerError:function(){return n},isDynamicServerError:function(){return o}});let r="DYNAMIC_SERVER_USAGE";class n extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1643:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(3872),o=r(1901);function a(e){return e&&e.digest&&((0,o.isRedirectError)(e)||(0,n.isNotFoundError)(e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6676:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return S}}),r(1607);let n=r(5453),o=r(8924),a=n._(r(3911));r(6348);let i=r(6115),l=r(5437),u=r(8128),s=r(5116),c=r(5057),d=r(7546),f=r(1455),p=r(9645),h=r(8821),g=r(5929),_=r(9041),y=["bottom","height","left","right","top","width","x","y"];function v(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class b extends a.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,c.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r=function(e){var t;return"top"===e?document.body:null!=(t=document.getElementById(e))?t:document.getElementsByName(e)[0]}(n)),!r&&(r=null),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return y.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,d.handleSmoothScroll)(()=>{if(n){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!v(r,t)&&(e.scrollTop=0,v(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function m(e){let{segmentPath:t,children:r}=e,n=(0,a.useContext)(i.GlobalLayoutRouterContext);if(!n)throw Error("invariant global layout router not mounted");return(0,o.jsx)(b,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function R(e){let{parallelRouterKey:t,url:r,childNodes:n,segmentPath:s,tree:d,cacheKey:f}=e,p=(0,a.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{buildId:h,changeByServerResponse:g,tree:y}=p,v=n.get(f);if(void 0===v){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};v=e,n.set(f,e)}let b=null!==v.prefetchRsc?v.prefetchRsc:v.rsc,m=(0,a.useDeferredValue)(v.rsc,b),R="object"==typeof m&&null!==m&&"function"==typeof m.then?(0,a.use)(m):m;if(!R){let e=v.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,a=2===t.length;if((0,c.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(a){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...s],y),n=(0,_.hasInterceptionRouteInCurrentTree)(y);v.lazyData=e=(0,l.fetchServerResponse)(new URL(r,location.origin),t,n?p.nextUrl:null,h),v.lazyDataResolved=!1}let t=(0,a.use)(e);v.lazyDataResolved||(setTimeout(()=>{(0,a.startTransition)(()=>{g({previousTree:y,serverResponse:t})})}),v.lazyDataResolved=!0),(0,a.use)(u.unresolvedThenable)}return(0,o.jsx)(i.LayoutRouterContext.Provider,{value:{tree:d[1][t],childNodes:v.parallelRoutes,url:r,loading:v.loading},children:R})}function P(e){let{children:t,hasLoading:r,loading:n,loadingStyles:i,loadingScripts:l}=e;return r?(0,o.jsx)(a.Suspense,{fallback:(0,o.jsxs)(o.Fragment,{children:[i,l,n]}),children:t}):(0,o.jsx)(o.Fragment,{children:t})}function S(e){let{parallelRouterKey:t,segmentPath:r,error:n,errorStyles:l,errorScripts:u,templateStyles:c,templateScripts:d,template:_,notFound:y,notFoundStyles:v}=e,b=(0,a.useContext)(i.LayoutRouterContext);if(!b)throw Error("invariant expected layout router to be mounted");let{childNodes:S,tree:E,url:O,loading:T}=b,x=S.get(t);x||(x=new Map,S.set(t,x));let j=E[1][t][0],M=(0,h.getSegmentValue)(j),N=[j];return(0,o.jsx)(o.Fragment,{children:N.map(e=>{let a=(0,h.getSegmentValue)(e),b=(0,g.createRouterCacheKey)(e);return(0,o.jsxs)(i.TemplateContext.Provider,{value:(0,o.jsx)(m,{segmentPath:r,children:(0,o.jsx)(s.ErrorBoundary,{errorComponent:n,errorStyles:l,errorScripts:u,children:(0,o.jsx)(P,{hasLoading:!!T,loading:null==T?void 0:T[0],loadingStyles:null==T?void 0:T[1],loadingScripts:null==T?void 0:T[2],children:(0,o.jsx)(p.NotFoundBoundary,{notFound:y,notFoundStyles:v,children:(0,o.jsx)(f.RedirectBoundary,{children:(0,o.jsx)(R,{parallelRouterKey:t,url:O,tree:E,childNodes:x,segmentPath:r,cacheKey:b,isActive:M===a})})})})})}),children:[c,d,_]},(0,g.createRouterCacheKey)(e,!0))})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5057:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{canSegmentBeOverridden:function(){return a},matchSegment:function(){return o}});let n=r(2414),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],a=(e,t)=>{var r;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(r=(0,n.getSegmentParam)(e))?void 0:r.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3728:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return u.ReadonlyURLSearchParams},RedirectType:function(){return u.RedirectType},ServerInsertedHTMLContext:function(){return s.ServerInsertedHTMLContext},notFound:function(){return u.notFound},permanentRedirect:function(){return u.permanentRedirect},redirect:function(){return u.redirect},useParams:function(){return p},usePathname:function(){return d},useRouter:function(){return f},useSearchParams:function(){return c},useSelectedLayoutSegment:function(){return g},useSelectedLayoutSegments:function(){return h},useServerInsertedHTML:function(){return s.useServerInsertedHTML}});let n=r(3911),o=r(6115),a=r(3090),i=r(8821),l=r(3537),u=r(7495),s=r(8376);function c(){let e=(0,n.useContext)(a.SearchParamsContext),t=(0,n.useMemo)(()=>e?new u.ReadonlyURLSearchParams(e):null,[e]);{let{bailoutToClientRendering:e}=r(1721);e("useSearchParams()")}return t}function d(){return(0,n.useContext)(a.PathnameContext)}function f(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function p(){return(0,n.useContext)(a.PathParamsContext)}function h(e){void 0===e&&(e="children");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let a;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)a=t[1][r];else{var u;let e=t[1];a=null!=(u=e.children)?u:Object.values(e)[0]}if(!a)return o;let s=a[0],c=(0,i.getSegmentValue)(s);return!c||c.startsWith(l.PAGE_SEGMENT_KEY)?o:(o.push(c),e(a,r,!1,o))}(t.tree,e):null}function g(e){void 0===e&&(e="children");let t=h(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===l.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7495:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return i},RedirectType:function(){return n.RedirectType},notFound:function(){return o.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect}});let n=r(1901),o=r(3872);class a extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class i extends URLSearchParams{append(){throw new a}delete(){throw new a}set(){throw new a}sort(){throw new a}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotFoundBoundary",{enumerable:!0,get:function(){return c}});let n=r(5453),o=r(8924),a=n._(r(3911)),i=r(3728),l=r(3872);r(7500);let u=r(6115);class s extends a.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,l.isNotFoundError)(e))return{notFoundTriggered:!0};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.notFoundTriggered?{notFoundTriggered:!1,previousPathname:e.pathname}:{notFoundTriggered:t.notFoundTriggered,previousPathname:e.pathname}}render(){return this.state.notFoundTriggered?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,this.props.notFoundStyles,this.props.notFound]}):this.props.children}constructor(e){super(e),this.state={notFoundTriggered:!!e.asNotFound,previousPathname:e.pathname}}}function c(e){let{notFound:t,notFoundStyles:r,asNotFound:n,children:l}=e,c=(0,i.usePathname)(),d=(0,a.useContext)(u.MissingSlotContext);return t?(0,o.jsx)(s,{pathname:c,notFound:t,notFoundStyles:r,asNotFound:n,missingSlots:d,children:l}):(0,o.jsx)(o.Fragment,{children:l})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3872:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{isNotFoundError:function(){return o},notFound:function(){return n}});let r="NEXT_NOT_FOUND";function n(){let e=Error(r);throw e.digest=r,e}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return s}});let n=r(7919),o=r(2278);var a=o._("_maxConcurrency"),i=o._("_runningCount"),l=o._("_queue"),u=o._("_processNext");class s{enqueue(e){let t,r;let o=new Promise((e,n)=>{t=e,r=n}),a=async()=>{try{n._(this,i)[i]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,i)[i]--,n._(this,u)[u]()}};return n._(this,l)[l].push({promiseFn:o,task:a}),n._(this,u)[u](),o}bump(e){let t=n._(this,l)[l].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,l)[l].splice(t,1)[0];n._(this,l)[l].unshift(e),n._(this,u)[u](!0)}}constructor(e=5){Object.defineProperty(this,u,{value:c}),Object.defineProperty(this,a,{writable:!0,value:void 0}),Object.defineProperty(this,i,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),n._(this,a)[a]=e,n._(this,i)[i]=0,n._(this,l)[l]=[]}}function c(e){if(void 0===e&&(e=!1),(n._(this,i)[i]0){var t;null==(t=n._(this,l)[l].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1455:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectBoundary:function(){return c},RedirectErrorBoundary:function(){return s}});let n=r(5453),o=r(8924),a=n._(r(3911)),i=r(3728),l=r(1901);function u(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,i.useRouter)();return(0,a.useEffect)(()=>{a.default.startTransition(()=>{n===l.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class s extends a.default.Component{static getDerivedStateFromError(e){if((0,l.isRedirectError)(e))return{redirect:(0,l.getURLFromRedirectError)(e),redirectType:(0,l.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(u,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function c(e){let{children:t}=e,r=(0,i.useRouter)();return(0,o.jsx)(s,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5360:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}}),function(e){e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect"}(r||(r={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1901:(e,t,r)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectType:function(){return n},getRedirectError:function(){return u},getRedirectStatusCodeFromError:function(){return h},getRedirectTypeFromError:function(){return p},getURLFromRedirectError:function(){return f},isRedirectError:function(){return d},permanentRedirect:function(){return c},redirect:function(){return s}});let o=r(4580),a=r(2934),i=r(5360),l="NEXT_REDIRECT";function u(e,t,r){void 0===r&&(r=i.RedirectStatusCode.TemporaryRedirect);let n=Error(l);n.digest=l+";"+t+";"+e+";"+r+";";let a=o.requestAsyncStorage.getStore();return a&&(n.mutableCookies=a.mutableCookies),n}function s(e,t){void 0===t&&(t="replace");let r=a.actionAsyncStorage.getStore();throw u(e,t,(null==r?void 0:r.isAction)?i.RedirectStatusCode.SeeOther:i.RedirectStatusCode.TemporaryRedirect)}function c(e,t){void 0===t&&(t="replace");let r=a.actionAsyncStorage.getStore();throw u(e,t,(null==r?void 0:r.isAction)?i.RedirectStatusCode.SeeOther:i.RedirectStatusCode.PermanentRedirect)}function d(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r,n,o]=e.digest.split(";",4),a=Number(o);return t===l&&("replace"===r||"push"===r)&&"string"==typeof n&&!isNaN(a)&&a in i.RedirectStatusCode}function f(e){return d(e)?e.digest.split(";",3)[2]:null}function p(e){if(!d(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function h(e){if(!d(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(function(e){e.push="push",e.replace="replace"})(n||(n={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8850:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(5453),o=r(8924),a=n._(r(3911)),i=r(6115);function l(){let e=(0,a.useContext)(i.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8517:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return a}});let n=r(1742),o=r(503);function a(e,t,r,a){let[i,l,u]=r.slice(-3);if(null===l)return!1;if(3===r.length){let r=l[2],o=l[3];t.loading=o,t.rsc=r,t.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(t,e,i,l,u,a)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,r,a);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7542:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,r,n,l){let u;let[s,c,d,f,p]=r;if(1===t.length){let e=i(r,n,t);return(0,a.addRefreshMarkerToActiveParallelSegments)(e,l),e}let[h,g]=t;if(!(0,o.matchSegment)(h,s))return null;if(2===t.length)u=i(c[g],n,t);else if(null===(u=e(t.slice(2),c[g],n,l)))return null;let _=[t[0],{...c,[g]:u},d,f];return p&&(_[4]=!0),(0,a.addRefreshMarkerToActiveParallelSegments)(_,l),_}}});let n=r(3537),o=r(5057),a=r(8156);function i(e,t,r){let[a,l]=e,[u,s]=t;if(u===n.DEFAULT_SEGMENT_KEY&&a!==n.DEFAULT_SEGMENT_KEY)return e;if((0,o.matchSegment)(a,u)){let t={};for(let e in l)void 0!==s[e]?t[e]=i(l[e],s[e],r):t[e]=l[e];for(let e in s)t[e]||(t[e]=s[e]);let n=[a,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},724:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,r,o){let a=o.length<=2,[i,l]=o,u=(0,n.createRouterCacheKey)(l),s=r.parallelRoutes.get(i),c=t.parallelRoutes.get(i);c&&c!==s||(c=new Map(s),t.parallelRoutes.set(i,c));let d=null==s?void 0:s.get(u),f=c.get(u);if(a){f&&f.lazyData&&f!==d||c.set(u,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}if(!f||!d){f||c.set(u,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}return f===d&&(f={lazyData:f.lazyData,rsc:f.rsc,prefetchRsc:f.prefetchRsc,head:f.head,prefetchHead:f.prefetchHead,parallelRoutes:new Map(f.parallelRoutes),lazyDataResolved:f.lazyDataResolved,loading:f.loading},c.set(u,f)),e(f,d,o.slice(2))}}});let n=r(5929);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1670:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{computeChangedPath:function(){return c},extractPathFromFlightRouterState:function(){return s}});let n=r(8561),o=r(3537),a=r(5057),i=e=>"/"===e[0]?e.slice(1):e,l=e=>"string"==typeof e?"children"===e?"":e:e[1];function u(e){return e.reduce((e,t)=>""===(t=i(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function s(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let a=[l(r)],i=null!=(t=e[1])?t:{},c=i.children?s(i.children):void 0;if(void 0!==c)a.push(c);else for(let[e,t]of Object.entries(i)){if("children"===e)continue;let r=s(t);void 0!==r&&a.push(r)}return u(a)}function c(e,t){let r=function e(t,r){let[o,i]=t,[u,c]=r,d=l(o),f=l(u);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>d.startsWith(e)||f.startsWith(e)))return"";if(!(0,a.matchSegment)(o,u)){var p;return null!=(p=s(r))?p:""}for(let t in i)if(c[t]){let r=e(i[t],c[t]);if(null!==r)return l(u)+"/"+r}return null}(e,t);return null==r||"/"===r?r:u(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7027:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},786:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return s}});let n=r(7027),o=r(1742),a=r(1670),i=r(5296),l=r(5343),u=r(8156);function s(e){var t;let{buildId:r,initialTree:s,initialSeedData:c,urlParts:d,initialParallelRoutes:f,location:p,initialHead:h,couldBeIntercepted:g}=e,_=d.join("/"),y=!p,v={lazyData:null,rsc:c[2],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:y?new Map:f,lazyDataResolved:!1,loading:c[3]},b=p?(0,n.createHrefFromUrl)(p):_;(0,u.addRefreshMarkerToActiveParallelSegments)(s,b);let m=new Map;(null===f||0===f.size)&&(0,o.fillLazyItemsTillLeafWithHead)(v,void 0,s,c,h);let R={buildId:r,tree:s,cache:v,prefetchCache:m,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:b,nextUrl:null!=(t=(0,a.extractPathFromFlightRouterState)(s)||(null==p?void 0:p.pathname))?t:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin),t=[["",s,null,null]];(0,i.createPrefetchCacheEntryForInitialLoad)({url:e,kind:l.PrefetchKind.AUTO,data:[t,void 0,!1,g],tree:R.tree,prefetchCache:R.prefetchCache,nextUrl:R.nextUrl})}return R}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5929:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(3537);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5437:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fetchServerResponse",{enumerable:!0,get:function(){return d}});let n=r(4768),o=r(6544),a=r(8038),i=r(5343),l=r(5860),u=r(7544),{createFromFetch:s}=r(7447);function c(e){return[(0,o.urlToUrlWithoutFlightMarker)(e).toString(),void 0,!1,!1]}async function d(e,t,r,d,f){let p={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE]:(0,u.prepareFlightRouterStateForRequest)(t)};f===i.PrefetchKind.AUTO&&(p[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),r&&(p[n.NEXT_URL]=r);let h=(0,l.hexHash)([p[n.NEXT_ROUTER_PREFETCH_HEADER]||"0",p[n.NEXT_ROUTER_STATE_TREE],p[n.NEXT_URL]].join(","));try{var g;let t=new URL(e);t.pathname.endsWith("/")?t.pathname+="index.txt":t.pathname+=".txt",t.searchParams.set(n.NEXT_RSC_UNION_QUERY,h);let r=await fetch(t,{credentials:"same-origin",headers:p}),i=(0,o.urlToUrlWithoutFlightMarker)(r.url),l=r.redirected?i:void 0,u=r.headers.get("content-type")||"",f=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),_=!!(null==(g=r.headers.get("vary"))?void 0:g.includes(n.NEXT_URL)),y=u===n.RSC_CONTENT_TYPE_HEADER;if(y||(y=u.startsWith("text/plain")),!y||!r.ok)return e.hash&&(i.hash=e.hash),c(i.toString());let[v,b]=await s(Promise.resolve(r),{callServer:a.callServer});if(d!==v)return c(r.url);return[b,l,f,_]}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),[e.toString(),void 0,!1,!1]}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},503:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithNewSubTreeData",{enumerable:!0,get:function(){return function e(t,r,i,l){let u=i.length<=5,[s,c]=i,d=(0,a.createRouterCacheKey)(c),f=r.parallelRoutes.get(s);if(!f)return;let p=t.parallelRoutes.get(s);p&&p!==f||(p=new Map(f),t.parallelRoutes.set(s,p));let h=f.get(d),g=p.get(d);if(u){if(!g||!g.lazyData||g===h){let e=i[3];g={lazyData:null,rsc:e[2],prefetchRsc:null,head:null,prefetchHead:null,loading:e[3],parallelRoutes:h?new Map(h.parallelRoutes):new Map,lazyDataResolved:!1},h&&(0,n.invalidateCacheByRouterState)(g,h,i[2]),(0,o.fillLazyItemsTillLeafWithHead)(g,h,i[2],e,i[4],l),p.set(d,g)}return}g&&h&&(g===h&&(g={lazyData:g.lazyData,rsc:g.rsc,prefetchRsc:g.prefetchRsc,head:g.head,prefetchHead:g.prefetchHead,parallelRoutes:new Map(g.parallelRoutes),lazyDataResolved:!1,loading:g.loading},p.set(d,g)),e(g,h,i.slice(2),l))}}});let n=r(875),o=r(1742),a=r(5929);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,a,i,l,u){if(0===Object.keys(a[1]).length){t.head=l;return}for(let s in a[1]){let c;let d=a[1][s],f=d[0],p=(0,n.createRouterCacheKey)(f),h=null!==i&&void 0!==i[1][s]?i[1][s]:null;if(r){let n=r.parallelRoutes.get(s);if(n){let r;let a=(null==u?void 0:u.kind)==="auto"&&u.status===o.PrefetchCacheEntryStatus.reusable,i=new Map(n),c=i.get(p);r=null!==h?{lazyData:null,rsc:h[2],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==c?void 0:c.parallelRoutes),lazyDataResolved:!1}:a&&c?{lazyData:c.lazyData,rsc:c.rsc,prefetchRsc:c.prefetchRsc,head:c.head,prefetchHead:c.prefetchHead,parallelRoutes:new Map(c.parallelRoutes),lazyDataResolved:c.lazyDataResolved,loading:c.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==c?void 0:c.parallelRoutes),lazyDataResolved:!1,loading:null},i.set(p,r),e(r,c,d,h||null,l,u),t.parallelRoutes.set(s,i);continue}}if(null!==h){let e=h[2],t=h[3];c={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:t}}else c={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};let g=t.parallelRoutes.get(s);g?g.set(p,c):t.parallelRoutes.set(s,new Map([[p,c]])),e(c,void 0,d,h,l,u)}}}});let n=r(5929),o=r(5343);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4607:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return a}});let n=r(1670);function o(e){return void 0!==e}function a(e,t){var r,a,i;let l=null==(a=t.shouldScroll)||a,u=e.nextUrl;if(o(t.patchedTree)){let r=(0,n.computeChangedPath)(e.tree,t.patchedTree);r?u=r:u||(u=e.canonicalUrl)}return{buildId:e.buildId,canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!l&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:!!t.hashFragment&&e.canonicalUrl.split("#",1)[0]===(null==(r=t.canonicalUrl)?void 0:r.split("#",1)[0]),hashFragment:l?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:l?null!=(i=null==t?void 0:t.scrollableSegments)?i:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:u}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5015:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let n=r(2798);function o(e,t,r){return(0,n.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},487:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,r,o){let a=o.length<=2,[i,l]=o,u=(0,n.createRouterCacheKey)(l),s=r.parallelRoutes.get(i);if(!s)return;let c=t.parallelRoutes.get(i);if(c&&c!==s||(c=new Map(s),t.parallelRoutes.set(i,c)),a){c.delete(u);return}let d=s.get(u),f=c.get(u);f&&d&&(f===d&&(f={lazyData:f.lazyData,rsc:f.rsc,prefetchRsc:f.prefetchRsc,head:f.head,prefetchHead:f.prefetchHead,parallelRoutes:new Map(f.parallelRoutes),lazyDataResolved:f.lazyDataResolved},c.set(u,f)),e(f,d,o.slice(2)))}}});let n=r(5929);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},875:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let n=r(5929);function o(e,t,r){for(let o in r[1]){let a=r[1][o][0],i=(0,n.createRouterCacheKey)(a),l=t.parallelRoutes.get(o);if(l){let t=new Map(l);t.delete(i),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5370:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,r){let n=t[0],o=r[0];if(Array.isArray(n)&&Array.isArray(o)){if(n[0]!==o[0]||n[2]!==o[2])return!0}else if(n!==o)return!0;if(t[4])return!r[4];if(r[4])return!0;let a=Object.values(t[1])[0],i=Object.values(r[1])[0];return!a||!i||e(a,i)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8675:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{abortTask:function(){return s},listenForDynamicRequest:function(){return l},updateCacheNodeOnNavigation:function(){return function e(t,r,l,s,c){let d=r[1],f=l[1],p=s[1],h=t.parallelRoutes,g=new Map(h),_={},y=null;for(let t in f){let r;let l=f[t],s=d[t],v=h.get(t),b=p[t],m=l[0],R=(0,a.createRouterCacheKey)(m),P=void 0!==s?s[0]:void 0,S=void 0!==v?v.get(R):void 0;if(null!==(r=m===n.PAGE_SEGMENT_KEY?i(l,void 0!==b?b:null,c):m===n.DEFAULT_SEGMENT_KEY?void 0!==s?{route:s,node:null,children:null}:i(l,void 0!==b?b:null,c):void 0!==P&&(0,o.matchSegment)(m,P)&&void 0!==S&&void 0!==s?null!=b?e(S,s,l,b,c):function(e){let t=u(e,null,null);return{route:e,node:t,children:null}}(l):i(l,void 0!==b?b:null,c))){null===y&&(y=new Map),y.set(t,r);let e=r.node;if(null!==e){let r=new Map(v);r.set(R,e),g.set(t,r)}_[t]=r.route}else _[t]=l}if(null===y)return null;let v={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:g,lazyDataResolved:!1};return{route:function(e,t){let r=[e[0],t];return 2 in e&&(r[2]=e[2]),3 in e&&(r[3]=e[3]),4 in e&&(r[4]=e[4]),r}(l,_),node:v,children:y}}},updateCacheNodeOnPopstateRestoration:function(){return function e(t,r){let n=r[1],o=t.parallelRoutes,i=new Map(o);for(let t in n){let r=n[t],l=r[0],u=(0,a.createRouterCacheKey)(l),s=o.get(t);if(void 0!==s){let n=s.get(u);if(void 0!==n){let o=e(n,r),a=new Map(s);a.set(u,o),i.set(t,a)}}}let l=t.rsc,u=f(l)&&"pending"===l.status;return{lazyData:null,rsc:l,head:t.head,prefetchHead:u?t.prefetchHead:null,prefetchRsc:u?t.prefetchRsc:null,loading:u?t.loading:null,parallelRoutes:i,lazyDataResolved:!1}}}});let n=r(3537),o=r(5057),a=r(5929);function i(e,t,r){let n=u(e,t,r);return{route:e,node:n,children:null}}function l(e,t){t.then(t=>{for(let r of t[0]){let t=r.slice(0,-3),n=r[r.length-3],i=r[r.length-2],l=r[r.length-1];"string"!=typeof t&&function(e,t,r,n,i){let l=e;for(let e=0;e{s(e,t)})}function u(e,t,r){let n=e[1],o=null!==t?t[1]:null,i=new Map;for(let e in n){let t=n[e],l=null!==o?o[e]:null,s=t[0],c=(0,a.createRouterCacheKey)(s),d=u(t,void 0===l?null:l,r),f=new Map;f.set(c,d),i.set(e,f)}let l=0===i.size,s=null!==t?t[2]:null,c=null!==t?t[3]:null;return{lazyData:null,parallelRoutes:i,prefetchRsc:void 0!==s?s:null,prefetchHead:l?r:null,loading:void 0!==c?c:null,rsc:p(),head:l?p():null,lazyDataResolved:!1}}function s(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)c(e.route,r,t);else for(let e of n.values())s(e,t);e.node=null}function c(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],i=o.get(e);if(void 0===i)continue;let l=t[0],u=(0,a.createRouterCacheKey)(l),s=i.get(u);void 0!==s&&c(t,s,r)}let i=t.rsc;f(i)&&(null===r?i.resolve(null):i.reject(r));let l=t.head;f(l)&&l.resolve(null)}let d=Symbol();function f(e){return e&&e.tag===d}function p(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=d,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5296:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createPrefetchCacheEntryForInitialLoad:function(){return s},getOrCreatePrefetchCacheEntry:function(){return u},prunePrefetchCache:function(){return d}});let n=r(7027),o=r(5437),a=r(5343),i=r(8602);function l(e,t){let r=(0,n.createHrefFromUrl)(e,!1);return t?t+"%"+r:r}function u(e){let t,{url:r,nextUrl:n,tree:o,buildId:i,prefetchCache:u,kind:s}=e,d=l(r,n),f=u.get(d);if(f)t=f;else{let e=l(r),n=u.get(e);n&&(t=n)}return t?(t.status=h(t),t.kind!==a.PrefetchKind.FULL&&s===a.PrefetchKind.FULL)?c({tree:o,url:r,buildId:i,nextUrl:n,prefetchCache:u,kind:null!=s?s:a.PrefetchKind.TEMPORARY}):(s&&t.kind===a.PrefetchKind.TEMPORARY&&(t.kind=s),t):c({tree:o,url:r,buildId:i,nextUrl:n,prefetchCache:u,kind:s||a.PrefetchKind.TEMPORARY})}function s(e){let{nextUrl:t,tree:r,prefetchCache:n,url:o,kind:i,data:u}=e,[,,,s]=u,c=s?l(o,t):l(o),d={treeAtTimeOfPrefetch:r,data:Promise.resolve(u),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),key:c,status:a.PrefetchCacheEntryStatus.fresh};return n.set(c,d),d}function c(e){let{url:t,kind:r,tree:n,nextUrl:u,buildId:s,prefetchCache:c}=e,d=l(t),f=i.prefetchQueue.enqueue(()=>(0,o.fetchServerResponse)(t,n,u,s,r).then(e=>{let[,,,r]=e;return r&&function(e){let{url:t,nextUrl:r,prefetchCache:n}=e,o=l(t),a=n.get(o);if(!a)return;let i=l(t,r);n.set(i,a),n.delete(o)}({url:t,nextUrl:u,prefetchCache:c}),e})),p={treeAtTimeOfPrefetch:n,data:f,kind:r,prefetchTime:Date.now(),lastUsedTime:null,key:d,status:a.PrefetchCacheEntryStatus.fresh};return c.set(d,p),p}function d(e){for(let[t,r]of e)h(r)===a.PrefetchCacheEntryStatus.expired&&e.delete(t)}let f=1e3*Number("30"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:r,lastUsedTime:n}=e;return Date.now()<(null!=n?n:r)+f?n?a.PrefetchCacheEntryStatus.reusable:a.PrefetchCacheEntryStatus.fresh:"auto"===t&&Date.now(){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fastRefreshReducer",{enumerable:!0,get:function(){return n}}),r(5437),r(7027),r(7542),r(5370),r(2798),r(4607),r(8517),r(6544),r(5015),r(9041);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5873:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(5929);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];for(let a in r){let[i,l]=r[a],u=t.parallelRoutes.get(a);if(!u)continue;let s=(0,n.createRouterCacheKey)(i),c=u.get(s);if(!c)continue;let d=e(c,l,o+"/"+s);if(d)return d}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8821:(e,t)=>{"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9041:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasInterceptionRouteInCurrentTree",{enumerable:!0,get:function(){return function e(t){let[r,o]=t;if(Array.isArray(r)&&("di"===r[2]||"ci"===r[2])||"string"==typeof r&&(0,n.isInterceptionRouteAppPath)(r))return!0;if(o){for(let t in o)if(e(o[t]))return!0}return!1}}});let n=r(8561);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2798:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return _},navigateReducer:function(){return v}}),r(5437);let n=r(7027),o=r(487),a=r(7542),i=r(5521),l=r(5370),u=r(5343),s=r(4607),c=r(8517),d=r(8602),f=r(6544),p=r(3537),h=(r(8675),r(5296)),g=r(724);function _(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,s.handleMutable)(e,t)}function y(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of y(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}let v=function(e,t){let{url:r,isExternalUrl:v,navigateType:b,shouldScroll:m}=t,R={},{hash:P}=r,S=(0,n.createHrefFromUrl)(r),E="push"===b;if((0,h.prunePrefetchCache)(e.prefetchCache),R.preserveCustomHistoryState=!1,v)return _(e,R,r.toString(),E);let O=(0,h.getOrCreatePrefetchCacheEntry)({url:r,nextUrl:e.nextUrl,tree:e.tree,buildId:e.buildId,prefetchCache:e.prefetchCache}),{treeAtTimeOfPrefetch:T,data:x}=O;return d.prefetchQueue.bump(x),x.then(t=>{let[r,d]=t,h=!1;if(O.lastUsedTime||(O.lastUsedTime=Date.now(),h=!0),"string"==typeof r)return _(e,R,r,E);if(document.getElementById("__next-page-redirect"))return _(e,R,S,E);let v=e.tree,b=e.cache,x=[];for(let t of r){let r=t.slice(0,-4),n=t.slice(-3)[0],s=["",...r],d=(0,a.applyRouterStatePatchToTree)(s,v,n,S);if(null===d&&(d=(0,a.applyRouterStatePatchToTree)(s,T,n,S)),null!==d){if((0,l.isNavigatingToNewRootLayout)(v,d))return _(e,R,S,E);let a=(0,f.createEmptyCacheNode)(),m=!1;for(let e of(O.status!==u.PrefetchCacheEntryStatus.stale||h?m=(0,c.applyFlightData)(b,a,t,O):(m=function(e,t,r,n){let o=!1;for(let a of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),y(n).map(e=>[...r,...e])))(0,g.clearCacheNodeDataForSegmentPath)(e,t,a),o=!0;return o}(a,b,r,n),O.lastUsedTime=Date.now()),(0,i.shouldHardNavigate)(s,v)?(a.rsc=b.rsc,a.prefetchRsc=b.prefetchRsc,(0,o.invalidateCacheBelowFlightSegmentPath)(a,b,r),R.cache=a):m&&(R.cache=a,b=a),v=d,y(n))){let t=[...r,...e];t[t.length-1]!==p.DEFAULT_SEGMENT_KEY&&x.push(t)}}}return R.patchedTree=v,R.canonicalUrl=d?(0,n.createHrefFromUrl)(d):S,R.pendingPush=E,R.scrollableSegments=x,R.hashFragment=P,R.shouldScroll=m,(0,s.handleMutable)(e,R)},()=>e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8602:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return i},prefetchReducer:function(){return l}});let n=r(4768),o=r(163),a=r(5296),i=new o.PromiseQueue(5);function l(e,t){(0,a.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;return r.searchParams.delete(n.NEXT_RSC_UNION_QUERY),(0,a.getOrCreatePrefetchCacheEntry)({url:r,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,buildId:e.buildId}),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7433:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let n=r(5437),o=r(7027),a=r(7542),i=r(5370),l=r(2798),u=r(4607),s=r(1742),c=r(6544),d=r(5015),f=r(9041),p=r(8156);function h(e,t){let{origin:r}=t,h={},g=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let y=(0,c.createEmptyCacheNode)(),v=(0,f.hasInterceptionRouteInCurrentTree)(e.tree);return y.lazyData=(0,n.fetchServerResponse)(new URL(g,r),[_[0],_[1],_[2],"refetch"],v?e.nextUrl:null,e.buildId),y.lazyData.then(async r=>{let[n,c]=r;if("string"==typeof n)return(0,l.handleExternalUrl)(e,h,n,e.pushRef.pendingPush);for(let r of(y.lazyData=null,n)){if(3!==r.length)return console.log("REFRESH FAILED"),e;let[n]=r,u=(0,a.applyRouterStatePatchToTree)([""],_,n,e.canonicalUrl);if(null===u)return(0,d.handleSegmentMismatch)(e,t,n);if((0,i.isNavigatingToNewRootLayout)(_,u))return(0,l.handleExternalUrl)(e,h,g,e.pushRef.pendingPush);let f=c?(0,o.createHrefFromUrl)(c):void 0;c&&(h.canonicalUrl=f);let[b,m]=r.slice(-2);if(null!==b){let e=b[2];y.rsc=e,y.prefetchRsc=null,(0,s.fillLazyItemsTillLeafWithHead)(y,void 0,n,b,m),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:u,updatedCache:y,includeNextUrl:v,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=y,h.patchedTree=u,h.canonicalUrl=g,_=u}return(0,u.handleMutable)(e,h)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5948:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return a}});let n=r(7027),o=r(1670);function a(e,t){var r;let{url:a,tree:i}=t,l=(0,n.createHrefFromUrl)(a),u=i||e.tree,s=e.cache;return{buildId:e.buildId,canonicalUrl:l,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:s,prefetchCache:e.prefetchCache,tree:u,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(u))?r:a.pathname}}r(8675),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3282:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return m}});let n=r(8038),o=r(4768),a=r(5801),i=r(7027),l=r(2798),u=r(7542),s=r(5370),c=r(4607),d=r(1742),f=r(6544),p=r(9041),h=r(5015),g=r(8156),_=r(7544),{createFromFetch:y,encodeReply:v}=r(7447);async function b(e,t,r){let i,{actionId:l,actionArgs:u}=r,s=await v(u),c=await fetch("",{method:"POST",headers:{Accept:o.RSC_CONTENT_TYPE_HEADER,[o.ACTION]:l,[o.NEXT_ROUTER_STATE_TREE]:(0,_.prepareFlightRouterStateForRequest)(e.tree),...t?{[o.NEXT_URL]:t}:{}},body:s}),d=c.headers.get("x-action-redirect");try{let e=JSON.parse(c.headers.get("x-action-revalidated")||"[[],0,0]");i={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){i={paths:[],tag:!1,cookie:!1}}let f=d?new URL((0,a.addBasePath)(d),new URL(e.canonicalUrl,window.location.href)):void 0;if(c.headers.get("content-type")===o.RSC_CONTENT_TYPE_HEADER){let e=await y(Promise.resolve(c),{callServer:n.callServer});if(d){let[,t]=null!=e?e:[];return{actionFlightData:t,redirectLocation:f,revalidatedParts:i}}let[t,[,r]]=null!=e?e:[];return{actionResult:t,actionFlightData:r,redirectLocation:f,revalidatedParts:i}}return{redirectLocation:f,revalidatedParts:i}}function m(e,t){let{resolve:r,reject:n}=t,o={},a=e.canonicalUrl,_=e.tree;o.preserveCustomHistoryState=!1;let y=e.nextUrl&&(0,p.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return o.inFlightServerAction=b(e,y,t),o.inFlightServerAction.then(async n=>{let{actionResult:p,actionFlightData:v,redirectLocation:b}=n;if(b&&(e.pushRef.pendingPush=!0,o.pendingPush=!0),!v)return(r(p),b)?(0,l.handleExternalUrl)(e,o,b.href,e.pushRef.pendingPush):e;if("string"==typeof v)return(0,l.handleExternalUrl)(e,o,v,e.pushRef.pendingPush);if(o.inFlightServerAction=null,b){let e=(0,i.createHrefFromUrl)(b,!1);o.canonicalUrl=e}for(let r of v){if(3!==r.length)return console.log("SERVER ACTION APPLY FAILED"),e;let[n]=r,c=(0,u.applyRouterStatePatchToTree)([""],_,n,b?(0,i.createHrefFromUrl)(b):e.canonicalUrl);if(null===c)return(0,h.handleSegmentMismatch)(e,t,n);if((0,s.isNavigatingToNewRootLayout)(_,c))return(0,l.handleExternalUrl)(e,o,a,e.pushRef.pendingPush);let[p,v]=r.slice(-2),m=null!==p?p[2]:null;if(null!==m){let t=(0,f.createEmptyCacheNode)();t.rsc=m,t.prefetchRsc=null,(0,d.fillLazyItemsTillLeafWithHead)(t,void 0,n,p,v),await (0,g.refreshInactiveParallelSegments)({state:e,updatedTree:c,updatedCache:t,includeNextUrl:!!y,canonicalUrl:o.canonicalUrl||e.canonicalUrl}),o.cache=t,o.prefetchCache=new Map}o.patchedTree=c,_=c}return r(p),(0,c.handleMutable)(e,o)},t=>(n(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7112:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return d}});let n=r(7027),o=r(7542),a=r(5370),i=r(2798),l=r(8517),u=r(4607),s=r(6544),c=r(5015);function d(e,t){let{serverResponse:r}=t,[d,f]=r,p={};if(p.preserveCustomHistoryState=!1,"string"==typeof d)return(0,i.handleExternalUrl)(e,p,d,e.pushRef.pendingPush);let h=e.tree,g=e.cache;for(let r of d){let u=r.slice(0,-4),[d]=r.slice(-3,-2),_=(0,o.applyRouterStatePatchToTree)(["",...u],h,d,e.canonicalUrl);if(null===_)return(0,c.handleSegmentMismatch)(e,t,d);if((0,a.isNavigatingToNewRootLayout)(h,_))return(0,i.handleExternalUrl)(e,p,e.canonicalUrl,e.pushRef.pendingPush);let y=f?(0,n.createHrefFromUrl)(f):void 0;y&&(p.canonicalUrl=y);let v=(0,s.createEmptyCacheNode)();(0,l.applyFlightData)(g,v,r),p.patchedTree=_,p.cache=v,g=v,h=_}return(0,u.handleMutable)(e,p)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8156:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,r){let[n,o,,i]=t;for(let l in n.includes(a.PAGE_SEGMENT_KEY)&&"refresh"!==i&&(t[2]=r,t[3]="refresh"),o)e(o[l],r)}},refreshInactiveParallelSegments:function(){return i}});let n=r(8517),o=r(5437),a=r(3537);async function i(e){let t=new Set;await l({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function l(e){let{state:t,updatedTree:r,updatedCache:a,includeNextUrl:i,fetchedSegments:u,rootTree:s=r,canonicalUrl:c}=e,[,d,f,p]=r,h=[];if(f&&f!==c&&"refresh"===p&&!u.has(f)){u.add(f);let e=(0,o.fetchServerResponse)(new URL(f,location.origin),[s[0],s[1],s[2],"refetch"],i?t.nextUrl:null,t.buildId).then(e=>{let t=e[0];if("string"!=typeof t)for(let e of t)(0,n.applyFlightData)(a,a,e)});h.push(e)}for(let e in d){let r=l({state:t,updatedTree:d[e],updatedCache:a,includeNextUrl:i,fetchedSegments:u,rootTree:s,canonicalUrl:c});h.push(r)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5343:(e,t)=>{"use strict";var r,n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_FAST_REFRESH:function(){return s},ACTION_NAVIGATE:function(){return a},ACTION_PREFETCH:function(){return u},ACTION_REFRESH:function(){return o},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return c},ACTION_SERVER_PATCH:function(){return l},PrefetchCacheEntryStatus:function(){return n},PrefetchKind:function(){return r},isThenable:function(){return d}});let o="refresh",a="navigate",i="restore",l="server-patch",u="prefetch",s="fast-refresh",c="server-action";function d(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(function(e){e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary"})(r||(r={})),function(e){e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale"}(n||(n={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9337:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return n}}),r(5343),r(2798),r(7112),r(5948),r(7433),r(8602),r(1119),r(3282);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5521:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[o,a]=r,[i,l]=t;return(0,n.matchSegment)(i,o)?!(t.length<=2)&&e(t.slice(2),a[l]):!!Array.isArray(i)}}});let n=r(5057);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7248:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createDynamicallyTrackedSearchParams:function(){return l},createUntrackedSearchParams:function(){return i}});let n=r(5869),o=r(1967),a=r(1740);function i(e){let t=n.staticGenerationAsyncStorage.getStore();return t&&t.forceStatic?{}:e}function l(e){let t=n.staticGenerationAsyncStorage.getStore();return t?t.forceStatic?{}:t.isStaticGeneration||t.dynamicShouldError?new Proxy({},{get:(e,r,n)=>("string"==typeof r&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+r),a.ReflectAdapter.get(e,r,n)),has:(e,r)=>("string"==typeof r&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+r),Reflect.has(e,r)),ownKeys:e=>((0,o.trackDynamicDataAccessed)(t,"searchParams"),Reflect.ownKeys(e))}):e:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4839:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{StaticGenBailoutError:function(){return n},isStaticGenBailoutError:function(){return o}});let r="NEXT_STATIC_GEN_BAILOUT";class n extends Error{constructor(...e){super(...e),this.code=r}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8128:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return r}});let r={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6743:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{useReducerWithReduxDevtools:function(){return l},useUnwrapState:function(){return i}});let n=r(5453)._(r(3911)),o=r(5343);function a(e){if(e instanceof Map){let t={};for(let[r,n]of e.entries()){if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n._bundlerConfig){t[r]="FlightData";continue}}t[r]=a(n)}return t}if("object"==typeof e&&null!==e){let t={};for(let r in e){let n=e[r];if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n.hasOwnProperty("_bundlerConfig")){t[r]="FlightData";continue}}t[r]=a(n)}return t}return Array.isArray(e)?e.map(a):e}function i(e){return(0,o.isThenable)(e)?(0,n.use)(e):e}r(8573);let l=function(e){return[e,()=>{},()=>{}]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prepareFlightRouterStateForRequest",{enumerable:!0,get:function(){return o}});let n=r(3537);function o(e,t){return t?encodeURIComponent(JSON.stringify(e)):encodeURIComponent(JSON.stringify(function e(t){let[r,o,,a,i]=t,l="string"==typeof r&&r.startsWith(n.PAGE_SEGMENT_KEY+"?")?n.PAGE_SEGMENT_KEY:r,u={};for(let[t,r]of Object.entries(o))u[t]=e(r);let s=[l,u,null,a&&"refresh"!==a?a:null];return void 0!==i&&(s[4]=i),s}(e)))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3950:(e,t,r)=>{"use strict";function n(e,t,r,n){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return n}}),r(1858),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9628:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(7171);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4942:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return v}});let n=r(1607),o=r(8924),a=n._(r(3911)),i=r(7119),l=r(5133),u=r(4359),s=r(5955),c=r(1737),d=r(7897),f=r(6115),p=r(5546),h=r(3950),g=r(5801),_=r(5343);function y(e){return"string"==typeof e?e:(0,u.formatUrl)(e)}let v=a.default.forwardRef(function(e,t){let r,n;let{href:u,as:v,children:b,prefetch:m=null,passHref:R,replace:P,shallow:S,scroll:E,locale:O,onClick:T,onMouseEnter:x,onTouchStart:j,legacyBehavior:M=!1,...N}=e;r=b,M&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let A=a.default.useContext(d.RouterContext),C=a.default.useContext(f.AppRouterContext),w=null!=A?A:C,I=!A,D=!1!==m,L=null===m?_.PrefetchKind.AUTO:_.PrefetchKind.FULL,{href:U,as:k}=a.default.useMemo(()=>{if(!A){let e=y(u);return{href:e,as:v?y(v):e}}let[e,t]=(0,i.resolveHref)(A,u,!0);return{href:e,as:v?(0,i.resolveHref)(A,v):t||e}},[A,u,v]),F=a.default.useRef(U),H=a.default.useRef(k);M&&(n=a.default.Children.only(r));let G=M?n&&"object"==typeof n&&n.ref:t,[B,V,X]=(0,p.useIntersection)({rootMargin:"200px"}),$=a.default.useCallback(e=>{(H.current!==k||F.current!==U)&&(X(),H.current=k,F.current=U),B(e),G&&("function"==typeof G?G(e):"object"==typeof G&&(G.current=e))},[k,G,U,X,B]);a.default.useEffect(()=>{},[k,U,V,O,D,null==A?void 0:A.locale,w,I,L]);let W={ref:$,onClick(e){M||"function"!=typeof T||T(e),M&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),w&&!e.defaultPrevented&&function(e,t,r,n,o,i,u,s,c){let{nodeName:d}=e.currentTarget;if("A"===d.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,l.isLocalURL)(r)))return;e.preventDefault();let f=()=>{let e=null==u||u;"beforePopState"in t?t[o?"replace":"push"](r,n,{shallow:i,locale:s,scroll:e}):t[o?"replace":"push"](n||r,{scroll:e})};c?a.default.startTransition(f):f()}(e,w,U,k,P,S,E,O,I)},onMouseEnter(e){M||"function"!=typeof x||x(e),M&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e)},onTouchStart:function(e){M||"function"!=typeof j||j(e),M&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e)}};if((0,s.isAbsoluteUrl)(k))W.href=k;else if(!M||R||"a"===n.type&&!("href"in n.props)){let e=void 0!==O?O:null==A?void 0:A.locale,t=(null==A?void 0:A.isLocaleDomain)&&(0,h.getDomainLocale)(k,e,null==A?void 0:A.locales,null==A?void 0:A.domainLocales);W.href=t||(0,g.addBasePath)((0,c.addLocale)(k,e,null==A?void 0:A.defaultLocale))}return M?a.default.cloneElement(n,W):(0,o.jsx)("a",{...N,...W,children:r})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(2188),o=r(6751),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+a:t.endsWith("/")?""+t+r+a:t+"/"+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8183:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(9628),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8605:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7119:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return d}});let n=r(9059),o=r(4359),a=r(7829),i=r(5955),l=r(1858),u=r(5133),s=r(4182),c=r(3388);function d(e,t,r){let d;let f="string"==typeof t?t:(0,o.formatWithValidation)(t),p=f.match(/^[a-zA-Z]{1,}:\/\//),h=p?f.slice(p[0].length):f;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+f+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);f=(p?p[0]:"")+t}if(!(0,u.isLocalURL)(f))return r?[f]:f;try{d=new URL(f.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){d=new URL("/","http://n")}try{let e=new URL(f,d);e.pathname=(0,l.normalizePathTrailingSlash)(e.pathname);let t="";if((0,s.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:l}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,l)}))}let i=e.origin===d.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[f]:f}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5546:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return u}});let n=r(3911),o=r(8605),a="function"==typeof IntersectionObserver,i=new Map,l=[];function u(e){let{rootRef:t,rootMargin:r,disabled:u}=e,s=u||!a,[c,d]=(0,n.useState)(!1),f=(0,n.useRef)(null),p=(0,n.useCallback)(e=>{f.current=e},[]);return(0,n.useEffect)(()=>{if(a){if(s||c)return;let e=f.current;if(e&&e.tagName)return function(e,t,r){let{id:n,observer:o,elements:a}=function(e){let t;let r={root:e.root||null,margin:e.rootMargin||""},n=l.find(e=>e.root===r.root&&e.margin===r.margin);if(n&&(t=i.get(n)))return t;let o=new Map;return t={id:r,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),r=e.isIntersecting||e.intersectionRatio>0;t&&r&&t(r)})},e),elements:o},l.push(r),i.set(r,t),t}(r);return a.set(e,t),o.observe(e),function(){if(a.delete(e),o.unobserve(e),0===a.size){o.disconnect(),i.delete(n);let e=l.findIndex(e=>e.root===n.root&&e.margin===n.margin);e>-1&&l.splice(e,1)}}}(e,e=>e&&d(e),{root:null==t?void 0:t.current,rootMargin:r})}else if(!c){let e=(0,o.requestIdleCallback)(()=>d(!0));return()=>(0,o.cancelIdleCallback)(e)}},[s,r,t,c,f.current]),[p,c,(0,n.useCallback)(()=>{d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4217:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return u},APP_DIR_ALIAS:function(){return x},CACHE_ONE_YEAR:function(){return m},DOT_NEXT_ALIAS:function(){return O},ESLINT_DEFAULT_DIRS:function(){return $},GSP_NO_RETURNED_VALUE:function(){return F},GSSP_COMPONENT_MEMBER_ERROR:function(){return B},GSSP_NO_RETURNED_VALUE:function(){return H},INSTRUMENTATION_HOOK_FILENAME:function(){return S},MIDDLEWARE_FILENAME:function(){return R},MIDDLEWARE_LOCATION_REGEXP:function(){return P},NEXT_BODY_SUFFIX:function(){return d},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return b},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return g},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return v},NEXT_CACHE_TAGS_HEADER:function(){return f},NEXT_CACHE_TAG_MAX_ITEMS:function(){return _},NEXT_CACHE_TAG_MAX_LENGTH:function(){return y},NEXT_DATA_SUFFIX:function(){return s},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return c},NEXT_QUERY_PARAM_PREFIX:function(){return r},NON_STANDARD_NODE_ENV:function(){return V},PAGES_DIR_ALIAS:function(){return E},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return a},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return w},ROOT_DIR_ALIAS:function(){return T},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return C},RSC_ACTION_ENCRYPTION_ALIAS:function(){return A},RSC_ACTION_PROXY_ALIAS:function(){return N},RSC_ACTION_VALIDATE_ALIAS:function(){return M},RSC_MOD_REF_PROXY_ALIAS:function(){return j},RSC_PREFETCH_SUFFIX:function(){return i},RSC_SUFFIX:function(){return l},SERVER_PROPS_EXPORT_ERROR:function(){return k},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return D},SERVER_PROPS_SSG_CONFLICT:function(){return L},SERVER_RUNTIME:function(){return W},SSG_FALLBACK_EXPORT_ERROR:function(){return X},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return I},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return U},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return G},WEBPACK_LAYERS:function(){return K},WEBPACK_RESOURCE_QUERIES:function(){return Y}});let r="nxtP",n="nxtI",o="x-prerender-revalidate",a="x-prerender-revalidate-if-generated",i=".prefetch.rsc",l=".rsc",u=".action",s=".json",c=".meta",d=".body",f="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",g="x-next-revalidate-tag-token",_=128,y=256,v=1024,b="_N_T_",m=31536e3,R="middleware",P=`(?:src/)?${R}`,S="instrumentation",E="private-next-pages",O="private-dot-next",T="private-next-root-dir",x="private-next-app-dir",j="private-next-rsc-mod-ref-proxy",M="private-next-rsc-action-validate",N="private-next-rsc-server-reference",A="private-next-rsc-action-encryption",C="private-next-rsc-action-client-wrapper",w="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",I="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",D="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",L="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",U="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",k="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",F="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",H="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",G="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",B="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",V='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',X="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",$=["app","pages","components","lib","src"],W={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},z={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},K={...z,GROUP:{serverOnly:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.instrument],clientOnly:[z.serverSideRendering,z.appPagesBrowser],nonClientServerTarget:[z.middleware,z.api],app:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.serverSideRendering,z.appPagesBrowser,z.shared,z.instrument]}},Y={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},6639:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getPathname:function(){return n},isFullStringUrl:function(){return o},parseUrl:function(){return a}});let r="http://n";function n(e){return new URL(e,r).pathname}function o(e){return/https?:\/\//.test(e)}function a(e){let t;try{t=new URL(e,r)}catch{}return t}},1967:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Postpone:function(){return d},createPostponedAbortSignal:function(){return y},createPrerenderState:function(){return u},formatDynamicAPIAccesses:function(){return g},markCurrentScopeAsDynamic:function(){return s},trackDynamicDataAccessed:function(){return c},trackDynamicFetch:function(){return f},usedDynamicAPIs:function(){return h}});let n=function(e){return e&&e.__esModule?e:{default:e}}(r(3911)),o=r(5667),a=r(4839),i=r(6639),l="function"==typeof n.default.unstable_postpone;function u(e){return{isDebugSkeleton:e,dynamicAccesses:[]}}function s(e,t){let r=(0,i.getPathname)(e.urlPathname);if(!e.isUnstableCacheCallback){if(e.dynamicShouldError)throw new a.StaticGenBailoutError(`Route ${r} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)p(e.prerenderState,t,r);else if(e.revalidate=0,e.isStaticGeneration){let n=new o.DynamicServerError(`Route ${r} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=n.stack,n}}}function c(e,t){let r=(0,i.getPathname)(e.urlPathname);if(e.isUnstableCacheCallback)throw Error(`Route ${r} used "${t}" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "${t}" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);if(e.dynamicShouldError)throw new a.StaticGenBailoutError(`Route ${r} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)p(e.prerenderState,t,r);else if(e.revalidate=0,e.isStaticGeneration){let n=new o.DynamicServerError(`Route ${r} couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=n.stack,n}}function d({reason:e,prerenderState:t,pathname:r}){p(t,e,r)}function f(e,t){e.prerenderState&&p(e.prerenderState,t,e.urlPathname)}function p(e,t,r){_();let o=`Route ${r} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;e.dynamicAccesses.push({stack:e.isDebugSkeleton?Error().stack:void 0,expression:t}),n.default.unstable_postpone(o)}function h(e){return e.dynamicAccesses.length>0}function g(e){return e.dynamicAccesses.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: +${t}`))}function _(){if(!l)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function y(e){_();let t=new AbortController;try{n.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}},2414:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let n=r(8561);function o(e){let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}},8561:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(1609),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},6765:(e,t,r)=>{"use strict";e.exports=r(399)},6115:(e,t,r)=>{"use strict";e.exports=r(6765).vendored.contexts.AppRouterContext},3090:(e,t,r)=>{"use strict";e.exports=r(6765).vendored.contexts.HooksClientContext},7897:(e,t,r)=>{"use strict";e.exports=r(6765).vendored.contexts.RouterContext},8376:(e,t,r)=>{"use strict";e.exports=r(6765).vendored.contexts.ServerInsertedHtml},6348:(e,t,r)=>{"use strict";e.exports=r(6765).vendored["react-ssr"].ReactDOM},8924:(e,t,r)=>{"use strict";e.exports=r(6765).vendored["react-ssr"].ReactJsxRuntime},7447:(e,t,r)=>{"use strict";e.exports=r(6765).vendored["react-ssr"].ReactServerDOMWebpackClientEdge},3911:(e,t,r)=>{"use strict";e.exports=r(6765).vendored["react-ssr"].React},1740:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return r}});class r{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},5737:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},5860:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},6483:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},8142:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},8573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ActionQueueContext:function(){return l},createMutableActionQueue:function(){return c}});let n=r(5453),o=r(5343),a=r(9337),i=n._(r(3911)),l=i.default.createContext(null);function u(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?s({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:o.ACTION_REFRESH,origin:window.location.origin},t)))}async function s(e){let{actionQueue:t,action:r,setState:n}=e,a=t.state;if(!a)throw Error("Invariant: Router state not initialized");t.pending=r;let i=r.payload,l=t.action(a,i);function s(e){r.discarded||(t.state=e,t.devToolsInstance&&t.devToolsInstance.send(i,e),u(t,n),r.resolve(e))}(0,o.isThenable)(l)?l.then(s,e=>{u(t,n),r.reject(e)}):s(l)}function c(){let e={state:null,dispatch:(t,r)=>(function(e,t,r){let n={resolve:r,reject:()=>{}};if(t.type!==o.ACTION_RESTORE){let e=new Promise((e,t)=>{n={resolve:e,reject:t}});(0,i.startTransition)(()=>{r(e)})}let a={payload:t,next:null,resolve:n.resolve,reject:n.reject};null===e.pending?(e.last=a,s({actionQueue:e,action:a,setState:r})):t.type===o.ACTION_NAVIGATE||t.type===o.ACTION_RESTORE?(e.pending.discarded=!0,e.last=a,e.pending.payload.type===o.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),s({actionQueue:e,action:a,setState:r})):(null!==e.last&&(e.last.next=a),e.last=a)})(e,t,r),action:async(e,t)=>{if(null===e)throw Error("Invariant: Router state not initialized");return(0,a.reducer)(e,t)},pending:null,last:null};return e}},4096:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(6751);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},1609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(8142),o=r(3537);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},4359:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return l},urlObjectKeys:function(){return i}});let n=r(5453)._(r(9059)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",l=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let c=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),""+a+s+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+l}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return a(e)}},7546:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},4182:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(3319),o=r(6952)},3388:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(9620),o=r(6820);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),l=i.groups,u=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let s=Object.keys(l);return s.every(e=>{let t=u[e]||"",{repeat:r,optional:n}=l[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in u)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:s,result:a}}},9647:(e,t)=>{"use strict";function r(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return r}})},6952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let n=r(8561),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},5133:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(5955),o=r(9628);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},7829:(e,t)=>{"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},6751:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},7171:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(6751);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},9059:(e,t)=>{"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,o]=e;Array.isArray(o)?o.forEach(e=>t.append(r,n(e))):t.set(r,n(o))}),t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},2188:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},9620:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(5955);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},i={};return Object.keys(r).forEach(e=>{let t=r[e],n=o[t.pos];void 0!==n&&(i[e]=~n.indexOf("/")?n.split("/").map(e=>a(e)):t.repeat?[a(n)]:a(n))}),i}}},6820:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return f},getRouteRegex:function(){return s},parseParameter:function(){return l}});let n=r(4217),o=r(8561),a=r(5737),i=r(2188);function l(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function u(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),r={},n=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:o,repeat:u}=l(i[1]);return r[e]={pos:n++,repeat:u,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=l(i[1]);return r[e]={pos:n++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function s(e){let{parameterizedRoute:t,groups:r}=u(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function c(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:i}=e,{key:u,optional:s,repeat:c}=l(n),d=u.replace(/\W/g,"");i&&(d=""+i+d);let f=!1;(0===d.length||d.length>30)&&(f=!0),isNaN(parseInt(d.slice(0,1)))||(f=!0),f&&(d=r()),i?o[d]=""+i+u:o[d]=u;let p=t?(0,a.escapeStringRegexp)(t):"";return c?s?"(?:/"+p+"(?<"+d+">.+?))?":"/"+p+"(?<"+d+">.+?)":"/"+p+"(?<"+d+">[^/]+?)"}function d(e,t){let r;let l=(0,i.removeTrailingSlash)(e).slice(1).split("/"),u=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),s={};return{namedParameterizedRoute:l.map(e=>{let r=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&i){let[r]=e.split(i[0]);return c({getSafeRouteKey:u,interceptionMarker:r,segment:i[1],routeKeys:s,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?c({getSafeRouteKey:u,segment:i[1],routeKeys:s,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:s}}function f(e,t){let r=d(e,t);return{...s(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function p(e,t){let{parameterizedRoute:r}=u(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=d(e,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},3319:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function a(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}},3537:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return n},isGroupSegment:function(){return r}});let n="__PAGE__",o="__DEFAULT__"},5955:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return y},NormalizeError:function(){return g},PageNotFoundError:function(){return _},SP:function(){return f},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return u},getLocationOrigin:function(){return i},getURL:function(){return l},isAbsoluteUrl:function(){return a},isResSent:function(){return s},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return b}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function l(){let{href:e}=window.location,t=i();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Error('"'+u(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let f="undefined"!=typeof performance,p=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class g extends Error{}class _ extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class y extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},7500:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},8765:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bootstrap:function(){return l},error:function(){return s},event:function(){return p},info:function(){return f},prefixes:function(){return o},ready:function(){return d},trace:function(){return h},wait:function(){return u},warn:function(){return c},warnOnce:function(){return _}});let n=r(6164),o={wait:(0,n.white)((0,n.bold)("○")),error:(0,n.red)((0,n.bold)("⨯")),warn:(0,n.yellow)((0,n.bold)("⚠")),ready:"▲",info:(0,n.white)((0,n.bold)(" ")),event:(0,n.green)((0,n.bold)("✓")),trace:(0,n.magenta)((0,n.bold)("\xbb"))},a={log:"log",warn:"warn",error:"error"};function i(e,...t){(""===t[0]||void 0===t[0])&&1===t.length&&t.shift();let r=e in a?a[e]:"log",n=o[e];0===t.length?console[r](""):console[r](" "+n,...t)}function l(...e){console.log(" ",...e)}function u(...e){i("wait",...e)}function s(...e){i("error",...e)}function c(...e){i("warn",...e)}function d(...e){i("ready",...e)}function f(...e){i("info",...e)}function p(...e){i("event",...e)}function h(...e){i("trace",...e)}let g=new Set;function _(...e){g.has(e[0])||(g.add(e.join(" ")),c(...e))}},6691:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createProxy",{enumerable:!0,get:function(){return n}});let n=r(8048).createClientModuleProxy},3750:(e,t,r)=>{"use strict";let{createProxy:n}=r(6691);e.exports=n("/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/app-router.js")},433:(e,t,r)=>{"use strict";let{createProxy:n}=r(6691);e.exports=n("/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/client-page.js")},7045:(e,t,r)=>{"use strict";let{createProxy:n}=r(6691);e.exports=n("/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/error-boundary.js")},3910:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DynamicServerError:function(){return n},isDynamicServerError:function(){return o}});let r="DYNAMIC_SERVER_USAGE";class n extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5222:(e,t,r)=>{"use strict";let{createProxy:n}=r(6691);e.exports=n("/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/layout-router.js")},8731:(e,t,r)=>{"use strict";let{createProxy:n}=r(6691);e.exports=n("/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/not-found-boundary.js")},311:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(4400);let n=r(5886);r(7354);let o={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};function a(){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("title",{children:"404: This page could not be found."}),(0,n.jsx)("div",{style:o.error,children:(0,n.jsxs)("div",{children:[(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,n.jsx)("h1",{className:"next-error-h1",style:o.h1,children:"404"}),(0,n.jsx)("div",{style:o.desc,children:(0,n.jsx)("h2",{style:o.h2,children:"This page could not be found."})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9357:(e,t,r)=>{"use strict";let{createProxy:n}=r(6691);e.exports=n("/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/components/render-from-template-context.js")},6127:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createDynamicallyTrackedSearchParams:function(){return l},createUntrackedSearchParams:function(){return i}});let n=r(5869),o=r(9293),a=r(3583);function i(e){let t=n.staticGenerationAsyncStorage.getStore();return t&&t.forceStatic?{}:e}function l(e){let t=n.staticGenerationAsyncStorage.getStore();return t?t.forceStatic?{}:t.isStaticGeneration||t.dynamicShouldError?new Proxy({},{get:(e,r,n)=>("string"==typeof r&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+r),a.ReflectAdapter.get(e,r,n)),has:(e,r)=>("string"==typeof r&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+r),Reflect.has(e,r)),ownKeys:e=>((0,o.trackDynamicDataAccessed)(t,"searchParams"),Reflect.ownKeys(e))}):e:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5728:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{StaticGenBailoutError:function(){return n},isStaticGenBailoutError:function(){return o}});let r="NEXT_STATIC_GEN_BAILOUT";class n extends Error{constructor(...e){super(...e),this.code=r}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1011:e=>{(()=>{"use strict";var t={491:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ContextAPI=void 0;let n=r(223),o=r(172),a=r(930),i="context",l=new n.NoopContextManager;class u{constructor(){}static getInstance(){return this._instance||(this._instance=new u),this._instance}setGlobalContextManager(e){return(0,o.registerGlobal)(i,e,a.DiagAPI.instance())}active(){return this._getContextManager().active()}with(e,t,r,...n){return this._getContextManager().with(e,t,r,...n)}bind(e,t){return this._getContextManager().bind(e,t)}_getContextManager(){return(0,o.getGlobal)(i)||l}disable(){this._getContextManager().disable(),(0,o.unregisterGlobal)(i,a.DiagAPI.instance())}}t.ContextAPI=u},930:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiagAPI=void 0;let n=r(56),o=r(912),a=r(957),i=r(172);class l{constructor(){function e(e){return function(...t){let r=(0,i.getGlobal)("diag");if(r)return r[e](...t)}}let t=this;t.setLogger=(e,r={logLevel:a.DiagLogLevel.INFO})=>{var n,l,u;if(e===t){let e=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return t.error(null!==(n=e.stack)&&void 0!==n?n:e.message),!1}"number"==typeof r&&(r={logLevel:r});let s=(0,i.getGlobal)("diag"),c=(0,o.createLogLevelDiagLogger)(null!==(l=r.logLevel)&&void 0!==l?l:a.DiagLogLevel.INFO,e);if(s&&!r.suppressOverrideMessage){let e=null!==(u=Error().stack)&&void 0!==u?u:"";s.warn(`Current logger will be overwritten from ${e}`),c.warn(`Current logger will overwrite one already registered from ${e}`)}return(0,i.registerGlobal)("diag",c,t,!0)},t.disable=()=>{(0,i.unregisterGlobal)("diag",t)},t.createComponentLogger=e=>new n.DiagComponentLogger(e),t.verbose=e("verbose"),t.debug=e("debug"),t.info=e("info"),t.warn=e("warn"),t.error=e("error")}static instance(){return this._instance||(this._instance=new l),this._instance}}t.DiagAPI=l},653:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MetricsAPI=void 0;let n=r(660),o=r(172),a=r(930),i="metrics";class l{constructor(){}static getInstance(){return this._instance||(this._instance=new l),this._instance}setGlobalMeterProvider(e){return(0,o.registerGlobal)(i,e,a.DiagAPI.instance())}getMeterProvider(){return(0,o.getGlobal)(i)||n.NOOP_METER_PROVIDER}getMeter(e,t,r){return this.getMeterProvider().getMeter(e,t,r)}disable(){(0,o.unregisterGlobal)(i,a.DiagAPI.instance())}}t.MetricsAPI=l},181:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PropagationAPI=void 0;let n=r(172),o=r(874),a=r(194),i=r(277),l=r(369),u=r(930),s="propagation",c=new o.NoopTextMapPropagator;class d{constructor(){this.createBaggage=l.createBaggage,this.getBaggage=i.getBaggage,this.getActiveBaggage=i.getActiveBaggage,this.setBaggage=i.setBaggage,this.deleteBaggage=i.deleteBaggage}static getInstance(){return this._instance||(this._instance=new d),this._instance}setGlobalPropagator(e){return(0,n.registerGlobal)(s,e,u.DiagAPI.instance())}inject(e,t,r=a.defaultTextMapSetter){return this._getGlobalPropagator().inject(e,t,r)}extract(e,t,r=a.defaultTextMapGetter){return this._getGlobalPropagator().extract(e,t,r)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,n.unregisterGlobal)(s,u.DiagAPI.instance())}_getGlobalPropagator(){return(0,n.getGlobal)(s)||c}}t.PropagationAPI=d},997:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TraceAPI=void 0;let n=r(172),o=r(846),a=r(139),i=r(607),l=r(930),u="trace";class s{constructor(){this._proxyTracerProvider=new o.ProxyTracerProvider,this.wrapSpanContext=a.wrapSpanContext,this.isSpanContextValid=a.isSpanContextValid,this.deleteSpan=i.deleteSpan,this.getSpan=i.getSpan,this.getActiveSpan=i.getActiveSpan,this.getSpanContext=i.getSpanContext,this.setSpan=i.setSpan,this.setSpanContext=i.setSpanContext}static getInstance(){return this._instance||(this._instance=new s),this._instance}setGlobalTracerProvider(e){let t=(0,n.registerGlobal)(u,this._proxyTracerProvider,l.DiagAPI.instance());return t&&this._proxyTracerProvider.setDelegate(e),t}getTracerProvider(){return(0,n.getGlobal)(u)||this._proxyTracerProvider}getTracer(e,t){return this.getTracerProvider().getTracer(e,t)}disable(){(0,n.unregisterGlobal)(u,l.DiagAPI.instance()),this._proxyTracerProvider=new o.ProxyTracerProvider}}t.TraceAPI=s},277:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deleteBaggage=t.setBaggage=t.getActiveBaggage=t.getBaggage=void 0;let n=r(491),o=(0,r(780).createContextKey)("OpenTelemetry Baggage Key");function a(e){return e.getValue(o)||void 0}t.getBaggage=a,t.getActiveBaggage=function(){return a(n.ContextAPI.getInstance().active())},t.setBaggage=function(e,t){return e.setValue(o,t)},t.deleteBaggage=function(e){return e.deleteValue(o)}},993:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BaggageImpl=void 0;class r{constructor(e){this._entries=e?new Map(e):new Map}getEntry(e){let t=this._entries.get(e);if(t)return Object.assign({},t)}getAllEntries(){return Array.from(this._entries.entries()).map(([e,t])=>[e,t])}setEntry(e,t){let n=new r(this._entries);return n._entries.set(e,t),n}removeEntry(e){let t=new r(this._entries);return t._entries.delete(e),t}removeEntries(...e){let t=new r(this._entries);for(let r of e)t._entries.delete(r);return t}clear(){return new r}}t.BaggageImpl=r},830:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.baggageEntryMetadataSymbol=void 0,t.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")},369:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.baggageEntryMetadataFromString=t.createBaggage=void 0;let n=r(930),o=r(993),a=r(830),i=n.DiagAPI.instance();t.createBaggage=function(e={}){return new o.BaggageImpl(new Map(Object.entries(e)))},t.baggageEntryMetadataFromString=function(e){return"string"!=typeof e&&(i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`),e=""),{__TYPE__:a.baggageEntryMetadataSymbol,toString:()=>e}}},67:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.context=void 0;let n=r(491);t.context=n.ContextAPI.getInstance()},223:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NoopContextManager=void 0;let n=r(780);class o{active(){return n.ROOT_CONTEXT}with(e,t,r,...n){return t.call(r,...n)}bind(e,t){return t}enable(){return this}disable(){return this}}t.NoopContextManager=o},780:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ROOT_CONTEXT=t.createContextKey=void 0,t.createContextKey=function(e){return Symbol.for(e)};class r{constructor(e){let t=this;t._currentContext=e?new Map(e):new Map,t.getValue=e=>t._currentContext.get(e),t.setValue=(e,n)=>{let o=new r(t._currentContext);return o._currentContext.set(e,n),o},t.deleteValue=e=>{let n=new r(t._currentContext);return n._currentContext.delete(e),n}}}t.ROOT_CONTEXT=new r},506:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.diag=void 0;let n=r(930);t.diag=n.DiagAPI.instance()},56:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiagComponentLogger=void 0;let n=r(172);class o{constructor(e){this._namespace=e.namespace||"DiagComponentLogger"}debug(...e){return a("debug",this._namespace,e)}error(...e){return a("error",this._namespace,e)}info(...e){return a("info",this._namespace,e)}warn(...e){return a("warn",this._namespace,e)}verbose(...e){return a("verbose",this._namespace,e)}}function a(e,t,r){let o=(0,n.getGlobal)("diag");if(o)return r.unshift(t),o[e](...r)}t.DiagComponentLogger=o},972:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiagConsoleLogger=void 0;let r=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class n{constructor(){for(let e=0;e{Object.defineProperty(t,"__esModule",{value:!0}),t.createLogLevelDiagLogger=void 0;let n=r(957);t.createLogLevelDiagLogger=function(e,t){function r(r,n){let o=t[r];return"function"==typeof o&&e>=n?o.bind(t):function(){}}return en.DiagLogLevel.ALL&&(e=n.DiagLogLevel.ALL),t=t||{},{error:r("error",n.DiagLogLevel.ERROR),warn:r("warn",n.DiagLogLevel.WARN),info:r("info",n.DiagLogLevel.INFO),debug:r("debug",n.DiagLogLevel.DEBUG),verbose:r("verbose",n.DiagLogLevel.VERBOSE)}}},957:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DiagLogLevel=void 0,function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"}(t.DiagLogLevel||(t.DiagLogLevel={}))},172:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.unregisterGlobal=t.getGlobal=t.registerGlobal=void 0;let n=r(200),o=r(521),a=r(130),i=o.VERSION.split(".")[0],l=Symbol.for(`opentelemetry.js.api.${i}`),u=n._globalThis;t.registerGlobal=function(e,t,r,n=!1){var a;let i=u[l]=null!==(a=u[l])&&void 0!==a?a:{version:o.VERSION};if(!n&&i[e]){let t=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);return r.error(t.stack||t.message),!1}if(i.version!==o.VERSION){let t=Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${o.VERSION}`);return r.error(t.stack||t.message),!1}return i[e]=t,r.debug(`@opentelemetry/api: Registered a global for ${e} v${o.VERSION}.`),!0},t.getGlobal=function(e){var t,r;let n=null===(t=u[l])||void 0===t?void 0:t.version;if(n&&(0,a.isCompatible)(n))return null===(r=u[l])||void 0===r?void 0:r[e]},t.unregisterGlobal=function(e,t){t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${o.VERSION}.`);let r=u[l];r&&delete r[e]}},130:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isCompatible=t._makeCompatibilityCheck=void 0;let n=r(521),o=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function a(e){let t=new Set([e]),r=new Set,n=e.match(o);if(!n)return()=>!1;let a={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(null!=a.prerelease)return function(t){return t===e};function i(e){return r.add(e),!1}return function(e){if(t.has(e))return!0;if(r.has(e))return!1;let n=e.match(o);if(!n)return i(e);let l={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};return null!=l.prerelease||a.major!==l.major?i(e):0===a.major?a.minor===l.minor&&a.patch<=l.patch?(t.add(e),!0):i(e):a.minor<=l.minor?(t.add(e),!0):i(e)}}t._makeCompatibilityCheck=a,t.isCompatible=a(n.VERSION)},886:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.metrics=void 0;let n=r(653);t.metrics=n.MetricsAPI.getInstance()},901:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ValueType=void 0,function(e){e[e.INT=0]="INT",e[e.DOUBLE=1]="DOUBLE"}(t.ValueType||(t.ValueType={}))},102:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createNoopMeter=t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=t.NOOP_OBSERVABLE_GAUGE_METRIC=t.NOOP_OBSERVABLE_COUNTER_METRIC=t.NOOP_UP_DOWN_COUNTER_METRIC=t.NOOP_HISTOGRAM_METRIC=t.NOOP_COUNTER_METRIC=t.NOOP_METER=t.NoopObservableUpDownCounterMetric=t.NoopObservableGaugeMetric=t.NoopObservableCounterMetric=t.NoopObservableMetric=t.NoopHistogramMetric=t.NoopUpDownCounterMetric=t.NoopCounterMetric=t.NoopMetric=t.NoopMeter=void 0;class r{constructor(){}createHistogram(e,r){return t.NOOP_HISTOGRAM_METRIC}createCounter(e,r){return t.NOOP_COUNTER_METRIC}createUpDownCounter(e,r){return t.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(e,r){return t.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(e,r){return t.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(e,r){return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(e,t){}removeBatchObservableCallback(e){}}t.NoopMeter=r;class n{}t.NoopMetric=n;class o extends n{add(e,t){}}t.NoopCounterMetric=o;class a extends n{add(e,t){}}t.NoopUpDownCounterMetric=a;class i extends n{record(e,t){}}t.NoopHistogramMetric=i;class l{addCallback(e){}removeCallback(e){}}t.NoopObservableMetric=l;class u extends l{}t.NoopObservableCounterMetric=u;class s extends l{}t.NoopObservableGaugeMetric=s;class c extends l{}t.NoopObservableUpDownCounterMetric=c,t.NOOP_METER=new r,t.NOOP_COUNTER_METRIC=new o,t.NOOP_HISTOGRAM_METRIC=new i,t.NOOP_UP_DOWN_COUNTER_METRIC=new a,t.NOOP_OBSERVABLE_COUNTER_METRIC=new u,t.NOOP_OBSERVABLE_GAUGE_METRIC=new s,t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new c,t.createNoopMeter=function(){return t.NOOP_METER}},660:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NOOP_METER_PROVIDER=t.NoopMeterProvider=void 0;let n=r(102);class o{getMeter(e,t,r){return n.NOOP_METER}}t.NoopMeterProvider=o,t.NOOP_METER_PROVIDER=new o},200:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(46),t)},651:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t._globalThis=void 0,t._globalThis="object"==typeof globalThis?globalThis:global},46:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(651),t)},939:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.propagation=void 0;let n=r(181);t.propagation=n.PropagationAPI.getInstance()},874:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NoopTextMapPropagator=void 0;class r{inject(e,t){}extract(e,t){return e}fields(){return[]}}t.NoopTextMapPropagator=r},194:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.defaultTextMapSetter=t.defaultTextMapGetter=void 0,t.defaultTextMapGetter={get(e,t){if(null!=e)return e[t]},keys:e=>null==e?[]:Object.keys(e)},t.defaultTextMapSetter={set(e,t,r){null!=e&&(e[t]=r)}}},845:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.trace=void 0;let n=r(997);t.trace=n.TraceAPI.getInstance()},403:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NonRecordingSpan=void 0;let n=r(476);class o{constructor(e=n.INVALID_SPAN_CONTEXT){this._spanContext=e}spanContext(){return this._spanContext}setAttribute(e,t){return this}setAttributes(e){return this}addEvent(e,t){return this}setStatus(e){return this}updateName(e){return this}end(e){}isRecording(){return!1}recordException(e,t){}}t.NonRecordingSpan=o},614:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NoopTracer=void 0;let n=r(491),o=r(607),a=r(403),i=r(139),l=n.ContextAPI.getInstance();class u{startSpan(e,t,r=l.active()){if(null==t?void 0:t.root)return new a.NonRecordingSpan;let n=r&&(0,o.getSpanContext)(r);return"object"==typeof n&&"string"==typeof n.spanId&&"string"==typeof n.traceId&&"number"==typeof n.traceFlags&&(0,i.isSpanContextValid)(n)?new a.NonRecordingSpan(n):new a.NonRecordingSpan}startActiveSpan(e,t,r,n){let a,i,u;if(arguments.length<2)return;2==arguments.length?u=t:3==arguments.length?(a=t,u=r):(a=t,i=r,u=n);let s=null!=i?i:l.active(),c=this.startSpan(e,a,s),d=(0,o.setSpan)(s,c);return l.with(d,u,void 0,c)}}t.NoopTracer=u},124:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NoopTracerProvider=void 0;let n=r(614);class o{getTracer(e,t,r){return new n.NoopTracer}}t.NoopTracerProvider=o},125:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ProxyTracer=void 0;let n=new(r(614)).NoopTracer;class o{constructor(e,t,r,n){this._provider=e,this.name=t,this.version=r,this.options=n}startSpan(e,t,r){return this._getTracer().startSpan(e,t,r)}startActiveSpan(e,t,r,n){let o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)}_getTracer(){if(this._delegate)return this._delegate;let e=this._provider.getDelegateTracer(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):n}}t.ProxyTracer=o},846:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ProxyTracerProvider=void 0;let n=r(125),o=new(r(124)).NoopTracerProvider;class a{getTracer(e,t,r){var o;return null!==(o=this.getDelegateTracer(e,t,r))&&void 0!==o?o:new n.ProxyTracer(this,e,t,r)}getDelegate(){var e;return null!==(e=this._delegate)&&void 0!==e?e:o}setDelegate(e){this._delegate=e}getDelegateTracer(e,t,r){var n;return null===(n=this._delegate)||void 0===n?void 0:n.getTracer(e,t,r)}}t.ProxyTracerProvider=a},996:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SamplingDecision=void 0,function(e){e[e.NOT_RECORD=0]="NOT_RECORD",e[e.RECORD=1]="RECORD",e[e.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"}(t.SamplingDecision||(t.SamplingDecision={}))},607:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getSpanContext=t.setSpanContext=t.deleteSpan=t.setSpan=t.getActiveSpan=t.getSpan=void 0;let n=r(780),o=r(403),a=r(491),i=(0,n.createContextKey)("OpenTelemetry Context Key SPAN");function l(e){return e.getValue(i)||void 0}function u(e,t){return e.setValue(i,t)}t.getSpan=l,t.getActiveSpan=function(){return l(a.ContextAPI.getInstance().active())},t.setSpan=u,t.deleteSpan=function(e){return e.deleteValue(i)},t.setSpanContext=function(e,t){return u(e,new o.NonRecordingSpan(t))},t.getSpanContext=function(e){var t;return null===(t=l(e))||void 0===t?void 0:t.spanContext()}},325:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TraceStateImpl=void 0;let n=r(564);class o{constructor(e){this._internalState=new Map,e&&this._parse(e)}set(e,t){let r=this._clone();return r._internalState.has(e)&&r._internalState.delete(e),r._internalState.set(e,t),r}unset(e){let t=this._clone();return t._internalState.delete(e),t}get(e){return this._internalState.get(e)}serialize(){return this._keys().reduce((e,t)=>(e.push(t+"="+this.get(t)),e),[]).join(",")}_parse(e){!(e.length>512)&&(this._internalState=e.split(",").reverse().reduce((e,t)=>{let r=t.trim(),o=r.indexOf("=");if(-1!==o){let a=r.slice(0,o),i=r.slice(o+1,t.length);(0,n.validateKey)(a)&&(0,n.validateValue)(i)&&e.set(a,i)}return e},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let e=new o;return e._internalState=new Map(this._internalState),e}}t.TraceStateImpl=o},564:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validateValue=t.validateKey=void 0;let r="[_0-9a-z-*/]",n=`[a-z]${r}{0,255}`,o=`[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`,a=RegExp(`^(?:${n}|${o})$`),i=/^[ -~]{0,255}[!-~]$/,l=/,|=/;t.validateKey=function(e){return a.test(e)},t.validateValue=function(e){return i.test(e)&&!l.test(e)}},98:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createTraceState=void 0;let n=r(325);t.createTraceState=function(e){return new n.TraceStateImpl(e)}},476:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.INVALID_SPAN_CONTEXT=t.INVALID_TRACEID=t.INVALID_SPANID=void 0;let n=r(475);t.INVALID_SPANID="0000000000000000",t.INVALID_TRACEID="00000000000000000000000000000000",t.INVALID_SPAN_CONTEXT={traceId:t.INVALID_TRACEID,spanId:t.INVALID_SPANID,traceFlags:n.TraceFlags.NONE}},357:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SpanKind=void 0,function(e){e[e.INTERNAL=0]="INTERNAL",e[e.SERVER=1]="SERVER",e[e.CLIENT=2]="CLIENT",e[e.PRODUCER=3]="PRODUCER",e[e.CONSUMER=4]="CONSUMER"}(t.SpanKind||(t.SpanKind={}))},139:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.wrapSpanContext=t.isSpanContextValid=t.isValidSpanId=t.isValidTraceId=void 0;let n=r(476),o=r(403),a=/^([0-9a-f]{32})$/i,i=/^[0-9a-f]{16}$/i;function l(e){return a.test(e)&&e!==n.INVALID_TRACEID}function u(e){return i.test(e)&&e!==n.INVALID_SPANID}t.isValidTraceId=l,t.isValidSpanId=u,t.isSpanContextValid=function(e){return l(e.traceId)&&u(e.spanId)},t.wrapSpanContext=function(e){return new o.NonRecordingSpan(e)}},847:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SpanStatusCode=void 0,function(e){e[e.UNSET=0]="UNSET",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR"}(t.SpanStatusCode||(t.SpanStatusCode={}))},475:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TraceFlags=void 0,function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"}(t.TraceFlags||(t.TraceFlags={}))},521:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.VERSION=void 0,t.VERSION="1.6.0"}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var a=r[e]={exports:{}},i=!0;try{t[e].call(a.exports,a,a.exports,n),i=!1}finally{i&&delete r[e]}return a.exports}n.ab=__dirname+"/";var o={};(()=>{Object.defineProperty(o,"__esModule",{value:!0}),o.trace=o.propagation=o.metrics=o.diag=o.context=o.INVALID_SPAN_CONTEXT=o.INVALID_TRACEID=o.INVALID_SPANID=o.isValidSpanId=o.isValidTraceId=o.isSpanContextValid=o.createTraceState=o.TraceFlags=o.SpanStatusCode=o.SpanKind=o.SamplingDecision=o.ProxyTracerProvider=o.ProxyTracer=o.defaultTextMapSetter=o.defaultTextMapGetter=o.ValueType=o.createNoopMeter=o.DiagLogLevel=o.DiagConsoleLogger=o.ROOT_CONTEXT=o.createContextKey=o.baggageEntryMetadataFromString=void 0;var e=n(369);Object.defineProperty(o,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return e.baggageEntryMetadataFromString}});var t=n(780);Object.defineProperty(o,"createContextKey",{enumerable:!0,get:function(){return t.createContextKey}}),Object.defineProperty(o,"ROOT_CONTEXT",{enumerable:!0,get:function(){return t.ROOT_CONTEXT}});var r=n(972);Object.defineProperty(o,"DiagConsoleLogger",{enumerable:!0,get:function(){return r.DiagConsoleLogger}});var a=n(957);Object.defineProperty(o,"DiagLogLevel",{enumerable:!0,get:function(){return a.DiagLogLevel}});var i=n(102);Object.defineProperty(o,"createNoopMeter",{enumerable:!0,get:function(){return i.createNoopMeter}});var l=n(901);Object.defineProperty(o,"ValueType",{enumerable:!0,get:function(){return l.ValueType}});var u=n(194);Object.defineProperty(o,"defaultTextMapGetter",{enumerable:!0,get:function(){return u.defaultTextMapGetter}}),Object.defineProperty(o,"defaultTextMapSetter",{enumerable:!0,get:function(){return u.defaultTextMapSetter}});var s=n(125);Object.defineProperty(o,"ProxyTracer",{enumerable:!0,get:function(){return s.ProxyTracer}});var c=n(846);Object.defineProperty(o,"ProxyTracerProvider",{enumerable:!0,get:function(){return c.ProxyTracerProvider}});var d=n(996);Object.defineProperty(o,"SamplingDecision",{enumerable:!0,get:function(){return d.SamplingDecision}});var f=n(357);Object.defineProperty(o,"SpanKind",{enumerable:!0,get:function(){return f.SpanKind}});var p=n(847);Object.defineProperty(o,"SpanStatusCode",{enumerable:!0,get:function(){return p.SpanStatusCode}});var h=n(475);Object.defineProperty(o,"TraceFlags",{enumerable:!0,get:function(){return h.TraceFlags}});var g=n(98);Object.defineProperty(o,"createTraceState",{enumerable:!0,get:function(){return g.createTraceState}});var _=n(139);Object.defineProperty(o,"isSpanContextValid",{enumerable:!0,get:function(){return _.isSpanContextValid}}),Object.defineProperty(o,"isValidTraceId",{enumerable:!0,get:function(){return _.isValidTraceId}}),Object.defineProperty(o,"isValidSpanId",{enumerable:!0,get:function(){return _.isValidSpanId}});var y=n(476);Object.defineProperty(o,"INVALID_SPANID",{enumerable:!0,get:function(){return y.INVALID_SPANID}}),Object.defineProperty(o,"INVALID_TRACEID",{enumerable:!0,get:function(){return y.INVALID_TRACEID}}),Object.defineProperty(o,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return y.INVALID_SPAN_CONTEXT}});let v=n(67);Object.defineProperty(o,"context",{enumerable:!0,get:function(){return v.context}});let b=n(506);Object.defineProperty(o,"diag",{enumerable:!0,get:function(){return b.diag}});let m=n(886);Object.defineProperty(o,"metrics",{enumerable:!0,get:function(){return m.metrics}});let R=n(939);Object.defineProperty(o,"propagation",{enumerable:!0,get:function(){return R.propagation}});let P=n(845);Object.defineProperty(o,"trace",{enumerable:!0,get:function(){return P.trace}}),o.default={context:v.context,diag:b.diag,metrics:m.metrics,propagation:R.propagation,trace:P.trace}})(),e.exports=o})()},775:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return u},APP_DIR_ALIAS:function(){return x},CACHE_ONE_YEAR:function(){return m},DOT_NEXT_ALIAS:function(){return O},ESLINT_DEFAULT_DIRS:function(){return $},GSP_NO_RETURNED_VALUE:function(){return F},GSSP_COMPONENT_MEMBER_ERROR:function(){return B},GSSP_NO_RETURNED_VALUE:function(){return H},INSTRUMENTATION_HOOK_FILENAME:function(){return S},MIDDLEWARE_FILENAME:function(){return R},MIDDLEWARE_LOCATION_REGEXP:function(){return P},NEXT_BODY_SUFFIX:function(){return d},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return b},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return g},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return v},NEXT_CACHE_TAGS_HEADER:function(){return f},NEXT_CACHE_TAG_MAX_ITEMS:function(){return _},NEXT_CACHE_TAG_MAX_LENGTH:function(){return y},NEXT_DATA_SUFFIX:function(){return s},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return c},NEXT_QUERY_PARAM_PREFIX:function(){return r},NON_STANDARD_NODE_ENV:function(){return V},PAGES_DIR_ALIAS:function(){return E},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return a},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return w},ROOT_DIR_ALIAS:function(){return T},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return C},RSC_ACTION_ENCRYPTION_ALIAS:function(){return A},RSC_ACTION_PROXY_ALIAS:function(){return N},RSC_ACTION_VALIDATE_ALIAS:function(){return M},RSC_MOD_REF_PROXY_ALIAS:function(){return j},RSC_PREFETCH_SUFFIX:function(){return i},RSC_SUFFIX:function(){return l},SERVER_PROPS_EXPORT_ERROR:function(){return k},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return D},SERVER_PROPS_SSG_CONFLICT:function(){return L},SERVER_RUNTIME:function(){return W},SSG_FALLBACK_EXPORT_ERROR:function(){return X},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return I},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return U},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return G},WEBPACK_LAYERS:function(){return K},WEBPACK_RESOURCE_QUERIES:function(){return Y}});let r="nxtP",n="nxtI",o="x-prerender-revalidate",a="x-prerender-revalidate-if-generated",i=".prefetch.rsc",l=".rsc",u=".action",s=".json",c=".meta",d=".body",f="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",g="x-next-revalidate-tag-token",_=128,y=256,v=1024,b="_N_T_",m=31536e3,R="middleware",P=`(?:src/)?${R}`,S="instrumentation",E="private-next-pages",O="private-dot-next",T="private-next-root-dir",x="private-next-app-dir",j="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",M="private-next-rsc-action-validate",N="private-next-rsc-server-reference",A="private-next-rsc-action-encryption",C="private-next-rsc-action-client-wrapper",w="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",I="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",D="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",L="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",U="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",k="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",F="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",H="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",G="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",B="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",V='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',X="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",$=["app","pages","components","lib","src"],W={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},z={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},K={...z,GROUP:{serverOnly:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.instrument],clientOnly:[z.serverSideRendering,z.appPagesBrowser],nonClientServerTarget:[z.middleware,z.api],app:[z.reactServerComponents,z.actionBrowser,z.appMetadataRoute,z.appRouteHandler,z.serverSideRendering,z.appPagesBrowser,z.shared,z.instrument]}},Y={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},6164:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bgBlack:function(){return T},bgBlue:function(){return N},bgCyan:function(){return C},bgGreen:function(){return j},bgMagenta:function(){return A},bgRed:function(){return x},bgWhite:function(){return w},bgYellow:function(){return M},black:function(){return _},blue:function(){return m},bold:function(){return s},cyan:function(){return S},dim:function(){return c},gray:function(){return O},green:function(){return v},hidden:function(){return h},inverse:function(){return p},italic:function(){return d},magenta:function(){return R},purple:function(){return P},red:function(){return y},reset:function(){return u},strikethrough:function(){return g},underline:function(){return f},white:function(){return E},yellow:function(){return b}});let{env:n,stdout:o}=(null==(r=globalThis)?void 0:r.process)??{},a=n&&!n.NO_COLOR&&(n.FORCE_COLOR||(null==o?void 0:o.isTTY)&&!n.CI&&"dumb"!==n.TERM),i=(e,t,r,n)=>{let o=e.substring(0,n)+r,a=e.substring(n+t.length),l=a.indexOf(t);return~l?o+i(a,t,r,l):o+a},l=(e,t,r=e)=>a?n=>{let o=""+n,a=o.indexOf(t,e.length);return~a?e+i(o,t,r,a)+t:e+o+t}:String,u=a?e=>`\x1b[0m${e}\x1b[0m`:String,s=l("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),c=l("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),d=l("\x1b[3m","\x1b[23m"),f=l("\x1b[4m","\x1b[24m"),p=l("\x1b[7m","\x1b[27m"),h=l("\x1b[8m","\x1b[28m"),g=l("\x1b[9m","\x1b[29m"),_=l("\x1b[30m","\x1b[39m"),y=l("\x1b[31m","\x1b[39m"),v=l("\x1b[32m","\x1b[39m"),b=l("\x1b[33m","\x1b[39m"),m=l("\x1b[34m","\x1b[39m"),R=l("\x1b[35m","\x1b[39m"),P=l("\x1b[38;2;173;127;168m","\x1b[39m"),S=l("\x1b[36m","\x1b[39m"),E=l("\x1b[37m","\x1b[39m"),O=l("\x1b[90m","\x1b[39m"),T=l("\x1b[40m","\x1b[49m"),x=l("\x1b[41m","\x1b[49m"),j=l("\x1b[42m","\x1b[49m"),M=l("\x1b[43m","\x1b[49m"),N=l("\x1b[44m","\x1b[49m"),A=l("\x1b[45m","\x1b[49m"),C=l("\x1b[46m","\x1b[49m"),w=l("\x1b[47m","\x1b[49m")},3588:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getPathname:function(){return n},isFullStringUrl:function(){return o},parseUrl:function(){return a}});let r="http://n";function n(e){return new URL(e,r).pathname}function o(e){return/https?:\/\//.test(e)}function a(e){let t;try{t=new URL(e,r)}catch{}return t}},9293:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Postpone:function(){return d},createPostponedAbortSignal:function(){return y},createPrerenderState:function(){return u},formatDynamicAPIAccesses:function(){return g},markCurrentScopeAsDynamic:function(){return s},trackDynamicDataAccessed:function(){return c},trackDynamicFetch:function(){return f},usedDynamicAPIs:function(){return h}});let n=function(e){return e&&e.__esModule?e:{default:e}}(r(7354)),o=r(3910),a=r(5728),i=r(3588),l="function"==typeof n.default.unstable_postpone;function u(e){return{isDebugSkeleton:e,dynamicAccesses:[]}}function s(e,t){let r=(0,i.getPathname)(e.urlPathname);if(!e.isUnstableCacheCallback){if(e.dynamicShouldError)throw new a.StaticGenBailoutError(`Route ${r} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)p(e.prerenderState,t,r);else if(e.revalidate=0,e.isStaticGeneration){let n=new o.DynamicServerError(`Route ${r} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=n.stack,n}}}function c(e,t){let r=(0,i.getPathname)(e.urlPathname);if(e.isUnstableCacheCallback)throw Error(`Route ${r} used "${t}" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "${t}" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);if(e.dynamicShouldError)throw new a.StaticGenBailoutError(`Route ${r} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)p(e.prerenderState,t,r);else if(e.revalidate=0,e.isStaticGeneration){let n=new o.DynamicServerError(`Route ${r} couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=n.stack,n}}function d({reason:e,prerenderState:t,pathname:r}){p(t,e,r)}function f(e,t){e.prerenderState&&p(e.prerenderState,t,e.urlPathname)}function p(e,t,r){_();let o=`Route ${r} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;e.dynamicAccesses.push({stack:e.isDebugSkeleton?Error().stack:void 0,expression:t}),n.default.unstable_postpone(o)}function h(e){return e.dynamicAccesses.length>0}function g(e){return e.dynamicAccesses.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: +${t}`))}function _(){if(!l)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function y(e){_();let t=new AbortController;try{n.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}},8184:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouter:function(){return o.default},ClientPageRoot:function(){return c.ClientPageRoot},LayoutRouter:function(){return a.default},NotFoundBoundary:function(){return p.NotFoundBoundary},Postpone:function(){return _.Postpone},RenderFromTemplateContext:function(){return i.default},actionAsyncStorage:function(){return s.actionAsyncStorage},createDynamicallyTrackedSearchParams:function(){return d.createDynamicallyTrackedSearchParams},createUntrackedSearchParams:function(){return d.createUntrackedSearchParams},decodeAction:function(){return n.decodeAction},decodeFormState:function(){return n.decodeFormState},decodeReply:function(){return n.decodeReply},patchFetch:function(){return m},preconnect:function(){return g.preconnect},preloadFont:function(){return g.preloadFont},preloadStyle:function(){return g.preloadStyle},renderToReadableStream:function(){return n.renderToReadableStream},requestAsyncStorage:function(){return u.requestAsyncStorage},serverHooks:function(){return f},staticGenerationAsyncStorage:function(){return l.staticGenerationAsyncStorage},taintObjectReference:function(){return y.taintObjectReference}});let n=r(8048),o=v(r(3750)),a=v(r(5222)),i=v(r(9357)),l=r(5869),u=r(4580),s=r(2934),c=r(433),d=r(6127),f=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=b(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}(r(3910)),p=r(8731),h=r(5980);r(7045);let g=r(7256),_=r(663),y=r(973);function v(e){return e&&e.__esModule?e:{default:e}}function b(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(b=function(e){return e?r:t})(e)}function m(){return(0,h.patchFetch)({serverHooks:f,staticGenerationAsyncStorage:l.staticGenerationAsyncStorage})}},663:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Postpone",{enumerable:!0,get:function(){return n.Postpone}});let n=r(9293)},7256:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{preconnect:function(){return i},preloadFont:function(){return a},preloadStyle:function(){return o}});let n=function(e){return e&&e.__esModule?e:{default:e}}(r(8927));function o(e,t){let r={as:"style"};"string"==typeof t&&(r.crossOrigin=t),n.default.preload(e,r)}function a(e,t,r){let o={as:"font",type:t};"string"==typeof r&&(o.crossOrigin=r),n.default.preload(e,o)}function i(e,t){n.default.preconnect(e,"string"==typeof t?{crossOrigin:t}:void 0)}},973:(e,t,r)=>{"use strict";function n(){throw Error("Taint can only be used with the taint flag.")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{taintObjectReference:function(){return o},taintUniqueValue:function(){return a}}),r(7354);let o=n,a=n},1650:(e,t)=>{"use strict";var r;Object.defineProperty(t,"x",{enumerable:!0,get:function(){return r}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(r||(r={}))},9296:(e,t,r)=>{"use strict";e.exports=r(399)},8927:(e,t,r)=>{"use strict";e.exports=r(9296).vendored["react-rsc"].ReactDOM},5886:(e,t,r)=>{"use strict";e.exports=r(9296).vendored["react-rsc"].ReactJsxRuntime},8048:(e,t,r)=>{"use strict";e.exports=r(9296).vendored["react-rsc"].ReactServerDOMWebpackServerEdge},7354:(e,t,r)=>{"use strict";e.exports=r(9296).vendored["react-rsc"].React},859:(e,t)=>{"use strict";function r(e){if(!e.body)return[e,e];let[t,r]=e.body.tee(),n=new Response(t,{status:e.status,statusText:e.statusText,headers:e.headers});Object.defineProperty(n,"url",{value:e.url});let o=new Response(r,{status:e.status,statusText:e.statusText,headers:e.headers});return Object.defineProperty(o,"url",{value:e.url}),[n,o]}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"cloneResponse",{enumerable:!0,get:function(){return r}})},5496:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createDedupeFetch",{enumerable:!0,get:function(){return i}});let n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=a(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=o?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(n,i,l):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(r(7354)),o=r(859);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(a=function(e){return e?r:t})(e)}function i(e){let t=n.cache(e=>[]);return function(r,n){let a,i;if(n&&n.signal)return e(r,n);if("string"!=typeof r||n){let t="string"==typeof r||r instanceof URL?new Request(r,n):r;if("GET"!==t.method&&"HEAD"!==t.method||t.keepalive)return e(r,n);i=JSON.stringify([t.method,Array.from(t.headers.entries()),t.mode,t.redirect,t.credentials,t.referrer,t.referrerPolicy,t.integrity]),a=t.url}else i='["GET",[],null,"follow",null,null,null,null]',a=r;let l=t(a);for(let e=0,t=l.length;e{let t=l[e][2];if(!t)throw Error("No cached response");let[r,n]=(0,o.cloneResponse)(t);return l[e][2]=n,r})}let u=new AbortController,s=e(r,{...n,signal:u.signal}),c=[i,s,null];return l.push(c),s.then(e=>{let[t,r]=(0,o.cloneResponse)(e);return c[2]=r,t})}}},5980:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addImplicitTags:function(){return h},patchFetch:function(){return _},validateRevalidate:function(){return d},validateTags:function(){return f}});let n=r(1223),o=r(7980),a=r(775),i=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=c(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=o?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(n,a,i):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}(r(8765)),l=r(9293),u=r(5496),s=r(859);function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(c=function(e){return e?r:t})(e)}function d(e,t){try{let r;if(!1===e)r=e;else if("number"==typeof e&&!isNaN(e)&&e>-1)r=e;else if(void 0!==e)throw Error(`Invalid revalidate value "${e}" on "${t}", must be a non-negative number or "false"`);return r}catch(e){if(e instanceof Error&&e.message.includes("Invalid revalidate"))throw e;return}}function f(e,t){let r=[],n=[];for(let o=0;oa.NEXT_CACHE_TAG_MAX_LENGTH?n.push({tag:i,reason:`exceeded max length of ${a.NEXT_CACHE_TAG_MAX_LENGTH}`}):r.push(i),r.length>a.NEXT_CACHE_TAG_MAX_ITEMS){console.warn(`Warning: exceeded max tag count for ${t}, dropped tags:`,e.slice(o).join(", "));break}}if(n.length>0)for(let{tag:e,reason:r}of(console.warn(`Warning: invalid tags passed to ${t}: `),n))console.log(`tag: "${e}" ${r}`);return r}let p=e=>{let t=["/layout"];if(e.startsWith("/")){let r=e.split("/");for(let e=1;e{var p,_;let y;try{(y=new URL(u instanceof Request?u.url:u)).username="",y.password=""}catch{y=void 0}let v=(null==y?void 0:y.href)??"",b=Date.now(),m=(null==c?void 0:null==(p=c.method)?void 0:p.toUpperCase())||"GET",R=(null==c?void 0:null==(_=c.next)?void 0:_.internal)===!0,P="1"===process.env.NEXT_OTEL_FETCH_DISABLED;return(0,o.getTracer)().trace(R?n.NextNodeServerSpan.internalFetch:n.AppRenderSpan.fetch,{hideSpan:P,kind:o.SpanKind.CLIENT,spanName:["fetch",m,v].filter(Boolean).join(" "),attributes:{"http.url":v,"http.method":m,"net.peer.name":null==y?void 0:y.hostname,"net.peer.port":(null==y?void 0:y.port)||void 0}},async()=>{var n;let o,p,_;if(R)return e(u,c);let y=r.getStore();if(!y||y.isDraftMode)return e(u,c);let m=u&&"object"==typeof u&&"string"==typeof u.method,P=e=>(null==c?void 0:c[e])||(m?u[e]:null),S=e=>{var t,r,n;return void 0!==(null==c?void 0:null==(t=c.next)?void 0:t[e])?null==c?void 0:null==(r=c.next)?void 0:r[e]:m?null==(n=u.next)?void 0:n[e]:void 0},E=S("revalidate"),O=f(S("tags")||[],`fetch ${u.toString()}`);if(Array.isArray(O))for(let e of(y.tags||(y.tags=[]),O))y.tags.includes(e)||y.tags.push(e);let T=h(y),x=y.fetchCache,j=!!y.isUnstableNoStore,M=P("cache"),N="";"string"==typeof M&&void 0!==E&&(m&&"default"===M||i.warn(`fetch for ${v} on ${y.urlPathname} specified "cache: ${M}" and "revalidate: ${E}", only one should be specified.`),M=void 0),"force-cache"===M?E=!1:("no-cache"===M||"no-store"===M||"force-no-store"===x||"only-no-store"===x)&&(E=0),("no-cache"===M||"no-store"===M)&&(N=`cache: ${M}`),_=d(E,y.urlPathname);let A=P("headers"),C="function"==typeof(null==A?void 0:A.get)?A:new Headers(A||{}),w=C.get("authorization")||C.get("cookie"),I=!["get","head"].includes((null==(n=P("method"))?void 0:n.toLowerCase())||"get"),D=(w||I)&&0===y.revalidate;switch(x){case"force-no-store":N="fetchCache = force-no-store";break;case"only-no-store":if("force-cache"===M||void 0!==_&&(!1===_||_>0))throw Error(`cache: 'force-cache' used on fetch for ${v} with 'export const fetchCache = 'only-no-store'`);N="fetchCache = only-no-store";break;case"only-cache":if("no-store"===M)throw Error(`cache: 'no-store' used on fetch for ${v} with 'export const fetchCache = 'only-cache'`);break;case"force-cache":(void 0===E||0===E)&&(N="fetchCache = force-cache",_=!1)}void 0===_?"default-cache"===x?(_=!1,N="fetchCache = default-cache"):D?(_=0,N="auto no cache"):"default-no-store"===x?(_=0,N="fetchCache = default-no-store"):j?(_=0,N="noStore call"):(N="auto cache",_="boolean"!=typeof y.revalidate&&void 0!==y.revalidate&&y.revalidate):N||(N=`revalidate: ${_}`),y.forceStatic&&0===_||D||void 0!==y.revalidate&&("number"!=typeof _||!1!==y.revalidate&&("number"!=typeof y.revalidate||!(_0||!1===_;if(y.incrementalCache&&L)try{o=await y.incrementalCache.fetchCacheKey(v,m?u:c)}catch(e){console.error("Failed to generate cache key for",u)}let U=y.nextFetchId??1;y.nextFetchId=U+1;let k="number"!=typeof _?a.CACHE_ONE_YEAR:_,F=async(t,r)=>{let n=["cache","credentials","headers","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","window","duplex",...t?[]:["signal"]];if(m){let e=u,t={body:e._ogBody||e.body};for(let r of n)t[r]=e[r];u=new Request(e.url,t)}else if(c){let{_ogBody:e,body:r,signal:n,...o}=c;c={...o,body:e||r,signal:t?void 0:n}}let a={...c,next:{...null==c?void 0:c.next,fetchType:"origin",fetchIdx:U}};return e(u,a).then(async e=>{if(t||g(y,{start:b,url:v,cacheReason:r||N,cacheStatus:0===_||r?"skip":"miss",status:e.status,method:a.method||"GET"}),200===e.status&&y.incrementalCache&&o&&L){let t=Buffer.from(await e.arrayBuffer());try{await y.incrementalCache.set(o,{kind:"FETCH",data:{headers:Object.fromEntries(e.headers.entries()),body:t.toString("base64"),status:e.status,url:e.url},revalidate:k},{fetchCache:!0,revalidate:_,fetchUrl:v,fetchIdx:U,tags:O})}catch(e){console.warn("Failed to set fetch cache",u,e)}let r=new Response(t,{headers:new Headers(e.headers),status:e.status});return Object.defineProperty(r,"url",{value:e.url}),r}return e})},H=()=>Promise.resolve(),G=!1;if(o&&y.incrementalCache){H=await y.incrementalCache.lock(o);let e=y.isOnDemandRevalidate?null:await y.incrementalCache.get(o,{kindHint:"fetch",revalidate:_,fetchUrl:v,fetchIdx:U,tags:O,softTags:T});if(e?await H():p="cache-control: no-cache (hard refresh)",(null==e?void 0:e.value)&&"FETCH"===e.value.kind){if(y.isRevalidate&&e.isStale)G=!0;else{if(e.isStale&&(y.pendingRevalidates??={},!y.pendingRevalidates[o])){let e=F(!0).then(async e=>({body:await e.arrayBuffer(),headers:e.headers,status:e.status,statusText:e.statusText})).finally(()=>{y.pendingRevalidates??={},delete y.pendingRevalidates[o||""]});e.catch(console.error),y.pendingRevalidates[o]=e}let t=e.value.data;g(y,{start:b,url:v,cacheReason:N,cacheStatus:"hit",status:t.status||200,method:(null==c?void 0:c.method)||"GET"});let r=new Response(Buffer.from(t.body,"base64"),{headers:t.headers,status:t.status});return Object.defineProperty(r,"url",{value:e.value.data.url}),r}}}if(y.isStaticGeneration&&c&&"object"==typeof c){let{cache:e}=c;if(!y.forceStatic&&"no-store"===e){let e=`no-store fetch ${u}${y.urlPathname?` ${y.urlPathname}`:""}`;(0,l.trackDynamicFetch)(y,e),y.revalidate=0;let r=new t(e);throw y.dynamicUsageErr=r,y.dynamicUsageDescription=e,r}let r="next"in c,{next:n={}}=c;if("number"==typeof n.revalidate&&(void 0===y.revalidate||"number"==typeof y.revalidate&&n.revalidate{let t=e[0];return{body:await t.arrayBuffer(),headers:t.headers,status:t.status,statusText:t.statusText}}).finally(()=>{if(o){var e;(null==(e=y.pendingRevalidates)?void 0:e[o])&&delete y.pendingRevalidates[o]}})).catch(()=>{}),y.pendingRevalidates[o]=e,t.then(e=>e[1])}})};return u.__nextPatched=!0,u.__nextGetStaticStore=()=>r,u._nextOriginalFetch=e,u}(r,e)}},1223:(e,t)=>{"use strict";var r,n,o,a,i,l,u,s,c,d,f,p;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRenderSpan:function(){return u},AppRouteRouteHandlersSpan:function(){return d},BaseServerSpan:function(){return r},LoadComponentsSpan:function(){return n},LogSpanAllowList:function(){return g},MiddlewareSpan:function(){return p},NextNodeServerSpan:function(){return a},NextServerSpan:function(){return o},NextVanillaSpanAllowlist:function(){return h},NodeSpan:function(){return c},RenderSpan:function(){return l},ResolveMetadataSpan:function(){return f},RouterSpan:function(){return s},StartServerSpan:function(){return i}}),function(e){e.handleRequest="BaseServer.handleRequest",e.run="BaseServer.run",e.pipe="BaseServer.pipe",e.getStaticHTML="BaseServer.getStaticHTML",e.render="BaseServer.render",e.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",e.renderToResponse="BaseServer.renderToResponse",e.renderToHTML="BaseServer.renderToHTML",e.renderError="BaseServer.renderError",e.renderErrorToResponse="BaseServer.renderErrorToResponse",e.renderErrorToHTML="BaseServer.renderErrorToHTML",e.render404="BaseServer.render404"}(r||(r={})),function(e){e.loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",e.loadComponents="LoadComponents.loadComponents"}(n||(n={})),function(e){e.getRequestHandler="NextServer.getRequestHandler",e.getServer="NextServer.getServer",e.getServerRequestHandler="NextServer.getServerRequestHandler",e.createServer="createServer.createServer"}(o||(o={})),function(e){e.compression="NextNodeServer.compression",e.getBuildId="NextNodeServer.getBuildId",e.createComponentTree="NextNodeServer.createComponentTree",e.clientComponentLoading="NextNodeServer.clientComponentLoading",e.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",e.generateStaticRoutes="NextNodeServer.generateStaticRoutes",e.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",e.generatePublicRoutes="NextNodeServer.generatePublicRoutes",e.generateImageRoutes="NextNodeServer.generateImageRoutes.route",e.sendRenderResult="NextNodeServer.sendRenderResult",e.proxyRequest="NextNodeServer.proxyRequest",e.runApi="NextNodeServer.runApi",e.render="NextNodeServer.render",e.renderHTML="NextNodeServer.renderHTML",e.imageOptimizer="NextNodeServer.imageOptimizer",e.getPagePath="NextNodeServer.getPagePath",e.getRoutesManifest="NextNodeServer.getRoutesManifest",e.findPageComponents="NextNodeServer.findPageComponents",e.getFontManifest="NextNodeServer.getFontManifest",e.getServerComponentManifest="NextNodeServer.getServerComponentManifest",e.getRequestHandler="NextNodeServer.getRequestHandler",e.renderToHTML="NextNodeServer.renderToHTML",e.renderError="NextNodeServer.renderError",e.renderErrorToHTML="NextNodeServer.renderErrorToHTML",e.render404="NextNodeServer.render404",e.startResponse="NextNodeServer.startResponse",e.route="route",e.onProxyReq="onProxyReq",e.apiResolver="apiResolver",e.internalFetch="internalFetch"}(a||(a={})),(i||(i={})).startServer="startServer.startServer",function(e){e.getServerSideProps="Render.getServerSideProps",e.getStaticProps="Render.getStaticProps",e.renderToString="Render.renderToString",e.renderDocument="Render.renderDocument",e.createBodyResult="Render.createBodyResult"}(l||(l={})),function(e){e.renderToString="AppRender.renderToString",e.renderToReadableStream="AppRender.renderToReadableStream",e.getBodyResult="AppRender.getBodyResult",e.fetch="AppRender.fetch"}(u||(u={})),(s||(s={})).executeRoute="Router.executeRoute",(c||(c={})).runHandler="Node.runHandler",(d||(d={})).runHandler="AppRouteRouteHandlers.runHandler",function(e){e.generateMetadata="ResolveMetadata.generateMetadata",e.generateViewport="ResolveMetadata.generateViewport"}(f||(f={})),(p||(p={})).execute="Middleware.execute";let h=["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"],g=["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"]},7980:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{SpanKind:function(){return s},SpanStatusCode:function(){return u},getTracer:function(){return v}});let o=r(1223);try{n=r(1011)}catch(e){n=r(1011)}let{context:a,propagation:i,trace:l,SpanStatusCode:u,SpanKind:s,ROOT_CONTEXT:c}=n,d=e=>null!==e&&"object"==typeof e&&"function"==typeof e.then,f=(e,t)=>{(null==t?void 0:t.bubble)===!0?e.setAttribute("next.bubble",!0):(t&&e.recordException(t),e.setStatus({code:u.ERROR,message:null==t?void 0:t.message})),e.end()},p=new Map,h=n.createContextKey("next.rootSpanId"),g=0,_=()=>g++;class y{getTracerInstance(){return l.getTracer("next.js","0.0.1")}getContext(){return a}getActiveScopeSpan(){return l.getSpan(null==a?void 0:a.active())}withPropagatedContext(e,t,r){let n=a.active();if(l.getSpanContext(n))return t();let o=i.extract(n,e,r);return a.with(o,t)}trace(...e){var t;let[r,n,i]=e,{fn:u,options:s}="function"==typeof n?{fn:n,options:{}}:{fn:i,options:{...n}},g=s.spanName??r;if(!o.NextVanillaSpanAllowlist.includes(r)&&"1"!==process.env.NEXT_OTEL_VERBOSE||s.hideSpan)return u();let y=this.getSpanContext((null==s?void 0:s.parentSpan)??this.getActiveScopeSpan()),v=!1;y?(null==(t=l.getSpanContext(y))?void 0:t.isRemote)&&(v=!0):(y=(null==a?void 0:a.active())??c,v=!0);let b=_();return s.attributes={"next.span_name":g,"next.span_type":r,...s.attributes},a.with(y.setValue(h,b),()=>this.getTracerInstance().startActiveSpan(g,s,e=>{let t="performance"in globalThis?globalThis.performance.now():void 0,n=()=>{p.delete(b),t&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX&&o.LogSpanAllowList.includes(r||"")&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-${(r.split(".").pop()||"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())}`,{start:t,end:performance.now()})};v&&p.set(b,new Map(Object.entries(s.attributes??{})));try{if(u.length>1)return u(e,t=>f(e,t));let t=u(e);if(d(t))return t.then(t=>(e.end(),t)).catch(t=>{throw f(e,t),t}).finally(n);return e.end(),n(),t}catch(t){throw f(e,t),n(),t}}))}wrap(...e){let t=this,[r,n,i]=3===e.length?e:[e[0],{},e[1]];return o.NextVanillaSpanAllowlist.includes(r)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let e=n;"function"==typeof e&&"function"==typeof i&&(e=e.apply(this,arguments));let o=arguments.length-1,l=arguments[o];if("function"!=typeof l)return t.trace(r,e,()=>i.apply(this,arguments));{let n=t.getContext().bind(a.active(),l);return t.trace(r,e,(e,t)=>(arguments[o]=function(e){return null==t||t(e),n.apply(this,arguments)},i.apply(this,arguments)))}}:i}startSpan(...e){let[t,r]=e,n=this.getSpanContext((null==r?void 0:r.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(t,r,n)}getSpanContext(e){return e?l.setSpan(a.active(),e):void 0}getRootSpanAttributes(){let e=a.active().getValue(h);return p.get(e)}}let v=(()=>{let e=new y;return()=>e})()},3583:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return r}});class r{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},7919:(e,t,r)=>{"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:()=>n,_class_private_field_loose_base:()=>n})},2278:(e,t,r)=>{"use strict";r.r(t),r.d(t,{_:()=>o,_class_private_field_loose_key:()=>o});var n=0;function o(e){return"__private_"+n+++"_"+e}},1607:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n,_interop_require_default:()=>n})},5453:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o,_interop_require_wildcard:()=>o})},9779:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});let n=function(){for(var e,t,r=0,n="",o=arguments.length;r{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n,_interop_require_default:()=>n})}}; \ No newline at end of file diff --git a/frontend/.next/server/chunks/377.js b/frontend/.next/server/chunks/377.js new file mode 100644 index 0000000000000000000000000000000000000000..3073fde7237f2135c37eb94570137d6ecc8d7ead --- /dev/null +++ b/frontend/.next/server/chunks/377.js @@ -0,0 +1 @@ +"use strict";exports.id=377,exports.ids=[377],exports.modules={8377:(e,s,a)=>{a.r(s),a.d(s,{default:()=>u});var t=a(8924),n=a(3911),i=a(2828),r=a(6745);let l=(0,r.Z)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),c=(0,r.Z)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);var o=a(3789),d=a(398),h=a(6927);let m=["Analizza NVIDIA con approccio tecnico e fondamentale.","Trova ETF AI interessanti con rischio definibile.","Confronta S&P 500 vs Nasdaq.","Dove potrebbe entrare un trader momentum?","Quali titoli stanno mostrando forza relativa?","Quali narrative stanno accelerando?","What could the market be missing today?","Compare Nvidia, AMD and Broadcom."];function u(){let[e,s]=(0,n.useState)(""),[a,i]=(0,n.useState)("short and medium term"),[r,c]=(0,n.useState)("balanced"),[d,u]=(0,n.useState)("auto"),[x,j]=(0,n.useState)(),[v,g]=(0,n.useState)([{id:"welcome",role:"assistant",content:"Sono BLUM Chat. Fai una domanda come faresti a un analista buy-side: io recupero contesto BLUM, segnali, news, narrativa, tecnica, fondamentali, memoria storica e restituisco una risposta strutturata. Analisi informativa, non consulenza finanziaria."}]),[_,f]=(0,n.useState)(!1),[k,w]=(0,n.useState)(""),[M,S]=(0,n.useState)(null),z=(0,n.useRef)(null),$=[...v].reverse().find(e=>e.response)?.response,C=$?.candidate_opportunities??[],U=$?.asset_context??[],A=$?.sources_used??[],B=$?.context_coverage??{},L=$?.answer.market_sniper_mode??{},D=(0,n.useMemo)(()=>{let e=$?.market_context??{},s=e.narrative,a=e.market_sentiment;return{dominantTheme:s?.dominant_theme?.theme??M?.dominant_narrative?.theme??"Waiting",marketMood:s?.market_mood??M?.market_mood??"Waiting",articleCount:a?.article_count??M?.market_sentiment?.article_count??0,semanticHits:$?.semantic_evidence?.length??0,memoryHits:$?.training_memory?.length??0,dataQuality:$?.answer.data_quality?.label??"Pending"}},[M,$]),E=async(t,n)=>{t?.preventDefault();let i=(n??e).trim();if(i.length<3||_)return;let l={id:crypto.randomUUID(),role:"user",content:i};g(e=>[...e,l]),s(""),w(""),f(!0);try{let e=await o.h.financialChat({message:i,horizon:a,risk_profile:r,language:d,session_id:x,include_semantic_search:!0});j(e.session_id),g(s=>[...s,{id:crypto.randomUUID(),role:"assistant",content:e.answer.composed_response??e.answer.answer_to_user,response:e}])}catch(s){let e=s.message;w(e),g(s=>[...s,{id:crypto.randomUUID(),role:"assistant",content:`I could not complete the analysis because the backend returned: ${e}`}])}finally{f(!1),window.setTimeout(()=>z.current?.focus(),0)}},T=e=>{s(e),window.setTimeout(()=>z.current?.focus(),0)};return(0,t.jsxs)(t.Fragment,{children:[t.jsx(h.ft,{eyebrow:"BLUM Chat",title:"Financial intelligence conversation.",subtitle:"Multilingual market assistant connected to Blum signals, narratives, technical analysis, fundamentals, memory, backtests and evidence controls.",statusItems:[{label:"Mode",value:$?.intent??"RAG analyst",tone:"info"},{label:"Language",value:$?.language??d},{label:"Risk",value:r},{label:"Evidence",value:`${D.articleCount} news`,tone:$?"positive":"attention"}]}),(0,t.jsxs)("section",{className:"chatgpt-shell blum-chat-shell",children:[(0,t.jsxs)("div",{className:"chatgpt-main",children:[(0,t.jsxs)("div",{className:"chat-thread",children:[v.map(e=>t.jsx(p,{message:e},e.id)),_&&(0,t.jsxs)("div",{className:"chat-bubble assistant",children:[t.jsx("div",{className:"chat-avatar",children:"B"}),(0,t.jsxs)("div",{className:"chat-message-card",children:[t.jsx("span",{className:"chat-role",children:"BLUM is composing"}),t.jsx("p",{children:"Retrieving assets, technicals, fundamentals, sentiment, narrative, memory, contradictions and risk controls..."})]})]})]}),t.jsx("div",{className:"prompt-chip-row chat-starters",children:m.map(e=>t.jsx("button",{className:"prompt-chip",onClick:()=>T(e),children:e},e))}),(0,t.jsxs)("form",{className:"chat-composer",onSubmit:E,children:[(0,t.jsxs)("div",{className:"chat-composer-controls",children:[(0,t.jsxs)("select",{className:"input",value:d,onChange:e=>u(e.target.value),"aria-label":"Language",children:[t.jsx("option",{value:"auto",children:"Auto language"}),t.jsx("option",{value:"it",children:"Italiano"}),t.jsx("option",{value:"en",children:"English"}),t.jsx("option",{value:"de",children:"Deutsch"}),t.jsx("option",{value:"fr",children:"Francais"}),t.jsx("option",{value:"es",children:"Espanol"})]}),(0,t.jsxs)("select",{className:"input",value:a,onChange:e=>i(e.target.value),"aria-label":"Analysis horizon",children:[t.jsx("option",{children:"intraday and short term"}),t.jsx("option",{children:"short and medium term"}),t.jsx("option",{children:"medium and long term"}),t.jsx("option",{children:"multi-horizon"})]}),(0,t.jsxs)("select",{className:"input",value:r,onChange:e=>c(e.target.value),"aria-label":"Risk profile",children:[t.jsx("option",{children:"balanced"}),t.jsx("option",{children:"conservative"}),t.jsx("option",{children:"opportunistic"}),t.jsx("option",{children:"high volatility tolerant"})]})]}),(0,t.jsxs)("div",{className:"chat-input-row",children:[t.jsx("textarea",{ref:z,className:"input chat-input",value:e,onChange:e=>s(e.target.value),placeholder:"Ask BLUM to analyze an asset, compare setups, find selective opportunities, or plan a monitored technical scenario...",rows:2,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),E())}}),t.jsx("button",{className:"button primary chat-send-button",disabled:_||e.trim().length<3,type:"submit","aria-label":"Send",children:t.jsx(l,{size:17})})]}),k&&(0,t.jsxs)("div",{className:"terminal-empty compact",children:["Chat endpoint warning: ",k]})]})]}),(0,t.jsxs)("aside",{className:"chat-context-rail",children:[t.jsx(h.Ez,{title:"Conversation Context",value:D.marketMood,children:(0,t.jsxs)("div",{className:"professional-grid-2",children:[t.jsx(h.i9,{label:"Dominant Theme",value:D.dominantTheme}),t.jsx(h.i9,{label:"Data Quality",value:D.dataQuality}),t.jsx(h.i9,{label:"Semantic Hits",value:D.semanticHits}),t.jsx(h.i9,{label:"Memory Hits",value:D.memoryHits})]})}),t.jsx(h.Ez,{title:"Assets Mentioned",value:`${U.length} names`,children:(0,t.jsxs)("div",{className:"chat-candidate-stack",children:[0===U.length&&t.jsx("div",{className:"terminal-empty compact",children:"Ask about an asset, ETF, sector or market to build context."}),U.slice(0,8).map(e=>t.jsx(b,{asset:e},e.ticker))]})}),t.jsx(h.Ez,{title:"Candidate Queue",value:`${C.length} names`,children:(0,t.jsxs)("div",{className:"chat-candidate-stack",children:[0===C.length&&t.jsx("div",{className:"terminal-empty compact",children:"The assistant will populate a ranked queue from real BLUM evidence."}),C.slice(0,8).map((e,s)=>t.jsx(y,{candidate:e,rank:s+1},`${e.ticker??"candidate"}-${s}`))]})}),L?.asset&&t.jsx(h.Ez,{title:"Market Sniper Mode",value:L.confidence??"Selective",children:(0,t.jsxs)("div",{className:"sniper-box",children:[(0,t.jsxs)("strong",{children:[L.asset," | ",L.setup_type]}),(0,t.jsxs)("span",{children:["Zone: ",L.entry_zone_informational]}),(0,t.jsxs)("span",{children:["Invalidation: ",String(L.invalidation??"n/a")]}),(0,t.jsxs)("span",{children:["Target zone: ",String(L.target_zone_informational??"n/a")]}),t.jsx("span",{children:L.what_could_go_wrong})]})}),(0,t.jsxs)(h.Ez,{title:"Sources Used",value:`${A.length} layers`,children:[t.jsx("div",{className:"source-badge-grid",children:A.map(e=>t.jsx(N,{source:e},`${e.name}-${e.type}`))}),(0,t.jsxs)("div",{className:"context-coverage",children:[(0,t.jsxs)("span",{children:["Price ",B.assets_with_price??0,"/",B.assets_detected??0]}),(0,t.jsxs)("span",{children:["Technicals ",B.assets_with_technical_analysis??0]}),(0,t.jsxs)("span",{children:["Fundamentals ",B.assets_with_fundamentals??0]}),(0,t.jsxs)("span",{children:["News ",B.assets_with_news??0]})]})]}),t.jsx(h.Ez,{title:"Guardrails",value:"Research only",children:(0,t.jsxs)("div",{className:"chat-guardrail-list",children:[t.jsx("span",{children:"No direct buy/sell instruction."}),t.jsx("span",{children:"No guaranteed outcome or market-beating claim."}),t.jsx("span",{children:"Missing data is declared."}),t.jsx("span",{children:"Levels are informational and probabilistic."})]})})]})]})]})}function p({message:e}){let s=e.response;return(0,t.jsxs)("div",{className:`chat-bubble ${e.role}`,children:[t.jsx("div",{className:"chat-avatar",children:"assistant"===e.role?"B":"U"}),(0,t.jsxs)("div",{className:"chat-message-card",children:[t.jsx("span",{className:"chat-role",children:"assistant"===e.role?"BLUM Financial Brain":"You"}),s?.answer.standard_sections?t.jsx(x,{response:s}):t.jsx(j,{text:e.content}),s&&t.jsx(v,{response:s})]})]})}function x({response:e}){return t.jsx("div",{className:"structured-answer",children:e.answer.standard_sections?.map(e=>t.jsxs("section",{className:"structured-section",children:[t.jsx("h3",{children:e.title}),t.jsx("ul",{children:e.bullets.slice(0,8).map((s,a)=>t.jsx("li",{children:s},`${e.key}-${a}`))})]},e.key))})}function j({text:e}){return t.jsx("div",{className:"rich-answer",children:e.split("\n").map((e,s)=>e.trim()?e.startsWith("- ")?t.jsx("li",{children:e.slice(2)},e+s):e.endsWith(":")?t.jsx("h3",{children:e},e+s):t.jsx("p",{children:e},e+s):t.jsx("br",{},`br-${s}`))})}function v({response:e}){return["concise_safe","clarification","error","technical","fundamental"].includes(e.answer.response_style??"structured")?t.jsx("p",{className:"chat-disclaimer",children:e.disclaimer}):(0,t.jsxs)("div",{className:"chat-response-evidence",children:[(0,t.jsxs)("div",{className:"chat-evidence-columns",children:[t.jsx(g,{title:"Supporting Evidence",rows:e.answer.supporting_evidence}),t.jsx(g,{title:"Contradictions",rows:e.answer.contradicting_evidence})]}),(0,t.jsxs)("div",{className:"chat-evidence-columns",children:[t.jsx(g,{title:"Research Plan",rows:e.answer.research_plan??e.answer.what_to_monitor}),t.jsx(g,{title:"What Market May Miss",rows:e.answer.market_may_be_missing??[]})]}),(0,t.jsxs)("div",{className:"scenario-mini-grid",children:[t.jsx(_,{title:"Bull",text:e.answer.bull_case}),t.jsx(_,{title:"Base",text:e.answer.base_case}),t.jsx(_,{title:"Bear",text:e.answer.bear_case})]}),t.jsx("div",{className:"news-list",children:e.semantic_evidence.slice(0,4).map((e,s)=>{let a=e.article??{};return(0,t.jsxs)("a",{className:"news-item",href:a.url??"#",target:"_blank",rel:"noreferrer",children:[t.jsx("strong",{children:a.title??"Untitled evidence"}),(0,t.jsxs)("span",{children:["Similarity ",Number(e.score??0).toFixed(3)," | ",a.source??"unknown source"]})]},`${a.id??a.url??"hit"}-${s}`)})}),t.jsx("p",{className:"chat-disclaimer",children:e.disclaimer})]})}function g({title:e,rows:s}){return(0,t.jsxs)("div",{className:"chat-evidence-list compact-list",children:[t.jsx("strong",{children:e}),0===s.length&&t.jsx("span",{children:"No material evidence retrieved."}),s.slice(0,6).map((s,a)=>t.jsx("span",{children:s},`${e}-${a}`))]})}function _({title:e,text:s}){return(0,t.jsxs)("div",{className:"chat-scenario-card",children:[t.jsx("span",{children:e}),t.jsx("p",{children:s})]})}function b({asset:e}){let s=e.market_snapshot??{};return(0,t.jsxs)("div",{className:"asset-context-pill",children:[(0,t.jsxs)("div",{children:[t.jsx(i.default,{href:(0,d.up)(String(e.ticker)),children:e.ticker}),(0,t.jsxs)("p",{children:[e.name," | ",e.sector]})]}),t.jsx("strong",{children:s.price?`${Number(s.price).toFixed(2)} ${s.currency??""}`:"No price"}),t.jsx("span",{children:s.data_status??"unknown"})]})}function y({candidate:e,rank:s}){let a=String(e.ticker??"");return(0,t.jsxs)("div",{className:"compact-candidate",children:[(0,t.jsxs)("strong",{children:["#",s]}),(0,t.jsxs)("div",{children:[a?t.jsx(i.default,{href:(0,d.up)(a),children:a}):t.jsx("span",{children:"n/a"}),(0,t.jsxs)("p",{children:[e.name??"Asset"," | ",e.sector??"sector pending"]})]}),t.jsx(h.Dk,{value:e.opportunity_score,label:"opp"}),t.jsx(h.en,{risk:e.risk_level??"Not rated",score:e.risk_score}),t.jsx(h.IL,{value:e.technical_score,label:"Tech"})]})}function N({source:e}){return(0,t.jsxs)("div",{className:"source-badge",children:[t.jsx(c,{size:13}),(0,t.jsxs)("div",{children:[t.jsx("strong",{children:e.name}),(0,t.jsxs)("span",{children:[e.type," | coverage ",String(e.coverage??0)]})]})]})}}}; \ No newline at end of file diff --git a/frontend/.next/server/chunks/394.js b/frontend/.next/server/chunks/394.js new file mode 100644 index 0000000000000000000000000000000000000000..158b5537fdce3460bca30e1f506337ad7f31ca76 --- /dev/null +++ b/frontend/.next/server/chunks/394.js @@ -0,0 +1 @@ +exports.id=394,exports.ids=[394],exports.modules={9257:(e,i,a)=>{Promise.resolve().then(a.bind(a,5877))},9699:(e,i,a)=>{Promise.resolve().then(a.t.bind(a,6544,23)),Promise.resolve().then(a.t.bind(a,3477,23)),Promise.resolve().then(a.t.bind(a,5116,23)),Promise.resolve().then(a.t.bind(a,6676,23)),Promise.resolve().then(a.t.bind(a,9645,23)),Promise.resolve().then(a.t.bind(a,8850,23))},5877:(e,i,a)=>{"use strict";a.d(i,{AppShell:()=>C});var n=a(8924),t=a(2828),r=a(8975),s=a(3911),l=a(9773),o=a(7540),c=a(470),d=a(9534),m=a(3600),g=a(7993),p=a(5107),u=a(2567),h=a(6839),$=a(3187),y=a(3041),f=a(6635),b=a(5089),v=a(9779);a(3789);let k=[{href:"/",label:"Command",icon:l.Z,aliases:["/dashboard"]},{href:"/stock-radar",label:"Radar",icon:o.Z,aliases:["/etf-radar","/ipo-radar","/assets"]},{href:"/signal-lab",label:"Signals",icon:c.Z},{href:"/sniper",label:"Sniper",icon:d.Z},{href:"/market-brain",label:"Brain",icon:m.Z},{href:"/learning",label:"Learning",icon:g.Z},{href:"/narratives",label:"Narratives",icon:p.Z,aliases:["/themes"]},{href:"/chart-analyst",label:"Charts",icon:u.Z},{href:"/performance",label:"Performance",icon:h.Z},{href:"/chat",label:"Chat",icon:$.Z,aliases:["/chatbot"]}];function C({children:e}){let i=(0,r.usePathname)(),[a,l]=(0,s.useState)(null);return(0,n.jsxs)("div",{className:"app-shell",children:[(0,n.jsxs)("aside",{className:"sidebar",children:[(0,n.jsxs)("div",{className:"brand",children:[n.jsx("div",{className:"brand-mark",children:"B"}),(0,n.jsxs)("div",{children:[n.jsx("strong",{children:"Blum"}),n.jsx("span",{children:"Market Intelligence Officer"})]})]}),(0,n.jsxs)("div",{className:"sidebar-market-state",children:[n.jsx(y.Z,{size:15}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("strong",{children:[a?.database_counts?.signals??0," signals"]}),(0,n.jsxs)("span",{children:[a?.database_counts?.news_articles??0," news articles indexed"]})]})]}),n.jsx("nav",{children:k.map(e=>{let a=e.icon,r=i===e.href||e.aliases?.some(e=>i.startsWith(e))||"/"!==e.href&&i.startsWith(e.href);return(0,n.jsxs)(t.default,{href:e.href,className:(0,v.Z)("nav-item",r&&"active"),children:[n.jsx(a,{size:17}),n.jsx("span",{children:e.label})]},e.href)})}),(0,n.jsxs)("div",{className:"system-card",children:[(0,n.jsxs)("div",{children:[n.jsx(f.Z,{size:15})," v",a?.app_version??"loading"," | ",a?.feature_set??"loading"]}),(0,n.jsxs)("div",{children:[n.jsx(m.Z,{size:15})," ",a?.runtime_flags.financial_brain_model_enabled?"Finance LLM active":"Evidence fallback"]}),(0,n.jsxs)("div",{children:[n.jsx(g.Z,{size:15})," ",a?.active_models?.financial_brain_configured??"model pending"]}),(0,n.jsxs)("div",{children:[n.jsx(b.Z,{size:15})," Research only"]}),n.jsx(t.default,{href:"/methodology",children:"Methodology and governance"})]})]}),n.jsx("main",{className:"workspace",children:e})]})}},3789:(e,i,a)=>{"use strict";a.d(i,{h:()=>u});let n=process.env.NEXT_PUBLIC_API_BASE??"",t=new Map,r=new Map,s={total:0,duplicate:0,cacheHits:0,initialLearningPage:[]};async function l(e){let i=await c(e,{method:"GET",cacheTtlMs:2500,timeoutMs:12e3});if(!i.ok)throw Error(await p(i));return i.json()}async function o(e,i){let a=await c(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i),timeoutMs:2e4});if(!a.ok)throw Error(await p(a));return a.json()}async function c(e,i={}){let a=String(i.method??"GET").toUpperCase(),l=`${a}:${e}:${"string"==typeof i.body?i.body:""}`,o=g();if(s.total+=1,"GET"===a){let i=r.get(l);if(i&&i.expiresAt>Date.now())return s.cacheHits+=1,m(e,a,g()-o,"cache",!1,!0),d(e,a,g()-o,"cache_hit",!0),new Response(JSON.stringify(i.value),{status:200,headers:{"Content-Type":"application/json","X-BLUM-FRONTEND-CACHE":"true"}});let n=t.get(l);if(n)return s.duplicate+=1,m(e,a,g()-o,"deduped",!0,!1),d(e,a,g()-o,"deduped",!0),n.then(e=>new Response(JSON.stringify(e),{status:200,headers:{"Content-Type":"application/json","X-BLUM-FRONTEND-DEDUPE":"true"}}))}let c=new AbortController,p=setTimeout(()=>c.abort(),i.timeoutMs??12e3),u=fetch(`${n}${e}`,{...i,method:a,cache:"no-store",signal:c.signal}).then(async n=>{let t=g()-o;if(m(e,a,t,n.ok?"ok":`http_${n.status}`,!1,!1),d(e,a,t,n.ok?"ok":`http_${n.status}`),"GET"===a&&n.ok&&i.cacheTtlMs&&!e.includes("/performance/")){let e=n.clone();try{r.set(l,{expiresAt:Date.now()+i.cacheTtlMs,value:await e.json()})}catch{}}return n}).catch(async t=>{let r=g()-o;if(m(e,a,r,"error",!1,!1),d(e,a,r,"error"),"GET"===a&&!String(t?.name).includes("Abort")&&!e.includes("/performance/"))return fetch(`${n}${e}`,{...i,method:a,cache:"no-store"});throw t}).finally(()=>{clearTimeout(p),t.delete(l)});return"GET"===a&&t.set(l,u.then(e=>e.clone().json()).catch(()=>void 0)),u}function d(e,i,a,t,r=!1){if(e.includes("/performance/frontend-widget")||e.includes("/api/performance/frontend-widget"))return;let s="undefined"!=typeof location&&location.pathname.startsWith("/learning");(r||s||!(a<400)||e.includes("/learning"))&&fetch(`${n}/api/performance/frontend-widget`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:`frontend.api.${i}.${e}`,duration_ms:a,status:t,source:"fetchBlum"}),keepalive:!0}).catch(()=>void 0)}function m(e,i,a,n,t,r){"undefined"!=typeof location&&location.pathname.startsWith("/learning")&&(s.initialLearningPage.push({path:e,method:i,duration_ms:Number(a.toFixed(2)),status:n,duplicate:t,cache_hit:r}),s.initialLearningPage.length>160&&s.initialLearningPage.shift())}function g(){return"undefined"==typeof performance?Date.now():performance.now()}async function p(e){try{let i=await e.json(),a="string"==typeof i?.detail?i.detail:JSON.stringify(i?.detail??i);return`${e.status} ${e.statusText}: ${a}`}catch{return`${e.status} ${e.statusText}`}}let u={clientRequestStats:()=>({...s,initialLearningPage:[...s.initialLearningPage]}),performanceDiagnostics:()=>l("/performance/diagnostics"),recordPerformanceWidget:e=>o("/performance/frontend-widget",e),systemStatus:()=>l("/system/status"),brainStatus:()=>l("/brain/status"),brainAccuracy:()=>l("/brain/accuracy"),brainLearningEvents:(e=50)=>l(`/brain/learning-events?limit=${e}`),brainSignalEvaluations:(e=120,i)=>l(`/brain/signal-evaluations?limit=${e}${i?`&ticker=${encodeURIComponent(i)}`:""}`),brainAssetMemory:e=>l(`/brain/asset-memory/${encodeURIComponent(e)}`),brainConfidenceHistory:e=>l(`/brain/confidence-history/${encodeURIComponent(e)}`),evaluateBrainSignals:(e=240)=>o(`/brain/evaluate-signals?limit=${e}`,{}),recalculateBrainWeights:()=>o("/brain/recalculate-weights",{}),runLearningCycle:(e=240)=>o(`/brain/run-learning-cycle?limit=${e}`,{}),learningDashboard:()=>l("/learning/dashboard"),learningSummary:()=>l("/api/learning-intelligence/summary"),dashboardSnapshot:e=>l(`/api/dashboard-snapshots/${encodeURIComponent(e)}`),startupStatus:()=>l("/startup/status"),learningRuns:(e=50)=>l(`/learning/runs?limit=${e}`),learningPredictions:(e=80,i)=>l(`/learning/predictions?limit=${e}${i?`&ticker=${encodeURIComponent(i)}`:""}`),learningMemory:(e=40)=>l(`/learning/memory?limit=${e}`),runBlumLearningLoop:(e=25)=>o(`/learning/run-cycle?batch_size=${e}`,{}),reasoningCoreStatus:()=>l("/model/reasoning-core/status"),reasoningCoreDiagnostics:()=>l("/model/reasoning-core/diagnostics"),thesisSurvival:(e=40)=>l(`/model/thesis-survival?limit=${e}`),convictionDecay:(e=40)=>l(`/model/conviction-decay?limit=${e}`),reliabilityByRegime:(e=40)=>l(`/model/reliability-by-regime?limit=${e}`),thesisCompetitions:(e=30)=>l(`/model/thesis-competitions?limit=${e}`),ensembleStatus:()=>l("/model/ensemble/status"),benchmarkRelative:(e=40)=>l(`/model/benchmark-relative?limit=${e}`),trainingQuality:(e=40)=>l(`/model/training/quality?limit=${e}`),sniperStatus:()=>l("/api/sniper/status"),sniperCandidates:(e=40,i=!1)=>l(`/api/sniper/candidates?limit=${e}&persist=${i?"true":"false"}`),sniperCandidate:(e,i=!1)=>l(`/api/sniper/candidates/${encodeURIComponent(e)}?persist=${i?"true":"false"}`),sniperEvaluate:(e=40,i)=>o(`/api/sniper/evaluate?limit=${e}${i?`&tickers=${encodeURIComponent(i)}`:""}`,{}),sniperSimulate:(e=120,i)=>o(`/api/sniper/simulate?limit=${e}${i?`&ticker=${encodeURIComponent(i)}`:""}`,{}),sniperSetups:()=>l("/api/sniper/setups"),sniperRegimes:(e=80)=>l(`/api/sniper/regimes?limit=${e}`),sniperMetrics:()=>l("/api/sniper/metrics"),sniperLessons:(e=40)=>l(`/api/sniper/lessons?limit=${e}`),tradingGameStatus:()=>l("/api/trading-game/status"),tradingGameRun:(e=60)=>o(`/api/trading-game/run?batch_size=${e}`,{}),tradingGameReset:()=>o("/api/trading-game/reset",{}),tradingGameEquity:(e=500,i)=>l(`/api/trading-game/equity?limit=${e}${i?`&game_id=${i}`:""}`),tradingGameAnnotatedEquity:(e=800,i)=>l(`/api/trading-game/equity/annotated?limit=${e}${i?`&game_id=${i}`:""}`),tradingGameTrades:(e=200,i)=>l(`/api/trading-game/trades?limit=${e}${i?`&game_id=${i}`:""}`),tradingGameLedger:(e=200,i)=>l(`/api/trading-game/ledger?limit=${e}${i?`&game_id=${i}`:""}`),tradingGameLedgerSummary:e=>l(`/api/trading-game/ledger/summary${e?`?game_id=${e}`:""}`),tradingGameLedgerByTicker:(e,i=200)=>l(`/api/trading-game/ledger/by-ticker/${encodeURIComponent(e)}?limit=${i}`),tradingGameLedgerBySetup:(e,i=200)=>l(`/api/trading-game/ledger/by-setup/${encodeURIComponent(e)}?limit=${i}`),tradingGameLedgerByOutcome:(e,i=200)=>l(`/api/trading-game/ledger/by-outcome/${encodeURIComponent(e)}?limit=${i}`),tradingGameLedgerByCycle:(e,i=500)=>l(`/api/trading-game/ledger/by-cycle/${e}?limit=${i}`),tradingGameTradeDetail:e=>l(`/api/trading-game/trades/${e}`),tradingGameTradeAttribution:e=>l(`/api/trading-game/trades/${e}/attribution`),tradingGameTradeQuality:e=>l(`/api/trading-game/trades/${e}/quality`),tradingGameTradePnlBreakdown:e=>l(`/api/trading-game/trades/${e}/pnl-breakdown`),tradingGameFailures:(e=80)=>l(`/api/trading-game/failures?limit=${e}`),tradingGameLessons:(e=50)=>l(`/api/trading-game/lessons?limit=${e}`),tradingGameBenchmark:e=>l(`/api/trading-game/benchmark${e?`?game_id=${e}`:""}`),tradingGameReproducibility:(e=120)=>l(`/api/trading-game/reproducibility?limit=${e}`),tradingGameLearningEvidence:(e=120)=>l(`/api/trading-game/learning-evidence?limit=${e}`),tradingGameRealityCheck:e=>l(`/api/trading-game/reality-check${e?`?game_id=${e}`:""}`),tradingGamePnlBreakdown:e=>l(`/api/trading-game/pnl-breakdown${e?`?game_id=${e}`:""}`),tradingGameCycles:(e=100,i)=>l(`/api/trading-game/cycles?limit=${e}${i?`&game_id=${i}`:""}`),tradingGameCurrentCycle:e=>l(`/api/trading-game/cycles/current${e?`?game_id=${e}`:""}`),tradingGameCycleStats:e=>l(`/api/trading-game/cycles/stats${e?`?game_id=${e}`:""}`),tradingGameCycleDetail:e=>l(`/api/trading-game/cycles/${e}`),tradingGameCycleReset:e=>o(`/api/trading-game/cycles/reset${e?`?game_id=${e}`:""}`,{}),tradingGameIntelligenceMetrics:e=>l(`/api/trading-game/intelligence-metrics${e?`?game_id=${e}`:""}`),tradingGameIntelligenceRolling:e=>l(`/api/trading-game/intelligence-metrics/rolling${e?`?game_id=${e}`:""}`),tradingGameIntelligenceBySetup:e=>l(`/api/trading-game/intelligence-metrics/by-setup${e?`?game_id=${e}`:""}`),tradingGameIntelligenceByRegime:e=>l(`/api/trading-game/intelligence-metrics/by-regime${e?`?game_id=${e}`:""}`),tradingGameIntelligenceBySector:e=>l(`/api/trading-game/intelligence-metrics/by-sector${e?`?game_id=${e}`:""}`),tradingGameIntelligenceByCycle:e=>l(`/api/trading-game/intelligence-metrics/by-cycle${e?`?game_id=${e}`:""}`),tradingGameHistoricalVsLive:()=>l("/api/trading-game/historical-vs-live"),liveTradingGameStatus:()=>l("/api/live-trading-game/status"),liveTradingGameRunCycle:()=>o("/api/live-trading-game/run-cycle",{}),liveTradingGamePositions:()=>l("/api/live-trading-game/positions"),liveTradingGameTrades:()=>l("/api/live-trading-game/trades"),liveTradingGameLedger:(e=200)=>l(`/api/live-trading-game/ledger?limit=${e}`),liveTradingGameEquity:()=>l("/api/live-trading-game/equity"),liveTradingGameMetrics:()=>l("/api/live-trading-game/metrics"),liveTradingGameCompareHistorical:()=>l("/api/live-trading-game/compare-historical"),learningIntelligenceDashboard:()=>l("/api/learning-intelligence/dashboard"),learningTradingPower:()=>l("/api/learning-intelligence/trading-power"),recalculateLearningTradingPower:()=>o("/api/learning-intelligence/trading-power/recalculate",{}),learningBenchmarks:()=>l("/api/learning-intelligence/benchmarks"),learningBenchmark:e=>l(`/api/learning-intelligence/benchmarks/${encodeURIComponent(e)}`),recalculateLearningBenchmarks:()=>o("/api/learning-intelligence/benchmarks/recalculate",{}),learningProgress:()=>l("/api/learning-intelligence/progress"),learningProgressRolling:()=>l("/api/learning-intelligence/progress/rolling"),learningProgressBySetup:()=>l("/api/learning-intelligence/progress/by-setup"),learningProgressByRegime:()=>l("/api/learning-intelligence/progress/by-regime"),learningWeaknessMap:()=>l("/api/learning-intelligence/weakness-map"),learningWeaknessBySetup:()=>l("/api/learning-intelligence/weakness-map/by-setup"),learningWeaknessByRegime:()=>l("/api/learning-intelligence/weakness-map/by-regime"),learningWeaknessBySector:()=>l("/api/learning-intelligence/weakness-map/by-sector"),learningWeaknessByEngine:()=>l("/api/learning-intelligence/weakness-map/by-engine"),learningSelfImprovementActions:(e=80)=>l(`/api/learning-intelligence/self-improvement/actions?limit=${e}`),generateLearningSelfImprovement:()=>o("/api/learning-intelligence/self-improvement/generate",{}),applyLearningSelfImprovement:e=>o(`/api/learning-intelligence/self-improvement/apply/${e}`,{}),evaluateLearningSelfImprovement:e=>o(`/api/learning-intelligence/self-improvement/evaluate/${e}`,{}),decisionIntelligenceDashboard:()=>l("/api/decision-intelligence/dashboard"),decisionSuperiority:()=>l("/api/decision-intelligence/superiority"),recalculateDecisionSuperiority:()=>o("/api/decision-intelligence/superiority/recalculate",{}),decisionUniverseSnapshots:()=>l("/api/decision-intelligence/universe-snapshots"),recalculateDecisionUniverseSnapshots:()=>o("/api/decision-intelligence/universe-snapshots/recalculate",{}),missedOpportunities:()=>l("/api/decision-intelligence/missed-opportunities"),businessQualityDashboard:()=>l("/api/business-quality/dashboard"),businessQualityScores:(e=80)=>l(`/api/business-quality/scores?limit=${e}`),recalculateBusinessQuality:(e=80)=>o(`/api/business-quality/recalculate?limit=${e}`,{}),portfolioIntelligenceDashboard:()=>l("/api/portfolio-intelligence/dashboard"),portfolioQuality:()=>l("/api/portfolio-intelligence/quality"),recalculatePortfolioIntelligence:()=>o("/api/portfolio-intelligence/recalculate",{}),chartAnalyzeTicker:(e,i="6M",a="1y",n=!1)=>o(`/chart/analyze-ticker?ticker=${encodeURIComponent(e)}&timeframe=${encodeURIComponent(i)}&period=${encodeURIComponent(a)}&include_visual=${n?"true":"false"}`,{}),chartTechnicalReport:(e,i="6M")=>l(`/chart/technical-report/${encodeURIComponent(e)}?timeframe=${encodeURIComponent(i)}`),chartLevels:(e,i="6M")=>l(`/chart/levels/${encodeURIComponent(e)}?timeframe=${encodeURIComponent(i)}`),chartSignals:(e,i="6M")=>l(`/chart/signals/${encodeURIComponent(e)}?timeframe=${encodeURIComponent(i)}`),chartHistory:(e,i=30)=>l(`/chart/history/${encodeURIComponent(e)}?limit=${i}`),assets:()=>l("/assets"),asset:e=>l(`/assets/${encodeURIComponent(e)}`),overview:()=>l("/dashboard/overview"),liveNews:(e=60)=>l(`/news/live?limit=${e}`),marketSentiment:(e=48)=>l(`/sentiment/market?hours=${e}`),dataCoverage:()=>l("/data/coverage"),repairData:(e=36)=>o(`/data/repair?limit=${e}`,{}),accuracyOverview:()=>l("/accuracy/overview"),runAccuracy:(e=80)=>o(`/accuracy/run?limit=${e}`,{}),assetAccuracy:e=>l(`/accuracy/${encodeURIComponent(e)}`),signalValidation:(e=240)=>l(`/validation/signals?limit=${e}`),macroOverview:()=>l("/macro/overview"),updateMacro:()=>o("/macro/update",{}),updateFundamentals:(e=24)=>o(`/fundamentals/update?limit=${e}`,{}),fundamentals:e=>l(`/fundamentals/${encodeURIComponent(e)}`),executiveDashboard:()=>l("/intelligence/executive"),opportunityRadar:(e=30)=>l(`/intelligence/opportunities?limit=${e}`),marketNarrative:()=>l("/intelligence/narrative"),communitySentiment:()=>l("/intelligence/community"),watchlist:()=>l("/intelligence/watchlist"),addWatchlist:(e,i="")=>o(`/intelligence/watchlist/${encodeURIComponent(e)}?thesis=${encodeURIComponent(i)}`,{}),portfolioScenario:(e="balanced")=>l(`/intelligence/portfolio-scenario?risk_profile=${encodeURIComponent(e)}`),intelligenceReport:e=>l(`/intelligence/reports/${encodeURIComponent(e)}`),similarBacktest:e=>l(`/intelligence/backtest/${encodeURIComponent(e)}`),pipelineStatus:()=>l("/pipeline/status"),topSignals:(e="")=>l(`/signals/top${e}`),signal:e=>l(`/signals/${e}`),sentiment:e=>l(`/sentiment/${e}`),explain:e=>l(`/ai/explain/${e}`),relatedNews:e=>l(`/related-news?ticker=${e}`),themes:()=>l("/themes"),themeDetail:e=>l(`/themes/${encodeURIComponent(e)}`),etfTrends:()=>l("/etf-trends"),stockRadar:(e=80)=>l(`/stock-radar?limit=${e}`),updateStockRadar:(e=36)=>o(`/stock-radar/update?limit=${e}`,{}),ipoRadar:(e=80)=>l(`/ipo-radar?limit=${e}`),updateIpoRadar:(e=50)=>o(`/ipo-radar/update?limit_per_form=${e}`,{}),secSubmissions:(e,i=!1)=>l(`/ipo-radar/sec-submissions/${e}?persist=${i?"true":"false"}`),marketBrain:()=>l("/market-brain"),marketBrainHistory:(e=20)=>l(`/market-brain/history?limit=${e}`),runMarketBrain:(e=!1)=>o(`/market-brain/run?refresh_pipeline=${e?"true":"false"}&refresh_sec=true`,{}),modelStatus:()=>l("/ai/models/status"),semanticSearch:e=>o("/semantic-search",{query:e,limit:12}),financialChat:e=>o("/api/chat",e),financialChatContext:()=>l("/api/chat/context"),financialChatHistory:(e=80)=>l(`/api/chat/history?limit=${e}`),marketUpdate:()=>o("/market/update",{period:"max",limit:36}),newsUpdate:()=>o("/news/update",{lookback_hours:72,limit_per_feed:35}),runSignals:()=>o("/signals/run",{refresh_prices:!1,limit:36}),runPipeline:()=>o("/pipeline/run",{refresh_prices:!1,limit:36}),backtest:e=>o(`/backtest/${e}`,{})}},8777:(e,i,a)=>{"use strict";a.r(i),a.d(i,{default:()=>s,metadata:()=>r});var n=a(5886);a(9944);let t=(0,a(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/components/AppShell.tsx#AppShell`),r={title:"Blum AI Financial Intelligence",description:"Open-source AI financial intelligence case study for equities, ETFs, signals and explainability."};function s({children:e}){return n.jsx("html",{lang:"en",children:n.jsx("body",{children:n.jsx(t,{children:e})})})}},9944:()=>{}}; \ No newline at end of file diff --git a/frontend/.next/server/chunks/590.js b/frontend/.next/server/chunks/590.js new file mode 100644 index 0000000000000000000000000000000000000000..249c37c3b36405c8e1ed909c27820ac93d2ff1aa --- /dev/null +++ b/frontend/.next/server/chunks/590.js @@ -0,0 +1,6 @@ +"use strict";exports.id=590,exports.ids=[590],exports.modules={1590:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Head:function(){return y},Html:function(){return I},Main:function(){return T},NextScript:function(){return S},default:function(){return P}});let r=n(997),i=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(void 0);if(n&&n.has(e))return n.get(e);var r={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}(n(6689)),o=n(659),s=n(2560),a=n(1004),l=function(e){return e&&e.__esModule?e:{default:e}}(n(3061)),u=n(8083),c=n(8536);function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}let f=new Set;function d(e,t,n){let r=(0,s.getPageFiles)(e,"/_app"),i=n?[]:(0,s.getPageFiles)(e,t);return{sharedFiles:r,pageFiles:i,allFiles:[...new Set([...r,...i])]}}function h(e,t){let{assetPrefix:n,buildManifest:i,assetQueryString:o,disableOptimizedLoading:s,crossOrigin:a}=e;return i.polyfillFiles.filter(e=>e.endsWith(".js")&&!e.endsWith(".module.js")).map(e=>(0,r.jsx)("script",{defer:!s,nonce:t.nonce,crossOrigin:t.crossOrigin||a,noModule:!0,src:`${n}/_next/${(0,c.encodeURIPath)(e)}${o}`},e))}function m({styles:e}){if(!e)return null;let t=Array.isArray(e)?e:[];if(e.props&&Array.isArray(e.props.children)){let n=e=>{var t,n;return null==e?void 0:null==(n=e.props)?void 0:null==(t=n.dangerouslySetInnerHTML)?void 0:t.__html};e.props.children.forEach(e=>{Array.isArray(e)?e.forEach(e=>n(e)&&t.push(e)):n(e)&&t.push(e)})}return(0,r.jsx)("style",{"amp-custom":"",dangerouslySetInnerHTML:{__html:t.map(e=>e.props.dangerouslySetInnerHTML.__html).join("").replace(/\/\*# sourceMappingURL=.*\*\//g,"").replace(/\/\*@ sourceURL=.*?\*\//g,"")}})}function _(e,t,n){let{dynamicImports:i,assetPrefix:o,isDevelopment:s,assetQueryString:a,disableOptimizedLoading:l,crossOrigin:u}=e;return i.map(e=>!e.endsWith(".js")||n.allFiles.includes(e)?null:(0,r.jsx)("script",{async:!s&&l,defer:!l,src:`${o}/_next/${(0,c.encodeURIPath)(e)}${a}`,nonce:t.nonce,crossOrigin:t.crossOrigin||u},e))}function g(e,t,n){var i;let{assetPrefix:o,buildManifest:s,isDevelopment:a,assetQueryString:l,disableOptimizedLoading:u,crossOrigin:p}=e;return[...n.allFiles.filter(e=>e.endsWith(".js")),...null==(i=s.lowPriorityFiles)?void 0:i.filter(e=>e.endsWith(".js"))].map(e=>(0,r.jsx)("script",{src:`${o}/_next/${(0,c.encodeURIPath)(e)}${l}`,nonce:t.nonce,async:!a&&u,defer:!u,crossOrigin:t.crossOrigin||p},e))}function E(e,t){let{scriptLoader:n,disableOptimizedLoading:o,crossOrigin:s}=e,a=function(e,t){let{assetPrefix:n,scriptLoader:o,crossOrigin:s,nextScriptWorkers:a}=e;if(!a)return null;try{let{partytownSnippet:e}=require("@builder.io/partytown/integration"),a=(Array.isArray(t.children)?t.children:[t.children]).find(e=>{var t,n;return!!e&&!!e.props&&(null==e?void 0:null==(n=e.props)?void 0:null==(t=n.dangerouslySetInnerHTML)?void 0:t.__html.length)&&"data-partytown-config"in e.props});return(0,r.jsxs)(r.Fragment,{children:[!a&&(0,r.jsx)("script",{"data-partytown-config":"",dangerouslySetInnerHTML:{__html:` + partytown = { + lib: "${n}/_next/static/~partytown/" + }; + `}}),(0,r.jsx)("script",{"data-partytown":"",dangerouslySetInnerHTML:{__html:e()}}),(o.worker||[]).map((e,n)=>{let{strategy:r,src:o,children:a,dangerouslySetInnerHTML:l,...u}=e,c={};if(o)c.src=o;else if(l&&l.__html)c.dangerouslySetInnerHTML={__html:l.__html};else if(a)c.dangerouslySetInnerHTML={__html:"string"==typeof a?a:Array.isArray(a)?a.join(""):""};else throw Error("Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script");return(0,i.createElement)("script",{...c,...u,type:"text/partytown",key:o||n,nonce:t.nonce,"data-nscript":"worker",crossOrigin:t.crossOrigin||s})})]})}catch(e){return(0,l.default)(e)&&"MODULE_NOT_FOUND"!==e.code&&console.warn(`Warning: ${e.message}`),null}}(e,t),u=(n.beforeInteractive||[]).filter(e=>e.src).map((e,n)=>{let{strategy:r,...a}=e;return(0,i.createElement)("script",{...a,key:a.src||n,defer:a.defer??!o,nonce:t.nonce,"data-nscript":"beforeInteractive",crossOrigin:t.crossOrigin||s})});return(0,r.jsxs)(r.Fragment,{children:[a,u]})}class y extends i.default.Component{static #e=this.contextType=u.HtmlContext;getCssLinks(e){let{assetPrefix:t,assetQueryString:n,dynamicImports:i,crossOrigin:o,optimizeCss:s,optimizeFonts:a}=this.context,l=e.allFiles.filter(e=>e.endsWith(".css")),u=new Set(e.sharedFiles),p=new Set([]),f=Array.from(new Set(i.filter(e=>e.endsWith(".css"))));if(f.length){let e=new Set(l);p=new Set(f=f.filter(t=>!(e.has(t)||u.has(t)))),l.push(...f)}let d=[];return l.forEach(e=>{let i=u.has(e);s||d.push((0,r.jsx)("link",{nonce:this.props.nonce,rel:"preload",href:`${t}/_next/${(0,c.encodeURIPath)(e)}${n}`,as:"style",crossOrigin:this.props.crossOrigin||o},`${e}-preload`));let a=p.has(e);d.push((0,r.jsx)("link",{nonce:this.props.nonce,rel:"stylesheet",href:`${t}/_next/${(0,c.encodeURIPath)(e)}${n}`,crossOrigin:this.props.crossOrigin||o,"data-n-g":a?void 0:i?"":void 0,"data-n-p":a?void 0:i?void 0:""},e))}),a&&(d=this.makeStylesheetInert(d)),0===d.length?null:d}getPreloadDynamicChunks(){let{dynamicImports:e,assetPrefix:t,assetQueryString:n,crossOrigin:i}=this.context;return e.map(e=>e.endsWith(".js")?(0,r.jsx)("link",{rel:"preload",href:`${t}/_next/${(0,c.encodeURIPath)(e)}${n}`,as:"script",nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||i},e):null).filter(Boolean)}getPreloadMainLinks(e){let{assetPrefix:t,assetQueryString:n,scriptLoader:i,crossOrigin:o}=this.context,s=e.allFiles.filter(e=>e.endsWith(".js"));return[...(i.beforeInteractive||[]).map(e=>(0,r.jsx)("link",{nonce:this.props.nonce,rel:"preload",href:e.src,as:"script",crossOrigin:this.props.crossOrigin||o},e.src)),...s.map(e=>(0,r.jsx)("link",{nonce:this.props.nonce,rel:"preload",href:`${t}/_next/${(0,c.encodeURIPath)(e)}${n}`,as:"script",crossOrigin:this.props.crossOrigin||o},e))]}getBeforeInteractiveInlineScripts(){let{scriptLoader:e}=this.context,{nonce:t,crossOrigin:n}=this.props;return(e.beforeInteractive||[]).filter(e=>!e.src&&(e.dangerouslySetInnerHTML||e.children)).map((e,r)=>{let{strategy:o,children:s,dangerouslySetInnerHTML:a,src:l,...u}=e,c="";return a&&a.__html?c=a.__html:s&&(c="string"==typeof s?s:Array.isArray(s)?s.join(""):""),(0,i.createElement)("script",{...u,dangerouslySetInnerHTML:{__html:c},key:u.id||r,nonce:t,"data-nscript":"beforeInteractive",crossOrigin:n||void 0})})}getDynamicChunks(e){return _(this.context,this.props,e)}getPreNextScripts(){return E(this.context,this.props)}getScripts(e){return g(this.context,this.props,e)}getPolyfillScripts(){return h(this.context,this.props)}makeStylesheetInert(e){return i.default.Children.map(e,e=>{var t,n;if((null==e?void 0:e.type)==="link"&&(null==e?void 0:null==(t=e.props)?void 0:t.href)&&o.OPTIMIZED_FONT_PROVIDERS.some(({url:t})=>{var n,r;return null==e?void 0:null==(r=e.props)?void 0:null==(n=r.href)?void 0:n.startsWith(t)})){let t={...e.props||{},"data-href":e.props.href,href:void 0};return i.default.cloneElement(e,t)}if(null==e?void 0:null==(n=e.props)?void 0:n.children){let t={...e.props||{},children:this.makeStylesheetInert(e.props.children)};return i.default.cloneElement(e,t)}return e}).filter(Boolean)}render(){let{styles:e,ampPath:t,inAmpMode:o,hybridAmp:s,canonicalBase:a,__NEXT_DATA__:l,dangerousAsPath:u,headTags:p,unstable_runtimeJS:f,unstable_JsPreload:h,disableOptimizedLoading:_,optimizeCss:g,optimizeFonts:E,assetPrefix:y,nextFontManifest:S}=this.context,I=!1===f,T=!1===h||!_;this.context.docComponentsRendered.Head=!0;let{head:P}=this.context,O=[],x=[];P&&(P.forEach(e=>{let t;this.context.strictNextHead&&(t=i.default.createElement("meta",{name:"next-head",content:"1"})),e&&"link"===e.type&&"preload"===e.props.rel&&"style"===e.props.as?(t&&O.push(t),O.push(e)):e&&(t&&("meta"!==e.type||!e.props.charSet)&&x.push(t),x.push(e))}),P=O.concat(x));let b=i.default.Children.toArray(this.props.children).filter(Boolean);E&&!o&&(b=this.makeStylesheetInert(b));let N=!1,j=!1;P=i.default.Children.map(P||[],e=>{if(!e)return e;let{type:t,props:n}=e;if(o){let r="";if("meta"===t&&"viewport"===n.name?r='name="viewport"':"link"===t&&"canonical"===n.rel?j=!0:"script"===t&&(n.src&&-1>n.src.indexOf("ampproject")||n.dangerouslySetInnerHTML&&(!n.type||"text/javascript"===n.type))&&(r="{r+=` ${e}="${n[e]}"`}),r+="/>"),r)return console.warn(`Found conflicting amp tag "${e.type}" with conflicting prop ${r} in ${l.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`),null}else"link"===t&&"amphtml"===n.rel&&(N=!0);return e});let v=d(this.context.buildManifest,this.context.__NEXT_DATA__.page,o),R=function(e,t,n=""){if(!e)return{preconnect:null,preload:null};let i=e.pages["/_app"],o=e.pages[t],s=Array.from(new Set([...i??[],...o??[]]));return{preconnect:0===s.length&&(i||o)?(0,r.jsx)("link",{"data-next-font":e.pagesUsingSizeAdjust?"size-adjust":"",rel:"preconnect",href:"/",crossOrigin:"anonymous"}):null,preload:s?s.map(e=>{let t=/\.(woff|woff2|eot|ttf|otf)$/.exec(e)[1];return(0,r.jsx)("link",{rel:"preload",href:`${n}/_next/${(0,c.encodeURIPath)(e)}`,as:"font",type:`font/${t}`,crossOrigin:"anonymous","data-next-font":e.includes("-s")?"size-adjust":""},e)}):null}}(S,u,y);return(0,r.jsxs)("head",{...function(e){let{crossOrigin:t,nonce:n,...r}=e;return r}(this.props),children:[this.context.isDevelopment&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("style",{"data-next-hide-fouc":!0,"data-ampdevmode":o?"true":void 0,dangerouslySetInnerHTML:{__html:"body{display:none}"}}),(0,r.jsx)("noscript",{"data-next-hide-fouc":!0,"data-ampdevmode":o?"true":void 0,children:(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{display:block}"}})})]}),P,this.context.strictNextHead?null:(0,r.jsx)("meta",{name:"next-head-count",content:i.default.Children.count(P||[]).toString()}),b,E&&(0,r.jsx)("meta",{name:"next-font-preconnect"}),R.preconnect,R.preload,o&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("meta",{name:"viewport",content:"width=device-width,minimum-scale=1,initial-scale=1"}),!j&&(0,r.jsx)("link",{rel:"canonical",href:a+n(3101).cleanAmpPath(u)}),(0,r.jsx)("link",{rel:"preload",as:"script",href:"https://cdn.ampproject.org/v0.js"}),(0,r.jsx)(m,{styles:e}),(0,r.jsx)("style",{"amp-boilerplate":"",dangerouslySetInnerHTML:{__html:"body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}"}}),(0,r.jsx)("noscript",{children:(0,r.jsx)("style",{"amp-boilerplate":"",dangerouslySetInnerHTML:{__html:"body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}"}})}),(0,r.jsx)("script",{async:!0,src:"https://cdn.ampproject.org/v0.js"})]}),!o&&(0,r.jsxs)(r.Fragment,{children:[!N&&s&&(0,r.jsx)("link",{rel:"amphtml",href:a+(t||`${u}${u.includes("?")?"&":"?"}amp=1`)}),this.getBeforeInteractiveInlineScripts(),!g&&this.getCssLinks(v),!g&&(0,r.jsx)("noscript",{"data-n-css":this.props.nonce??""}),!I&&!T&&this.getPreloadDynamicChunks(),!I&&!T&&this.getPreloadMainLinks(v),!_&&!I&&this.getPolyfillScripts(),!_&&!I&&this.getPreNextScripts(),!_&&!I&&this.getDynamicChunks(v),!_&&!I&&this.getScripts(v),g&&this.getCssLinks(v),g&&(0,r.jsx)("noscript",{"data-n-css":this.props.nonce??""}),this.context.isDevelopment&&(0,r.jsx)("noscript",{id:"__next_css__DO_NOT_USE__"}),e||null]}),i.default.createElement(i.default.Fragment,{},...p||[])]})}}class S extends i.default.Component{static #e=this.contextType=u.HtmlContext;getDynamicChunks(e){return _(this.context,this.props,e)}getPreNextScripts(){return E(this.context,this.props)}getScripts(e){return g(this.context,this.props,e)}getPolyfillScripts(){return h(this.context,this.props)}static getInlineScriptSource(e){let{__NEXT_DATA__:t,largePageDataBytes:r}=e;try{let i=JSON.stringify(t);if(f.has(t.page))return(0,a.htmlEscapeJsonString)(i);let o=Buffer.from(i).byteLength,s=n(6824).Z;return r&&o>r&&(f.add(t.page),console.warn(`Warning: data for page "${t.page}"${t.page===e.dangerousAsPath?"":` (path "${e.dangerousAsPath}")`} is ${s(o)} which exceeds the threshold of ${s(r)}, this amount of data can reduce performance. +See more info here: https://nextjs.org/docs/messages/large-page-data`)),(0,a.htmlEscapeJsonString)(i)}catch(e){if((0,l.default)(e)&&-1!==e.message.indexOf("circular structure"))throw Error(`Circular structure in "getInitialProps" result of page "${t.page}". https://nextjs.org/docs/messages/circular-structure`);throw e}}render(){let{assetPrefix:e,inAmpMode:t,buildManifest:n,unstable_runtimeJS:i,docComponentsRendered:o,assetQueryString:s,disableOptimizedLoading:a,crossOrigin:l}=this.context,u=!1===i;if(o.NextScript=!0,t)return null;let p=d(this.context.buildManifest,this.context.__NEXT_DATA__.page,t);return(0,r.jsxs)(r.Fragment,{children:[!u&&n.devFiles?n.devFiles.map(t=>(0,r.jsx)("script",{src:`${e}/_next/${(0,c.encodeURIPath)(t)}${s}`,nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||l},t)):null,u?null:(0,r.jsx)("script",{id:"__NEXT_DATA__",type:"application/json",nonce:this.props.nonce,crossOrigin:this.props.crossOrigin||l,dangerouslySetInnerHTML:{__html:S.getInlineScriptSource(this.context)}}),a&&!u&&this.getPolyfillScripts(),a&&!u&&this.getPreNextScripts(),a&&!u&&this.getDynamicChunks(p),a&&!u&&this.getScripts(p)]})}}function I(e){let{inAmpMode:t,docComponentsRendered:n,locale:o,scriptLoader:s,__NEXT_DATA__:a}=(0,u.useHtmlContext)();return n.Html=!0,function(e,t,n){var r,o,s,a;if(!n.children)return;let l=[],u=Array.isArray(n.children)?n.children:[n.children],c=null==(o=u.find(e=>e.type===y))?void 0:null==(r=o.props)?void 0:r.children,p=null==(a=u.find(e=>"body"===e.type))?void 0:null==(s=a.props)?void 0:s.children,f=[...Array.isArray(c)?c:[c],...Array.isArray(p)?p:[p]];i.default.Children.forEach(f,t=>{var n;if(t&&(null==(n=t.type)?void 0:n.__nextScript)){if("beforeInteractive"===t.props.strategy){e.beforeInteractive=(e.beforeInteractive||[]).concat([{...t.props}]);return}if(["lazyOnload","afterInteractive","worker"].includes(t.props.strategy)){l.push(t.props);return}}}),t.scriptLoader=l}(s,a,e),(0,r.jsx)("html",{...e,lang:e.lang||o||void 0,amp:t?"":void 0,"data-ampdevmode":void 0})}function T(){let{docComponentsRendered:e}=(0,u.useHtmlContext)();return e.Main=!0,(0,r.jsx)("next-js-internal-body-render-target",{})}class P extends i.default.Component{static getInitialProps(e){return e.defaultGetInitialProps(e)}render(){return(0,r.jsxs)(I,{children:[(0,r.jsx)(y,{}),(0,r.jsxs)("body",{children:[(0,r.jsx)(T,{}),(0,r.jsx)(S,{})]})]})}}P[o.NEXT_BUILTIN_DOCUMENT]=function(){return(0,r.jsxs)(I,{children:[(0,r.jsx)(y,{}),(0,r.jsxs)("body",{children:[(0,r.jsx)(T,{}),(0,r.jsx)(S,{})]})]})}},659:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{APP_BUILD_MANIFEST:function(){return E},APP_CLIENT_INTERNALS:function(){return K},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return _},AUTOMATIC_FONT_OPTIMIZATION_MANIFEST:function(){return M},BARREL_OPTIMIZATION_PREFIX:function(){return B},BLOCKED_PAGES:function(){return F},BUILD_ID_FILE:function(){return w},BUILD_MANIFEST:function(){return g},CLIENT_PUBLIC_FILES_PATH:function(){return D},CLIENT_REFERENCE_MANIFEST:function(){return W},CLIENT_STATIC_FILES_PATH:function(){return U},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return q},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return V},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return X},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return Q},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return ee},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return J},COMPILER_INDEXES:function(){return o},COMPILER_NAMES:function(){return i},CONFIG_FILES:function(){return C},DEFAULT_RUNTIME_WEBPACK:function(){return et},DEFAULT_SANS_SERIF_FONT:function(){return el},DEFAULT_SERIF_FONT:function(){return ea},DEV_CLIENT_PAGES_MANIFEST:function(){return j},DEV_MIDDLEWARE_MANIFEST:function(){return R},EDGE_RUNTIME_WEBPACK:function(){return en},EDGE_UNSUPPORTED_NODE_APIS:function(){return ed},EXPORT_DETAIL:function(){return P},EXPORT_MARKER:function(){return T},FUNCTIONS_CONFIG_MANIFEST:function(){return y},GOOGLE_FONT_PROVIDER:function(){return eo},IMAGES_MANIFEST:function(){return b},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return Y},MIDDLEWARE_BUILD_MANIFEST:function(){return G},MIDDLEWARE_MANIFEST:function(){return v},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return z},MODERN_BROWSERSLIST_TARGET:function(){return r.default},NEXT_BUILTIN_DOCUMENT:function(){return $},NEXT_FONT_MANIFEST:function(){return I},OPTIMIZED_FONT_PROVIDERS:function(){return es},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return p},PHASE_EXPORT:function(){return l},PHASE_INFO:function(){return d},PHASE_PRODUCTION_BUILD:function(){return u},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return f},PRERENDER_MANIFEST:function(){return O},REACT_LOADABLE_MANIFEST:function(){return A},ROUTES_MANIFEST:function(){return x},RSC_MODULE_TYPES:function(){return ef},SERVER_DIRECTORY:function(){return L},SERVER_FILES_MANIFEST:function(){return N},SERVER_PROPS_ID:function(){return ei},SERVER_REFERENCE_MANIFEST:function(){return H},STATIC_PROPS_ID:function(){return er},STATIC_STATUS_PAGES:function(){return eu},STRING_LITERAL_DROP_BUNDLE:function(){return k},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return S},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ep},UNDERSCORE_NOT_FOUND_ROUTE:function(){return s},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return a}});let r=n(721)._(n(8624)),i={client:"client",server:"server",edgeServer:"edge-server"},o={[i.client]:0,[i.server]:1,[i.edgeServer]:2},s="/_not-found",a=""+s+"/page",l="phase-export",u="phase-production-build",c="phase-production-server",p="phase-development-server",f="phase-test",d="phase-info",h="pages-manifest.json",m="app-paths-manifest.json",_="app-path-routes-manifest.json",g="build-manifest.json",E="app-build-manifest.json",y="functions-config-manifest.json",S="subresource-integrity-manifest",I="next-font-manifest",T="export-marker.json",P="export-detail.json",O="prerender-manifest.json",x="routes-manifest.json",b="images-manifest.json",N="required-server-files.json",j="_devPagesManifest.json",v="middleware-manifest.json",R="_devMiddlewareManifest.json",A="react-loadable-manifest.json",M="font-manifest.json",L="server",C=["next.config.js","next.config.mjs"],w="BUILD_ID",F=["/_document","/_app","/_error"],D="public",U="static",k="__NEXT_DROP_CLIENT_FILE__",$="__NEXT_BUILTIN_DOCUMENT__",B="__barrel_optimize__",W="client-reference-manifest",H="server-reference-manifest",G="middleware-build-manifest",z="middleware-react-loadable-manifest",Y="interception-route-rewrite-manifest",V="main",X=""+V+"-app",K="app-pages-internals",Z="react-refresh",q="amp",J="webpack",Q="polyfills",ee=Symbol(Q),et="webpack-runtime",en="edge-runtime-webpack",er="__N_SSG",ei="__N_SSP",eo="https://fonts.googleapis.com/",es=[{url:eo,preconnect:"https://fonts.gstatic.com"},{url:"https://use.typekit.net",preconnect:"https://use.typekit.net"}],ea={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},el={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},eu=["/500"],ec=1,ep=6e3,ef={client:"client",server:"server"},ed=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([V,Z,q,X]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8536:(e,t)=>{function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return n}})},8521:(e,t)=>{function n(e){return Object.prototype.toString.call(e)}function r(e){if("[object Object]"!==n(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getObjectClassLabel:function(){return n},isPlainObject:function(){return r}})},8624:e=>{e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},2589:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return o}});let r=n(3791),i=n(6573);function o(e){let t=(0,i.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,r.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},2368:(e,t)=>{function n(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return n}})},2955:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePagePath",{enumerable:!0,get:function(){return s}});let r=n(2368),i=n(3791),o=n(5113);function s(e){let t=/^\/index(\/|$)/.test(e)&&!(0,i.isDynamicRoute)(e)?"/index"+e:"/"===e?"/index":(0,r.ensureLeadingSlash)(e);{let{posix:e}=n(5315),r=e.normalize(t);if(r!==t)throw new o.NormalizeError("Requested and resolved page mismatch: "+t+" "+r)}return t}},6573:(e,t)=>{function n(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return n}})},5591:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{normalizeAppPath:function(){return o},normalizeRscURL:function(){return s}});let r=n(2368),i=n(2501);function o(e){return(0,r.ensureLeadingSlash)(e.split("/").reduce((e,t,n,r)=>!t||(0,i.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&n===r.length-1?e:e+"/"+t,""))}function s(e){return e.replace(/\.rsc($|\?)/,"$1")}},3791:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getSortedRoutes:function(){return r.getSortedRoutes},isDynamicRoute:function(){return i.isDynamicRoute}});let r=n(8891),i=n(7593)},7593:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return o}});let r=n(9400),i=/\/\[[^/]+?\](?=\/|$)/;function o(e){return(0,r.isInterceptionRouteAppPath)(e)&&(e=(0,r.extractInterceptionRouteInformation)(e).interceptedRoute),i.test(e)}},8891:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length){this.placeholder=!1;return}if(r)throw Error("Catch-all must be the last part of the URL.");let i=e[0];if(i.startsWith("[")&&i.endsWith("]")){let n=i.slice(1,-1),s=!1;if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1),s=!0),n.startsWith("...")&&(n=n.substring(3),r=!0),n.startsWith("[")||n.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+n+"').");if(n.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+n+"').");function o(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===i.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(r){if(s){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');o(this.optionalRestSlugName,n),this.optionalRestSlugName=n,i="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');o(this.restSlugName,n),this.restSlugName=n,i="[...]"}}else{if(s)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');o(this.slugName,n),this.slugName=n,i="[]"}}this.children.has(i)||this.children.set(i,new n),this.children.get(i)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){let t=new n;return e.forEach(e=>t.insert(e)),t.smoosh()}},2501:(e,t)=>{function n(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return r},isGroupSegment:function(){return n}});let r="__PAGE__",i="__DEFAULT__"},5113:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return g},NormalizeError:function(){return m},PageNotFoundError:function(){return _},SP:function(){return f},ST:function(){return d},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return l},getLocationOrigin:function(){return s},getURL:function(){return a},isAbsoluteUrl:function(){return o},isResSent:function(){return u},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return y}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,i=Array(r),o=0;oi.test(e);function s(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function a(){let{href:e}=window.location,t=s();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&u(n))return r;if(!r)throw Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let f="undefined"!=typeof performance,d=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class m extends Error{}class _ extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function y(e){return JSON.stringify({message:e.message,stack:e.stack})}},3061:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return i},getProperError:function(){return o}});let r=n(8521);function i(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function o(e){return i(e)?e:Error((0,r.isPlainObject)(e)?JSON.stringify(e):e+"")}},6824:(e,t)=>{Object.defineProperty(t,"Z",{enumerable:!0,get:function(){return i}});let n=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],r=(e,t)=>{let n=e;return"string"==typeof t?n=e.toLocaleString(t):!0===t&&(n=e.toLocaleString()),n};function i(e,t){if(!Number.isFinite(e))throw TypeError(`Expected a finite number, got ${typeof e}: ${e}`);if((t=Object.assign({},t)).signed&&0===e)return" 0 B";let i=e<0,o=i?"-":t.signed?"+":"";if(i&&(e=-e),e<1)return o+r(e,t.locale)+" B";let s=Math.min(Math.floor(Math.log10(e)/3),n.length-1);return o+r(e=Number((e/Math.pow(1e3,s)).toPrecision(3)),t.locale)+" "+n[s]}},9400:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return i},extractInterceptionRouteInformation:function(){return s},isInterceptionRouteAppPath:function(){return o}});let r=n(5591),i=["(..)(..)","(.)","(..)","(...)"];function o(e){return void 0!==e.split("/").find(e=>i.find(t=>e.startsWith(t)))}function s(e){let t,n,o;for(let r of e.split("/"))if(n=i.find(e=>r.startsWith(e))){[t,o]=e.split(n,2);break}if(!t||!n||!o)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,r.normalizeAppPath)(t),n){case"(.)":o="/"===t?`/${o}`:t+"/"+o;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);o=t.split("/").slice(0,-1).concat(o).join("/");break;case"(...)":o="/"+o;break;case"(..)(..)":let s=t.split("/");if(s.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);o=s.slice(0,-2).concat(o).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:o}}},1024:(e,t,n)=>{e.exports=n(2785)},8083:(e,t,n)=>{e.exports=n(1024).vendored.contexts.HtmlContext},2560:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getPageFiles",{enumerable:!0,get:function(){return o}});let r=n(2589),i=n(2955);function o(e,t){let n=(0,r.denormalizePagePath)((0,i.normalizePagePath)(t));return e.pages[n]||(console.warn(`Could not find files for ${n} in .next/build-manifest.json`),[])}},1004:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ESCAPE_REGEX:function(){return r},htmlEscapeJsonString:function(){return i}});let n={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},r=/[&><\u2028\u2029]/g;function i(e){return e.replace(r,e=>n[e])}},3101:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cleanAmpPath:function(){return o},debounce:function(){return s},isBlockedPage:function(){return i}});let r=n(659);function i(e){return r.BLOCKED_PAGES.includes(e)}function o(e){return e.match(/\?amp=(y|yes|true|1)/)&&(e=e.replace(/\?amp=(y|yes|true|1)&?/,"?")),e.match(/&=(y|yes|true|1)/)&&(e=e.replace(/&=(y|yes|true|1)/,"")),e=e.replace(/\?$/,"")}function s(e,t,n=1/0){let r,i,o;let s=0,a=0;function l(){let u=Date.now(),c=a+t-u;c<=0||s+n>=u?(r=void 0,e.apply(o,i)):r=setTimeout(l,c)}return function(...e){i=e,o=this,a=Date.now(),void 0===r&&(s=a,r=setTimeout(l,t))}}},721:(e,t)=>{t._=t._interop_require_default=function(e){return e&&e.__esModule?e:{default:e}}}}; \ No newline at end of file diff --git a/frontend/.next/server/chunks/640.js b/frontend/.next/server/chunks/640.js new file mode 100644 index 0000000000000000000000000000000000000000..dd83c93e04709402cf6234d7d3fee4f07c74aa51 --- /dev/null +++ b/frontend/.next/server/chunks/640.js @@ -0,0 +1 @@ +"use strict";exports.id=640,exports.ids=[640],exports.modules={905:(e,l,s)=>{s.d(l,{P:()=>c});var a=s(8924),n=s(3911),i=s(3789),r=s(7749);let t=["1D","5D","1M","3M","6M","YTD","1Y","5Y"];function c({ticker:e,prices:l=[]}){let[s,c]=(0,n.useState)("6M"),[p,x]=(0,n.useState)(null),[j,v]=(0,n.useState)(!1),[g,y]=(0,n.useState)(""),f=async()=>{v(!0),y("");try{x(await i.h.chartAnalyzeTicker(e,s,{"1D":"5d","5D":"1mo","1M":"3mo","3M":"6mo","6M":"1y",YTD:"1y","1Y":"2y","5Y":"5y"}[s]??"1y",!1))}catch(e){y(e.message)}finally{v(!1)}},b=(0,n.useMemo)(()=>(p?.price_series?.length?p.price_series:l).slice(-(({"1D":96,"5D":120,"1M":42,"3M":84,"6M":150,YTD:260,"1Y":260,"5Y":1260})[s]??150)),[p,l,s]),_=p?.hybrid_analysis??{},N=p?.deterministic_analysis??{},w=_.key_levels??{},S=p?.visual_analysis??{},M=function(e,l){let s=e.map(e=>e.date),a=function(e,l){if(!l.length)return[];let s=l[0],a=l[l.length-1];return[{value:e.support_1,color:"#20e070"},{value:e.support_2,color:"#20e070"},{value:e.resistance_1,color:"#ff4d5e"},{value:e.resistance_2,color:"#ff4d5e"},{value:e.invalidation_level,color:"#ffb000"}].filter(e=>e.value).map(e=>({type:"line",xref:"x",yref:"y",x0:s,x1:a,y0:Number(e.value),y1:Number(e.value),line:{color:e.color,width:1,dash:"dot"}}))}(l,s);return{data:[{type:"candlestick",x:s,open:e.map(e=>e.open??e.close),high:e.map(e=>e.high??e.close),low:e.map(e=>e.low??e.close),close:e.map(e=>e.close),increasing:{line:{color:"#20e070"}},decreasing:{line:{color:"#ff4d5e"}},name:"OHLC"},{type:"bar",x:s,y:e.map(e=>e.volume??0),yaxis:"y2",marker:{color:"rgba(77,216,255,.24)"},name:"Volume"}],layout:{shapes:a,xaxis:{rangeslider:{visible:!1},gridcolor:"rgba(255,255,255,.06)"},yaxis:{domain:[.24,1],gridcolor:"rgba(255,255,255,.06)"},yaxis2:{domain:[0,.17],gridcolor:"rgba(255,255,255,.04)"},showlegend:!1}}}(b,w);return(0,a.jsxs)("section",{className:"chart-analyst-shell",children:[(0,a.jsxs)("div",{className:"page-header compact-header",children:[(0,a.jsxs)("div",{children:[a.jsx("div",{className:"kicker",children:"Chart Vision Technical Analyst"}),(0,a.jsxs)("h2",{children:[e," technical chart intelligence."]})]}),(0,a.jsxs)("div",{className:"header-actions",children:[a.jsx("select",{className:"input",value:s,onChange:e=>c(e.target.value),children:t.map(e=>a.jsx("option",{children:e},e))}),a.jsx("button",{className:"button primary",onClick:f,disabled:j,children:j?"Analyzing...":"Analyze chart"})]})]}),g&&(0,a.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["Chart API warning: ",g]}),(0,a.jsxs)("section",{className:"grid-2",children:[a.jsx(r.G,{title:"Price Structure With Key Levels",data:M.data,layout:M.layout,height:430,emptyMessage:"Waiting for stored OHLCV data to render the chart."}),a.jsx(o,{report:p})]}),(0,a.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[a.jsx(d,{levels:w}),a.jsx(u,{hybrid:_})]}),(0,a.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[a.jsx(m,{hybrid:_,visual:S,deterministic:N}),a.jsx(h,{similarity:_.historical_similarity??{}})]})]})}function o({report:e}){let l=e?.deterministic_analysis??{},s=e?.hybrid_analysis??{},n=l.momentum??{},i=l.volatility??{},r=l.volume??{},t=l.patterns?.[0]?.pattern??"pending";return(0,a.jsxs)("div",{className:"panel chart-snapshot-panel",children:[(0,a.jsxs)("div",{className:"panel-head",children:[a.jsx("span",{children:"Technical Snapshot"}),(0,a.jsxs)("strong",{children:[Number(s.confidence_score??e?.confidence??0).toFixed(1)," confidence"]})]}),(0,a.jsxs)("div",{className:"brain-status-grid",children:[a.jsx(p,{label:"Trend",value:String(l.trend_direction??"pending").replaceAll("_"," ")}),a.jsx(p,{label:"Momentum",value:String(n.state??"pending").replaceAll("_"," ")}),a.jsx(p,{label:"Volatility",value:String(i.regime??"pending").replaceAll("_"," ")}),a.jsx(p,{label:"Volume",value:String(r.volume_state??"pending").replaceAll("_"," ")}),a.jsx(p,{label:"Pattern",value:String(t).replaceAll("_"," ")}),a.jsx(p,{label:"Breakout",value:`${Number(l.breakout_probability?.score??0).toFixed(1)}/100`})]}),(0,a.jsxs)("div",{className:"brain-drift info",children:[a.jsx("strong",{children:String(s.timeframe_relevance??"timeframe pending").replaceAll("_"," ")}),a.jsx("span",{children:s.trend_summary??"Technical summary will appear when stored OHLCV evidence is sufficient for the autonomous chart analyst."})]}),a.jsx("p",{children:(e?.warnings??s.warnings)?.join(" ")??"Vision model status and deterministic analysis warnings will appear here."})]})}function d({levels:e}){return(0,a.jsxs)("div",{className:"panel",children:[(0,a.jsxs)("div",{className:"panel-head",children:[a.jsx("span",{children:"Key Levels"}),a.jsx("strong",{children:"zones, not guarantees"})]}),(0,a.jsxs)("div",{className:"key-level-grid",children:[a.jsx(x,{label:"Support 1",value:e.support_1}),a.jsx(x,{label:"Support 2",value:e.support_2}),a.jsx(x,{label:"Resistance 1",value:e.resistance_1}),a.jsx(x,{label:"Resistance 2",value:e.resistance_2}),a.jsx(x,{label:"Breakout",value:e.breakout_level}),a.jsx(x,{label:"Breakdown",value:e.breakdown_level}),a.jsx(x,{label:"Invalidation",value:e.invalidation_level})]})]})}function u({hybrid:e}){return(0,a.jsxs)("div",{className:"panel",children:[(0,a.jsxs)("div",{className:"panel-head",children:[a.jsx("span",{children:"Signal Evidence"}),(0,a.jsxs)("strong",{children:[e.technical_signals?.length??0," signals"]})]}),(0,a.jsxs)("div",{className:"evidence-columns",children:[a.jsx(j,{title:"Bullish Evidence",rows:e.bullish_evidence??[]}),a.jsx(j,{title:"Bearish Evidence",rows:e.bearish_evidence??[]}),a.jsx(j,{title:"Neutral / Uncertain",rows:e.neutral_evidence??[]})]})]})}function m({hybrid:e,visual:l,deterministic:s}){return(0,a.jsxs)("div",{className:"panel",children:[(0,a.jsxs)("div",{className:"panel-head",children:[a.jsx("span",{children:"Analyst Report"}),a.jsx("strong",{children:String(l.mode??"deterministic").replaceAll("_"," ")})]}),a.jsx("p",{children:e.analyst_report??s.technical_summary??"The autonomous chart analyst is waiting for sufficient deterministic technical evidence."}),a.jsx("div",{className:"scenario-list",children:(e.possible_scenarios??[]).map(e=>(0,a.jsxs)("div",{children:[a.jsx("strong",{children:e.name}),a.jsx("span",{children:e.condition}),a.jsx("span",{children:e.impact})]},e.name))}),a.jsx("div",{className:"learning-event-list",style:{marginTop:10},children:(e.what_to_watch_next??[]).slice(0,6).map(e=>a.jsx("span",{children:e},e))})]})}function h({similarity:e}){var l,s;return(0,a.jsxs)("div",{className:"panel",children:[(0,a.jsxs)("div",{className:"panel-head",children:[a.jsx("span",{children:"Historical Similarity"}),a.jsx("strong",{children:e.reliability_score?`${Number(e.reliability_score).toFixed(1)} reliability`:"maturing"})]}),(0,a.jsxs)("div",{className:"brain-status-grid",children:[a.jsx(p,{label:"Similar Setups",value:e.similar_chart_setups??0}),a.jsx(p,{label:"Mature Cases",value:e.mature_cases??0}),a.jsx(p,{label:"7D Avg Return",value:null==(l=e.average_forward_return_7d)||Number.isNaN(Number(l))?"Pending":`${Number(l).toFixed(2)}%`}),a.jsx(p,{label:"Success Rate",value:null==(s=e.success_rate)||Number.isNaN(Number(s))?"Pending":`${Math.round(100*Number(s))}%`})]}),a.jsx("p",{children:e.explanation??"Chart pattern memory will mature as future OHLCV outcomes are observed."})]})}function p({label:e,value:l}){return(0,a.jsxs)("div",{className:"brain-metric",children:[a.jsx("span",{children:e}),a.jsx("strong",{children:l})]})}function x({label:e,value:l}){return(0,a.jsxs)("div",{children:[a.jsx("span",{children:e}),a.jsx("strong",{children:null==l||Number.isNaN(Number(l))?"n/a":Number(l).toFixed(2)})]})}function j({title:e,rows:l}){return(0,a.jsxs)("div",{children:[a.jsx("h3",{children:e}),a.jsx("div",{className:"learning-event-list",children:l.length?l.slice(0,6).map(e=>a.jsx("span",{children:e},e)):a.jsx("span",{children:"No confirmed evidence yet."})})]})}},2522:(e,l,s)=>{s.d(l,{G:()=>n});var a=s(8924);function n({label:e="Loading intelligence snapshot"}){return(0,a.jsxs)("div",{className:"loading-state",children:[a.jsx("div",{}),a.jsx("span",{children:e})]})}},7749:(e,l,s)=>{s.d(l,{G:()=>c});var a=s(8924),n=s(1328),i=s.n(n),r=s(3911);let t=i()(async()=>{},{loadableGenerated:{modules:["components/PlotPanel.tsx -> react-plotly.js"]},ssr:!1});function c({title:e,data:l,layout:s={},height:n=360,emptyMessage:i="Waiting for real data series."}){let c=l.some(e=>[e?.x,e?.y,e?.z,e?.values,e?.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),o={data:l,layout:{autosize:!0,height:n,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...s},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,a.jsxs)("section",{className:"panel",children:[a.jsx("div",{className:"panel-head",children:a.jsx("span",{children:e})}),c?(0,r.createElement)(t,o):a.jsx("div",{className:"plot-empty",children:i})]})}},1328:(e,l,s)=>{Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"default",{enumerable:!0,get:function(){return i}});let a=s(1607);s(8924),s(3911);let n=a._(s(4737));function i(e,l){var s;let a={loading:e=>{let{error:l,isLoading:s,pastDelay:a}=e;return null}};"function"==typeof e&&(a.loader=e);let i={...a,...l};return(0,n.default)({...i,modules:null==(s=i.loadableGenerated)?void 0:s.modules})}("function"==typeof l.default||"object"==typeof l.default&&null!==l.default)&&void 0===l.default.__esModule&&(Object.defineProperty(l.default,"__esModule",{value:!0}),Object.assign(l.default,l),e.exports=l.default)},3880:(e,l,s)=>{Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let a=s(6483);function n(e){let{reason:l,children:s}=e;throw new a.BailoutToCSRError(l)}},4737:(e,l,s)=>{Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"default",{enumerable:!0,get:function(){return o}});let a=s(8924),n=s(3911),i=s(3880),r=s(7083);function t(e){return{default:e&&"default"in e?e.default:e}}let c={loader:()=>Promise.resolve(t(()=>null)),loading:null,ssr:!0},o=function(e){let l={...c,...e},s=(0,n.lazy)(()=>l.loader().then(t)),o=l.loading;function d(e){let t=o?(0,a.jsx)(o,{isLoading:!0,pastDelay:!0,error:null}):null,c=l.ssr?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.PreloadCss,{moduleIds:l.modules}),(0,a.jsx)(s,{...e})]}):(0,a.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(s,{...e})});return(0,a.jsx)(n.Suspense,{fallback:t,children:c})}return d.displayName="LoadableComponent",d}},7083:(e,l,s)=>{Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"PreloadCss",{enumerable:!0,get:function(){return i}});let a=s(8924),n=s(4580);function i(e){let{moduleIds:l}=e,s=(0,n.getExpectedRequestStore)("next/dynamic css"),i=[];if(s.reactLoadableManifest&&l){let e=s.reactLoadableManifest;for(let s of l){if(!e[s])continue;let l=e[s].files.filter(e=>e.endsWith(".css"));i.push(...l)}}return 0===i.length?null:(0,a.jsx)(a.Fragment,{children:i.map(e=>(0,a.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:s.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}}}; \ No newline at end of file diff --git a/frontend/.next/server/chunks/927.js b/frontend/.next/server/chunks/927.js new file mode 100644 index 0000000000000000000000000000000000000000..e965e330c92767d138ad978676f8ce42bab6b325 --- /dev/null +++ b/frontend/.next/server/chunks/927.js @@ -0,0 +1 @@ +"use strict";exports.id=927,exports.ids=[927],exports.modules={6927:(e,s,n)=>{n.d(s,{XK:()=>M,Xz:()=>Z,Ez:()=>g,IL:()=>S,VL:()=>f,i9:()=>N,uy:()=>C,x8:()=>z,pB:()=>F,en:()=>y,Dk:()=>w,cL:()=>_,il:()=>$,ft:()=>k,V8:()=>R,pX:()=>A,bD:()=>T});var i=n(8924),r=n(3911),t=n(2828),a=n(9779),l=n(3041),c=n(5089),o=n(6745);let d=(0,o.Z)("Newspaper",[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]]);var m=n(9773),h=n(2567),x=n(7617),u=n(7993),j=n(6635);let v=(0,o.Z)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),p=(0,o.Z)("ArrowDownRight",[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]]);var b=n(398);function k({eyebrow:e,title:s,subtitle:n,statusItems:r,actions:t}){return(0,i.jsxs)("header",{className:"terminal-header",children:[(0,i.jsxs)("div",{children:[i.jsx("div",{className:"terminal-eyebrow",children:e}),i.jsx("h1",{children:s}),n&&i.jsx("p",{children:n})]}),(0,i.jsxs)("div",{className:"terminal-header-right",children:[!!r?.length&&i.jsx("div",{className:"terminal-status-grid",children:r.map(e=>(0,i.jsxs)("div",{className:(0,a.Z)("terminal-status",e.tone&&`tone-${e.tone}`),children:[i.jsx("span",{children:e.label}),i.jsx("strong",{children:e.value})]},`${e.label}-${e.value}`))}),t&&i.jsx("div",{className:"terminal-actions",children:t})]})]})}function g({title:e,value:s,subtitle:n,children:r,dense:t=!1,className:l,action:c}){return(0,i.jsxs)("section",{className:(0,a.Z)("bloomberg-panel",t&&"dense",l),children:[(0,i.jsxs)("div",{className:"bloomberg-panel-head",children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:e}),n&&i.jsx("p",{children:n})]}),(0,i.jsxs)("div",{className:"bloomberg-panel-value",children:[s,c]})]}),r]})}function N({label:e,value:s,subvalue:n,tone:r="neutral",icon:t,tooltip:l}){return(0,i.jsxs)("div",{className:(0,a.Z)("terminal-metric",`tone-${r}`),title:l,children:[(0,i.jsxs)("div",{className:"terminal-metric-label",children:[t,i.jsx("span",{children:e})]}),i.jsx("strong",{children:s}),n&&i.jsx("p",{children:n})]})}function f({regime:e}){let s=e.toLowerCase(),n=s.includes("risk")||s.includes("stress")?"negative":s.includes("constructive")||s.includes("bull")?"positive":"attention";return(0,i.jsxs)("span",{className:(0,a.Z)("regime-badge",`tone-${n}`),children:[i.jsx(l.Z,{size:14}),e]})}function _({positive:e,neutral:s,negative:n,score:r}){let t=Math.max(1,e+s+n);return(0,i.jsxs)("div",{className:"sentiment-bar-wrap",children:[(0,i.jsxs)("div",{className:"sentiment-bar-labels",children:[(0,i.jsxs)("span",{children:["Negative ",Math.round(n/t*100),"%"]}),i.jsx("strong",{children:void 0===r?"Sentiment mix":`Score ${r.toFixed(2)}`}),(0,i.jsxs)("span",{children:["Positive ",Math.round(e/t*100),"%"]})]}),(0,i.jsxs)("div",{className:"terminal-sentiment-bar",children:[i.jsx("i",{className:"negative",style:{width:`${Math.max(2,n/t*100)}%`}}),i.jsx("i",{className:"neutral",style:{width:`${Math.max(2,s/t*100)}%`}}),i.jsx("i",{className:"positive",style:{width:`${Math.max(2,e/t*100)}%`}})]})]})}function w({value:e,label:s}){let n=B(e);return(0,i.jsxs)("span",{className:(0,a.Z)("score-badge",`tone-${n>=75?"positive":n>=55?"attention":n>=35?"info":"negative"}`),children:[i.jsx("strong",{children:null==e?"n/a":n.toFixed(0)}),s&&i.jsx("em",{children:s})]})}function y({risk:e,score:s}){let n=e.toLowerCase(),r=n.includes("high")||n.includes("risky")?"negative":n.includes("low")?"positive":"attention";return(0,i.jsxs)("span",{className:(0,a.Z)("risk-indicator",`tone-${r}`),children:[i.jsx(c.Z,{size:13}),e||"Not rated",null!=s&&i.jsx("b",{children:Number(s).toFixed(0)})]})}function S({value:e,label:s="AI confidence"}){let n=B(e);return(0,i.jsxs)("div",{className:"terminal-confidence",title:`${s}: ${n.toFixed(1)}/100`,children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:s}),i.jsx("strong",{children:null==e?"Pending":`${n.toFixed(0)}%`})]}),i.jsx("i",{children:i.jsx("b",{style:{width:`${Math.max(2,n)}%`}})})]})}function C({values:e,tone:s="attention"}){let n=(0,r.useMemo)(()=>{if(e.length<2)return"";let s=Math.min(...e),n=Math.max(...e)-s||1;return e.map((i,r)=>{let t=r/(e.length-1)*100;return`${t.toFixed(1)},${(28-(i-s)/n*26+1).toFixed(1)}`}).join(" ")},[e]);return i.jsx("svg",{className:(0,a.Z)("mini-sparkline",`tone-${s}`),viewBox:"0 0 100 30",preserveAspectRatio:"none","aria-hidden":"true",children:i.jsx("polyline",{points:n||"0,24 100,8"})})}function Z({rows:e}){let[s,n]=(0,r.useState)("confidence"),[l,c]=(0,r.useState)("desc"),o=(0,r.useMemo)(()=>[...e].sort((e,n)=>{let i=V(e[s]),r=V(n[s]),t=i>r?1:i{s===e?c(e=>"asc"===e?"desc":"asc"):(n(e),c("desc"))};return e.length?i.jsx("div",{className:"asset-table-shell",children:(0,i.jsxs)("table",{className:"asset-terminal-table",children:[i.jsx("thead",{children:(0,i.jsxs)("tr",{children:[i.jsx(L,{label:"Ticker",active:"ticker"===s,onClick:()=>d("ticker")}),i.jsx(L,{label:"Company / ETF",active:"name"===s,onClick:()=>d("name")}),i.jsx(L,{label:"Price",active:"price"===s,onClick:()=>d("price")}),i.jsx(L,{label:"Chg %",active:"changePercent"===s,onClick:()=>d("changePercent")}),i.jsx(L,{label:"Rel Vol",active:"volumeRelative"===s,onClick:()=>d("volumeRelative")}),i.jsx(L,{label:"Sentiment",active:"sentimentScore"===s,onClick:()=>d("sentimentScore")}),i.jsx(L,{label:"Momentum",active:"momentumScore"===s,onClick:()=>d("momentumScore")}),i.jsx(L,{label:"Trend",active:"trendScore"===s,onClick:()=>d("trendScore")}),i.jsx(L,{label:"News",active:"newsScore"===s,onClick:()=>d("newsScore")}),i.jsx(L,{label:"AI Conf.",active:"confidence"===s,onClick:()=>d("confidence")}),i.jsx(L,{label:"Signal",active:"signalType"===s,onClick:()=>d("signalType")}),i.jsx(L,{label:"Risk",active:"riskScore"===s,onClick:()=>d("riskScore")}),i.jsx(L,{label:"Action",active:"action"===s,onClick:()=>d("action")})]})}),i.jsx("tbody",{children:o.map(e=>{var s;return(0,i.jsxs)("tr",{children:[(0,i.jsxs)("td",{children:[i.jsx(t.default,{className:"terminal-ticker",href:(0,b.up)(e.ticker),children:e.ticker}),i.jsx("span",{children:e.assetType??"Asset"})]}),(0,i.jsxs)("td",{className:"asset-name-cell",children:[i.jsx("strong",{children:e.name}),i.jsx("span",{children:e.sector}),i.jsx("p",{children:e.why})]}),i.jsx("td",{children:i.jsx("strong",{children:U(e.price,e.currency)})}),i.jsx("td",{children:i.jsx(I,{value:e.changePercent})}),i.jsx("td",{children:null===e.volumeRelative?"n/a":`${e.volumeRelative.toFixed(2)}x`}),i.jsx("td",{children:i.jsx(w,{value:e.sentimentScore})}),i.jsx("td",{children:i.jsx(w,{value:e.momentumScore})}),i.jsx("td",{children:i.jsx(w,{value:e.trendScore})}),i.jsx("td",{children:i.jsx(w,{value:e.newsScore,label:null===e.newsCount||void 0===e.newsCount?void 0:`${e.newsCount}`})}),i.jsx("td",{children:i.jsx(S,{value:e.confidence,label:"Confidence"})}),i.jsx("td",{children:i.jsx("span",{className:"terminal-signal",children:e.signalType})}),i.jsx("td",{children:i.jsx(y,{risk:e.riskLevel,score:e.riskScore})}),i.jsx("td",{children:i.jsx("span",{className:(0,a.Z)("action-pill","Strong Attention"===(s=e.action)?"attention":"Watch"===s?"positive":"Avoid"===s?"negative":"neutral"),children:e.action})})]},`${e.ticker}-${e.signalType}-${e.action}`)})})]})}):i.jsx("div",{className:"terminal-empty",children:"No ranked assets are available yet. The autonomous intelligence engine is hydrating real prices, news, sentiment and signal snapshots."})}function M({ticker:e,name:s,description:n,sector:r,exchange:t,assetType:a,price:l,currency:c,changePercent:o,blumScore:d,confidence:m,narrative:h}){return(0,i.jsxs)("section",{className:"asset-command-card",children:[(0,i.jsxs)("div",{children:[i.jsx("div",{className:"terminal-eyebrow",children:"Security Intelligence"}),(0,i.jsxs)("h1",{children:[e,i.jsx("span",{children:s})]}),i.jsx("p",{children:n||"Institutional asset profile from stored market, signal and news evidence."}),(0,i.jsxs)("div",{className:"tag-row",children:[i.jsx("span",{children:a}),i.jsx("span",{children:r}),i.jsx("span",{children:t})]})]}),(0,i.jsxs)("div",{className:"asset-command-pricing",children:[i.jsx("span",{children:"Last price"}),i.jsx("strong",{children:U(l??null,c)}),i.jsx(I,{value:o??null}),(0,i.jsxs)("div",{className:"asset-command-scores",children:[i.jsx(w,{value:d??null,label:"Blum"}),i.jsx(S,{value:m??null})]})]}),h&&(0,i.jsxs)("div",{className:"asset-command-narrative",children:[i.jsx("span",{children:"Main narrative"}),i.jsx("strong",{children:h})]})]})}function $({signal:e}){let s=e.watch_points?.items??[];return(0,i.jsxs)("article",{className:"signal-note-card",children:[(0,i.jsxs)("div",{className:"signal-note-head",children:[(0,i.jsxs)("div",{children:[i.jsx(t.default,{href:(0,b.up)(e.ticker),children:e.ticker}),i.jsx("span",{children:e.asset?.name??"Asset metadata pending"})]}),i.jsx(w,{value:e.blum_score,label:"Blum"})]}),(0,i.jsxs)("div",{className:"signal-note-grid",children:[(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Signal"}),i.jsx("strong",{children:e.classification})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Confidence"}),i.jsx("strong",{children:Number(e.confidence_score??0).toFixed(0)})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Risk"}),i.jsx("strong",{children:e.risk_level})]}),(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Horizon"}),i.jsx("strong",{children:e.time_horizon})]})]}),i.jsx("p",{children:e.explanation}),(0,i.jsxs)("div",{className:"evidence-stack",children:[i.jsx(P,{label:"Momentum",value:e.score_breakdown?.momentum_score}),i.jsx(P,{label:"Trend",value:e.score_breakdown?.trend_score}),i.jsx(P,{label:"Sentiment",value:e.score_breakdown?.sentiment_score}),i.jsx(P,{label:"Risk Adj.",value:e.score_breakdown?.risk_adjustment})]}),!!s.length&&i.jsx("ul",{children:s.slice(0,3).map(e=>i.jsx("li",{children:e},e))})]})}function z({title:e,sentiment:s,volume:n,explanation:r,tickers:a=[]}){return(0,i.jsxs)("article",{className:"narrative-card",children:[(0,i.jsxs)("div",{className:"narrative-card-top",children:[i.jsx("strong",{children:e}),i.jsx(w,{value:null==s?null:50*s+50,label:"Sent"})]}),i.jsx("p",{children:r||"Narrative cluster built from public news, semantic themes and linked asset evidence."}),(0,i.jsxs)("div",{className:"narrative-card-meta",children:[(0,i.jsxs)("span",{children:[i.jsx(d,{size:12}),n??0," news"]}),a.slice(0,5).map(e=>i.jsx(t.default,{href:(0,b.up)(e),children:e},e))]})]})}function F({articles:e,limit:s=12}){return(0,i.jsxs)("div",{className:"terminal-news-tape",children:[!e.length&&i.jsx("div",{className:"terminal-empty",children:"No live public news is stored yet. The tape will fill after RSS/web ingestion completes."}),e.slice(0,s).map(e=>{var s;return(0,i.jsxs)("a",{href:e.url,target:"_blank",rel:"noreferrer",className:"terminal-news-row",children:[(0,i.jsxs)("div",{children:[i.jsx("strong",{children:e.title}),(0,i.jsxs)("span",{children:[e.source," | ",(s=e.published_at)?new Intl.DateTimeFormat("en",{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(s)):"pending"," | quality ",Number(e.quality_score??0).toFixed(1)]})]}),(0,i.jsxs)("div",{className:"terminal-news-tags",children:[e.sentiment&&(0,i.jsxs)("b",{className:e.sentiment.label,children:[e.sentiment.label," ",e.sentiment.score.toFixed(2)]}),e.linked_assets.slice(0,3).map(e=>i.jsx("em",{children:e.ticker},e.ticker)),(e.theme_tags.themes??[]).slice(0,2).map(e=>i.jsx("em",{children:e},e))]})]},e.id)})]})}function A(e){return e.map(e=>({ticker:e.ticker,name:e.name,sector:e.sector,assetType:e.asset_type,price:e.last_price,currency:e.currency,changePercent:e.change_percent,volumeRelative:e.volume_relative,sentimentScore:e.sentiment_score,momentumScore:e.momentum_score,trendScore:e.trend_score,newsScore:e.news_score,confidence:B(.45*e.opportunity_score+.2*e.trend_score+.15*e.sentiment_score+.2*Math.max(0,100-e.risk_score)),signalType:e.classification||e.status_label,riskScore:e.risk_score,riskLevel:e.risk_level,action:D(e.opportunity_score,e.risk_score,e.risk_level),why:e.why_today}))}function T(e){return e.map(e=>({ticker:e.ticker,name:e.asset?.name??"Name pending",sector:e.asset?.sector??"Sector pending",assetType:e.asset?.asset_type,price:e.market_snapshot?.price??null,currency:e.market_snapshot?.currency,changePercent:e.market_snapshot?.perf_1d??null,volumeRelative:null,sentimentScore:Number(e.score_breakdown?.sentiment_score??0),momentumScore:Number(e.score_breakdown?.momentum_score??0),trendScore:Number(e.score_breakdown?.trend_score??0),newsScore:Number(e.score_breakdown?.semantic_trend_score??e.score_breakdown?.news_score??0),confidence:Number(e.confidence_score??e.accuracy?.blum_confidence_score??0),signalType:e.classification,riskScore:Number(e.score_breakdown?.volatility_score??e.score_breakdown?.risk_adjustment??0),riskLevel:e.risk_level,action:D(e.blum_score,Number(e.score_breakdown?.risk_adjustment??50),e.risk_level),why:e.explanation}))}function R(e){return({regime:i.jsx(l.Z,{size:15}),sentiment:i.jsx(m.Z,{size:15}),risk:i.jsx(c.Z,{size:15}),momentum:i.jsx(h.Z,{size:15}),news:i.jsx(d,{size:15}),signals:i.jsx(x.Z,{size:15}),ai:i.jsx(u.Z,{size:15}),worker:i.jsx(j.Z,{size:15})})[e]}function L({label:e,active:s,onClick:n}){return i.jsx("th",{children:i.jsx("button",{className:(0,a.Z)("sortable-head",s&&"active"),onClick:n,children:e})})}function I({value:e}){if(null==e)return i.jsx("span",{className:"market-move neutral",children:"n/a"});let s=e>=0;return(0,i.jsxs)("span",{className:(0,a.Z)("market-move",s?"positive":"negative"),children:[s?i.jsx(v,{size:13}):i.jsx(p,{size:13}),s?"+":"",Number(e).toFixed(2),"%"]})}function P({label:e,value:s}){return(0,i.jsxs)("span",{children:[e,i.jsx("b",{children:null==s?"n/a":Number(s).toFixed(0)})]})}function D(e,s,n){return n.toLowerCase().includes("high")&&e<72?"Avoid":e>=84?"Strong Attention":e>=68?"Watch":"Monitor"}function V(e){return"number"==typeof e?e:null==e?-1/0:String(e).toLowerCase()}function B(e){return null==e||Number.isNaN(Number(e))?0:Math.max(0,Math.min(100,Number(e)))}function U(e,s){if(null==e)return"n/a";let n=new Intl.NumberFormat("en",{maximumFractionDigits:e>1e3?0:2}).format(e);return`${s??"USD"} ${n}`}},398:(e,s,n)=>{function i(e){return`/assets/${encodeURIComponent(e.toUpperCase().replaceAll(".","_"))}`}n.d(s,{up:()=>i})},7617:(e,s,n)=>{n.d(s,{Z:()=>i});let i=(0,n(6745).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}}; \ No newline at end of file diff --git a/frontend/.next/server/chunks/965.js b/frontend/.next/server/chunks/965.js new file mode 100644 index 0000000000000000000000000000000000000000..931595fc068b8cb7421d9c9299a3fefb2f61328c --- /dev/null +++ b/frontend/.next/server/chunks/965.js @@ -0,0 +1 @@ +"use strict";exports.id=965,exports.ids=[965],exports.modules={1952:(e,s,a)=>{a.r(s),a.d(s,{default:()=>u});var i=a(8924),n=a(3911);function t({status:e,busy:s,onRunCycle:a}){if(!e)return(0,i.jsxs)("section",{className:"panel financial-brain-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Blum Financial Brain"}),i.jsx("strong",{children:"Loading"})]}),i.jsx("div",{className:"empty-state",children:"Learning status is loading from the backend memory layer."})]});let n=e.confidence_calibration??{},t=e.active_weight_version?.weights??{};return(0,i.jsxs)("section",{className:"panel financial-brain-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[i.jsx("span",{children:"Blum Financial Brain Status"}),i.jsx("strong",{children:e.learning_state})]}),(0,i.jsxs)("div",{className:"brain-status-grid",children:[i.jsx(l,{label:"Signals Evaluated",value:e.signals_evaluated}),i.jsx(l,{label:"Historical Accuracy",value:c(e.historical_accuracy)}),i.jsx(l,{label:"7D Success Rate",value:c(e.success_rate_7d)}),i.jsx(l,{label:"30D Success Rate",value:c(e.success_rate_30d)}),i.jsx(l,{label:"Confidence Calibration",value:null===n.score||void 0===n.score?n.status??"Pending":`${Number(n.score).toFixed(1)}/100`}),i.jsx(l,{label:"Data Quality Score",value:`${Number(e.data_quality_score??0).toFixed(1)}/100`}),i.jsx(l,{label:"Pending Horizons",value:e.pending_evaluations}),i.jsx(l,{label:"Learning Cadence",value:`${e.learning_interval_minutes}m`})]}),(0,i.jsxs)("div",{className:"brain-two-col",children:[(0,i.jsxs)("div",{children:[i.jsx("h3",{children:"Best Performing Signal Types"}),i.jsx(r,{rows:e.best_performing_signal_types,empty:"Waiting for matured outcomes."})]}),(0,i.jsxs)("div",{children:[i.jsx("h3",{children:"Weakest Signal Types"}),i.jsx(r,{rows:e.weakest_signal_types,empty:"No weak pattern confirmed yet."})]})]}),(0,i.jsxs)("div",{className:`brain-drift ${e.model_drift_warning?.severity?.toLowerCase()??"info"}`,children:[i.jsx("strong",{children:e.model_drift_warning?.status?.replaceAll("_"," ")??"drift pending"}),i.jsx("span",{children:e.model_drift_warning?.message??"The model needs more matured signals before drift can be measured."})]}),i.jsx("div",{className:"weight-strip",children:Object.entries(t).slice(0,9).map(([e,s])=>(0,i.jsxs)("span",{children:[e.replaceAll("_"," ")," ",i.jsx("strong",{children:Number(s).toFixed(2)})]},e))}),i.jsx("div",{className:"governance-list",children:e.governance.slice(0,4).map(e=>i.jsx("span",{children:e},e))}),a&&i.jsx("div",{className:"control-row",style:{marginTop:12,marginBottom:0},children:i.jsx("button",{className:"button primary",onClick:a,disabled:s,children:s?"Running learning cycle...":"Run learning cycle"})}),i.jsx("p",{children:e.disclaimer})]})}function l({label:e,value:s}){return(0,i.jsxs)("div",{className:"brain-metric",children:[i.jsx("span",{children:e}),i.jsx("strong",{children:s})]})}function r({rows:e,empty:s}){return e?.length?i.jsx("div",{className:"brain-performance-list",children:e.slice(0,5).map(e=>(0,i.jsxs)("div",{children:[i.jsx("strong",{children:e.key}),(0,i.jsxs)("span",{children:[c(e.success_rate)," success | ",e.mature_count," matured | score ",e.accuracy_score.toFixed(1)]})]},e.key))}):i.jsx("div",{className:"empty-state compact",children:s})}function c(e){return null==e?"Pending":`${Math.round(100*Number(e))}%`}a(3789);var o=a(6927),d=a(2522);function u(){var e,s,a;let[l,r]=(0,n.useState)(null),[c,u]=(0,n.useState)([]),[j,b]=(0,n.useState)(null),[f,y]=(0,n.useState)(null),[k,N]=(0,n.useState)(null),[w,S]=(0,n.useState)(null),[L,$]=(0,n.useState)(null),[C,M]=(0,n.useState)(""),[R,A]=(0,n.useState)(""),[E,P]=(0,n.useState)(null),V=(0,n.useMemo)(()=>L?.top_opportunities_today?.length?(0,o.pX)(L.top_opportunities_today):(0,o.bD)(l?.todays_strongest_signals??[]),[l?.todays_strongest_signals,L?.top_opportunities_today]);if(C)return(0,i.jsxs)("div",{className:"terminal-empty",children:["API error: ",C]});if(!l)return i.jsx(d.G,{label:"Loading Blum Command Center"});let B=f??l.realtime,F={positive:j?.label_counts.positive??0,neutral:j?.label_counts.neutral??0,negative:j?.label_counts.negative??0},T=L?.market_mood??(e=l.market_pulse.average_sentiment,0===l.market_pulse.signal_count?"Evidence Building":e>.18?"Constructive Risk-On":e<-.18?"Defensive Risk-Off":"Selective Rotation"),z=L?.risk_level??(s=l.market_pulse.average_sentiment,0===l.market_pulse.signal_count?"Data Pending":s<-.25?"High":s>.2?"Moderate":"Balanced"),D=w?.historical_accuracy===null||w?.historical_accuracy===void 0?l.accuracy?.blum_confidence_score:100*w.historical_accuracy,I=(a=l.todays_strongest_signals).length?Math.round(a.filter(e=>e.blum_score>=60).length/a.length*100):0,O=j?.themes?.length?j.themes:L?.narrative?.emerging_subthemes??[],H=Object.entries(l.market_pulse.classification_mix??{}).sort((e,s)=>s[1]-e[1]);return(0,i.jsxs)(i.Fragment,{children:[i.jsx(o.ft,{eyebrow:"Blum Command Center",title:"Market intelligence operating desk.",subtitle:"A professional evidence layer for monitoring market regime, live news, sentiment, momentum, risk and ranked assets without direct financial advice.",statusItems:[{label:"Worker",value:B.running?"running":B.started?"online":"pending",tone:B.running?"attention":"positive"},{label:"Last run",value:_(B.last_completed_at),tone:"error"===B.last_status?"negative":"neutral"},{label:"AI model",value:k?.runtime_flags.financial_brain_model_enabled?"finance LLM":"fallback",tone:k?.runtime_flags.financial_brain_model_enabled?"positive":"attention"},{label:"Refresh",value:E?_(E):"loading",tone:"info"}]}),(B.last_error||R)&&i.jsx("div",{className:"terminal-empty",style:{marginBottom:12},children:B.last_error?`Realtime worker error: ${B.last_error}`:`Live endpoint warning: ${R}`}),(0,i.jsxs)("section",{className:"terminal-command-grid",children:[i.jsx(o.i9,{label:"Market Regime",value:i.jsx(o.VL,{regime:T}),subvalue:L?.dominant_narrative?.theme??"Narrative pending",icon:(0,o.V8)("regime"),tone:"attention"}),i.jsx(o.i9,{label:"Sentiment Score",value:l.market_pulse.average_sentiment.toFixed(2),subvalue:`${l.market_pulse.article_count} indexed articles`,icon:(0,o.V8)("sentiment"),tone:l.market_pulse.average_sentiment>=0?"positive":"negative"}),i.jsx(o.i9,{label:"Risk Level",value:z,subvalue:"Composite signal and news risk",icon:(0,o.V8)("risk"),tone:z.toLowerCase().includes("high")?"negative":"attention"}),i.jsx(o.i9,{label:"Momentum Breadth",value:`${I}%`,subvalue:"Signals above 60 score",icon:(0,o.V8)("momentum"),tone:I>=55?"positive":"info"}),i.jsx(o.i9,{label:"News 48h",value:j?.article_count??c.length,subvalue:`${O.length} active themes`,icon:(0,o.V8)("news"),tone:"info"}),i.jsx(o.i9,{label:"Signals",value:l.market_pulse.signal_count,subvalue:`${V.length} ranked assets visible`,icon:(0,o.V8)("signals"),tone:l.market_pulse.signal_count?"positive":"attention"}),i.jsx(o.i9,{label:"AI Confidence",value:void 0===D?"Pending":`${Number(D).toFixed(0)}%`,subvalue:w?.learning_state??l.accuracy?.confidence_label??"Evidence layer",icon:(0,o.V8)("ai"),tone:"attention"}),i.jsx(o.i9,{label:"Worker Status",value:B.last_status,subvalue:B.last_job??"Startup pipeline",icon:(0,o.V8)("worker"),tone:"error"===B.last_status?"negative":"neutral"})]}),(0,i.jsxs)("section",{className:"market-command-layout",children:[(0,i.jsxs)("div",{className:"market-pulse-grid",children:[i.jsx(o.Ez,{title:"Market Pulse",value:"Live evidence",subtitle:"Sentiment, narrative volume and signal breadth",children:(0,i.jsxs)("div",{className:"pulse-chart-grid",children:[(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[i.jsx("h3",{children:"Sentiment distribution"}),i.jsx(o.cL,{positive:F.positive,neutral:F.neutral,negative:F.negative,score:j?.average_sentiment??l.market_pulse.average_sentiment}),i.jsx(o.uy,{values:O.map(e=>50*Number(e.avg_sentiment??0)+50).slice(0,12),tone:"info"})]}),(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[i.jsx("h3",{children:"News volume by theme"}),i.jsx(m,{themes:O.slice(0,7)})]}),(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[i.jsx("h3",{children:"Signal mix"}),i.jsx(v,{rows:H})]}),(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[i.jsx("h3",{children:"Risk-on / risk-off"}),i.jsx(h,{sentiment:l.market_pulse.average_sentiment,breadth:I,risk:z})]})]})}),i.jsx(o.Ez,{title:"Dominant Narratives",value:L?.dominant_narrative?.theme??"Pending",subtitle:"Semantic themes from public news",children:(0,i.jsxs)("div",{className:"professional-grid-2",children:[i.jsx(o.x8,{title:L?.dominant_narrative?.theme??"Market narrative pending",sentiment:L?.dominant_narrative?.avg_sentiment??j?.average_sentiment,volume:L?.dominant_narrative?.headline_count??j?.article_count,explanation:L?.narrative?.operating_summary,tickers:L?.narrative?.linked_assets??[]}),(L?.narrative?.emerging_subthemes??O).slice(0,3).map(e=>i.jsx(o.x8,{title:e.theme,sentiment:e.avg_sentiment,volume:e.headline_count,tickers:L?.narrative?.linked_assets??[]},e.theme))]})})]}),i.jsx(o.Ez,{title:"News Tape",value:`${c.length} latest`,subtitle:"Public RSS and web evidence, no generated headlines",children:i.jsx(o.pB,{articles:c,limit:15})})]}),i.jsx(o.Ez,{title:"Radar Asset",value:`${V.length} ranked`,subtitle:"Sortable opportunity table with price, sentiment, momentum, risk and AI confidence",className:"radar-core-panel",children:i.jsx(o.Xz,{rows:V})}),(0,i.jsxs)("section",{className:"desk-layout",style:{marginTop:12},children:[(0,i.jsxs)("div",{children:[i.jsx(t,{status:w}),(0,i.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[i.jsx(g,{accuracy:l.accuracy}),i.jsx(x,{macro:l.macro,validation:l.validation})]})]}),(0,i.jsxs)(o.Ez,{title:"Evidence Coverage",value:`${Math.round((l.data_coverage?.coverage_ratio??0)*100)}%`,subtitle:"Historical price memory and provider diagnostics",children:[(0,i.jsxs)("div",{className:"professional-grid-2",children:[i.jsx(o.i9,{label:"OHLCV Rows",value:l.readiness.price_row_count}),i.jsx(o.i9,{label:"News Articles",value:l.readiness.news_article_count}),i.jsx(o.i9,{label:"Signal Snapshots",value:l.readiness.signal_count}),i.jsx(o.i9,{label:"Ready Assets",value:`${l.data_coverage?.ready_assets??0}/${l.data_coverage?.asset_count??0}`})]}),i.jsx("p",{children:l.data_coverage?.data_policy??"Evidence policy pending."}),i.jsx(p,{result:B.last_result})]})]})]})}function m({themes:e}){let s=Math.max(1,...e.map(e=>Number(e.headline_count??0)));return e.length?i.jsx("div",{className:"theme-volume-bars",children:e.map(e=>(0,i.jsxs)("div",{className:"theme-volume-row",children:[i.jsx("span",{children:e.theme}),i.jsx("i",{style:{width:`${Math.max(4,Number(e.headline_count??0)/s*100)}%`}}),i.jsx("strong",{children:e.headline_count??0})]},e.theme))}):i.jsx("div",{className:"terminal-empty",children:"Theme volume will appear after news ingestion."})}function v({rows:e}){let s=Math.max(1,...e.map(([,e])=>e));return e.length?i.jsx("div",{className:"theme-volume-bars",children:e.slice(0,7).map(([e,a])=>(0,i.jsxs)("div",{className:"theme-volume-row",children:[i.jsx("span",{children:e}),i.jsx("i",{style:{width:`${Math.max(4,a/s*100)}%`}}),i.jsx("strong",{children:a})]},e))}):i.jsx("div",{className:"terminal-empty",children:"No signal classifications stored yet."})}function h({sentiment:e,breadth:s,risk:a}){return(0,i.jsxs)("div",{children:[i.jsx(o.IL,{value:Math.max(0,Math.min(100,(35*e+50)*.55+.45*s)),label:"Risk-on proxy"}),(0,i.jsxs)("p",{style:{marginTop:12},children:[a,". The proxy blends market-wide sentiment and signal breadth; it is a monitoring indicator, not a trading instruction."]})]})}function g({accuracy:e}){return e?(0,i.jsxs)(o.Ez,{title:"Confidence Layer",value:`${e.blum_confidence_score.toFixed(1)} / ${e.confidence_label}`,children:[i.jsx(o.IL,{value:e.blum_confidence_score,label:"Evidence quality"}),(0,i.jsxs)("div",{className:"professional-grid-3",style:{marginTop:12},children:[i.jsx(o.i9,{label:"Assets Audited",value:e.asset_count}),i.jsx(o.i9,{label:"Ready Assets",value:e.coverage.ready_assets}),i.jsx(o.i9,{label:"Checks",value:e.accuracy_contract.length})]}),i.jsx("div",{className:"issue-list",children:Object.entries(e.issue_counts).sort((e,s)=>s[1]-e[1]).slice(0,5).map(([e,s])=>(0,i.jsxs)("span",{children:[e.replaceAll("_"," ")," ",i.jsx("b",{children:s})]},e))})]}):i.jsx(o.Ez,{title:"Confidence Layer",value:"Pending",children:i.jsx("div",{className:"terminal-empty",children:"Waiting for evidence quality audit."})})}function x({macro:e,validation:s}){return(0,i.jsxs)(o.Ez,{title:"Macro and Validation",value:s?.status??"Pending",children:[(0,i.jsxs)("div",{className:"professional-grid-2",children:[i.jsx(o.i9,{label:"Macro Series",value:e?.series_count??0}),i.jsx(o.i9,{label:"Validated Signals",value:s?.validated_signals??0}),i.jsx(o.i9,{label:"Validation Score",value:s?.validation_score?.toFixed(1)??"n/a"}),i.jsx(o.i9,{label:"Confirmed",value:s?.confirmed_or_strengthening??0})]}),i.jsx("p",{children:s?.methodology??"Signal validation compares stored signals with later evidence without promising future performance."})]})}function p({result:e}){let s=e?.news_update,a=e?.market_update;return s||a?(0,i.jsxs)("div",{className:"diagnostic-grid",children:[s&&(0,i.jsxs)("div",{children:[i.jsx("span",{children:"News ingestion"}),(0,i.jsxs)("strong",{children:[s.sources_ok??0,"/",s.sources_requested??0," sources ok"]}),(0,i.jsxs)("p",{children:[s.inserted_articles??0," inserted | ",s.duplicate_articles??0," duplicates | ",s.linked_assets??0," asset links"]})]}),a&&(0,i.jsxs)("div",{children:[i.jsx("span",{children:"Market data"}),(0,i.jsxs)("strong",{children:[a.updated_assets??0," assets updated"]}),(0,i.jsxs)("p",{children:[a.price_rows??0," OHLCV rows | period ",a.period??"n/a"," | ",a.data_mode??"real data"]})]})]}):null}function _(e){return e?new Intl.DateTimeFormat("en",{hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date(e)):"Pending"}},2522:(e,s,a)=>{a.d(s,{G:()=>n});var i=a(8924);function n({label:e="Loading intelligence snapshot"}){return(0,i.jsxs)("div",{className:"loading-state",children:[i.jsx("div",{}),i.jsx("span",{children:e})]})}},8666:(e,s,a)=>{a.r(s),a.d(s,{default:()=>i});let i=(0,a(6691).createProxy)(String.raw`/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/dashboard/page.tsx#default`)}}; \ No newline at end of file diff --git a/frontend/.next/server/chunks/font-manifest.json b/frontend/.next/server/chunks/font-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..0637a088a01e8ddab3bf3fa98dbe804cbde1a0dc --- /dev/null +++ b/frontend/.next/server/chunks/font-manifest.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/frontend/.next/server/font-manifest.json b/frontend/.next/server/font-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..0637a088a01e8ddab3bf3fa98dbe804cbde1a0dc --- /dev/null +++ b/frontend/.next/server/font-manifest.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/frontend/.next/server/functions-config-manifest.json b/frontend/.next/server/functions-config-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..7d35373ea3d7ce00a540af5a9217136bda6c390f --- /dev/null +++ b/frontend/.next/server/functions-config-manifest.json @@ -0,0 +1 @@ +{"version":1,"functions":{"/assets/[ticker]":{},"/dashboard":{}}} \ No newline at end of file diff --git a/frontend/.next/server/interception-route-rewrite-manifest.js b/frontend/.next/server/interception-route-rewrite-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..24f77ba74f79609fc4cf4cc495a629f822a5fd0d --- /dev/null +++ b/frontend/.next/server/interception-route-rewrite-manifest.js @@ -0,0 +1 @@ +self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST="[]"; \ No newline at end of file diff --git a/frontend/.next/server/middleware-build-manifest.js b/frontend/.next/server/middleware-build-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..44d3c28a6be7b97af618698469f1491ed3e7ed60 --- /dev/null +++ b/frontend/.next/server/middleware-build-manifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-aeb5c49f88887156.js","static/chunks/2200cc46-bb2e82a2a422da49.js","static/chunks/945-dfa5efbc7dfb2860.js","static/chunks/main-app-80b65e8c4f383000.js"],pages:{"/_app":["static/chunks/webpack-aeb5c49f88887156.js","static/chunks/framework-6e06c675866dc992.js","static/chunks/main-d4dac7885e92ed7d.js","static/chunks/pages/_app-0c3037849002a4aa.js"],"/_error":["static/chunks/webpack-aeb5c49f88887156.js","static/chunks/framework-6e06c675866dc992.js","static/chunks/main-d4dac7885e92ed7d.js","static/chunks/pages/_error-a647cd2c75dc4dc7.js"]},ampFirstPages:[]},self.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"]; \ No newline at end of file diff --git a/frontend/.next/server/middleware-manifest.json b/frontend/.next/server/middleware-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..33872a3e667095ca6e3f28dd482a153f65066865 --- /dev/null +++ b/frontend/.next/server/middleware-manifest.json @@ -0,0 +1,6 @@ +{ + "version": 3, + "middleware": {}, + "functions": {}, + "sortedMiddleware": [] +} \ No newline at end of file diff --git a/frontend/.next/server/middleware-react-loadable-manifest.js b/frontend/.next/server/middleware-react-loadable-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..5e4074269d064dfbf89ae43de867cefe7fe919da --- /dev/null +++ b/frontend/.next/server/middleware-react-loadable-manifest.js @@ -0,0 +1 @@ +self.__REACT_LOADABLE_MANIFEST='{"components/PlotPanel.tsx -> react-plotly.js":{"id":3506,"files":["static/chunks/51e374df.e869da9a92d22819.js","static/chunks/54.5c9e84e15db88a9c.js"]}}'; \ No newline at end of file diff --git a/frontend/.next/server/next-font-manifest.js b/frontend/.next/server/next-font-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..8267a5082ade0f7f80b9fe375f819ea4e8db14b1 --- /dev/null +++ b/frontend/.next/server/next-font-manifest.js @@ -0,0 +1 @@ +self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false}'; \ No newline at end of file diff --git a/frontend/.next/server/next-font-manifest.json b/frontend/.next/server/next-font-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..25f78e72b334089404d8a0d1203a7443cd0f3f69 --- /dev/null +++ b/frontend/.next/server/next-font-manifest.json @@ -0,0 +1 @@ +{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false} \ No newline at end of file diff --git a/frontend/.next/server/pages-manifest.json b/frontend/.next/server/pages-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..f7c2e8945bf7fbbd2bac53828737f75c5d705d4f --- /dev/null +++ b/frontend/.next/server/pages-manifest.json @@ -0,0 +1 @@ +{"/_app":"pages/_app.js","/_error":"pages/_error.js","/_document":"pages/_document.js","/404":"pages/404.html"} \ No newline at end of file diff --git a/frontend/.next/server/pages/404.html b/frontend/.next/server/pages/404.html new file mode 100644 index 0000000000000000000000000000000000000000..c258a346726f06c8f5193fd77a2c9c4950c64554 --- /dev/null +++ b/frontend/.next/server/pages/404.html @@ -0,0 +1 @@ +404: This page could not be found.Blum AI Financial Intelligence

404

This page could not be found.

\ No newline at end of file diff --git a/frontend/.next/server/pages/500.html b/frontend/.next/server/pages/500.html new file mode 100644 index 0000000000000000000000000000000000000000..22d698be21fd8f017d4f414d4f1f069350f027f5 --- /dev/null +++ b/frontend/.next/server/pages/500.html @@ -0,0 +1 @@ +500: Internal Server Error

500

Internal Server Error.

\ No newline at end of file diff --git a/frontend/.next/server/pages/_app.js b/frontend/.next/server/pages/_app.js new file mode 100644 index 0000000000000000000000000000000000000000..162480603668c69f77633eab5d8671389821ee54 --- /dev/null +++ b/frontend/.next/server/pages/_app.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=888,e.ids=[888],e.modules={7959:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(721),o=r(997),i=n._(r(6689)),u=r(5113);async function s(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,u.loadGetInitialProps)(t,r)}}class a extends i.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}a.origGetInitialProps=s,a.getInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5113:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return g},MiddlewareNotFoundError:function(){return E},MissingStaticPage:function(){return y},NormalizeError:function(){return m},PageNotFoundError:function(){return P},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return a},getLocationOrigin:function(){return u},getURL:function(){return s},isAbsoluteUrl:function(){return i},isResSent:function(){return c},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return l},stringifyError:function(){return x}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),i=0;io.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=u();return e.substring(t.length)}function a(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function l(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&c(r))return n;if(!n)throw Error('"'+a(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class m extends Error{}class P extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class y extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class E extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},721:(e,t)=>{t._=t._interop_require_default=function(e){return e&&e.__esModule?e:{default:e}}}};var t=require("../webpack-runtime.js");t.C(e);var r=t(t.s=7959);module.exports=r})(); \ No newline at end of file diff --git a/frontend/.next/server/pages/_app.js.nft.json b/frontend/.next/server/pages/_app.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..106f28973824da1c00a81e98fce00eea0f7910c2 --- /dev/null +++ b/frontend/.next/server/pages/_app.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/pages/_app.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/package.json","../../../node_modules/react","../../../package.json","../../package.json","../webpack-runtime.js"]} \ No newline at end of file diff --git a/frontend/.next/server/pages/_document.js b/frontend/.next/server/pages/_document.js new file mode 100644 index 0000000000000000000000000000000000000000..81017d1c2b97c6f943d6afc242487807ea126774 --- /dev/null +++ b/frontend/.next/server/pages/_document.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=660,e.ids=[660],e.modules={2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},5315:e=>{e.exports=require("path")}};var r=require("../webpack-runtime.js");r.C(e);var s=e=>r(r.s=e),t=r.X(0,[590],()=>s(1590));module.exports=t})(); \ No newline at end of file diff --git a/frontend/.next/server/pages/_document.js.nft.json b/frontend/.next/server/pages/_document.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..e4415d69d1152a31a10c80ad434d6de15bd647a3 --- /dev/null +++ b/frontend/.next/server/pages/_document.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/index.js","../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/node-html-parser/index.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/node-html-parser/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/lib/semver-noop.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/pages/_document.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-dom","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/styled-jsx","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/package.json","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/server.browser.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/package.json","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/client-only","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/react","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/styled-jsx/dist/index/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/styled-jsx/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/styled-jsx/package.json","../../../node_modules/next","../../../node_modules/react","../../../package.json","../../package.json","../chunks/590.js","../webpack-runtime.js"]} \ No newline at end of file diff --git a/frontend/.next/server/pages/_error.js b/frontend/.next/server/pages/_error.js new file mode 100644 index 0000000000000000000000000000000000000000..4dc5a038536d2b10f27b5768609c0b99b6aee132 --- /dev/null +++ b/frontend/.next/server/pages/_error.js @@ -0,0 +1 @@ +"use strict";(()=>{var e={};e.id=820,e.ids=[820,660],e.modules={5367:(e,t)=>{Object.defineProperty(t,"l",{enumerable:!0,get:function(){return function e(t,r){return r in t?t[r]:"then"in t&&"function"==typeof t.then?t.then(t=>e(t,r)):"function"==typeof t&&"default"===r?t:void 0}}})},8929:(e,t,r)=>{r.r(t),r.d(t,{config:()=>h,default:()=>p,getServerSideProps:()=>g,getStaticPaths:()=>f,getStaticProps:()=>c,reportWebVitals:()=>y,routeModule:()=>v,unstable_getServerProps:()=>P,unstable_getServerSideProps:()=>x,unstable_getStaticParams:()=>_,unstable_getStaticPaths:()=>m,unstable_getStaticProps:()=>b});var n=r(1024),o=r(9965),l=r(5367),a=r(1590),i=r.n(a),u=r(7959),d=r.n(u),s=r(8915);let p=(0,l.l)(s,"default"),c=(0,l.l)(s,"getStaticProps"),f=(0,l.l)(s,"getStaticPaths"),g=(0,l.l)(s,"getServerSideProps"),h=(0,l.l)(s,"config"),y=(0,l.l)(s,"reportWebVitals"),b=(0,l.l)(s,"unstable_getStaticProps"),m=(0,l.l)(s,"unstable_getStaticPaths"),_=(0,l.l)(s,"unstable_getStaticParams"),P=(0,l.l)(s,"unstable_getServerProps"),x=(0,l.l)(s,"unstable_getServerSideProps"),v=new n.PagesRouteModule({definition:{kind:o.x.PAGES,page:"/_error",pathname:"/_error",bundlePath:"",filename:""},components:{App:d(),Document:i()},userland:s})},7959:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=r(721),o=r(997),l=n._(r(6689)),a=r(5113);async function i(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,a.loadGetInitialProps)(t,r)}}class u extends l.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}u.origGetInitialProps=i,u.getInitialProps=i,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8915:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=r(721),o=r(997),l=n._(r(6689)),a=n._(r(8067)),i={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function u(e){let{res:t,err:r}=e;return{statusCode:t&&t.statusCode?t.statusCode:r?r.statusCode:404}}let d={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class s extends l.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||i[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:d.error,children:[(0,o.jsx)(a.default,{children:(0,o.jsx)("title",{children:e?e+": "+r:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:d.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:d.h1,children:e}):null,(0,o.jsx)("div",{style:d.wrap,children:(0,o.jsxs)("h2",{style:d.h2,children:[this.props.title||e?r:(0,o.jsx)(o.Fragment,{children:"Application error: a client-side exception has occurred (see the browser console for more information)"}),"."]})})]})]})}}s.displayName="ErrorPage",s.getInitialProps=u,s.origGetInitialProps=u,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2718:(e,t)=>{function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},8067:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return h},defaultHead:function(){return p}});let n=r(721),o=r(7555),l=r(997),a=o._(r(6689)),i=n._(r(7650)),u=r(2907),d=r(497),s=r(2718);function p(e){void 0===e&&(e=!1);let t=[(0,l.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,l.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function c(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===a.default.Fragment?e.concat(a.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(1114);let f=["name","httpEquiv","charSet","itemProp"];function g(e,t){let{inAmpMode:r}=t;return e.reduce(c,[]).reverse().concat(p(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let l=!0,a=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){a=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?l=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?l=!1:t.add(o.type);break;case"meta":for(let e=0,t=f.length;e{let n=e.key||t;if(!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,a.default.cloneElement(e,t)}return a.default.cloneElement(e,{key:n})})}let h=function(e){let{children:t}=e,r=(0,a.useContext)(u.AmpStateContext),n=(0,a.useContext)(d.HeadManagerContext);return(0,l.jsx)(i.default,{reduceComponentsToState:g,headManager:n,inAmpMode:(0,s.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7650:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(6689),o=()=>{},l=()=>{};function a(e){var t;let{headManager:r,reduceComponentsToState:a}=e;function i(){if(r&&r.mountedInstances){let t=n.Children.toArray(Array.from(r.mountedInstances).filter(Boolean));r.updateHead(a(t,e))}}return null==r||null==(t=r.mountedInstances)||t.add(e.children),i(),o(()=>{var t;return null==r||null==(t=r.mountedInstances)||t.add(e.children),()=>{var t;null==r||null==(t=r.mountedInstances)||t.delete(e.children)}}),o(()=>(r&&(r._pendingUpdate=i),()=>{r&&(r._pendingUpdate=i)})),l(()=>(r&&r._pendingUpdate&&(r._pendingUpdate(),r._pendingUpdate=null),()=>{r&&r._pendingUpdate&&(r._pendingUpdate(),r._pendingUpdate=null)})),null}},1114:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},9965:(e,t)=>{var r;Object.defineProperty(t,"x",{enumerable:!0,get:function(){return r}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(r||(r={}))},2907:(e,t,r)=>{e.exports=r(1024).vendored.contexts.AmpContext},497:(e,t,r)=>{e.exports=r(1024).vendored.contexts.HeadManagerContext},2785:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},6689:e=>{e.exports=require("react")},997:e=>{e.exports=require("react/jsx-runtime")},5315:e=>{e.exports=require("path")},7555:(e,t)=>{function r(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(r=function(e){return e?n:t})(e)}t._=t._interop_require_wildcard=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=r(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var i=l?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(o,a,i):o[a]=e[a]}return o.default=e,n&&n.set(e,o),o}}};var t=require("../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[590],()=>r(8929));module.exports=n})(); \ No newline at end of file diff --git a/frontend/.next/server/pages/_error.js.nft.json b/frontend/.next/server/pages/_error.js.nft.json new file mode 100644 index 0000000000000000000000000000000000000000..081c0273588100ea4e402eca1dda7f95c6be61d1 --- /dev/null +++ b/frontend/.next/server/pages/_error.js.nft.json @@ -0,0 +1 @@ +{"version":1,"files":["../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/index.js","../../../node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/node-html-parser/index.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/compiled/node-html-parser/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/lib/semver-noop.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/constants.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/server/lib/trace/tracer.js","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/package.json","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-dom","../../../node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/styled-jsx","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.development.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/package.json","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/server.browser.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/package.json","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/client-only","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/react","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/styled-jsx/dist/index/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/styled-jsx/index.js","../../../node_modules/.pnpm/styled-jsx@5.1.1_react@18.3.1/node_modules/styled-jsx/package.json","../../../node_modules/next","../../../node_modules/react","../../package.json","../chunks/590.js","../webpack-runtime.js"]} \ No newline at end of file diff --git a/frontend/.next/server/server-reference-manifest.js b/frontend/.next/server/server-reference-manifest.js new file mode 100644 index 0000000000000000000000000000000000000000..3ca5dc5556d80534df8ddd6f7b5b17cc922d54d0 --- /dev/null +++ b/frontend/.next/server/server-reference-manifest.js @@ -0,0 +1 @@ +self.__RSC_SERVER_MANIFEST="{\"node\":{},\"edge\":{},\"encryptionKey\":\"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"}" \ No newline at end of file diff --git a/frontend/.next/server/server-reference-manifest.json b/frontend/.next/server/server-reference-manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..c75aca7a23b90ad7a10e5557f01b7e11f83590dc --- /dev/null +++ b/frontend/.next/server/server-reference-manifest.json @@ -0,0 +1 @@ +{"node":{},"edge":{},"encryptionKey":"Mem/9swkruHXjUAmiyAqbemex+em/2QBQEpRLBKIqZM="} \ No newline at end of file diff --git a/frontend/.next/server/webpack-runtime.js b/frontend/.next/server/webpack-runtime.js new file mode 100644 index 0000000000000000000000000000000000000000..fdf08bdce5a5b20edc7685c707edfd4a3c8a8db8 --- /dev/null +++ b/frontend/.next/server/webpack-runtime.js @@ -0,0 +1 @@ +(()=>{"use strict";var e={},r={};function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={exports:{}},u=!0;try{e[o](a,a.exports,t),u=!1}finally{u&&delete r[o]}return a.exports}t.m=e,t.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},(()=>{var e,r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;t.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);t.r(a);var u={};e=e||[null,r({}),r([]),r(r)];for(var f=2&n&&o;"object"==typeof f&&!~e.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach(e=>u[e]=()=>o[e]);return u.default=()=>o,t.d(a,u),a}})(),t.d=(e,r)=>{for(var o in r)t.o(r,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:r[o]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((r,o)=>(t.f[o](e,r),r),[])),t.u=e=>""+e+".js",t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.X=(e,r,o)=>{var n=r;o||(r=e,o=()=>t(t.s=n)),r.map(t.e,t);var a=o();return void 0===a?e:a},(()=>{var e={658:1},r=r=>{var o=r.modules,n=r.ids,a=r.runtime;for(var u in o)t.o(o,u)&&(t.m[u]=o[u]);a&&a(t);for(var f=0;f{e[o]||(658!=o?r(require("./chunks/"+t.u(o))):e[o]=1)},module.exports=t,t.C=r})()})(); \ No newline at end of file diff --git a/frontend/.next/static/chunks/145-04bdfe555d73caf0.js b/frontend/.next/static/chunks/145-04bdfe555d73caf0.js new file mode 100644 index 0000000000000000000000000000000000000000..2f51313c0e3b568bc933e8a3311347ef31870518 --- /dev/null +++ b/frontend/.next/static/chunks/145-04bdfe555d73caf0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[145],{8145:function(e,n,a){a.r(n),a.d(n,{default:function(){return v}});var s=a(3890),i=a(8496),t=a(6788),l=a(8964);let r=(0,l.Z)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),c=(0,l.Z)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);var o=a(7160),d=a(6499),u=a(8908);let h=["Analizza NVIDIA con approccio tecnico e fondamentale.","Trova ETF AI interessanti con rischio definibile.","Confronta S&P 500 vs Nasdaq.","Dove potrebbe entrare un trader momentum?","Quali titoli stanno mostrando forza relativa?","Quali narrative stanno accelerando?","What could the market be missing today?","Compare Nvidia, AMD and Broadcom."];function v(){var e,n,a,t,l,c,d,v,p,x,j,g,_,y,k,w;let[M,S]=(0,i.useState)(""),[z,C]=(0,i.useState)("short and medium term"),[E,U]=(0,i.useState)("balanced"),[A,B]=(0,i.useState)("auto"),[L,D]=(0,i.useState)(),[T,I]=(0,i.useState)([{id:"welcome",role:"assistant",content:"Sono BLUM Chat. Fai una domanda come faresti a un analista buy-side: io recupero contesto BLUM, segnali, news, narrativa, tecnica, fondamentali, memoria storica e restituisco una risposta strutturata. Analisi informativa, non consulenza finanziaria."}]),[F,H]=(0,i.useState)(!1),[R,Q]=(0,i.useState)(""),[W,q]=(0,i.useState)(null),P=(0,i.useRef)(null);(0,i.useEffect)(()=>{o.h.financialChatContext().then(q).catch(()=>q(null))},[]);let Z=null===(e=[...T].reverse().find(e=>e.response))||void 0===e?void 0:e.response,G=null!==(n=null==Z?void 0:Z.candidate_opportunities)&&void 0!==n?n:[],K=null!==(a=null==Z?void 0:Z.asset_context)&&void 0!==a?a:[],V=null!==(t=null==Z?void 0:Z.sources_used)&&void 0!==t?t:[],Y=null!==(l=null==Z?void 0:Z.context_coverage)&&void 0!==l?l:{},J=null!==(c=null==Z?void 0:Z.answer.market_sniper_mode)&&void 0!==c?c:{},O=(0,i.useMemo)(()=>{var e,n,a,s,i,t,l,r,c,o,d,u,h,v,m,p;let x=null!==(l=null==Z?void 0:Z.market_context)&&void 0!==l?l:{},j=x.narrative,g=x.market_sentiment;return{dominantTheme:null!==(c=null!==(r=null==j?void 0:null===(e=j.dominant_theme)||void 0===e?void 0:e.theme)&&void 0!==r?r:null==W?void 0:null===(n=W.dominant_narrative)||void 0===n?void 0:n.theme)&&void 0!==c?c:"Waiting",marketMood:null!==(d=null!==(o=null==j?void 0:j.market_mood)&&void 0!==o?o:null==W?void 0:W.market_mood)&&void 0!==d?d:"Waiting",articleCount:null!==(h=null!==(u=null==g?void 0:g.article_count)&&void 0!==u?u:null==W?void 0:null===(a=W.market_sentiment)||void 0===a?void 0:a.article_count)&&void 0!==h?h:0,semanticHits:null!==(v=null==Z?void 0:null===(s=Z.semantic_evidence)||void 0===s?void 0:s.length)&&void 0!==v?v:0,memoryHits:null!==(m=null==Z?void 0:null===(i=Z.training_memory)||void 0===i?void 0:i.length)&&void 0!==m?m:0,dataQuality:null!==(p=null==Z?void 0:null===(t=Z.answer.data_quality)||void 0===t?void 0:t.label)&&void 0!==p?p:"Pending"}},[W,Z]),X=async(e,n)=>{null==e||e.preventDefault();let a=(null!=n?n:M).trim();if(a.length<3||F)return;let s={id:crypto.randomUUID(),role:"user",content:a};I(e=>[...e,s]),S(""),Q(""),H(!0);try{let e=await o.h.financialChat({message:a,horizon:z,risk_profile:E,language:A,session_id:L,include_semantic_search:!0});D(e.session_id),I(n=>{var a;return[...n,{id:crypto.randomUUID(),role:"assistant",content:null!==(a=e.answer.composed_response)&&void 0!==a?a:e.answer.answer_to_user,response:e}]})}catch(n){let e=n.message;Q(e),I(n=>[...n,{id:crypto.randomUUID(),role:"assistant",content:"I could not complete the analysis because the backend returned: ".concat(e)}])}finally{H(!1),window.setTimeout(()=>{var e;return null===(e=P.current)||void 0===e?void 0:e.focus()},0)}},$=e=>{S(e),window.setTimeout(()=>{var e;return null===(e=P.current)||void 0===e?void 0:e.focus()},0)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(u.ft,{eyebrow:"BLUM Chat",title:"Financial intelligence conversation.",subtitle:"Multilingual market assistant connected to Blum signals, narratives, technical analysis, fundamentals, memory, backtests and evidence controls.",statusItems:[{label:"Mode",value:null!==(d=null==Z?void 0:Z.intent)&&void 0!==d?d:"RAG analyst",tone:"info"},{label:"Language",value:null!==(v=null==Z?void 0:Z.language)&&void 0!==v?v:A},{label:"Risk",value:E},{label:"Evidence",value:"".concat(O.articleCount," news"),tone:Z?"positive":"attention"}]}),(0,s.jsxs)("section",{className:"chatgpt-shell blum-chat-shell",children:[(0,s.jsxs)("div",{className:"chatgpt-main",children:[(0,s.jsxs)("div",{className:"chat-thread",children:[T.map(e=>(0,s.jsx)(m,{message:e},e.id)),F&&(0,s.jsxs)("div",{className:"chat-bubble assistant",children:[(0,s.jsx)("div",{className:"chat-avatar",children:"B"}),(0,s.jsxs)("div",{className:"chat-message-card",children:[(0,s.jsx)("span",{className:"chat-role",children:"BLUM is composing"}),(0,s.jsx)("p",{children:"Retrieving assets, technicals, fundamentals, sentiment, narrative, memory, contradictions and risk controls..."})]})]})]}),(0,s.jsx)("div",{className:"prompt-chip-row chat-starters",children:h.map(e=>(0,s.jsx)("button",{className:"prompt-chip",onClick:()=>$(e),children:e},e))}),(0,s.jsxs)("form",{className:"chat-composer",onSubmit:X,children:[(0,s.jsxs)("div",{className:"chat-composer-controls",children:[(0,s.jsxs)("select",{className:"input",value:A,onChange:e=>B(e.target.value),"aria-label":"Language",children:[(0,s.jsx)("option",{value:"auto",children:"Auto language"}),(0,s.jsx)("option",{value:"it",children:"Italiano"}),(0,s.jsx)("option",{value:"en",children:"English"}),(0,s.jsx)("option",{value:"de",children:"Deutsch"}),(0,s.jsx)("option",{value:"fr",children:"Francais"}),(0,s.jsx)("option",{value:"es",children:"Espanol"})]}),(0,s.jsxs)("select",{className:"input",value:z,onChange:e=>C(e.target.value),"aria-label":"Analysis horizon",children:[(0,s.jsx)("option",{children:"intraday and short term"}),(0,s.jsx)("option",{children:"short and medium term"}),(0,s.jsx)("option",{children:"medium and long term"}),(0,s.jsx)("option",{children:"multi-horizon"})]}),(0,s.jsxs)("select",{className:"input",value:E,onChange:e=>U(e.target.value),"aria-label":"Risk profile",children:[(0,s.jsx)("option",{children:"balanced"}),(0,s.jsx)("option",{children:"conservative"}),(0,s.jsx)("option",{children:"opportunistic"}),(0,s.jsx)("option",{children:"high volatility tolerant"})]})]}),(0,s.jsxs)("div",{className:"chat-input-row",children:[(0,s.jsx)("textarea",{ref:P,className:"input chat-input",value:M,onChange:e=>S(e.target.value),placeholder:"Ask BLUM to analyze an asset, compare setups, find selective opportunities, or plan a monitored technical scenario...",rows:2,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),X())}}),(0,s.jsx)("button",{className:"button primary chat-send-button",disabled:F||M.trim().length<3,type:"submit","aria-label":"Send",children:(0,s.jsx)(r,{size:17})})]}),R&&(0,s.jsxs)("div",{className:"terminal-empty compact",children:["Chat endpoint warning: ",R]})]})]}),(0,s.jsxs)("aside",{className:"chat-context-rail",children:[(0,s.jsx)(u.Ez,{title:"Conversation Context",value:O.marketMood,children:(0,s.jsxs)("div",{className:"professional-grid-2",children:[(0,s.jsx)(u.i9,{label:"Dominant Theme",value:O.dominantTheme}),(0,s.jsx)(u.i9,{label:"Data Quality",value:O.dataQuality}),(0,s.jsx)(u.i9,{label:"Semantic Hits",value:O.semanticHits}),(0,s.jsx)(u.i9,{label:"Memory Hits",value:O.memoryHits})]})}),(0,s.jsx)(u.Ez,{title:"Assets Mentioned",value:"".concat(K.length," names"),children:(0,s.jsxs)("div",{className:"chat-candidate-stack",children:[0===K.length&&(0,s.jsx)("div",{className:"terminal-empty compact",children:"Ask about an asset, ETF, sector or market to build context."}),K.slice(0,8).map(e=>(0,s.jsx)(f,{asset:e},e.ticker))]})}),(0,s.jsx)(u.Ez,{title:"Candidate Queue",value:"".concat(G.length," names"),children:(0,s.jsxs)("div",{className:"chat-candidate-stack",children:[0===G.length&&(0,s.jsx)("div",{className:"terminal-empty compact",children:"The assistant will populate a ranked queue from real BLUM evidence."}),G.slice(0,8).map((e,n)=>{var a;return(0,s.jsx)(b,{candidate:e,rank:n+1},"".concat(null!==(a=e.ticker)&&void 0!==a?a:"candidate","-").concat(n))})]})}),(null==J?void 0:J.asset)&&(0,s.jsx)(u.Ez,{title:"Market Sniper Mode",value:null!==(p=J.confidence)&&void 0!==p?p:"Selective",children:(0,s.jsxs)("div",{className:"sniper-box",children:[(0,s.jsxs)("strong",{children:[J.asset," | ",J.setup_type]}),(0,s.jsxs)("span",{children:["Zone: ",J.entry_zone_informational]}),(0,s.jsxs)("span",{children:["Invalidation: ",String(null!==(x=J.invalidation)&&void 0!==x?x:"n/a")]}),(0,s.jsxs)("span",{children:["Target zone: ",String(null!==(j=J.target_zone_informational)&&void 0!==j?j:"n/a")]}),(0,s.jsx)("span",{children:J.what_could_go_wrong})]})}),(0,s.jsxs)(u.Ez,{title:"Sources Used",value:"".concat(V.length," layers"),children:[(0,s.jsx)("div",{className:"source-badge-grid",children:V.map(e=>(0,s.jsx)(N,{source:e},"".concat(e.name,"-").concat(e.type)))}),(0,s.jsxs)("div",{className:"context-coverage",children:[(0,s.jsxs)("span",{children:["Price ",null!==(g=Y.assets_with_price)&&void 0!==g?g:0,"/",null!==(_=Y.assets_detected)&&void 0!==_?_:0]}),(0,s.jsxs)("span",{children:["Technicals ",null!==(y=Y.assets_with_technical_analysis)&&void 0!==y?y:0]}),(0,s.jsxs)("span",{children:["Fundamentals ",null!==(k=Y.assets_with_fundamentals)&&void 0!==k?k:0]}),(0,s.jsxs)("span",{children:["News ",null!==(w=Y.assets_with_news)&&void 0!==w?w:0]})]})]}),(0,s.jsx)(u.Ez,{title:"Guardrails",value:"Research only",children:(0,s.jsxs)("div",{className:"chat-guardrail-list",children:[(0,s.jsx)("span",{children:"No direct buy/sell instruction."}),(0,s.jsx)("span",{children:"No guaranteed outcome or market-beating claim."}),(0,s.jsx)("span",{children:"Missing data is declared."}),(0,s.jsx)("span",{children:"Levels are informational and probabilistic."})]})})]})]})]})}function m(e){let{message:n}=e,a=n.response;return(0,s.jsxs)("div",{className:"chat-bubble ".concat(n.role),children:[(0,s.jsx)("div",{className:"chat-avatar",children:"assistant"===n.role?"B":"U"}),(0,s.jsxs)("div",{className:"chat-message-card",children:[(0,s.jsx)("span",{className:"chat-role",children:"assistant"===n.role?"BLUM Financial Brain":"You"}),(null==a?void 0:a.answer.standard_sections)?(0,s.jsx)(p,{response:a}):(0,s.jsx)(x,{text:n.content}),a&&(0,s.jsx)(j,{response:a})]})]})}function p(e){var n;let{response:a}=e;return(0,s.jsx)("div",{className:"structured-answer",children:null===(n=a.answer.standard_sections)||void 0===n?void 0:n.map(e=>(0,s.jsxs)("section",{className:"structured-section",children:[(0,s.jsx)("h3",{children:e.title}),(0,s.jsx)("ul",{children:e.bullets.slice(0,8).map((n,a)=>(0,s.jsx)("li",{children:n},"".concat(e.key,"-").concat(a)))})]},e.key))})}function x(e){let{text:n}=e;return(0,s.jsx)("div",{className:"rich-answer",children:n.split("\n").map((e,n)=>e.trim()?e.startsWith("- ")?(0,s.jsx)("li",{children:e.slice(2)},e+n):e.endsWith(":")?(0,s.jsx)("h3",{children:e},e+n):(0,s.jsx)("p",{children:e},e+n):(0,s.jsx)("br",{},"br-".concat(n)))})}function j(e){var n,a,i;let{response:t}=e;return["concise_safe","clarification","error","technical","fundamental"].includes(null!==(n=t.answer.response_style)&&void 0!==n?n:"structured")?(0,s.jsx)("p",{className:"chat-disclaimer",children:t.disclaimer}):(0,s.jsxs)("div",{className:"chat-response-evidence",children:[(0,s.jsxs)("div",{className:"chat-evidence-columns",children:[(0,s.jsx)(g,{title:"Supporting Evidence",rows:t.answer.supporting_evidence}),(0,s.jsx)(g,{title:"Contradictions",rows:t.answer.contradicting_evidence})]}),(0,s.jsxs)("div",{className:"chat-evidence-columns",children:[(0,s.jsx)(g,{title:"Research Plan",rows:null!==(a=t.answer.research_plan)&&void 0!==a?a:t.answer.what_to_monitor}),(0,s.jsx)(g,{title:"What Market May Miss",rows:null!==(i=t.answer.market_may_be_missing)&&void 0!==i?i:[]})]}),(0,s.jsxs)("div",{className:"scenario-mini-grid",children:[(0,s.jsx)(_,{title:"Bull",text:t.answer.bull_case}),(0,s.jsx)(_,{title:"Base",text:t.answer.base_case}),(0,s.jsx)(_,{title:"Bear",text:t.answer.bear_case})]}),(0,s.jsx)("div",{className:"news-list",children:t.semantic_evidence.slice(0,4).map((e,n)=>{var a,i,t,l,r,c,o;let d=null!==(a=e.article)&&void 0!==a?a:{};return(0,s.jsxs)("a",{className:"news-item",href:null!==(i=d.url)&&void 0!==i?i:"#",target:"_blank",rel:"noreferrer",children:[(0,s.jsx)("strong",{children:null!==(t=d.title)&&void 0!==t?t:"Untitled evidence"}),(0,s.jsxs)("span",{children:["Similarity ",Number(null!==(l=e.score)&&void 0!==l?l:0).toFixed(3)," | ",null!==(r=d.source)&&void 0!==r?r:"unknown source"]})]},"".concat(null!==(o=null!==(c=d.id)&&void 0!==c?c:d.url)&&void 0!==o?o:"hit","-").concat(n))})}),(0,s.jsx)("p",{className:"chat-disclaimer",children:t.disclaimer})]})}function g(e){let{title:n,rows:a}=e;return(0,s.jsxs)("div",{className:"chat-evidence-list compact-list",children:[(0,s.jsx)("strong",{children:n}),0===a.length&&(0,s.jsx)("span",{children:"No material evidence retrieved."}),a.slice(0,6).map((e,a)=>(0,s.jsx)("span",{children:e},"".concat(n,"-").concat(a)))]})}function _(e){let{title:n,text:a}=e;return(0,s.jsxs)("div",{className:"chat-scenario-card",children:[(0,s.jsx)("span",{children:n}),(0,s.jsx)("p",{children:a})]})}function f(e){var n,a,i;let{asset:l}=e,r=null!==(n=l.market_snapshot)&&void 0!==n?n:{};return(0,s.jsxs)("div",{className:"asset-context-pill",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(t.default,{href:(0,d.up)(String(l.ticker)),children:l.ticker}),(0,s.jsxs)("p",{children:[l.name," | ",l.sector]})]}),(0,s.jsx)("strong",{children:r.price?"".concat(Number(r.price).toFixed(2)," ").concat(null!==(a=r.currency)&&void 0!==a?a:""):"No price"}),(0,s.jsx)("span",{children:null!==(i=r.data_status)&&void 0!==i?i:"unknown"})]})}function b(e){var n,a,i,l;let{candidate:r,rank:c}=e,o=String(null!==(n=r.ticker)&&void 0!==n?n:"");return(0,s.jsxs)("div",{className:"compact-candidate",children:[(0,s.jsxs)("strong",{children:["#",c]}),(0,s.jsxs)("div",{children:[o?(0,s.jsx)(t.default,{href:(0,d.up)(o),children:o}):(0,s.jsx)("span",{children:"n/a"}),(0,s.jsxs)("p",{children:[null!==(a=r.name)&&void 0!==a?a:"Asset"," | ",null!==(i=r.sector)&&void 0!==i?i:"sector pending"]})]}),(0,s.jsx)(u.Dk,{value:r.opportunity_score,label:"opp"}),(0,s.jsx)(u.en,{risk:null!==(l=r.risk_level)&&void 0!==l?l:"Not rated",score:r.risk_score}),(0,s.jsx)(u.IL,{value:r.technical_score,label:"Tech"})]})}function N(e){var n;let{source:a}=e;return(0,s.jsxs)("div",{className:"source-badge",children:[(0,s.jsx)(c,{size:13}),(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:a.name}),(0,s.jsxs)("span",{children:[a.type," | coverage ",String(null!==(n=a.coverage)&&void 0!==n?n:0)]})]})]})}}}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/183-66f1efcf12b29a02.js b/frontend/.next/static/chunks/183-66f1efcf12b29a02.js new file mode 100644 index 0000000000000000000000000000000000000000..143196d93afcea7238be14e6f420ebb59889491a --- /dev/null +++ b/frontend/.next/static/chunks/183-66f1efcf12b29a02.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[183],{8964:function(e,t,r){"use strict";r.d(t,{Z:function(){return s}});var n=r(8496);let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),i=function(){for(var e=arguments.length,t=Array(e),r=0;r!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let u=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:o=24,strokeWidth:u=2,absoluteStrokeWidth:s,className:l="",children:c,iconNode:f,...d}=e;return(0,n.createElement)("svg",{ref:t,...a,width:o,height:o,stroke:r,strokeWidth:s?24*Number(u)/Number(o):u,className:i("lucide",l),...d},[...f.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(c)?c:[c]])}),s=(e,t)=>{let r=(0,n.forwardRef)((r,a)=>{let{className:s,...l}=r;return(0,n.createElement)(u,{ref:a,iconNode:t,className:i("lucide-".concat(o(e)),s),...l})});return r.displayName="".concat(e),r}},6697:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(8964).Z)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},406:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(8964).Z)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]])},6024:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(8964).Z)("ChartLine",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]])},4340:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(8964).Z)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]])},3258:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(8964).Z)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]])},5907:function(e,t,r){"use strict";r.d(t,{Z:function(){return n}});let n=(0,r(8964).Z)("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]])},6788:function(e,t,r){"use strict";r.d(t,{default:function(){return o.a}});var n=r(9498),o=r.n(n)},2555:function(e,t,r){"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(4518)},9409:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(1635);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;ni?e.prefetch(t,o):e.prefetch(t,r,n))().catch(e=>{})}}function E(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}let R=i.default.forwardRef(function(e,t){let r,n;let{href:s,as:_,children:R,prefetch:b=null,passHref:v,replace:P,shallow:S,scroll:A,locale:T,onClick:O,onMouseEnter:N,onTouchStart:I,legacyBehavior:x=!1,...C}=e;r=R,x&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let M=i.default.useContext(f.RouterContext),w=i.default.useContext(d.AppRouterContext),j=null!=M?M:w,L=!M,k=!1!==b,D=null===b?m.PrefetchKind.AUTO:m.PrefetchKind.FULL,{href:U,as:F}=i.default.useMemo(()=>{if(!M){let e=E(s);return{href:e,as:_?E(_):e}}let[e,t]=(0,a.resolveHref)(M,s,!0);return{href:e,as:_?(0,a.resolveHref)(M,_):t||e}},[M,s,_]),X=i.default.useRef(U),W=i.default.useRef(F);x&&(n=i.default.Children.only(r));let G=x?n&&"object"==typeof n&&n.ref:t,[H,B,Y]=(0,p.useIntersection)({rootMargin:"200px"}),V=i.default.useCallback(e=>{(W.current!==F||X.current!==U)&&(Y(),W.current=F,X.current=U),H(e),G&&("function"==typeof G?G(e):"object"==typeof G&&(G.current=e))},[F,G,U,Y,H]);i.default.useEffect(()=>{j&&B&&k&&y(j,U,F,{locale:T},{kind:D},L)},[F,U,B,T,k,null==M?void 0:M.locale,j,L,D]);let Z={ref:V,onClick(e){x||"function"!=typeof O||O(e),x&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),j&&!e.defaultPrevented&&function(e,t,r,n,o,a,s,l,c){let{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,u.isLocalURL)(r)))return;e.preventDefault();let d=()=>{let e=null==s||s;"beforePopState"in t?t[o?"replace":"push"](r,n,{shallow:a,locale:l,scroll:e}):t[o?"replace":"push"](n||r,{scroll:e})};c?i.default.startTransition(d):d()}(e,j,U,F,P,S,A,T,L)},onMouseEnter(e){x||"function"!=typeof N||N(e),x&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),j&&(k||!L)&&y(j,U,F,{locale:T,priority:!0,bypassPrefetchedCheck:!0},{kind:D},L)},onTouchStart:function(e){x||"function"!=typeof I||I(e),x&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),j&&(k||!L)&&y(j,U,F,{locale:T,priority:!0,bypassPrefetchedCheck:!0},{kind:D},L)}};if((0,l.isAbsoluteUrl)(F))Z.href=F;else if(!x||v||"a"===n.type&&!("href"in n.props)){let e=void 0!==T?T:null==M?void 0:M.locale,t=(null==M?void 0:M.isLocaleDomain)&&(0,h.getDomainLocale)(F,e,null==M?void 0:M.locales,null==M?void 0:M.domainLocales);Z.href=t||(0,g.addBasePath)((0,c.addLocale)(F,e,null==M?void 0:M.defaultLocale))}return x?i.default.cloneElement(n,Z):(0,o.jsx)("a",{...C,...Z,children:r})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2578:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4473:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let n=r(3750),o=r(5785),i=r(520),a=r(8210),u=r(1635),s=r(7003),l=r(1853),c=r(2515);function f(e,t,r){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,a.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,s.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,u.normalizePathTrailingSlash)(e.pathname);let t="";if((0,l.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:a,params:u}=(0,c.interpolateAs)(e.pathname,e.pathname,r);a&&(t=(0,o.formatWithValidation)({pathname:a,hash:e.hash,query:(0,i.omit)(r,u)}))}let a=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[a,t||a]:a}catch(e){return r?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2845:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return s}});let n=r(8496),o=r(2578),i="function"==typeof IntersectionObserver,a=new Map,u=[];function s(e){let{rootRef:t,rootMargin:r,disabled:s}=e,l=s||!i,[c,f]=(0,n.useState)(!1),d=(0,n.useRef)(null),p=(0,n.useCallback)(e=>{d.current=e},[]);return(0,n.useEffect)(()=>{if(i){if(l||c)return;let e=d.current;if(e&&e.tagName)return function(e,t,r){let{id:n,observer:o,elements:i}=function(e){let t;let r={root:e.root||null,margin:e.rootMargin||""},n=u.find(e=>e.root===r.root&&e.margin===r.margin);if(n&&(t=a.get(n)))return t;let o=new Map;return t={id:r,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),r=e.isIntersecting||e.intersectionRatio>0;t&&r&&t(r)})},e),elements:o},u.push(r),a.set(r,t),t}(r);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(n);let e=u.findIndex(e=>e.root===n.root&&e.margin===n.margin);e>-1&&u.splice(e,1)}}}(e,e=>e&&f(e),{root:null==t?void 0:t.current,rootMargin:r})}else if(!c){let e=(0,o.requestIdleCallback)(()=>f(!0));return()=>(0,o.cancelIdleCallback)(e)}},[l,r,t,c,d.current]),[p,c,(0,n.useCallback)(()=>{f(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4518:function(e){!function(){var t={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function u(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var s=[],l=!1,c=-1;function f(){l&&n&&(l=!1,n.length?s=n.concat(s):c=-1,s.length&&d())}function d(){if(!l){var e=u(f);l=!0;for(var t=s.length;t;){for(n=s,s=[];++c1)for(var r=1;r{let t=s[e]||"",{repeat:r,optional:n}=u[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in s)&&(i=i.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(i=""),{params:l,result:i}}},867:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let n=r(4211),o=/\/\[[^/]+?\](?=\/|$)/;function i(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},7003:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=r(8210),o=r(3614);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},520:function(e,t){"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},3750:function(e,t){"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,o]=e;Array.isArray(o)?o.forEach(e=>t.append(r,n(e))):t.set(r,n(o))}),t}function i(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return i},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},5270:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(8210);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let i=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},a={};return Object.keys(r).forEach(e=>{let t=r[e],n=o[t.pos];void 0!==n&&(a[e]=~n.indexOf("/")?n.split("/").map(e=>i(e)):t.repeat?[i(n)]:i(n))}),a}}},7135:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return d},getRouteRegex:function(){return l},parseParameter:function(){return u}});let n=r(1690),o=r(4211),i=r(9947),a=r(3765);function u(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function s(e){let t=(0,a.removeTrailingSlash)(e).slice(1).split("/"),r={},n=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),a=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&a){let{key:e,optional:o,repeat:s}=u(a[1]);return r[e]={pos:n++,repeat:s,optional:o},"/"+(0,i.escapeStringRegexp)(t)+"([^/]+?)"}if(!a)return"/"+(0,i.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=u(a[1]);return r[e]={pos:n++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function l(e){let{parameterizedRoute:t,groups:r}=s(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function c(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:a}=e,{key:s,optional:l,repeat:c}=u(n),f=s.replace(/\W/g,"");a&&(f=""+a+f);let d=!1;(0===f.length||f.length>30)&&(d=!0),isNaN(parseInt(f.slice(0,1)))||(d=!0),d&&(f=r()),a?o[f]=""+a+s:o[f]=s;let p=t?(0,i.escapeStringRegexp)(t):"";return c?l?"(?:/"+p+"(?<"+f+">.+?))?":"/"+p+"(?<"+f+">.+?)":"/"+p+"(?<"+f+">[^/]+?)"}function f(e,t){let r;let u=(0,a.removeTrailingSlash)(e).slice(1).split("/"),s=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:u.map(e=>{let r=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),a=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&a){let[r]=e.split(a[0]);return c({getSafeRouteKey:s,interceptionMarker:r,segment:a[1],routeKeys:l,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return a?c({getSafeRouteKey:s,segment:a[1],routeKeys:l,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,i.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function d(e,t){let r=f(e,t);return{...l(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function p(e,t){let{parameterizedRoute:r}=s(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=f(e,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},85:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),a=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),a=!0),r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function i(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(a){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');i(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');i(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(a)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');i(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}},8210:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return _},NormalizeError:function(){return g},PageNotFoundError:function(){return m},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return s},getLocationOrigin:function(){return a},getURL:function(){return u},isAbsoluteUrl:function(){return i},isResSent:function(){return l},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return E}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),i=0;io.test(e);function a(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=a();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function l(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&l(r))return n;if(!n)throw Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class g extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class _ extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},2675:function(e,t,r){"use strict";t.Z=function(){for(var e,t,r=0,n="",o=arguments.length;rp||(e.current=d[p],d[p]=null,p--)}function g(e,t){d[++p]=e.current,e.current=t}var y=Symbol.for("react.element"),v=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),S=Symbol.for("react.provider"),C=Symbol.for("react.consumer"),E=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),L=Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var T=Symbol.for("react.offscreen"),F=Symbol.for("react.legacy_hidden"),M=Symbol.for("react.cache");Symbol.for("react.tracing_marker");var O=Symbol.iterator;function R(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var D=m(null),A=m(null),I=m(null),U=m(null),B={$$typeof:E,_currentValue:null,_currentValue2:null,_threadCount:0,Provider:null,Consumer:null};function V(e,t){switch(g(I,t),g(A,e),g(D,null),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?s2(t):0;break;default:if(t=(e=8===e?t.parentNode:t).tagName,e=e.namespaceURI)t=s3(e=s2(e),t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}h(D),g(D,t)}function Q(){h(D),h(A),h(I)}function $(e){null!==e.memoizedState&&g(U,e);var t=D.current,n=s3(t,e.type);t!==n&&(g(A,e),g(D,n))}function j(e){A.current===e&&(h(D),h(A)),U.current===e&&(h(U),B._currentValue=null)}var W=a.unstable_scheduleCallback,H=a.unstable_cancelCallback,q=a.unstable_shouldYield,K=a.unstable_requestPaint,Y=a.unstable_now,X=a.unstable_getCurrentPriorityLevel,G=a.unstable_ImmediatePriority,Z=a.unstable_UserBlockingPriority,J=a.unstable_NormalPriority,ee=a.unstable_LowPriority,et=a.unstable_IdlePriority,en=a.log,er=a.unstable_setDisableYieldValue,el=null,ea=null;function eo(e){if("function"==typeof en&&er(e),ea&&"function"==typeof ea.setStrictMode)try{ea.setStrictMode(el,e)}catch(e){}}var ei=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(eu(e)/es|0)|0},eu=Math.log,es=Math.LN2,ec=128,ef=4194304;function ed(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ep(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,l=e.suspendedLanes;e=e.pingedLanes;var a=134217727&n;return 0!==a?0!=(n=a&~l)?r=ed(n):0!=(e&=a)&&(r=ed(e)):0!=(n&=~l)?r=ed(n):0!==e&&(r=ed(e)),0===r?0:0!==t&&t!==r&&0==(t&l)&&((l=r&-r)>=(e=t&-t)||32===l&&0!=(4194176&e))?t:r}function em(e,t){return e.errorRecoveryDisabledLanes&t?0:0!=(e=-536870913&e.pendingLanes)?e:536870912&e?536870912:0}function eh(){var e=ec;return 0==(4194176&(ec<<=1))&&(ec=128),e}function eg(){var e=ef;return 0==(62914560&(ef<<=1))&&(ef=4194304),e}function ey(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ev(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ei(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194218&n}function eb(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ei(n),l=1<l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{eG=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?eX(n):""}function eJ(e){try{var t="";do t+=function(e){switch(e.tag){case 26:case 27:case 5:return eX(e.type);case 16:return eX("Lazy");case 13:return eX("Suspense");case 19:return eX("SuspenseList");case 0:case 2:case 15:return e=eZ(e.type,!1);case 11:return e=eZ(e.type.render,!1);case 1:return e=eZ(e.type,!0);default:return""}}(e),e=e.return;while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var e0=Symbol.for("react.client.reference");function e1(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function e2(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function e3(e){e._valueTracker||(e._valueTracker=function(e){var t=e2(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var l=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function e4(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=e2(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function e6(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var e8=/[\n"\\]/g;function e5(e){return e.replace(e8,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function e7(e,t,n,r,l,a,o,i){e.name="",null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o?e.type=o:e.removeAttribute("type"),null!=t?"number"===o?(0===t&&""===e.value||e.value!=t)&&(e.value=""+e1(t)):e.value!==""+e1(t)&&(e.value=""+e1(t)):"submit"!==o&&"reset"!==o||e.removeAttribute("value"),null!=t?te(e,o,e1(t)):null!=n?te(e,o,e1(n)):null!=r&&e.removeAttribute("value"),null==l&&null!=a&&(e.defaultChecked=!!a),null!=l&&(e.checked=l&&"function"!=typeof l&&"symbol"!=typeof l),null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&"boolean"!=typeof i?e.name=""+e1(i):e.removeAttribute("name")}function e9(e,t,n,r,l,a,o,i){if(null!=a&&"function"!=typeof a&&"symbol"!=typeof a&&"boolean"!=typeof a&&(e.type=a),null!=t||null!=n){if(!("submit"!==a&&"reset"!==a||null!=t))return;n=null!=n?""+e1(n):"",t=null!=t?""+e1(t):n,i||t===e.value||(e.value=t),e.defaultValue=t}r="function"!=typeof(r=null!=r?r:l)&&"symbol"!=typeof r&&!!r,e.checked=i?e.checked:!!r,e.defaultChecked=!!r,null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o&&(e.name=o)}function te(e,t,n){"number"===t&&e6(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}var tt=Array.isArray;function tn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=iX.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}var to=ta;"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(to=function(e,t){return MSApp.execUnsafeLocalFunction(function(){return ta(e,t)})});var ti=to;function tu(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType){n.nodeValue=t;return}}e.textContent=t}var ts=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function tc(e,t,n){var r=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?r?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":r?e.setProperty(t,n):"number"!=typeof n||0===n||ts.has(t)?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function tf(e,t,n){if(null!=t&&"object"!=typeof t)throw Error(i(62));if(e=e.style,null!=n){for(var r in n)!n.hasOwnProperty(r)||null!=t&&t.hasOwnProperty(r)||(0===r.indexOf("--")?e.setProperty(r,""):"float"===r?e.cssFloat="":e[r]="");for(var l in t)r=t[l],t.hasOwnProperty(l)&&n[l]!==r&&tc(e,l,r)}else for(var a in t)t.hasOwnProperty(a)&&tc(e,a,t[a])}function td(e){if(-1===e.indexOf("-"))return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tp=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),tm=null;function th(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var tg=null,ty=null;function tv(e){var t=eO(e);if(t&&(e=t.stateNode)){var n=eD(e);switch(e=t.stateNode,t.type){case"input":if(e7(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+e5(""+t)+'"][type="radio"]'),t=0;t>=o,l-=o,tj=1<<32-ei(t)+l|n<h?(g=f,f=null):g=f.sibling;var y=p(l,f,i[h],u);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&t(l,f),o=a(y,o,h),null===c?s=y:c.sibling=y,c=y,f=g}if(h===i.length)return n(l,f),tZ&&tH(l,h),s;if(null===f){for(;hg?(y=h,h=null):y=h.sibling;var b=p(l,h,v.value,s);if(null===b){null===h&&(h=y);break}e&&h&&null===b.alternate&&t(l,h),o=a(b,o,g),null===f?c=b:f.sibling=b,f=b,h=y}if(v.done)return n(l,h),tZ&&tH(l,g),c;if(null===h){for(;!v.done;g++,v=u.next())null!==(v=d(l,v.value,s))&&(o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return tZ&&tH(l,g),c}for(h=r(l,h);!v.done;g++,v=u.next())null!==(v=m(h,l,g,v.value,s))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return e&&h.forEach(function(e){return t(l,e)}),tZ&&tH(l,g),c}(s,c,f,h);if("function"==typeof f.then)return u(s,c,nJ(f),h);if(f.$$typeof===E)return u(s,c,ai(s,f,h),h);n1(s,f)}return"string"==typeof f&&""!==f||"number"==typeof f?(f=""+f,null!==c&&6===c.tag?(n(s,c.sibling),(c=l(c,f)).return=s):(n(s,c),(c=i_(f,s.mode,h)).return=s),o(s=c)):n(s,c)}(u,s,c,f),nG=null,u}}var n4=n3(!0),n6=n3(!1),n8=m(null),n5=m(0);function n7(e,t){g(n5,e=oz),g(n8,t),oz=e|t.baseLanes}function n9(){g(n5,oz),g(n8,n8.current)}function re(){oz=n5.current,h(n8),h(n5)}var rt=m(null),rn=null;function rr(e){var t=e.alternate;g(ri,1&ri.current),g(rt,e),null===rn&&(null===t||null!==n8.current?rn=e:null!==t.memoizedState&&(rn=e))}function rl(e){if(22===e.tag){if(g(ri,ri.current),g(rt,e),null===rn){var t=e.alternate;null!==t&&null!==t.memoizedState&&(rn=e)}}else ra(e)}function ra(){g(ri,ri.current),g(rt,rt.current)}function ro(e){h(rt),rn===e&&(rn=null),h(ri)}var ri=m(0);function ru(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var rs=s.ReactCurrentDispatcher,rc=s.ReactCurrentBatchConfig,rf=0,rd=null,rp=null,rm=null,rh=!1,rg=!1,ry=!1,rv=0,rb=0,rk=null,rw=0;function rS(){throw Error(i(321))}function rC(e,t){if(null===t)return!1;for(var n=0;na?a:8;var o=rc.transition,i={_callbacks:new Set};rc.transition=i,lf(e,!1,t,n);try{var u=l();if(null!==u&&"object"==typeof u&&"function"==typeof u.then){av(i,u);var s,c,f=(s=[],c={status:"pending",value:null,reason:null,then:function(e){s.push(e)}},u.then(function(){c.status="fulfilled",c.value=r;for(var e=0;e title"))),sG(l,n,r),l[eE]=e,eI(l),n=l;break e;case"link":var a=cE("link","href",t).get(n+(r.href||""));if(a){for(var o=0;o",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?l.createElement(n,{is:r.is}):l.createElement(n)}}e[eE]=t,e[ex]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)e.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(t.stateNode=e,sG(e,n,r),n){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break;case"img":e=!0;break;default:e=!1}e&&aC(t)}}return aP(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&aC(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));if(e=I.current,t9(t)){e:{if(e=t.stateNode,n=t.memoizedProps,e[eE]=t,(r=e.nodeValue!==n)&&null!==(l=tX))switch(l.tag){case 3:if(l=0!=(1&l.mode),sq(e.nodeValue,n,l),l){e=!1;break e}break;case 27:case 5:var a=0!=(1&l.mode);if(!0!==l.memoizedProps.suppressHydrationWarning&&sq(e.nodeValue,n,a),a){e=!1;break e}}e=r}e&&aC(t)}else(e=s1(e).createTextNode(r))[eE]=t,t.stateNode=e}return aP(t),null;case 13:if(ro(t),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(tZ&&null!==tG&&0!=(1&t.mode)&&0==(128&t.flags))ne(),nt(),t.flags|=384,l=!1;else if(l=t9(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(i(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(i(317));l[eE]=t}else nt(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;aP(t),l=!1}else null!==tJ&&(o0(tJ),tJ=null),l=!0;if(!l)return 256&t.flags?t:null}if(0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool),a=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),ax(t,t.updateQueue),aP(t),null;case 4:return Q(),null===e&&sA(t.stateNode.containerInfo),aP(t),null;case 10:return an(t.type._context),aP(t),null;case 19:if(h(ri),null===(l=t.memoizedState))return aP(t),null;if(r=0!=(128&t.flags),null===(a=l.rendering)){if(r)az(l,!1);else{if(0!==oP||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=ru(e))){for(t.flags|=128,az(l,!1),e=a.updateQueue,t.updateQueue=e,ax(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)ix(n,e),n=n.sibling;return g(ri,1&ri.current|2),t.child}e=e.sibling}null!==l.tail&&Y()>oI&&(t.flags|=128,r=!0,az(l,!1),t.lanes=4194304)}}else{if(!r){if(null!==(e=ru(a))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,ax(t,e),az(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!tZ)return aP(t),null}else 2*Y()-l.renderingStartTime>oI&&536870912!==n&&(t.flags|=128,r=!0,az(l,!1),t.lanes=4194304)}l.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=l.last)?e.sibling=a:t.child=a,l.last=a)}if(null!==l.tail)return t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Y(),t.sibling=null,e=ri.current,g(ri,r?1&e|2:1&e),t;return aP(t),null;case 22:case 23:return ro(t),re(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(536870912&n)&&0==(128&t.flags)&&(aP(t),6&t.subtreeFlags&&(t.flags|=8192)):aP(t),null!==(n=t.updateQueue)&&ax(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&h(ab),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),an(ad),aP(t),null;case 25:return null}throw Error(i(156,t.tag))}(t.alternate,t,oz);if(null!==n){ow=n;return}if(null!==(t=t.sibling)){ow=t;return}ow=t=e}while(null!==t);0===oP&&(oP=5)}function is(e,t,n,r,l){var a=ek,o=ov.transition;try{ov.transition=null,ek=2,function(e,t,n,r,l,a){do id();while(null!==oj);if(0!=(6&ob))throw Error(i(327));var o,u=e.finishedWork,s=e.finishedLanes;if(null!==u){if(e.finishedWork=null,e.finishedLanes=0,u===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var c=u.lanes|u.childLanes;if(function(e,t,n){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0,t=e.entanglements;for(var l=e.expirationTimes,a=e.hiddenUpdates;0r&&(l=r,r=a,a=l),l=si(n,a);var o=si(n,r);l&&o&&(1!==e.rangeCount||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(l.node,l.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;nn?32:n;n=ov.transition;var l=ek;try{if(ov.transition=null,ek=r,null===oj)var a=!1;else{r=oq,oq=null;var o=oj,u=oW;if(oj=null,oW=0,0!=(6&ob))throw Error(i(331));var s=ob;if(ob|=4,of(o.current),ol(o,o.current,u,r),ob=s,nb(!1),ea&&"function"==typeof ea.onPostCommitFiberRoot)try{ea.onPostCommitFiberRoot(el,o)}catch(e){}a=!0}return a}finally{ek=l,ov.transition=n,ic(e,t)}}return!1}function ip(e,t,n){t=lL(e,t=lP(n,t),2),null!==(e=nO(e,t,2))&&(o2(e,2),nv(e))}function im(e,t,n){if(3===e.tag)ip(e,e,n);else for(;null!==t;){if(3===t.tag){ip(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===oQ||!oQ.has(r))){e=lT(t,e=lP(n,e),2),null!==(t=nO(t,e,2))&&(o2(t,2),nv(t));break}}t=t.return}}function ih(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new om;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(ox=!0,l.add(n),e=ig.bind(null,e,t,n),t.then(e,e))}function ig(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,2&ob?oR=!0:4&ob&&(oD=!0),ik(),ok===e&&(oS&n)===n&&(4===oP||3===oP&&(62914560&oS)===oS&&300>Y()-oA?0==(2&ob)&&o5(e,0):oT|=n),nv(e)}function iy(e,t){0===t&&(t=0==(1&e.mode)?2:eg()),null!==(e=ns(e,t))&&(o2(e,t),nv(e))}function iv(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),iy(e,n)}function ib(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(t),iy(e,n)}function ik(){if(50=uH),uY=!1;function uX(e,t){switch(e){case"keyup":return -1!==uj.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function uG(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var uZ=!1,uJ={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function u0(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!uJ[e.type]:"textarea"===t}function u1(e,t,n,r){tb(r),0<(t=sV(t,"onChange")).length&&(n=new i3("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var u2=null,u3=null;function u4(e){sM(e,0)}function u6(e){if(e4(eR(e)))return e}function u8(e,t){if("change"===e)return t}var u5=!1;if(e$){if(e$){var u7="oninput"in document;if(!u7){var u9=document.createElement("div");u9.setAttribute("oninput","return;"),u7="function"==typeof u9.oninput}r=u7}else r=!1;u5=r&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=so(r)}}function su(){for(var e=window,t=e6();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=e6(e.document)}return t}function ss(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var sc=e$&&"documentMode"in document&&11>=document.documentMode,sf=null,sd=null,sp=null,sm=!1;function sh(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;sm||null==sf||sf!==e6(r)||(r="selectionStart"in(r=sf)&&ss(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},sp&&nQ(sp,r)||(sp=r,0<(r=sV(sd,"onSelect")).length&&(t=new i3("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=sf)))}function sg(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var sy={animationend:sg("Animation","AnimationEnd"),animationiteration:sg("Animation","AnimationIteration"),animationstart:sg("Animation","AnimationStart"),transitionend:sg("Transition","TransitionEnd")},sv={},sb={};function sk(e){if(sv[e])return sv[e];if(!sy[e])return e;var t,n=sy[e];for(t in n)if(n.hasOwnProperty(t)&&t in sb)return sv[e]=n[t];return e}e$&&(sb=document.createElement("div").style,"AnimationEvent"in window||(delete sy.animationend.animation,delete sy.animationiteration.animation,delete sy.animationstart.animation),"TransitionEvent"in window||delete sy.transitionend.transition);var sw=sk("animationend"),sS=sk("animationiteration"),sC=sk("animationstart"),sE=sk("transitionend"),sx=new Map,sz="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function sP(e,t){sx.set(e,t),eV(t,[e])}for(var sN=0;sN title"):null)}var cz=null;function cP(){}function cN(){if(this.count--,0===this.count){if(this.stylesheets)cL(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var c_=null;function cL(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,c_=new Map,t.forEach(cT,e),c_=null,cN.call(e))}function cT(e,t){if(!(4&t.state.loading)){var n=c_.get(e);if(n)var r=n.get(null);else{n=new Map,c_.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{let e=!0;return l.h.themes().then(n=>{e&&(t(Array.isArray(n)?n:[]),j(""))}).catch(n=>{e&&(t([]),j(n.message))}),()=>{e=!1}},[]);let A=(0,a.useMemo)(()=>{let t=null!=e?e:[];return{articleCount:t.reduce((e,t)=>e+h(t.article_count),0),averageSentiment:t.length?t.reduce((e,t)=>e+h(t.sentiment_score),0)/t.length:0}},[e]),C=async()=>{w(!0),S("");try{let e=await l.h.semanticSearch(u);x(Array.isArray(e)?e:[])}catch(e){x([]),S(e.message)}finally{w(!1)}},E=async e=>{if(e){_(e),N("");try{o(await l.h.themeDetail(e))}catch(e){o(null),N(e.message)}finally{_("")}}};return null===e?(0,s.jsx)(r.G,{label:"Loading semantic themes"}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.ft,{eyebrow:"Themes and Narratives",title:"Market narrative intelligence.",subtitle:"Semantic clusters, rising themes, linked tickers and source evidence from public financial news.",statusItems:[{label:"Clusters",value:String(e.length),tone:e.length?"positive":"attention"},{label:"Articles",value:String(A.articleCount),tone:A.articleCount?"info":"attention"},{label:"Avg sentiment",value:A.averageSentiment.toFixed(2),tone:A.averageSentiment>=0?"positive":"negative"},{label:"Mode",value:"Evidence only"}]}),p&&(0,s.jsxs)("div",{className:"terminal-empty",style:{marginBottom:12},children:["Narratives endpoint warning: ",p,". The autonomous engine will keep rebuilding semantic clusters as evidence arrives."]}),(0,s.jsx)("section",{className:"professional-grid-3",children:c.map(t=>{var n;let a=t.split("/")[0].toLowerCase(),l=e.find(e=>{var t;return String(null!==(t=e.label)&&void 0!==t?t:"").toLowerCase().includes(a)});return(0,s.jsx)(i.x8,{title:t,sentiment:null==l?void 0:l.sentiment_score,volume:null!==(n=null==l?void 0:l.article_count)&&void 0!==n?n:0,explanation:l?"Active semantic cluster: ".concat(m(l.keywords).slice(0,4).join(", ")||"keywords pending","."):"Strategic narrative taxonomy monitored for future evidence."},t)})}),(0,s.jsxs)(i.Ez,{title:"Semantic Search",value:"Vector evidence",subtitle:"Search public news embeddings and narrative clusters",className:"radar-core-panel",children:[(0,s.jsxs)("div",{className:"control-row",style:{marginBottom:0},children:[(0,s.jsx)("input",{className:"input",value:u,onChange:e=>v(e.target.value),"aria-label":"Semantic search query"}),(0,s.jsx)("button",{className:"button primary",onClick:C,disabled:b||u.trim().length<3,children:b?"Searching...":"Semantic search"})]}),f&&(0,s.jsxs)("div",{className:"terminal-empty compact",style:{marginTop:10},children:["Search warning: ",f]})]}),(0,s.jsx)("section",{className:"professional-grid-3",style:{marginTop:12},children:e.slice(0,12).map((e,t)=>{var n,a;let l=String(null!==(n=e.label)&&void 0!==n?n:"Theme ".concat(t+1));return(0,s.jsxs)("article",{className:"narrative-card theme-card",onClick:()=>E(l),children:[(0,s.jsxs)("div",{className:"narrative-card-top",children:[(0,s.jsx)("strong",{children:l}),(0,s.jsxs)("span",{className:"score-badge tone-attention",children:[(0,s.jsx)("strong",{children:h(e.article_count)}),(0,s.jsx)("em",{children:"news"})]})]}),(0,s.jsxs)("p",{children:["Keywords: ",m(e.keywords).join(", ")||"semantic cluster"]}),(0,s.jsxs)("div",{className:"narrative-card-meta",children:[(0,s.jsxs)("span",{children:["sentiment ",h(e.sentiment_score).toFixed(2)]}),(0,s.jsx)("span",{children:k===l?"loading detail":null!==(a=e.cluster_method)&&void 0!==a?a:"theme aggregation"})]})]},"".concat(l,"-").concat(t))})}),!e.length&&!p&&(0,s.jsx)(i.Ez,{title:"Narrative Coverage",value:"Building",className:"radar-core-panel",children:(0,s.jsx)("div",{className:"terminal-empty",children:"No semantic clusters are stored yet. The autonomous engine is hydrating news, embeddings and theme memory in the background."})}),y&&(0,s.jsxs)("div",{className:"terminal-empty",style:{marginTop:12},children:["Theme detail warning: ",y]}),n&&(0,s.jsx)(d,{detail:n}),(0,s.jsx)(i.Ez,{title:"Semantic Search Results",value:"".concat(g.length," matches"),className:"radar-core-panel",children:(0,s.jsxs)("div",{className:"news-list",children:[0===g.length&&(0,s.jsx)("div",{className:"terminal-empty compact",children:"Search results will appear here after a query is submitted."}),g.map((e,t)=>{var n,a,l,i,r,c;let o=null!==(n=e.article)&&void 0!==n?n:{};return(0,s.jsxs)("a",{className:"news-item",href:null!==(a=o.url)&&void 0!==a?a:"#",target:"_blank",rel:"noreferrer",children:[(0,s.jsx)("strong",{children:null!==(l=o.title)&&void 0!==l?l:"Untitled evidence item"}),(0,s.jsxs)("span",{children:["Similarity ",h(e.score).toFixed(3)," | ",null!==(i=o.source)&&void 0!==i?i:"unknown source"]})]},"".concat(null!==(c=null!==(r=o.id)&&void 0!==r?r:o.url)&&void 0!==c?c:"result","-").concat(t))})]})})]})}function d(e){var t;let{detail:n}=e,a=m(n.source_mix),l=m(n.linked_assets),r=m(n.articles);return(0,s.jsxs)(i.Ez,{title:"Theme Detail",value:null!==(t=n.label)&&void 0!==t?t:"Narrative",className:"radar-core-panel",children:[(0,s.jsxs)("div",{className:"professional-grid-4",children:[(0,s.jsx)(u,{label:"Articles",value:h(n.article_count)}),(0,s.jsx)(u,{label:"Avg Sentiment",value:h(n.average_sentiment).toFixed(2)}),(0,s.jsx)(u,{label:"Sources",value:a.length}),(0,s.jsx)(u,{label:"Assets",value:l.length})]}),(0,s.jsxs)("div",{className:"professional-grid-2",style:{marginTop:12},children:[(0,s.jsx)(i.Ez,{title:"Linked Assets",dense:!0,children:(0,s.jsxs)("div",{className:"tag-row",children:[0===l.length&&(0,s.jsx)("span",{children:"No linked tickers yet"}),l.slice(0,20).map((e,t)=>{var n,a,l;return(0,s.jsxs)("span",{children:[null!==(n=e.ticker)&&void 0!==n?n:"Asset"," ",null!==(a=e.mentions)&&void 0!==a?a:0]},"".concat(null!==(l=e.ticker)&&void 0!==l?l:"asset","-").concat(t))})]})}),(0,s.jsx)(i.Ez,{title:"Source Mix",dense:!0,children:(0,s.jsxs)("div",{className:"tag-row",children:[0===a.length&&(0,s.jsx)("span",{children:"No source concentration yet"}),a.slice(0,16).map((e,t)=>{var n,a,l;return(0,s.jsxs)("span",{children:[null!==(n=e.source)&&void 0!==n?n:"Source"," ",null!==(a=e.count)&&void 0!==a?a:0]},"".concat(null!==(l=e.source)&&void 0!==l?l:"source","-").concat(t))})]})})]}),(0,s.jsxs)("div",{className:"news-list",style:{marginTop:12},children:[0===r.length&&(0,s.jsx)("div",{className:"terminal-empty compact",children:"No articles are linked to this theme yet."}),r.slice(0,16).map((e,t)=>{var n,a,l,i,r,c;return(0,s.jsxs)("a",{className:"news-item",href:null!==(a=e.url)&&void 0!==a?a:"#",target:"_blank",rel:"noreferrer",children:[(0,s.jsx)("strong",{children:null!==(l=e.title)&&void 0!==l?l:"Untitled article"}),(0,s.jsxs)("span",{children:[null!==(i=e.source)&&void 0!==i?i:"unknown"," | sentiment ",h(null===(n=e.sentiment)||void 0===n?void 0:n.score).toFixed(2)," | assets ",m(e.linked_assets).map(e=>e.ticker).filter(Boolean).join(" | ")||"n/a"]})]},"".concat(null!==(c=null!==(r=e.id)&&void 0!==r?r:e.url)&&void 0!==c?c:"article","-").concat(t))})]})]})}function u(e){let{label:t,value:n}=e;return(0,s.jsx)(i.i9,{label:t,value:n})}function m(e){return Array.isArray(e)?e:[]}function h(e){let t=Number(e);return Number.isFinite(t)?t:0}},9273:function(e,t,n){n.d(t,{G:function(){return a}});var s=n(3890);function a(e){let{label:t="Loading intelligence snapshot"}=e;return(0,s.jsxs)("div",{className:"loading-state",children:[(0,s.jsx)("div",{}),(0,s.jsx)("span",{children:t})]})}}}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/51e374df.e869da9a92d22819.js b/frontend/.next/static/chunks/51e374df.e869da9a92d22819.js new file mode 100644 index 0000000000000000000000000000000000000000..9692eabf9affd59a4deb859cb285bdc6f0bc418c --- /dev/null +++ b/frontend/.next/static/chunks/51e374df.e869da9a92d22819.js @@ -0,0 +1,471 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[715],{6810:function(e,t,r){var n,i,a=r(2555),o=r(2994).Buffer;n="undefined"!=typeof self?self:this,i=()=>{"use strict";var e=(()=>{var e,t,r,n,i,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E,C,L,I,P,z,O,D,R,F,j,B,N,U,V,q,H,G,Z,W,Y,X,$,J,K,Q=Object.create,ee=Object.defineProperty,et=Object.defineProperties,er=Object.getOwnPropertyDescriptor,en=Object.getOwnPropertyDescriptors,ei=Object.getOwnPropertyNames,ea=Object.getOwnPropertySymbols,eo=Object.getPrototypeOf,es=Object.prototype.hasOwnProperty,el=Object.prototype.propertyIsEnumerable,ec=(e,t,r)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eu=(e,t)=>{for(var r in t||(t={}))es.call(t,r)&&ec(e,r,t[r]);if(ea)for(var r of ea(t))el.call(t,r)&&ec(e,r,t[r]);return e},eh=(e,t)=>et(e,en(t)),ef=(e,t)=>{var r={};for(var n in e)es.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&ea)for(var n of ea(e))0>t.indexOf(n)&&el.call(e,n)&&(r[n]=e[n]);return r},ep=(e,t)=>function(){return e&&(t=(0,e[ei(e)[0]])(e=0)),t},ed=(e,t)=>function(){return t||(0,e[ei(e)[0]])((t={exports:{}}).exports,t),t.exports},em=(e,t)=>{for(var r in t)ee(e,r,{get:t[r],enumerable:!0})},eg=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of ei(t))es.call(e,i)||i===r||ee(e,i,{get:()=>t[i],enumerable:!(n=er(t,i))||n.enumerable});return e},ey=(e,t,r)=>(r=null!=e?Q(eo(e)):{},eg(!t&&e&&e.__esModule?r:ee(r,"default",{value:e,enumerable:!0}),e)),ev=e=>eg(ee({},"__esModule",{value:!0}),e),ex=ed({"src/version.js"(e){e.version="3.6.0"}}),e_=ed({"node_modules/native-promise-only/lib/npo.src.js"(e,t){var r,n,i;r="Promise",n="undefined"!=typeof window?window:e,i=function(){var e,t,r,n=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,r,n){return Object.defineProperty(e,t,{value:r,writable:!0,configurable:!1!==n})}}catch(t){e=function(e,t,r){return e[t]=r,e}}function a(e,n){r.add(e,n),t||(t=i(r.drain))}function o(e){var t,r=typeof e;return null!=e&&("object"==r||"function"==r)&&(t=e.then),"function"==typeof t&&t}function s(){for(var e=0;e0&&a(s,r))}catch(e){c.call(new h(r),e)}}}function c(e){var t=this;!t.triggered&&(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&a(s,t))}function u(e,t,r,n){for(var i=0;it?1:e>=t?0:NaN}function p(e){return null===e?NaN:+e}function d(e){return!isNaN(e)}function m(e){return{left:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;0>e(t[a],r)?n=a+1:i=a}return n},right:function(t,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}e.ascending=f,e.descending=function(e,t){return te?1:t>=e?0:NaN},e.min=function(e,t){var r,n,i=-1,a=e.length;if(1==arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},e.max=function(e,t){var r,n,i=-1,a=e.length;if(1==arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},e.extent=function(e,t){var r,n,i,a=-1,o=e.length;if(1==arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},e.deviation=function(){var t=e.variance.apply(this,arguments);return t?Math.sqrt(t):t};var g=m(f);function y(e){return e.length}e.bisectLeft=g.left,e.bisect=e.bisectRight=g.right,e.bisector=function(e){return m(1===e.length?function(t,r){return f(e(t),r)}:e)},e.shuffle=function(e,t,r){(a=arguments.length)<3&&(r=e.length,a<2&&(t=0));for(var n,i,a=r-t;a;)i=Math.random()*a--|0,n=e[a+t],e[a+t]=e[i+t],e[i+t]=n;return e},e.permute=function(e,t){for(var r=t.length,n=Array(r);r--;)n[r]=e[t[r]];return n},e.pairs=function(e){for(var t=0,r=e.length-1,n=e[0],i=Array(r<0?0:r);t=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r};var v=Math.abs;function x(e,t){for(var r in t)Object.defineProperty(e.prototype,r,{value:t[r],enumerable:!1})}function _(){this._=Object.create(null)}function b(e){return"__proto__"==(e+="")||"\0"===e[0]?"\0"+e:e}function w(e){return"\0"===(e+="")[0]?e.slice(1):e}function T(e){return b(e) in this._}function k(e){return(e=b(e))in this._&&delete this._[e]}function A(){var e=[];for(var t in this._)e.push(w(t));return e}function M(){var e=0;for(var t in this._)++e;return e}function S(){for(var e in this._)return!1;return!0}function E(){this._=Object.create(null)}function C(e){return e}function L(e,t){if(t in e)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var r=0,n=I.length;rt;)i.push(n/a);else for(;(n=e+r*++o)=i.length)return r?r.call(n,a):t?a.sort(t):a;for(var l,c,u,h,f=-1,p=a.length,d=i[s++],m=new _;++f=i.length)return t;var n=[],o=a[r++];return t.forEach(function(t,i){n.push({key:t,values:e(i,r)})}),o?n.sort(function(e,t){return o(e.key,t.key)}):n}(o(e.map,t,0),0)},n.key=function(e){return i.push(e),n},n.sortKeys=function(e){return a[i.length-1]=e,n},n.sortValues=function(e){return t=e,n},n.rollup=function(e){return r=e,n},n},e.set=function(e){var t=new E;if(e)for(var r=0,n=e.length;r=0&&(n=e.slice(r+1),e=e.slice(0,r)),e)return arguments.length<2?this[e].on(n):this[e].on(n,t);if(2==arguments.length){if(null==t)for(e in this)this.hasOwnProperty(e)&&this[e].on(n,null);return this}},e.event=null,e.requote=function(e){return e.replace(j,"\\$&")};var j=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,B={}.__proto__?function(e,t){e.__proto__=t}:function(e,t){for(var r in t)e[r]=t[r]};function N(e){return B(e,H),e}var U=function(e,t){return t.querySelector(e)},V=function(e,t){return t.querySelectorAll(e)},q=function(e,t){var r=e.matches||e[L(e,"matchesSelector")];return(q=function(e,t){return r.call(e,t)})(e,t)};"function"==typeof Sizzle&&(U=function(e,t){return Sizzle(e,t)[0]||null},V=Sizzle,q=Sizzle.matchesSelector),e.selection=function(){return e.select(i.documentElement)};var H=e.selection.prototype=[];function G(e){return"function"==typeof e?e:function(){return U(e,this)}}function Z(e){return"function"==typeof e?e:function(){return V(e,this)}}H.select=function(e){var t,r,n,i,a=[];e=G(e);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=e.slice(0,t))&&(e=e.slice(t+1)),Y.hasOwnProperty(r)?{space:Y[r],local:e}:e}},H.attr=function(t,r){if(arguments.length<2){if("string"==typeof t){var n=this.node();return(t=e.ns.qualify(t)).local?n.getAttributeNS(t.space,t.local):n.getAttribute(t)}for(r in t)this.each(X(r,t[r]));return this}return this.each(X(t,r))},H.classed=function(e,t){if(arguments.length<2){if("string"==typeof e){var r=this.node(),n=(e=K(e)).length,i=-1;if(t=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},H.sort=function(e){e=es.apply(this,arguments);for(var t=-1,r=this.length;++t0&&(t=t.slice(0,o));var l=ef.get(t);function c(){var e=this[a];e&&(this.removeEventListener(t,e,e.$),delete this[a])}return l&&(t=l,s=ed),o?r?function(){var e=s(r,n(arguments));c.call(this),this.addEventListener(t,this[a]=e,e.$=i),e._=r}:c:r?P:function(){var r,n=RegExp("^__on([^.]+)"+e.requote(t)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}e.selection.enter=ec,e.selection.enter.prototype=eu,eu.append=H.append,eu.empty=H.empty,eu.node=H.node,eu.call=H.call,eu.size=H.size,eu.select=function(e){for(var t,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=t+1);!(o=s[n])&&++n1?eA:e<-1?-eA:Math.asin(e)}function eC(e){return((e=Math.exp(e))+1/e)/2}var eL=Math.SQRT2;e.interpolateZoom=function(e,t){var r,n,i=e[0],a=e[1],o=e[2],s=t[0],l=t[1],c=t[2],u=s-i,h=l-a,f=u*u+h*h;if(f0&&(t=t.transition().duration(m)),t.call(w.event)}function S(){c&&c.domain(l.range().map(function(e){return(e-f.x)/f.k}).map(l.invert)),h&&h.domain(u.range().map(function(e){return(e-f.y)/f.k}).map(u.invert))}function E(e){g++||e({type:"zoomstart"})}function C(e){S(),e({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function L(e){--g||(e({type:"zoomend"}),r=null)}function I(){var t=this,r=b.of(t,arguments),n=0,i=e.select(o(t)).on(v,function(){n=1,A(e.mouse(t),a),C(r)}).on(x,function(){i.on(v,null).on(x,null),s(n),L(r)}),a=T(e.mouse(t)),s=ey(t);nH.call(t),E(r)}function P(){var t,r=this,n=b.of(r,arguments),i={},a=0,o=".zoom-"+e.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=e.select(r),p=ey(r);function d(){var n=e.touches(r);return t=f.k,n.forEach(function(e){e.identifier in i&&(i[e.identifier]=T(e))}),n}function m(){var t=e.event.target;e.select(t).on(l,g).on(c,v),u.push(t);for(var n=e.event.changedTouches,o=0,h=n.length;o1){var y=p[0],x=p[1],_=y[0]-x[0],b=y[1]-x[1];a=_*_+b*b}}function g(){var o,l,c,u,h=e.touches(r);nH.call(r);for(var f=0,p=h.length;f360?t-=360:t<0&&(t+=360),t<60)?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n))}return e=isNaN(e)?0:(e%=360)<0?e+360:e,t=isNaN(t)?0:t<0?0:t>1?1:t,i=(r=r<0?0:r>1?1:r)<=.5?r*(1+t):r+t-r*t,n=2*r-i,new eX(a(e+120),a(e),a(e-120))}function ej(t,r,n){return this instanceof ej?void(this.h=+t,this.c=+r,this.l=+n):arguments.length<2?t instanceof ej?new ej(t.h,t.c,t.l):t instanceof eU?eG(t.l,t.a,t.b):eG((t=e2((t=e.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new ej(t,r,n)}eR.brighter=function(e){return e=Math.pow(.7,arguments.length?e:1),new eD(this.h,this.s,this.l/e)},eR.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new eD(this.h,this.s,e*this.l)},eR.rgb=function(){return eF(this.h,this.s,this.l)},e.hcl=ej;var eB=ej.prototype=new eO;function eN(e,t,r){return isNaN(e)&&(e=0),isNaN(t)&&(t=0),new eU(r,Math.cos(e*=eM)*t,Math.sin(e)*t)}function eU(e,t,r){return this instanceof eU?void(this.l=+e,this.a=+t,this.b=+r):arguments.length<2?e instanceof eU?new eU(e.l,e.a,e.b):e instanceof ej?eN(e.h,e.c,e.l):e2((e=eX(e)).r,e.g,e.b):new eU(e,t,r)}eB.brighter=function(e){return new ej(this.h,this.c,Math.min(100,this.l+eV*(arguments.length?e:1)))},eB.darker=function(e){return new ej(this.h,this.c,Math.max(0,this.l-eV*(arguments.length?e:1)))},eB.rgb=function(){return eN(this.h,this.c,this.l).rgb()},e.lab=eU;var eV=18,eq=eU.prototype=new eO;function eH(e,t,r){var n=(e+16)/116,i=n+t/500,a=n-r/200;return new eX(eY(3.2404542*(i=.95047*eZ(i))-1.5371385*(n=1*eZ(n))-.4985314*(a=1.08883*eZ(a))),eY(-.969266*i+1.8760108*n+.041556*a),eY(.0556434*i-.2040259*n+1.0572252*a))}function eG(e,t,r){return e>0?new ej(Math.atan2(r,t)*eS,Math.sqrt(t*t+r*r),e):new ej(NaN,NaN,e)}function eZ(e){return e>.206893034?e*e*e:(e-4/29)/7.787037}function eW(e){return e>.008856?Math.pow(e,1/3):7.787037*e+4/29}function eY(e){return Math.round(255*(e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055))}function eX(e,t,r){return this instanceof eX?void(this.r=~~e,this.g=~~t,this.b=~~r):arguments.length<2?e instanceof eX?new eX(e.r,e.g,e.b):e0(""+e,eX,eF):new eX(e,t,r)}function e$(e){return new eX(e>>16,e>>8&255,255&e)}function eJ(e){return e$(e)+""}eq.brighter=function(e){return new eU(Math.min(100,this.l+eV*(arguments.length?e:1)),this.a,this.b)},eq.darker=function(e){return new eU(Math.max(0,this.l-eV*(arguments.length?e:1)),this.a,this.b)},eq.rgb=function(){return eH(this.l,this.a,this.b)},e.rgb=eX;var eK=eX.prototype=new eO;function eQ(e){return e<16?"0"+Math.max(0,e).toString(16):Math.min(255,e).toString(16)}function e0(e,t,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(e=e.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(e5(i[0]),e5(i[1]),e5(i[2]))}return(a=e4.get(e))?t(a.r,a.g,a.b):(null==e||"#"!==e.charAt(0)||isNaN(a=parseInt(e.slice(1),16))||(4===e.length?(o=(o=(3840&a)>>4)>>4|o,s=(s=240&a)>>4|s,l=(l=15&a)<<4|l):7!==e.length||(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),t(o,s,l))}function e1(e,t,r){var n,i,a=Math.min(e/=255,t/=255,r/=255),o=Math.max(e,t,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=(e==o?(t-r)/s+(t0&&l<1?0:n),new eD(n,i,l)}function e2(e,t,r){var n=eW((.4124564*(e=e3(e))+.3575761*(t=e3(t))+.1804375*(r=e3(r)))/.95047),i=eW((.2126729*e+.7151522*t+.072175*r)/1);return eU(116*i-16,500*(n-i),200*(i-eW((.0193339*e+.119192*t+.9503041*r)/1.08883)))}function e3(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function e5(e){var t=parseFloat(e);return"%"===e.charAt(e.length-1)?Math.round(2.55*t):t}eK.brighter=function(e){e=Math.pow(.7,arguments.length?e:1);var t=this.r,r=this.g,n=this.b;return t||r||n?(t&&t<30&&(t=30),r&&r<30&&(r=30),n&&n<30&&(n=30),new eX(Math.min(255,t/e),Math.min(255,r/e),Math.min(255,n/e))):new eX(30,30,30)},eK.darker=function(e){return e=Math.pow(.7,arguments.length?e:1),new eX(e*this.r,e*this.g,e*this.b)},eK.hsl=function(){return e1(this.r,this.g,this.b)},eK.toString=function(){return"#"+eQ(this.r)+eQ(this.g)+eQ(this.b)};var e4=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function e6(e){return"function"==typeof e?e:function(){return e}}function e8(e){return function(t,r,n){return 2==arguments.length&&"function"==typeof r&&(n=r,r=null),e7(t,r,e,n)}}function e7(t,r,i,a){var o={},s=e.dispatch("beforesend","progress","load","error"),l={},c=new XMLHttpRequest,u=null;function h(){var e,t,r,n=c.status;if(!n&&((t=(e=c).responseType)&&"text"!==t?e.response:e.responseText)||n>=200&&n<300||304===n){try{r=i.call(o,c)}catch(e){s.error.call(o,e);return}s.load.call(o,r)}else s.error.call(o,c)}return self.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(t)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(t){var r=e.event;e.event=t;try{s.progress.call(o,c)}finally{e.event=r}},o.header=function(e,t){return(e=(e+"").toLowerCase(),arguments.length<2)?l[e]:(null==t?delete l[e]:l[e]=t+"",o)},o.mimeType=function(e){return arguments.length?(r=null==e?null:e+"",o):r},o.responseType=function(e){return arguments.length?(u=e,o):u},o.response=function(e){return i=e,o},["get","post"].forEach(function(e){o[e]=function(){return o.send.apply(o,[e].concat(n(arguments)))}}),o.send=function(e,n,i){if(2==arguments.length&&"function"==typeof n&&(i=n,n=null),c.open(e,t,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on("error",i).on("load",function(e){i(null,e)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},e.rebind(o,s,"on"),null==a?o:o.get(1===a.length?function(e,t){a(null==e?t:null)}:a)}e4.forEach(function(e,t){e4.set(e,e$(t))}),e.functor=e6,e.xhr=e8(C),e.dsv=function(e,t){var r=RegExp('["'+e+"\n]"),n=e.charCodeAt(0);function i(e,r,n){arguments.length<3&&(n=r,r=null);var i=e7(e,t,null==r?a:o(r),n);return i.row=function(e){return arguments.length?i.response(null==(r=e)?a:o(e)):r},i}function a(e){return i.parse(e.responseText)}function o(e){return function(t){return i.parse(t.responseText,e)}}function s(t){return t.map(l).join(e)}function l(e){return r.test(e)?'"'+e.replace(/\"/g,'""')+'"':e}return i.parse=function(e,t){var r;return i.parseRows(e,function(e,n){if(r)return r(e,n-1);var i=function(t){for(var r={},n=e.length,i=0;i=l)return o;if(i)return i=!1,a;var t=c;if(34===e.charCodeAt(t)){for(var r=t;r++24?(isFinite(t)&&(clearTimeout(tr),tr=setTimeout(ta,t)),tt=0):(tt=1,tn(ta))}function to(){for(var e=Date.now(),t=e9;t;)e>=t.t&&t.c(e-t.t)&&(t.c=null),t=t.n;return e}function ts(){for(var e,t=e9,r=1/0;t;)t.c?(t.t1&&0>=(t=e[a[o-2]],r=e[a[o-1]],n=e[s],(r[0]-t[0])*(n[1]-t[1])-(r[1]-t[1])*(n[0]-t[0]));)--o;a[o++]=s}return a.slice(0,o)}function th(e,t){return e[0]-t[0]||e[1]-t[1]}e.timer=function(){ti.apply(this,arguments)},e.timer.flush=function(){to(),ts()},e.round=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},e.geom={},e.geom.hull=function(e){var t=tl,r=tc;if(arguments.length)return n(e);function n(e){if(e.length<3)return[];var n,i=e6(t),a=e6(r),o=e.length,s=[],l=[];for(n=0;n=0;--n)p.push(e[s[c[n]][2]]);for(n=+h;n=-eb)){var p=l*l+c*c,d=u*u+h*h,m=(h*p-c*d)/f,g=(l*d-u*p)/f,h=g+s,y=tw.pop()||new tC;y.arc=e,y.site=i,y.x=m+o,y.y=h+Math.sqrt(m*m+g*g),y.cy=h,e.circle=y;for(var v=null,x=t_._;x;)if(y.y1e-6)s=s.L;else if((i=a-function(e,t){var r=e.N;if(r)return tM(r,t);var n=e.site;return n.y===t?n.x:1/0}(s,o))>1e-6){if(!s.R){t=s;break}s=s.R}else{n>-.000001?(t=s.P,r=s):i>-.000001?(t=s,r=s.N):t=r=s;break}var l=tk(e);if(tv.insert(t,l),t||r){if(t===r){tI(t),r=tk(t.site),tv.insert(l,r),l.edge=r.edge=tz(t.site,l.site),tL(t),tL(r);return}if(!r){l.edge=tz(t.site,l.site);return}tI(t),tI(r);var c=t.site,u=c.x,h=c.y,f=e.x-u,p=e.y-h,d=r.site,m=d.x-u,g=d.y-h,y=2*(f*g-p*m),v=f*f+p*p,x=m*m+g*g,_={x:(g*v-p*x)/y+u,y:(f*x-m*v)/y+h};tO(r.edge,c,d,_),l.edge=tz(c,e,null,_),r.edge=tz(e,d,null,_),tL(t),tL(r)}}(a),r=a.x,n=a.y),a=e.pop();else if(i)!function(e){var t=e.circle,r=t.x,n=t.cy,i={x:r,y:n},a=e.P,o=e.N,s=[e];tA(e);for(var l=a;l.circle&&1e-6>v(r-l.circle.x)&&1e-6>v(n-l.circle.cy);)a=l.P,s.unshift(l),tA(l),l=a;s.unshift(l),tI(l);for(var c=o;c.circle&&1e-6>v(r-c.circle.x)&&1e-6>v(n-c.circle.cy);)o=c.N,s.push(c),tA(c),c=o;s.push(c),tI(c);var u,h=s.length;for(u=1;u0)){if(a/=d,d<0){if(a0){if(a>p)return;a>f&&(f=a)}if(a=n-l,d||!(a<0)){if(a/=d,d<0){if(a>p)return;a>f&&(f=a)}else if(d>0){if(a0)){if(a/=m,m<0){if(a0){if(a>p)return;a>f&&(f=a)}if(a=i-c,m||!(a<0)){if(a/=m,m<0){if(a>p)return;a>f&&(f=a)}else if(m>0){if(a0&&(e.a={x:l+f*d,y:c+f*m}),p<1&&(e.b={x:l+p*d,y:c+p*m}),e}}}}}),l=o.length;l--;)(!function(e,t){var r=e.b;if(r)return!0;var n,i,a=e.a,o=t[0][0],s=t[1][0],l=t[0][1],c=t[1][1],u=e.l,h=e.r,f=u.x,p=u.y,d=h.x,m=h.y,g=(f+d)/2;if(m===p){if(g=s)return;if(f>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1){if(f>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.xv(a.a.x-a.b.x)&&1e-6>v(a.a.y-a.b.y))&&(a.a=a.b=null,o.splice(l,1))}(t),function(e){for(var t,r,n,i,a,o,s,l,c,u,h=e[0][0],f=e[1][0],p=e[0][1],d=e[1][1],m=ty,g=m.length;g--;)if((a=m[g])&&a.prepare())for(l=(s=a.edges).length,o=0;o1e-6||v(i-r)>1e-6)&&(s.splice(o,0,new tD(function(e,t,r){var n=new tP(e,null);return n.a=t,n.b=r,tg.push(n),n}(a.site,u,1e-6>v(n-h)&&d-i>1e-6?{x:h,y:1e-6>v(t-h)?r:d}:1e-6>v(i-d)&&f-n>1e-6?{x:1e-6>v(r-d)?t:f,y:d}:1e-6>v(n-f)&&i-p>1e-6?{x:f,y:1e-6>v(t-f)?r:p}:1e-6>v(i-p)&&n-h>1e-6?{x:1e-6>v(r-p)?t:h,y:p}:null),a.site,null)),++l)}(t));var o={cells:ty,edges:tg};return tv=t_=tg=ty=null,o}function tV(e,t){return t.y-e.y||t.x-e.x}tS.prototype.prepare=function(){for(var e,t=this.edges,r=t.length;r--;)(e=t[r].edge).b&&e.a||t.splice(r,1);return t.sort(tE),t.length},tD.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},tR.prototype={insert:function(e,t){var r,n,i;if(e){if(t.P=e,t.N=e.N,e.N&&(e.N.P=t),e.N=t,e.R){for(e=e.R;e.L;)e=e.L;e.L=t}else e.R=t;r=e}else this._?(e=tN(this._),t.P=null,t.N=e,e.P=e.L=t,r=e):(t.P=t.N=null,this._=t,r=null);for(t.L=t.R=null,t.U=r,t.C=!0,e=t;r&&r.C;)n=r.U,r===n.L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,e=n):(e===r.R&&(tj(this,r),r=(e=r).U),r.C=!1,n.C=!0,tB(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,e=n):(e===r.L&&(tB(this,r),r=(e=r).U),r.C=!1,n.C=!0,tj(this,n)),r=e.U;this._.C=!1},remove:function(e){e.N&&(e.N.P=e.P),e.P&&(e.P.N=e.N),e.N=e.P=null;var t,r,n,i=e.U,a=e.L,o=e.R;if(r=a?o?tN(o):a:o,i?i.L===e?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=e.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=e.U,e=r.R,i.L=e,r.R=o,o.U=r):(r.U=i,i=r,e=r.R)):(n=e.C,e=r),e&&(e.U=i),!n){if(e&&e.C){e.C=!1;return}do{if(e===this._)break;if(e===i.L){if((t=i.R).C&&(t.C=!1,i.C=!0,tj(this,i),t=i.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,tB(this,t),t=i.R),t.C=i.C,i.C=t.R.C=!1,tj(this,i),e=this._;break}}else if((t=i.L).C&&(t.C=!1,i.C=!0,tB(this,i),t=i.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,tj(this,t),t=i.L),t.C=i.C,i.C=t.L.C=!1,tB(this,i),e=this._;break}t.C=!0,e=i,i=i.U}while(!e.C);e&&(e.C=!1)}}},e.geom.voronoi=function(e){var t=tl,r=tc,n=t,i=r,a=tq;if(e)return o(e);function o(e){var t=Array(e.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return tU(s(e),a).cells.forEach(function(a,s){var l=a.edges,c=a.site;(t[s]=l.length?l.map(function(e){var t=e.start();return[t.x,t.y]}):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=e[s]}),t}function s(e){return e.map(function(e,t){return{x:1e-6*Math.round(n(e,t)/1e-6),y:1e-6*Math.round(i(e,t)/1e-6),i:t}})}return o.links=function(e){return tU(s(e)).edges.filter(function(e){return e.l&&e.r}).map(function(t){return{source:e[t.l.i],target:e[t.r.i]}})},o.triangles=function(e){var t=[];return tU(s(e)).cells.forEach(function(r,n){for(var i,a,o=r.site,s=r.edges.sort(tE),l=-1,c=s.length,u=s[c-1].edge,h=u.l===o?u.r:u.l;++l(i=h,(o.x-i.x)*(a.y-o.y)-(o.x-a.x)*(i.y-o.y))&&t.push([e[n],e[a.i],e[h.i]])}),t},o.x=function(e){return arguments.length?(n=e6(t=e),o):t},o.y=function(e){return arguments.length?(i=e6(r=e),o):r},o.clipExtent=function(e){return arguments.length?(a=null==e?tq:e,o):a===tq?null:a},o.size=function(e){return arguments.length?o.clipExtent(e&&[[0,0],e]):a===tq?null:a&&a[1]},o};var tq=[[-1e6,-1e6],[1e6,1e6]];function tH(e){return e.x}function tG(e){return e.y}function tZ(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function tW(t,r){t=e.rgb(t),r=e.rgb(r);var n=t.r,i=t.g,a=t.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(e){return"#"+eQ(Math.round(n+o*e))+eQ(Math.round(i+s*e))+eQ(Math.round(a+l*e))}}function tY(e,t){var r,n={},i={};for(r in e)r in t?n[r]=tQ(e[r],t[r]):i[r]=e[r];for(r in t)r in e||(i[r]=t[r]);return function(e){for(r in n)i[r]=n[r](e);return i}}function tX(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}function t$(e,t){var r,n,i,a=tJ.lastIndex=tK.lastIndex=0,o=-1,s=[],l=[];for(e+="",t+="";(r=tJ.exec(e))&&(n=tK.exec(t));)(i=n.index)>a&&(i=t.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:tX(r,n)})),a=tK.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(h=0;hm&&(m=_),b>g&&(g=b),c.push(_),u.push(b)}var w=m-p,T=g-d;function k(e,t,r,n,i,a,o,s){if(!(isNaN(r)||isNaN(n))){if(e.leaf){var l=e.x,c=e.y;if(null!=l){if(v(l-r)+v(c-n)<.01)A(e,t,r,n,i,a,o,s);else{var u=e.point;e.x=e.y=e.point=null,A(e,u,l,c,i,a,o,s),A(e,t,r,n,i,a,o,s)}}else e.x=r,e.y=n,e.point=t}else A(e,t,r,n,i,a,o,s)}}function A(e,t,r,n,i,a,o,s){var l=(i+o)*.5,c=(a+s)*.5,u=r>=l,h=n>=c,f=h<<1|u;e.leaf=!1,e=e.nodes[f]||(e.nodes[f]=tZ()),u?i=l:o=l,h?a=c:s=c,k(e,t,r,n,i,a,o,s)}w>T?g=d+w:m=p+T;var M=tZ();if(M.add=function(e){k(M,e,+y(e,++h),+x(e,h),p,d,m,g)},M.visit=function(e){(function e(t,r,n,i,a,o){if(!t(r,n,i,a,o)){var s=(n+a)*.5,l=(i+o)*.5,c=r.nodes;c[0]&&e(t,c[0],n,i,s,l),c[1]&&e(t,c[1],s,i,a,l),c[2]&&e(t,c[2],n,l,s,o),c[3]&&e(t,c[3],s,l,a,o)}})(e,M,p,d,m,g)},M.find=function(e){var t,r,n,i,a,o,s,l;return t=e[0],r=e[1],l=1/0,function e(c,u,h,f,p){if(!(u>a)&&!(h>o)&&!(f=_,T=r>=b,k=T<<1|w,A=k+4;k=0&&!(n=e.interpolators[i](t,r)););return n}function t0(e,t){var r,n=[],i=[],a=e.length,o=t.length,s=Math.min(e.length,t.length);for(r=0;r=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function t9(e){return 1-Math.cos(e*eA)}function re(e){return Math.pow(2,10*(e-1))}function rt(e){return 1-Math.sqrt(1-e*e)}function rr(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375}function rn(e,t){return t-=e,function(r){return Math.round(e+t*r)}}function ri(e){var t,r=[e.a,e.b],n=[e.c,e.d],i=ro(r),a=ra(r,n),o=ro((t=-a,n[0]+=t*r[0],n[1]+=t*r[1],n))||0;r[0]*n[1]=0?e.slice(0,n):e,a=n>=0?e.slice(n+1):"in";return i=t2.get(i)||t1,t=(a=t3.get(a)||C)(i.apply(null,r.call(arguments,1))),function(e){return e<=0?0:e>=1?1:t(e)}},e.interpolateHcl=function(t,r){t=e.hcl(t),r=e.hcl(r);var n=t.h,i=t.c,a=t.l,o=r.h-n,s=r.c-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.c:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return eN(n+o*e,i+s*e,a+l*e)+""}},e.interpolateHsl=function(t,r){t=e.hsl(t),r=e.hsl(r);var n=t.h,i=t.s,a=t.l,o=r.h-n,s=r.s-i,l=r.l-a;return isNaN(s)&&(s=0,i=isNaN(i)?r.s:i),isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360),function(e){return eF(n+o*e,i+s*e,a+l*e)+""}},e.interpolateLab=function(t,r){t=e.lab(t),r=e.lab(r);var n=t.l,i=t.a,a=t.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(e){return eH(n+o*e,i+s*e,a+l*e)+""}},e.interpolateRound=rn,e.transform=function(t){var r=i.createElementNS(e.ns.prefix.svg,"g");return(e.transform=function(e){if(null!=e){r.setAttribute("transform",e);var t=r.transform.baseVal.consolidate()}return new ri(t?t.matrix:rs)})(t)},ri.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var rs={a:1,b:0,c:0,d:1,e:0,f:0};function rl(e){return e.length?e.pop()+",":""}function rc(t,r){var n,i,a,o,s=[],l=[];return t=e.transform(t),r=e.transform(r),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:tX(e[0],t[0])},{i:i-2,x:tX(e[1],t[1])})}else(t[0]||t[1])&&r.push("translate("+t+")")}(t.translate,r.translate,s,l),(n=t.rotate)!==(i=r.rotate)?(n-i>180?i+=360:i-n>180&&(n+=360),l.push({i:s.push(rl(s)+"rotate(",null,")")-2,x:tX(n,i)})):i&&s.push(rl(s)+"rotate("+i+")"),(a=t.skew)!==(o=r.skew)?l.push({i:s.push(rl(s)+"skewX(",null,")")-2,x:tX(a,o)}):o&&s.push(rl(s)+"skewX("+o+")"),function(e,t,r,n){if(e[0]!==t[0]||e[1]!==t[1]){var i=r.push(rl(r)+"scale(",null,",",null,")");n.push({i:i-4,x:tX(e[0],t[0])},{i:i-2,x:tX(e[1],t[1])})}else(1!==t[0]||1!==t[1])&&r.push(rl(r)+"scale("+t+")")}(t.scale,r.scale,s,l),t=r=null,function(e){for(var t,r=-1,n=l.length;++r0?n=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:n=0})):e>0&&(l.start({type:"start",alpha:n=e}),t=ti(s.tick)),s):n},s.start=function(){var e,t,r,n=y.length,l=v.length,u=c[0],d=c[1];for(e=0;e=0;)i.push(n[r])}function rw(e,t){for(var r=[e],n=[];null!=(e=r.pop());)if(n.push(e),(a=e.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)c.push(s=o[a]),s.parent=l,s.depth=l.depth+1;r&&(l.value=0),l.children=o}else r&&(l.value=+r.call(n,l,l.depth)||0),delete l.children;return rw(i,function(t){var n,i;e&&(n=t.children)&&n.sort(e),r&&(i=t.parent)&&(i.value+=t.value)}),u}return n.sort=function(t){return arguments.length?(e=t,n):e},n.children=function(e){return arguments.length?(t=e,n):t},n.value=function(e){return arguments.length?(r=e,n):r},n.revalue=function(e){return r&&(rb(e,function(e){e.children&&(e.value=0)}),rw(e,function(e){var t;e.children||(e.value=+r.call(n,e,e.depth)||0),(t=e.parent)&&(t.value+=e.value)})),e},n},e.layout.partition=function(){var t=e.layout.hierarchy(),r=[1,1];function n(e,n){var i=t.call(this,e,n);return function e(t,r,n,i){var a=t.children;if(t.x=r,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=t.value?n/t.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=t);return n}function rR(e){return e.reduce(rF,0)}function rF(e,t){return e+t[1]}function rj(e,t){return rB(e,Math.ceil(Math.log(t.length)/Math.LN2+1))}function rB(e,t){for(var r=-1,n=+e[0],i=(e[1]-n)/t,a=[];++r<=t;)a[r]=i*r+n;return a}function rN(t){return[e.min(t),e.max(t)]}function rU(e,t){return e.value-t.value}function rV(e,t){var r=e._pack_next;e._pack_next=t,t._pack_prev=e,t._pack_next=r,r._pack_prev=t}function rq(e,t){e._pack_next=t,t._pack_prev=e}function rH(e,t){var r=t.x-e.x,n=t.y-e.y,i=e.r+t.r;return .999*i*i>r*r+n*n}function rG(e){if((t=e.children)&&(l=t.length)){var t,r,n,i,a,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(t.forEach(rZ),(r=t[0]).x=-r.r,r.y=0,x(r),l>1&&((n=t[1]).x=n.r,n.y=0,x(n),l>2))for(rY(r,n,i=t[2]),x(i),rV(r,i),r._pack_prev=i,rV(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=h[0]&&l<=h[1]&&(s=c[e.bisect(f,l,1,d)-1],s.y+=m,s.push(a[o]));return c}return a.value=function(e){return arguments.length?(r=e,a):r},a.range=function(e){return arguments.length?(n=e6(e),a):n},a.bins=function(e){return arguments.length?(i="number"==typeof e?function(t){return rB(t,e)}:e6(e),a):i},a.frequency=function(e){return arguments.length?(t=!!e,a):t},a},e.layout.pack=function(){var t,r=e.layout.hierarchy().sort(rU),n=0,i=[1,1];function a(e,a){var o=r.call(this,e,a),s=o[0],l=i[0],c=i[1],u=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,rw(s,function(e){e.r=+u(e.value)}),rw(s,rG),n){var h=n*(t?1:Math.max(2*s.r/l,2*s.r/c))/2;rw(s,function(e){e.r+=h}),rw(s,rG),rw(s,function(e){e.r-=h})}return function e(t,r,n,i){var a=t.children;if(t.x=r+=i*t.x,t.y=n+=i*t.y,t.r*=i,a)for(var o=-1,s=a.length;++op.x&&(p=e),e.depth>d.depth&&(d=e)});var m=r(f,p)/2-f.x,g=n[0]/(p.x+r(p,f)/2+m),y=n[1]/(d.depth||1);rb(u,function(e){e.x=(e.x+m)*g,e.y=e.depth*y})}return c}function o(e){var t=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(t.length){(function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)t=i[a],t.z+=r,t.m+=r,r+=t.s+(n+=t.c)})(e);var a=(t[0].z+t[t.length-1].z)/2;i?(e.z=i.z+r(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+r(e._,i._));e.parent.A=function(e,t,n){if(t){for(var i,a,o,s=e,l=e,c=t,u=s.parent.children[0],h=s.m,f=l.m,p=c.m,d=u.m;c=rJ(c),s=r$(s),c&&s;)u=r$(u),(l=rJ(l)).a=e,(o=c.z+p-s.z-h+r(c._,s._))>0&&(function(e,t,r){var n=r/(t.i-e.i);t.c-=n,t.s+=r,e.c+=n,t.z+=r,t.m+=r}((i=c,a=n,i.a.parent===e.parent?i.a:a),e,o),h+=o,f+=o),p+=c.m,h+=s.m,d+=u.m,f+=l.m;c&&!rJ(l)&&(l.t=c,l.m+=p-f),s&&!r$(u)&&(u.t=s,u.m+=h-d,n=e)}return n}(e,i,e.parent.A||n[0])}function s(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function l(e){e.x*=n[0],e.y=e.depth*n[1]}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e)?l:null,a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null==(n=e)?null:l,a):i?n:null},r_(a,t)},e.layout.cluster=function(){var t=e.layout.hierarchy().sort(null).value(null),r=rX,n=[1,1],i=!1;function a(a,o){var s,l=t.call(this,a,o),c=l[0],u=0;rw(c,function(t){var n=t.children;n&&n.length?(t.x=n.reduce(function(e,t){return e+t.x},0)/n.length,t.y=1+e.max(n,function(e){return e.y})):(t.x=s?u+=r(t,s):0,t.y=0,s=t)});var h=function e(t){var r=t.children;return r&&r.length?e(r[0]):t}(c),f=function e(t){var r,n=t.children;return n&&(r=n.length)?e(n[r-1]):t}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return rw(c,i?function(e){e.x=(e.x-c.x)*n[0],e.y=(c.y-e.y)*n[1]}:function(e){e.x=(e.x-p)/(d-p)*n[0],e.y=(1-(c.y?e.y/c.y:1))*n[1]}),l}return a.separation=function(e){return arguments.length?(r=e,a):r},a.size=function(e){return arguments.length?(i=null==(n=e),a):i?null:n},a.nodeSize=function(e){return arguments.length?(i=null!=(n=e),a):i?n:null},r_(a,t)},e.layout.treemap=function(){var t,r=e.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=rK,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(e,t){for(var r,n,i=-1,a=e.length;++ir.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o0;)f.push(n=p[a-1]),f.area+=n.area,"squarify"!==l||(i=function(e,t){for(var r,n=e.area,i=0,a=1/0,o=-1,s=e.length;++oi&&(i=r));return n*=n,t*=t,n?Math.max(t*i*c/n,n/(t*a*c)):1/0}(f,m))<=d?(p.pop(),d=i):(f.area-=f.pop().area,h(f,m,s,!1),m=Math.min(s.dx,s.dy),f.length=f.area=0,d=1/0);f.length&&(h(f,m,s,!0),f.length=f.area=0),r.forEach(e)}})(a),s&&(t=n),n}return f.size=function(e){return arguments.length?(i=e,f):i},f.padding=function(e){var t;return arguments.length?(o=null==(a=e)?rK:"function"==(t=typeof e)?function(t){var r=e.call(f,t,t.depth);return null==r?rK(t):rQ(t,"number"==typeof r?[r,r,r,r]:r)}:("number"===t&&(e=[e,e,e,e]),function(t){return rQ(t,e)}),f):a},f.round=function(e){return arguments.length?(n=e?Math.round:Number,f):n!=Number},f.sticky=function(e){return arguments.length?(s=e,t=null,f):s},f.ratio=function(e){return arguments.length?(c=e,f):c},f.mode=function(e){return arguments.length?(l=e+"",f):l},r_(f,r)},e.random={normal:function(e,t){var r=arguments.length;return r<2&&(t=1),r<1&&(e=0),function(){var r,n,i;do i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n;while(!i||i>1);return e+t*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=e.random.normal.apply(e,arguments);return function(){return Math.exp(t())}},bates:function(t){var r=e.random.irwinHall(t);return function(){return r()/t}},irwinHall:function(e){return function(){for(var t=0,r=0;r2?r6:r2,s=i?rh:ru;return a=e(t,r,s,n),o=e(r,t,s,tQ),l}function l(e){return a(e)}return l.invert=function(e){return o(e)},l.domain=function(e){return arguments.length?(t=e.map(Number),s()):t},l.range=function(e){return arguments.length?(r=e,s()):r},l.rangeRound=function(e){return l.range(e).interpolate(rn)},l.clamp=function(e){return arguments.length?(i=e,s()):i},l.interpolate=function(e){return arguments.length?(n=e,s()):n},l.ticks=function(e){return ne(t,e)},l.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},l.nice=function(e){return r7(t,e),s()},l.copy=function(){return e(t,r,n,i)},s()}([0,1],[0,1],tQ,!1)},e.scale.log=function(){return function e(t,r,n,i){function a(e){return(n?Math.log(e<0?0:e):-Math.log(e>0?0:-e))/Math.log(r)}function o(e){return n?Math.pow(r,e):-Math.pow(r,-e)}function s(e){return t(a(e))}return s.invert=function(e){return o(t.invert(e))},s.domain=function(e){return arguments.length?(n=e[0]>=0,t.domain((i=e.map(Number)).map(a)),s):i},s.base=function(e){return arguments.length?(r=+e,t.domain(i.map(a)),s):r},s.nice=function(){var e=r3(i.map(a),n?Math:nt);return t.domain(e),i=e.map(o),s},s.ticks=function(){var e=r0(i),t=[],s=e[0],l=e[1],c=Math.floor(a(s)),u=Math.ceil(a(l)),h=r%1?2:r;if(isFinite(u-c)){if(n){for(;c0;f--)t.push(o(c)*f);for(c=0;t[c]l;u--);t=t.slice(c,u)}return t},s.copy=function(){return e(t.copy(),r,n,i)},r8(s,t)}(e.scale.linear().domain([0,1]),10,!0,[1,10])};var nt={floor:function(e){return-Math.ceil(-e)},ceil:function(e){return-Math.floor(-e)}};function nr(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}e.scale.pow=function(){return function e(t,r,n){var i=nr(r),a=nr(1/r);function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(t.domain((n=e.map(Number)).map(i)),o):n},o.ticks=function(e){return ne(n,e)},o.tickFormat=function(e,t){return d3_scale_linearTickFormat(n,e,t)},o.nice=function(e){return o.domain(r7(n,e))},o.exponent=function(e){return arguments.length?(i=nr(r=e),a=nr(1/r),t.domain(n.map(i)),o):r},o.copy=function(){return e(t.copy(),r,n)},r8(o,t)}(e.scale.linear(),1,[0,1])},e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return function t(r,n){var i,a,o;function s(e){return a[((i.get(e)||("range"===n.t?i.set(e,r.push(e)):NaN))-1)%a.length]}function l(t,n){return e.range(r.length).map(function(e){return t+n*e})}return s.domain=function(e){if(!arguments.length)return r;r=[],i=new _;for(var t,a=-1,o=e.length;++a0?i[e-1]:r[0],eh?0:1;if(c=ek)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,m,g,y,v,x,_,b,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===nl?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=eE(g/c*Math.sin(y))),s&&(M=eE(g/s*Math.sin(y)))),c){v=c*Math.cos(u+S),x=c*Math.sin(u+S),_=c*Math.cos(h-S),b=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=ew?0:1;if(S&&nd(v,x,_,b)===p^C){var L=(u+h)/2;v=c*Math.cos(L),x=c*Math.sin(L),_=b=null}}else v=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var I=Math.abs(u-h+2*M)<=ew?0:1;if(M&&nd(w,T,k,A)===1-p^I){var P=(u+h)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(f>1e-6&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function nm(e,t,r,n,i){var a=e[0]-t[0],o=e[1]-t[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=e[0]+l,h=e[1]+c,f=t[0]+l,p=t[1]+c,d=(u+f)/2,m=(h+p)/2,g=f-u,y=p-h,v=g*g+y*y,x=r-n,_=u*p-f*h,b=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*v-_*_)),w=(_*y-g*b)/v,T=(-_*g-y*b)/v,k=(_*y+g*b)/v,A=(-_*g+y*b)/v,M=w-d,S=T-m,E=k-d,C=A-m;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function ng(){return!0}function ny(e){var t=tl,r=tc,n=ng,i=nx,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,h=a.length,f=e6(t),p=e6(r);function d(){l.push("M",i(e(c),o))}for(;++u1&&i.push("H",n[0]),i.join("")},"step-before":nb,"step-after":nw,basis:nA,"basis-open":function(e){if(e.length<4)return nx(e);for(var t,r=[],n=-1,i=e.length,a=[0],o=[0];++n<3;)t=e[n],a.push(t[0]),o.push(t[1]);for(r.push(nM(nC,a)+","+nM(nC,o)),--n;++nv(t=nI(e[s],e[s+1]))?o[s]=o[s+1]=0:(i=(r=o[s]/t)*r+(n=o[s+1]/t)*n)>9&&(i=3*t/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)a.push([(i=(e[Math.min(l,s+1)][0]-e[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])))||0,o[s]*i||0]);return a}(e))}});function nx(e){return e.length>1?e.join("L"):e+"Z"}function n_(e){return e.join("L")+"Z"}function nb(e){for(var t=0,r=e.length,n=e[0],i=[n[0],",",n[1]];++t1){s=t[1],a=e[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cew)+",1 "+t}return a.radius=function(e){return arguments.length?(r=e6(e),a):r},a.source=function(t){return arguments.length?(e=e6(t),a):e},a.target=function(e){return arguments.length?(t=e6(e),a):t},a.startAngle=function(e){return arguments.length?(n=e6(e),a):n},a.endAngle=function(e){return arguments.length?(i=e6(e),a):i},a},e.svg.diagonal=function(){var e=nO,t=nD,r=nF;function n(n,i){var a=e.call(this,n,i),o=t.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(t){return arguments.length?(e=e6(t),n):e},n.target=function(e){return arguments.length?(t=e6(e),n):t},n.projection=function(e){return arguments.length?(r=e,n):r},n},e.svg.diagonal.radial=function(){var t=e.svg.diagonal(),r=nF,n=t.projection;return t.projection=function(e){var t;return arguments.length?n((t=r=e,function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-eA;return[r*Math.cos(n),r*Math.sin(n)]})):r},t},e.svg.symbol=function(){var e=nB,t=nj;function r(r,n){return(nU.get(e.call(this,r,n))||nN)(t.call(this,r,n))}return r.type=function(t){return arguments.length?(e=e6(t),r):e},r.size=function(e){return arguments.length?(t=e6(e),r):t},r};var nU=e.map({circle:nN,cross:function(e){var t=Math.sqrt(e/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(e){var t=Math.sqrt(e/(2*nq)),r=t*nq;return"M0,"+-t+"L"+r+",0 0,"+t+" "+-r+",0Z"},square:function(e){var t=Math.sqrt(e)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(e){var t=Math.sqrt(e/nV),r=t*nV/2;return"M0,"+r+"L"+t+","+-r+" "+-t+","+-r+"Z"},"triangle-up":function(e){var t=Math.sqrt(e/nV),r=t*nV/2;return"M0,"+-r+"L"+t+","+r+" "+-t+","+r+"Z"}});e.svg.symbolTypes=nU.keys();var nV=Math.sqrt(3),nq=Math.tan(30*eM);H.transition=function(e){for(var t,r,n=nW||++n$,i=nQ(e),a=[],o=nY||{time:Date.now(),ease:t7,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(e,o);if(a>=1)return h.event&&h.event.end.call(e,e.__data__,t),--u.count?delete u[n]:delete e[r],1}!h&&(o=ti(function(e){var t=h.delay;if(o.t=t+a,t<=e)return f(e-t);o.c=f},0,a=i.time),h=u[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++u.count)}nX.call=H.call,nX.empty=H.empty,nX.node=H.node,nX.size=H.size,e.transition=function(t,r){return t&&t.transition?nW?t.transition(r):t:e.selection().transition(t)},e.transition.prototype=nX,nX.select=function(e){var t,r,n,i=this.id,a=this.namespace,o=[];e=G(e);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function m(e){e.select(".extent").attr("y",l[0]),e.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function g(){var h,g,y=this,v=e.select(e.event.target),x=n.of(y,arguments),_=e.select(y),b=v.datum(),w=!/^(n|s)$/.test(b)&&i,T=!/^(e|w)$/.test(b)&&a,k=v.classed("extent"),A=ey(y),M=e.mouse(y),S=e.select(o(y)).on("keydown.brush",function(){32==e.event.keyCode&&(k||(h=null,M[0]-=s[1],M[1]-=l[1],k=2),D())}).on("keyup.brush",function(){32==e.event.keyCode&&2==k&&(M[0]+=s[1],M[1]+=l[1],k=0,D())});if(e.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",P):S.on("mousemove.brush",L).on("mouseup.brush",P),_.interrupt().selectAll("*").interrupt(),k)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(b){var E=+/w$/.test(b),C=+/^n/.test(b);g=[s[1-E]-M[0],l[1-C]-M[1]],M[0]=s[E],M[1]=l[C]}else e.event.altKey&&(h=M.slice());function L(){var t=e.mouse(y),r=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(e.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(t[0]0))return o;do o.push(a=new Date(+t)),i(t,n),e(t);while(a=r)for(;e(r),!t(r);)r.setTime(r-1)},function(e,r){if(e>=e){if(r<0)for(;++r<=0;)for(;i(e,-1),!t(e););else for(;--r>=0;)for(;i(e,1),!t(e););}})},a&&(s.count=function(n,i){return t.setTime(+n),r.setTime(+i),e(t),e(r),Math.floor(a(t,r))},s.every=function(e){return isFinite(e=Math.floor(e))&&e>0?e>1?s.filter(o?function(t){return o(t)%e==0}:function(t){return s.count(0,t)%e==0}):s:null}),s}var i=n(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});i.every=function(e){return isFinite(e=Math.floor(e))&&e>0?e>1?n(function(t){t.setTime(Math.floor(t/e)*e)},function(t,r){t.setTime(+t+r*e)},function(t,r){return(r-t)/e}):i:null};var a=i.range,o=n(function(e){e.setTime(e-e.getMilliseconds())},function(e,t){e.setTime(+e+1e3*t)},function(e,t){return(t-e)/1e3},function(e){return e.getUTCSeconds()}),s=o.range,l=n(function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds())},function(e,t){e.setTime(+e+6e4*t)},function(e,t){return(t-e)/6e4},function(e){return e.getMinutes()}),c=l.range,u=n(function(e){e.setTime(e-e.getMilliseconds()-1e3*e.getSeconds()-6e4*e.getMinutes())},function(e,t){e.setTime(+e+36e5*t)},function(e,t){return(t-e)/36e5},function(e){return e.getHours()}),h=u.range,f=n(function(e){e.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5},function(e){return e.getDate()-1}),p=f.range;function d(e){return n(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+7*t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5})}var m=d(0),g=d(1),y=d(2),v=d(3),x=d(4),_=d(5),b=d(6),w=m.range,T=g.range,k=y.range,A=v.range,M=x.range,S=_.range,E=b.range,C=n(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12},function(e){return e.getMonth()}),L=C.range,I=n(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});I.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n(function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,r){t.setFullYear(t.getFullYear()+r*e)}):null};var P=I.range,z=n(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+6e4*t)},function(e,t){return(t-e)/6e4},function(e){return e.getUTCMinutes()}),O=z.range,D=n(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+36e5*t)},function(e,t){return(t-e)/36e5},function(e){return e.getUTCHours()}),R=D.range,F=n(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/864e5},function(e){return e.getUTCDate()-1}),j=F.range;function B(e){return n(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+7*t)},function(e,t){return(t-e)/6048e5})}var N=B(0),U=B(1),V=B(2),q=B(3),H=B(4),G=B(5),Z=B(6),W=N.range,Y=U.range,X=V.range,$=q.range,J=H.range,K=G.range,Q=Z.range,ee=n(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12},function(e){return e.getUTCMonth()}),et=ee.range,er=n(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});er.every=function(e){return isFinite(e=Math.floor(e))&&e>0?n(function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,r){t.setUTCFullYear(t.getUTCFullYear()+r*e)}):null};var en=er.range;e.timeDay=f,e.timeDays=p,e.timeFriday=_,e.timeFridays=S,e.timeHour=u,e.timeHours=h,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=l,e.timeMinutes=c,e.timeMonday=g,e.timeMondays=T,e.timeMonth=C,e.timeMonths=L,e.timeSaturday=b,e.timeSaturdays=E,e.timeSecond=o,e.timeSeconds=s,e.timeSunday=m,e.timeSundays=w,e.timeThursday=x,e.timeThursdays=M,e.timeTuesday=y,e.timeTuesdays=k,e.timeWednesday=v,e.timeWednesdays=A,e.timeWeek=m,e.timeWeeks=w,e.timeYear=I,e.timeYears=P,e.utcDay=F,e.utcDays=j,e.utcFriday=G,e.utcFridays=K,e.utcHour=D,e.utcHours=R,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=z,e.utcMinutes=O,e.utcMonday=U,e.utcMondays=Y,e.utcMonth=ee,e.utcMonths=et,e.utcSaturday=Z,e.utcSaturdays=Q,e.utcSecond=o,e.utcSeconds=s,e.utcSunday=N,e.utcSundays=W,e.utcThursday=H,e.utcThursdays=J,e.utcTuesday=V,e.utcTuesdays=X,e.utcWednesday=q,e.utcWednesdays=$,e.utcWeek=N,e.utcWeeks=W,e.utcYear=er,e.utcYears=en,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&void 0!==t?e:(r=r||self).d3=r.d3||{})}}),eT=ed({"node_modules/d3-time-format/dist/d3-time-format.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function n(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function i(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function a(e){var a=e.dateTime,o=e.date,l=e.time,c=e.periods,u=e.days,h=e.shortDays,f=e.months,ev=e.shortMonths,ex=p(c),e_=d(c),eb=p(u),ew=d(u),eT=p(h),ek=d(h),eA=p(f),eM=d(f),eS=p(ev),eE=d(ev),eC={a:function(e){return h[e.getDay()]},A:function(e){return u[e.getDay()]},b:function(e){return ev[e.getMonth()]},B:function(e){return f[e.getMonth()]},c:null,d:D,e:D,f:N,H:R,I:F,j:j,L:B,m:U,M:V,p:function(e){return c[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:eg,s:ey,S:q,u:H,U:G,V:Z,w:W,W:Y,x:null,X:null,y:X,Y:$,Z:J,"%":em},eL={a:function(e){return h[e.getUTCDay()]},A:function(e){return u[e.getUTCDay()]},b:function(e){return ev[e.getUTCMonth()]},B:function(e){return f[e.getUTCMonth()]},c:null,d:K,e:K,f:en,H:Q,I:ee,j:et,L:er,m:ei,M:ea,p:function(e){return c[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:eg,s:ey,S:eo,u:es,U:el,V:ec,w:eu,W:eh,x:null,X:null,y:ef,Y:ep,Z:ed,"%":em},eI={a:function(e,t,r){var n=eT.exec(t.slice(r));return n?(e.w=ek[n[0].toLowerCase()],r+n[0].length):-1},A:function(e,t,r){var n=eb.exec(t.slice(r));return n?(e.w=ew[n[0].toLowerCase()],r+n[0].length):-1},b:function(e,t,r){var n=eS.exec(t.slice(r));return n?(e.m=eE[n[0].toLowerCase()],r+n[0].length):-1},B:function(e,t,r){var n=eA.exec(t.slice(r));return n?(e.m=eM[n[0].toLowerCase()],r+n[0].length):-1},c:function(e,t,r){return eO(e,a,t,r)},d:A,e:A,f:I,H:S,I:S,j:M,L:L,m:k,M:E,p:function(e,t,r){var n=ex.exec(t.slice(r));return n?(e.p=e_[n[0].toLowerCase()],r+n[0].length):-1},q:T,Q:z,s:O,S:C,u:g,U:y,V:v,w:m,W:x,x:function(e,t,r){return eO(e,o,t,r)},X:function(e,t,r){return eO(e,l,t,r)},y:b,Y:_,Z:w,"%":P};function eP(e,t){return function(r){var n,i,a,o=[],l=-1,c=0,u=e.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in c||(c.w=1),"Z"in c?(s=(l=(s=n(i(c.y,0,1))).getUTCDay())>4||0===l?t.utcMonday.ceil(s):t.utcMonday(s),s=t.utcDay.offset(s,(c.V-1)*7),c.y=s.getUTCFullYear(),c.m=s.getUTCMonth(),c.d=s.getUTCDate()+(c.w+6)%7):(s=(l=(s=r(i(c.y,0,1))).getDay())>4||0===l?t.timeMonday.ceil(s):t.timeMonday(s),s=t.timeDay.offset(s,(c.V-1)*7),c.y=s.getFullYear(),c.m=s.getMonth(),c.d=s.getDate()+(c.w+6)%7)}else("W"in c||"U"in c)&&("w"in c||(c.w="u"in c?c.u%7:"W"in c?1:0),l="Z"in c?n(i(c.y,0,1)).getUTCDay():r(i(c.y,0,1)).getDay(),c.m=0,c.d="W"in c?(c.w+6)%7+7*c.W-(l+5)%7:c.w+7*c.U-(l+6)%7);return"Z"in c?(c.H+=c.Z/100|0,c.M+=c.Z%100,n(c)):r(c)}}function eO(e,t,r,n){for(var i,a,o=0,l=t.length,c=r.length;o=c)return -1;if(37===(i=t.charCodeAt(o++))){if(!(a=eI[(i=t.charAt(o++))in s?t.charAt(o++):i])||(n=a(e,r,n))<0)return -1}else if(i!=r.charCodeAt(n++))return -1}return n}return eC.x=eP(o,eC),eC.X=eP(l,eC),eC.c=eP(a,eC),eL.x=eP(o,eL),eL.X=eP(l,eL),eL.c=eP(a,eL),{format:function(e){var t=eP(e+="",eC);return t.toString=function(){return e},t},parse:function(e){var t=ez(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=eP(e+="",eL);return t.toString=function(){return e},t},utcParse:function(e){var t=ez(e+="",!0);return t.toString=function(){return e},t}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,c=/^%/,u=/[\\^$*+?|[\]().{}]/g;function h(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function w(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function T(e,t,r){var n=l.exec(t.slice(r,r+1));return n?(e.q=3*n[0]-3,r+n[0].length):-1}function k(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function A(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function M(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function S(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function E(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function C(e,t,r){var n=l.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function L(e,t,r){var n=l.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function I(e,t,r){var n=l.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function P(e,t,r){var n=c.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function z(e,t,r){var n=l.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function O(e,t,r){var n=l.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function D(e,t){return h(e.getDate(),t,2)}function R(e,t){return h(e.getHours(),t,2)}function F(e,t){return h(e.getHours()%12||12,t,2)}function j(e,r){return h(1+t.timeDay.count(t.timeYear(e),e),r,3)}function B(e,t){return h(e.getMilliseconds(),t,3)}function N(e,t){return B(e,t)+"000"}function U(e,t){return h(e.getMonth()+1,t,2)}function V(e,t){return h(e.getMinutes(),t,2)}function q(e,t){return h(e.getSeconds(),t,2)}function H(e){var t=e.getDay();return 0===t?7:t}function G(e,r){return h(t.timeSunday.count(t.timeYear(e)-1,e),r,2)}function Z(e,r){var n=e.getDay();return e=n>=4||0===n?t.timeThursday(e):t.timeThursday.ceil(e),h(t.timeThursday.count(t.timeYear(e),e)+(4===t.timeYear(e).getDay()),r,2)}function W(e){return e.getDay()}function Y(e,r){return h(t.timeMonday.count(t.timeYear(e)-1,e),r,2)}function X(e,t){return h(e.getFullYear()%100,t,2)}function $(e,t){return h(e.getFullYear()%1e4,t,4)}function J(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+h(t/60|0,"0",2)+h(t%60,"0",2)}function K(e,t){return h(e.getUTCDate(),t,2)}function Q(e,t){return h(e.getUTCHours(),t,2)}function ee(e,t){return h(e.getUTCHours()%12||12,t,2)}function et(e,r){return h(1+t.utcDay.count(t.utcYear(e),e),r,3)}function er(e,t){return h(e.getUTCMilliseconds(),t,3)}function en(e,t){return er(e,t)+"000"}function ei(e,t){return h(e.getUTCMonth()+1,t,2)}function ea(e,t){return h(e.getUTCMinutes(),t,2)}function eo(e,t){return h(e.getUTCSeconds(),t,2)}function es(e){var t=e.getUTCDay();return 0===t?7:t}function el(e,r){return h(t.utcSunday.count(t.utcYear(e)-1,e),r,2)}function ec(e,r){var n=e.getUTCDay();return e=n>=4||0===n?t.utcThursday(e):t.utcThursday.ceil(e),h(t.utcThursday.count(t.utcYear(e),e)+(4===t.utcYear(e).getUTCDay()),r,2)}function eu(e){return e.getUTCDay()}function eh(e,r){return h(t.utcMonday.count(t.utcYear(e)-1,e),r,2)}function ef(e,t){return h(e.getUTCFullYear()%100,t,2)}function ep(e,t){return h(e.getUTCFullYear()%1e4,t,4)}function ed(){return"+0000"}function em(){return"%"}function eg(e){return+e}function ey(e){return Math.floor(+e/1e3)}function ev(t){return o=a(t),e.timeFormat=o.format,e.timeParse=o.parse,e.utcFormat=o.utcFormat,e.utcParse=o.utcParse,o}ev({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var ex="%Y-%m-%dT%H:%M:%S.%LZ",e_=Date.prototype.toISOString?function(e){return e.toISOString()}:e.utcFormat(ex),eb=+new Date("2000-01-01T00:00:00.000Z")?function(e){var t=new Date(e);return isNaN(t)?null:t}:e.utcParse(ex);e.isoFormat=e_,e.isoParse=eb,e.timeFormatDefaultLocale=ev,e.timeFormatLocale=a,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&void 0!==t?n(e,ew()):n((r=r||self).d3=r.d3||{},r.d3)}}),ek=ed({"node_modules/d3-format/dist/d3-format.js"(e,t){var r;r=e,function(e){function t(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function r(e){return(e=t(Math.abs(e)))?e[1]:NaN}var n,i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(e){var t;if(!(t=a.exec(e)))throw Error("invalid format: "+e);return new s({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function s(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function l(e,r){var n=t(e,r);if(!n)return e+"";var i=n[0],a=n[1];return a<0?"0."+Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var c={"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return l(100*e,t)},r:l,s:function(e,r){var i=t(e,r);if(!i)return e+"";var a=i[0],o=i[1],s=o-(n=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+Array(1-s).join("0")+t(e,Math.max(0,r+s-1))[0]},X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function u(e){return e}var h=Array.prototype.map,f=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function p(e){var t,i,a,s=void 0===e.grouping||void 0===e.thousands?u:(t=h.call(e.grouping,Number),i=e.thousands+"",function(e,r){for(var n=e.length,a=[],o=0,s=t[0],l=0;n>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),a.push(e.substring(n-=s,n+s)),!((l+=s+1)>r));)s=t[o=(o+1)%t.length];return a.reverse().join(i)}),l=void 0===e.currency?"":e.currency[0]+"",p=void 0===e.currency?"":e.currency[1]+"",d=void 0===e.decimal?".":e.decimal+"",m=void 0===e.numerals?u:(a=h.call(e.numerals,String),function(e){return e.replace(/[0-9]/g,function(e){return a[+e]})}),g=void 0===e.percent?"%":e.percent+"",y=void 0===e.minus?"-":e.minus+"",v=void 0===e.nan?"NaN":e.nan+"";function x(e){var t=(e=o(e)).fill,r=e.align,i=e.sign,a=e.symbol,u=e.zero,h=e.width,x=e.comma,_=e.precision,b=e.trim,w=e.type;"n"===w?(x=!0,w="g"):c[w]||(void 0===_&&(_=12),b=!0,w="g"),(u||"0"===t&&"="===r)&&(u=!0,t="0",r="=");var T="$"===a?l:"#"===a&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===a?p:/[%p]/.test(w)?g:"",A=c[w],M=/[defgprs%]/.test(w);function S(e){var a,o,l,c=T,p=k;if("c"===w)p=A(e)+p,e="";else{var g=(e=+e)<0||1/e<0;if(e=isNaN(e)?v:A(Math.abs(e),_),b&&(e=function(e){e:for(var t,r=e.length,n=1,i=-1;n0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),g&&0==+e&&"+"!==i&&(g=!1),c=(g?"("===i?i:y:"-"===i||"("===i?"":i)+c,p=("s"===w?f[8+n/3]:"")+p+(g&&"("===i?")":""),M){for(a=-1,o=e.length;++a(l=e.charCodeAt(a))||l>57){p=(46===l?d+e.slice(a+1):e.slice(a))+p,e=e.slice(0,a);break}}}x&&!u&&(e=s(e,1/0));var S=c.length+e.length+p.length,E=S>1)+c+e+p+E.slice(S);break;default:e=E+c+e+p}return m(e)}return _=void 0===_?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_)),S.toString=function(){return e+""},S}return{format:x,formatPrefix:function(e,t){var n=x(((e=o(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor(r(t)/3))),a=Math.pow(10,-i),s=f[8+i/3];return function(e){return n(a*e)+s}}}}function d(t){return i=p(t),e.format=i.format,e.formatPrefix=i.formatPrefix,i}d({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),e.FormatSpecifier=s,e.formatDefaultLocale=d,e.formatLocale=p,e.formatSpecifier=o,e.precisionFixed=function(e){return Math.max(0,-r(Math.abs(e)))},e.precisionPrefix=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(r(t)/3)))-r(Math.abs(e)))},e.precisionRound=function(e,t){return Math.max(0,r(t=Math.abs(t)-(e=Math.abs(e)))-r(e))+1},Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&void 0!==t?e:(r="undefined"!=typeof globalThis?globalThis:r||self).d3=r.d3||{})}}),eA=ed({"node_modules/is-string-blank/index.js"(e,t){t.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}}}),eM=ed({"node_modules/fast-isnumeric/index.js"(e,t){var r=eA();t.exports=function(e){var t=typeof e;if("string"===t){var n=e;if(0==(e=+e)&&r(n))return!1}else if("number"!==t)return!1;return e-e<1}}}),eS=ed({"src/constants/numerical.js"(e,t){t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"−"}}}),eE=ed({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(e,t){var r;r=e,function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="undefined"==typeof Uint8Array?[]:new Uint8Array(256),n=0;n>4,h[c++]=(15&i)<<4|a>>2,h[c++]=(3&a)<<6|63&o;return u},e.encode=function(e){var r,n=new Uint8Array(e),i=n.length,a="";for(r=0;r>2]+t[(3&n[r])<<4|n[r+1]>>4]+t[(15&n[r+1])<<2|n[r+2]>>6]+t[63&n[r+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&void 0!==t?e:(r="undefined"!=typeof globalThis?globalThis:r||self)["base64-arraybuffer"]={})}}),eC=ed({"src/lib/is_plain_object.js"(e,t){t.exports=function(e){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(e):"[object Object]"===Object.prototype.toString.call(e)&&Object.getPrototypeOf(e).hasOwnProperty("hasOwnProperty")}}}),eL=ed({"src/lib/array.js"(e){var t=eE().decode,r=eC(),n=Array.isArray,i=ArrayBuffer,a=DataView;function o(e){return i.isView(e)&&!(e instanceof a)}function s(e){return n(e)||o(e)}e.isTypedArray=o,e.isArrayOrTypedArray=s,e.isArray1D=function(e){return!s(e[0])},e.ensureArray=function(e,t){return n(e)||(e=[]),e.length=t,e};var l={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function c(e){return e.constructor===ArrayBuffer}function u(e,t,r){if(s(e)){if(!s(e[0]))return e.length;for(var n=r,i=0;i2)return c[t]=2|c[t],f.set(e,null);if(h){for(o=t;o0)return Math.log(e)/Math.LN10;var n=Math.log(Math.min(t[0],t[1]))/Math.LN10;return r(n)||(n=Math.log(Math.max(t[0],t[1]))/Math.LN10-6),n}}}),eD=ed({"src/lib/relink_private.js"(e,t){var r=eL().isArrayOrTypedArray,n=eC();t.exports=function e(t,i){for(var a in i){var o=i[a],s=t[a];if(s!==o){if("_"===a.charAt(0)||"function"==typeof o){if(a in t)continue;t[a]=o}else if(r(o)&&r(s)&&n(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),c=0;ct/2?e-Math.round(e/t)*t:e}}}}),eF=ed({"node_modules/tinycolor2/tinycolor.js"(e,t){!function(e){var r,n,i,a=/^\s+/,o=/\s+$/,s=0,l=e.round,c=e.min,u=e.max,h=e.random;function f(t,r){if(r=r||{},(t=t||"")instanceof f)return t;if(!(this instanceof f))return new f(t,r);var n,i,h,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E,C,I=(i={r:0,g:0,b:0},h=1,p=null,d=null,m=null,g=!1,y=!1,"string"==typeof(n=t)&&(n=function(e){e=e.replace(a,"").replace(o,"").toLowerCase();var t,r=!1;if(L[e])e=L[e],r=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};return(t=B.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=B.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=B.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=B.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=B.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=B.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=B.hex8.exec(e))?{r:D(t[1]),g:D(t[2]),b:D(t[3]),a:D(t[4])/255,format:r?"name":"hex8"}:(t=B.hex6.exec(e))?{r:D(t[1]),g:D(t[2]),b:D(t[3]),format:r?"name":"hex"}:(t=B.hex4.exec(e))?{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),a:D(t[4]+""+t[4])/255,format:r?"name":"hex8"}:!!(t=B.hex3.exec(e))&&{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),format:r?"name":"hex"}}(n)),"object"==typeof n&&(N(n.r)&&N(n.g)&&N(n.b)?(v=n.r,x=n.g,_=n.b,i={r:255*z(v,255),g:255*z(x,255),b:255*z(_,255)},g=!0,y="%"===String(n.r).substr(-1)?"prgb":"rgb"):N(n.h)&&N(n.s)&&N(n.v)?(p=F(n.s),d=F(n.v),b=n.h,w=p,T=d,b=6*z(b,360),w=z(w,100),T=z(T,100),k=e.floor(b),A=b-k,M=T*(1-w),S=T*(1-A*w),E=T*(1-(1-A)*w),i={r:255*[T,S,M,M,E,T][C=k%6],g:255*[E,T,T,S,M,M][C],b:255*[M,M,E,T,T,S][C]},g=!0,y="hsv"):N(n.h)&&N(n.s)&&N(n.l)&&(p=F(n.s),m=F(n.l),i=function(e,t,r){var n,i,a;function o(e,t,r){return(r<0&&(r+=1),r>1&&(r-=1),r<1/6)?e+(t-e)*6*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=z(e,360),t=z(t,100),r=z(r,100),0===t)n=i=a=r;else{var s=r<.5?r*(1+t):r+t-r*t,l=2*r-s;n=o(l,s,e+1/3),i=o(l,s,e),a=o(l,s,e-1/3)}return{r:255*n,g:255*i,b:255*a}}(n.h,p,m),g=!0,y="hsl"),n.hasOwnProperty("a")&&(h=n.a)),h=P(h),{ok:g,format:n.format||y,r:c(255,u(i.r,0)),g:c(255,u(i.g,0)),b:c(255,u(i.b,0)),a:h});this._originalInput=t,this._r=I.r,this._g=I.g,this._b=I.b,this._a=I.a,this._roundA=l(100*this._a)/100,this._format=r.format||I.format,this._gradientType=r.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=I.ok,this._tc_id=s++}function p(e,t,r){var n,i,a=u(e=z(e,255),t=z(t,255),r=z(r,255)),o=c(e,t,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case e:n=(t-r)/l+(t>1)+720)%360;--t;)n.h=(n.h+i)%360,a.push(f(n));return a}function C(e,t){t=t||6;for(var r=f(e).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/t;t--;)o.push(f({h:n,s:i,v:a})),a=(a+s)%1;return o}f.prototype={isDark:function(){return 128>this.getBrightness()},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var t,r,n,i=this.toRgb();return t=i.r/255,r=i.g/255,n=i.b/255,.2126*(t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4))},setAlpha:function(e){return this._a=P(e),this._roundA=l(100*this._a)/100,this},toHsv:function(){var e=d(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=d(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=p(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=p(this._r,this._g,this._b),t=l(360*e.h),r=l(100*e.s),n=l(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return m(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){var t,r,n,i,a;return t=this._r,r=this._g,n=this._b,i=this._a,a=[R(l(t).toString(16)),R(l(r).toString(16)),R(l(n).toString(16)),R(j(i))],e&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*z(this._r,255))+"%",g:l(100*z(this._g,255))+"%",b:l(100*z(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*z(this._r,255))+"%, "+l(100*z(this._g,255))+"%, "+l(100*z(this._b,255))+"%)":"rgba("+l(100*z(this._r,255))+"%, "+l(100*z(this._g,255))+"%, "+l(100*z(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(I[m(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+g(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var i=f(e);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return!t&&n&&("hex"===e||"hex6"===e||"hex3"===e||"hex4"===e||"hex8"===e||"name"===e)?"name"===e&&0===this._a?this.toName():this.toRgbString():("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString())},clone:function(){return f(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(b,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(v,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},f.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&("a"===n?r[n]=e[n]:r[n]=F(e[n]));e=r}return f(e,t)},f.equals=function(e,t){return!!e&&!!t&&f(e).toRgbString()==f(t).toRgbString()},f.random=function(){return f.fromRatio({r:h(),g:h(),b:h()})},f.mix=function(e,t,r){r=0===r?0:r||50;var n=f(e).toRgb(),i=f(t).toRgb(),a=r/100;return f({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},f.readability=function(t,r){var n=f(t),i=f(r);return(e.max(n.getLuminance(),i.getLuminance())+.05)/(e.min(n.getLuminance(),i.getLuminance())+.05)},f.isReadable=function(e,t,r){var n,i,a,o,s,l=f.readability(e,t);switch(s=!1,(i=((n=(n=r)||{level:"AA",size:"small"}).level||"AA").toUpperCase(),a=(n.size||"small").toLowerCase(),"AA"!==i&&"AAA"!==i&&(i="AA"),"small"!==a&&"large"!==a&&(a="small"),o={level:i,size:a}).level+o.size){case"AAsmall":case"AAAlarge":s=l>=4.5;break;case"AAlarge":s=l>=3;break;case"AAAsmall":s=l>=7}return s},f.mostReadable=function(e,t,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;cl&&(l=n,s=f(t[c]));return f.isReadable(e,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,f.mostReadable(e,["#fff","#000"],r))};var L=f.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},I=f.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(L);function P(e){return(isNaN(e=parseFloat(e))||e<0||e>1)&&(e=1),e}function z(t,r){"string"==typeof(n=t)&&-1!=n.indexOf(".")&&1===parseFloat(n)&&(t="100%");var n,i,a="string"==typeof(i=t)&&-1!=i.indexOf("%");return(t=c(r,u(0,parseFloat(t))),a&&(t=parseInt(t*r,10)/100),1e-6>e.abs(t-r))?1:t%r/parseFloat(r)}function O(e){return c(1,u(0,e))}function D(e){return parseInt(e,16)}function R(e){return 1==e.length?"0"+e:""+e}function F(e){return e<=1&&(e=100*e+"%"),e}function j(t){return e.round(255*parseFloat(t)).toString(16)}var B=(n="[\\s|\\(]+("+(r="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",i="[\\s|\\(]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")[,|\\s]+("+r+")\\s*\\)?",{CSS_UNIT:new RegExp(r),rgb:RegExp("rgb"+n),rgba:RegExp("rgba"+i),hsl:RegExp("hsl"+n),hsla:RegExp("hsla"+i),hsv:RegExp("hsv"+n),hsva:RegExp("hsva"+i),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function N(e){return!!B.CSS_UNIT.exec(e)}void 0!==t&&t.exports?t.exports=f:window.tinycolor=f}(Math)}}),ej=ed({"src/lib/extend.js"(e){var t=eC(),r=Array.isArray;function n(e,i,a,o){var s,l,c,u,h,f,p=e[0],d=e.length;if(2===d&&r(p)&&r(e[1])&&0===p.length){if(function(e,t){var r,n;for(r=0;r=0)))return e;if(3===o)i[o]>1&&(i[o]=1);else if(i[o]>=1)return e}var s=Math.round(255*i[0])+", "+Math.round(255*i[1])+", "+Math.round(255*i[2]);return a?"rgba("+s+", "+i[3]+")":"rgb("+s+")"}a.tinyRGB=function(e){var t=e.toRgb();return"rgb("+Math.round(t.r)+", "+Math.round(t.g)+", "+Math.round(t.b)+")"},a.rgb=function(e){return a.tinyRGB(r(e))},a.opacity=function(e){return e?r(e).getAlpha():0},a.addOpacity=function(e,t){var n=r(e).toRgb();return"rgba("+Math.round(n.r)+", "+Math.round(n.g)+", "+Math.round(n.b)+", "+t+")"},a.combine=function(e,t){var n=r(e).toRgb();if(1===n.a)return r(e).toRgbString();var i=r(t||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a};return r({r:a.r*(1-n.a)+n.r*n.a,g:a.g*(1-n.a)+n.g*n.a,b:a.b*(1-n.a)+n.b*n.a}).toRgbString()},a.interpolate=function(e,t,n){var i=r(e).toRgb(),a=r(t).toRgb();return r({r:n*i.r+(1-n)*a.r,g:n*i.g+(1-n)*a.g,b:n*i.b+(1-n)*a.b}).toRgbString()},a.contrast=function(e,t,n){var i=r(e);return 1!==i.getAlpha()&&(i=r(a.combine(e,l))),(i.isDark()?t?i.lighten(t):l:n?i.darken(n):s).toString()},a.stroke=function(e,t){var n=r(t);e.style({stroke:a.tinyRGB(n),"stroke-opacity":n.getAlpha()})},a.fill=function(e,t){var n=r(t);e.style({fill:a.tinyRGB(n),"fill-opacity":n.getAlpha()})},a.clean=function(e){if(e&&"object"==typeof e){var t,r,n,o,s=Object.keys(e);for(t=0;t!0===e||!1===e;i(e)||n.arrayOk&&Array.isArray(e)&&e.length>0&&e.every(i)?t.set(e):t.set(r)}},number:{coerceFunction:function(e,r,n,i){f(e)&&(e=p(e)),!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)}},integer:{coerceFunction:function(e,r,n,i){if(-1!==(i.extras||[]).indexOf(e)){r.set(e);return}f(e)&&(e=p(e)),e%1||!t(e)||void 0!==i.min&&ei.max?r.set(n):r.set(+e)}},string:{coerceFunction:function(e,t,r,n){if("string"!=typeof e){var i="number"==typeof e;!0!==n.strict&&i?t.set(String(e)):t.set(r)}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,n){f(e)&&(e=p(e)),r(e).isValid()?t.set(e):t.set(n)}},colorlist:{coerceFunction:function(e,t,n){Array.isArray(e)&&e.length&&e.every(function(e){return r(e).isValid()})?t.set(e):t.set(n)}},colorscale:{coerceFunction:function(e,t,r){t.set(a.get(e,r))}},angle:{coerceFunction:function(e,r,n){f(e)&&(e=p(e)),"auto"===e?r.set("auto"):t(e)?r.set(u(+e,360)):r.set(n)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||c(r);let a=e=>"string"==typeof e&&i.test(e);a(e)||n.arrayOk&&h(e)&&e.length>0&&e.every(a)?t.set(e):t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r||"string"==typeof e&&!!c(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if(-1!==(n.extras||[]).indexOf(e)){t.set(e);return}if("string"!=typeof e){t.set(r);return}for(var i=e.split("+"),a=0;a/g),o=0;o1){var t=["LOG:"];for(e=0;e1){var i=[];for(e=0;e"),"long")}},i.warn=function(){var e;if(r.logging>0){var t=["WARN:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}},i.error=function(){var e;if(r.logging>0){var t=["ERROR:"];for(e=0;e0){var i=[];for(e=0;e"),"stick")}}}}),eQ=ed({"src/lib/noop.js"(e,t){t.exports=function(){}}}),e0=ed({"src/lib/push_unique.js"(e,t){t.exports=function(e,t){if(t instanceof RegExp){for(var r=t.toString(),n=0;nMath.abs(I)?null:(E*=I=1/I,C*=I,L*=I,i=Math.sin(r),o=1-(a=Math.cos(r)),s=t[0],l=t[1],c=t[2],u=t[3],h=t[4],f=t[5],p=t[6],d=t[7],m=t[8],g=t[9],y=t[10],v=t[11],x=E*E*o+a,_=C*E*o+L*i,b=L*E*o-C*i,w=E*C*o-L*i,T=C*C*o+a,k=L*C*o+E*i,A=E*L*o+C*i,M=C*L*o-E*i,S=L*L*o+a,e[0]=s*x+h*_+m*b,e[1]=l*x+f*_+g*b,e[2]=c*x+p*_+y*b,e[3]=u*x+d*_+v*b,e[4]=s*w+h*T+m*k,e[5]=l*w+f*T+g*k,e[6]=c*w+p*T+y*k,e[7]=u*w+d*T+v*k,e[8]=s*A+h*M+m*S,e[9]=l*A+f*M+g*S,e[10]=c*A+p*M+y*S,e[11]=u*A+d*M+v*S,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}}}),tn=ed({"node_modules/gl-mat4/rotateX.js"(e,t){t.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+u*n,e[6]=s*i+h*n,e[7]=l*i+f*n,e[8]=c*i-a*n,e[9]=u*i-o*n,e[10]=h*i-s*n,e[11]=f*i-l*n,e}}}),ti=ed({"node_modules/gl-mat4/rotateY.js"(e,t){t.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[8],u=t[9],h=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-u*n,e[2]=s*i-h*n,e[3]=l*i-f*n,e[8]=a*n+c*i,e[9]=o*n+u*i,e[10]=s*n+h*i,e[11]=l*n+f*i,e}}}),ta=ed({"node_modules/gl-mat4/rotateZ.js"(e,t){t.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[4],u=t[5],h=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+u*n,e[2]=s*i+h*n,e[3]=l*i+f*n,e[4]=c*i-a*n,e[5]=u*i-o*n,e[6]=h*i-s*n,e[7]=f*i-l*n,e}}}),to=ed({"node_modules/gl-mat4/fromRotation.js"(e,t){t.exports=function(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],c=Math.sqrt(o*o+s*s+l*l);return 1e-6>Math.abs(c)?null:(o*=c=1/c,s*=c,l*=c,n=Math.sin(t),a=1-(i=Math.cos(t)),e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}}}),ts=ed({"node_modules/gl-mat4/fromRotationTranslation.js"(e,t){t.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,c=a+a,u=n*s,h=n*l,f=n*c,p=i*l,d=i*c,m=a*c,g=o*s,y=o*l,v=o*c;return e[0]=1-(p+m),e[1]=h+v,e[2]=f-y,e[3]=0,e[4]=h-v,e[5]=1-(u+m),e[6]=d+g,e[7]=0,e[8]=f+y,e[9]=d-g,e[10]=1-(u+p),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}}}),tl=ed({"node_modules/gl-mat4/fromScaling.js"(e,t){t.exports=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}}}),tc=ed({"node_modules/gl-mat4/fromTranslation.js"(e,t){t.exports=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}}}),tu=ed({"node_modules/gl-mat4/fromXRotation.js"(e,t){t.exports=function(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}}}),th=ed({"node_modules/gl-mat4/fromYRotation.js"(e,t){t.exports=function(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}}}),tf=ed({"node_modules/gl-mat4/fromZRotation.js"(e,t){t.exports=function(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}}}),tp=ed({"node_modules/gl-mat4/fromQuat.js"(e,t){t.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,h=n*s,f=i*o,p=i*s,d=i*l,m=a*o,g=a*s,y=a*l;return e[0]=1-h-d,e[1]=u+y,e[2]=f-g,e[3]=0,e[4]=u-y,e[5]=1-c-d,e[6]=p+m,e[7]=0,e[8]=f+g,e[9]=p-m,e[10]=1-c-h,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}}}),td=ed({"node_modules/gl-mat4/frustum.js"(e,t){t.exports=function(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),c=1/(a-o);return e[0]=2*a*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*c,e[15]=0,e}}}),tm=ed({"node_modules/gl-mat4/perspective.js"(e,t){t.exports=function(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}}}),tg=ed({"node_modules/gl-mat4/perspectiveFromFieldOfView.js"(e,t){t.exports=function(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),c=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*c*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}}}),ty=ed({"node_modules/gl-mat4/ortho.js"(e,t){t.exports=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*c,e[15]=1,e}}}),tv=ed({"node_modules/gl-mat4/lookAt.js"(e,t){var r=e5();t.exports=function(e,t,n,i){var a,o,s,l,c,u,h,f,p,d,m=t[0],g=t[1],y=t[2],v=i[0],x=i[1],_=i[2],b=n[0],w=n[1],T=n[2];return 1e-6>Math.abs(m-b)&&1e-6>Math.abs(g-w)&&1e-6>Math.abs(y-T)?r(e):(d=1/Math.sqrt((h=m-b)*h+(f=g-w)*f+(p=y-T)*p),h*=d,f*=d,p*=d,(d=Math.sqrt((a=x*p-_*f)*a+(o=_*h-v*p)*o+(s=v*f-x*h)*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),(d=Math.sqrt((l=f*s-p*o)*l+(c=p*a-h*s)*c+(u=h*o-f*a)*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0),e[0]=a,e[1]=l,e[2]=h,e[3]=0,e[4]=o,e[5]=c,e[6]=f,e[7]=0,e[8]=s,e[9]=u,e[10]=p,e[11]=0,e[12]=-(a*m+o*g+s*y),e[13]=-(l*m+c*g+u*y),e[14]=-(h*m+f*g+p*y),e[15]=1,e)}}}),tx=ed({"node_modules/gl-mat4/str.js"(e,t){t.exports=function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}}}),t_=ed({"node_modules/gl-mat4/index.js"(e,t){t.exports={create:e1(),clone:e2(),copy:e3(),identity:e5(),transpose:e4(),invert:e6(),adjoint:e8(),determinant:e7(),multiply:e9(),translate:te(),scale:tt(),rotate:tr(),rotateX:tn(),rotateY:ti(),rotateZ:ta(),fromRotation:to(),fromRotationTranslation:ts(),fromScaling:tl(),fromTranslation:tc(),fromXRotation:tu(),fromYRotation:th(),fromZRotation:tf(),fromQuat:tp(),frustum:td(),perspective:tm(),perspectiveFromFieldOfView:tg(),ortho:ty(),lookAt:tv(),str:tx()}}}),tb=ed({"src/lib/matrix.js"(e){var t=t_();e.init2dArray=function(e,t){for(var r=Array(e),n=0;neu({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.texttemplateAttrs=({editType:e="calc",arrayOk:t}={},r={})=>eu({valType:"string",dflt:"",editType:e},!1!==t?{arrayOk:!0}:{}),e.shapeTexttemplateAttrs=({editType:e="arraydraw",newshape:t}={},r={})=>({valType:"string",dflt:"",editType:e}),e.templatefallbackAttrs=({editType:e="none"}={})=>({valType:"any",dflt:"-",editType:e})}}),tE=ed({"src/components/shapes/label_texttemplate.js"(e,t){function r(e,t){return t?t.d2l(e):e}function n(e){return e.x0shift||0}function i(e){return e.x1shift||0}function a(e){return e.y0shift||0}function o(e){return e.y1shift||0}function s(e,t){return r(e.x1,t)+i(e)-r(e.x0,t)-n(e)}function l(e,t,n){return r(e.y1,n)+o(e)-r(e.y0,n)-a(e)}t.exports={x0:function(e){return e.x0},x1:function(e){return e.x1},y0:function(e){return e.y0},y1:function(e){return e.y1},slope:function(e,t,r){return"line"!==e.type?void 0:l(e,t,r)/s(e,t)},dx:s,dy:l,width:function(e,t){return Math.abs(s(e,t))},height:function(e,t,r){return Math.abs(l(e,t,r))},length:function(e,t,r){return"line"!==e.type?void 0:Math.sqrt(Math.pow(s(e,t),2)+Math.pow(l(e,t,r),2))},xcenter:function(e,t){var a;return a=(r(e.x1,t)+i(e)+r(e.x0,t)+n(e))/2,t?t.l2d(a):a},ycenter:function(e,t,n){var i;return i=(r(e.y1,n)+o(e)+r(e.y0,n)+a(e))/2,n?n.l2d(i):i},simpleXVariables:["x0","x1","y0","y1","dy","height","ycenter"],simpleYVariables:["x0","x1","y0","y1","dx","width","xcenter"]}}}),tC=ed({"src/components/shapes/draw_newshape/attributes.js"(e,t){var r=tk().overrideAll,n=eq(),i=eB(),a=tA().dash,o=ej().extendFlat,{shapeTexttemplateAttrs:s,templatefallbackAttrs:l}=tS(),c=tE();t.exports=r({newshape:{visible:o({},n.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:o({},n.legend,{}),legendgroup:o({},n.legendgroup,{}),legendgrouptitle:{text:o({},n.legendgrouptitle.text,{}),font:i({})},legendrank:o({},n.legendrank,{}),legendwidth:o({},n.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:o({},a,{dflt:"solid"})},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd"},opacity:{valType:"number",min:0,max:1,dflt:1},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal"},name:o({},n.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:s({newshape:!0},{keys:Object.keys(c)}),texttemplatefallback:l({editType:"arraydraw"}),font:i({}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},textangle:{valType:"angle",dflt:"auto"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},padding:{valType:"number",dflt:3,min:0}}},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5}}},"none","from-root")}}),tL=ed({"src/components/selections/draw_newselection/attributes.js"(e,t){var r=tA().dash,n=ej().extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:n({},r,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}}}),tI=ed({"src/plots/pad_attributes.js"(e,t){t.exports=function(e){var t=e.editType;return{t:{valType:"number",dflt:0,editType:t},r:{valType:"number",dflt:0,editType:t},b:{valType:"number",dflt:0,editType:t},l:{valType:"number",dflt:0,editType:t},editType:t}}}}),tP=ed({"src/plots/layout_attributes.js"(e,t){var r=eB(),n=tT(),i=eG(),a=tC(),o=tL(),s=tI(),l=ej().extendFlat,c=r({editType:"calc"});c.family.dflt='"Open Sans", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=i.defaultLine,t.exports={font:c,title:{text:{valType:"string",editType:"layoutstyle"},font:r({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:r({editType:"layoutstyle"}),editType:"layoutstyle"},xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:l(s({editType:"layoutstyle"}),{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:i.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:a.newshape,activeshape:a.activeshape,newselection:o.newselection,activeselection:o.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:l({},n.transition,{editType:"none"})}}}),tz=ed({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){!function(){if(!document.getElementById("8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc")){var e=document.createElement("style");e.id="8431bff7cc77ea8693f8122c6e0981316b936a0a4930625e08b1512d134062bc",e.textContent=".maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E\")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E\")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}",document.head.appendChild(e)}}()}}),tO=ed({"src/registry.js"(e){var t=eK(),r=eQ(),n=e0(),i=eC(),a=tw().addStyleRule,o=ej(),s=eq(),l=tP(),c=o.extendFlat,u=o.extendDeepAll;function h(t){if(t.layoutAttributes){var r=t.layoutAttributes._arrayAttrRegexps;if(r)for(var i=0;i=t&&n<=r?n:l}if("string"!=typeof n&&"number"!=typeof n)return l;n=String(n);var _=x(i),b=n.charAt(0);_&&("G"===b||"g"===b)&&(n=n.slice(1),i="");var w=_&&"chinese"===i.slice(0,7),T=n.match(w?y:g);if(!T)return l;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(_){if(2===k.length)return l;k=Number(k);try{var L,I=d.getComponentMethod("calendars","getCal")(i);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),L=I.newDate(k,I.toMonthIndex(k,A,P),M)}else L=I.newDate(k,Number(A),M)}catch(e){return l}return L?(L.toJD()-p)*c+S*u+E*h+C*f:l}k=2===k.length?(Number(k)+2e3-v)%100+v:Number(k);var z=new Date(Date.UTC(2e3,A-=1,M,S,E));return(z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M)?l:z.getTime()+C*f},t=e.MIN_MS=e.dateTime2ms("-9999"),r=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==l};var b=90*c,w=3*u,T=5*h;function k(e,t,r,n,i){if((t||r||n||i)&&(e+=" "+_(t,2)+":"+_(r,2),(n||i)&&(e+=":"+_(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;e+="."+_(i,a)}return e}e.ms2DateTime=function(e,n,i){if("number"!=typeof e||!(e>=t&&e<=r))return l;n||(n=0);var a,s,g,y,v,_,A=Math.floor(10*o(e+.05,1)),M=Math.round(e-A/10);if(x(i)){var S=Math.floor(M/c)+p,E=Math.floor(o(e,c));try{a=d.getComponentMethod("calendars","getCal")(i).fromJD(S).formatDate("yyyy-mm-dd")}catch(e){a=m("G%Y-%m-%d")(new Date(M))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.slice(1);else for(;a.length<10;)a="0"+a;s=n=t+c&&e<=r-c))return l;var i=Math.floor(10*o(e+.05,1)),a=new Date(Math.round(e-i/10));return k(n("%Y-%m-%d")(a),a.getHours(),a.getMinutes(),a.getSeconds(),10*a.getUTCMilliseconds()+i)},e.cleanDate=function(t,r,n){if(t===l)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(x(n))return a.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return a.error("unrecognized date",t),r;return t};var A=/%\d?f/g,M=/%h/g,S={1:"1",2:"1",3:"2",4:"2"};function E(e,t,r,n){e=e.replace(A,function(e){var r=Math.min(+e.charAt(1)||6,6);return(t/1e3%1+2).toFixed(r).slice(2).replace(/0+$/,"")||"0"});var i=new Date(Math.floor(t+.05));if(e=e.replace(M,function(){return S[r("%q")(i)]}),x(n))try{e=d.getComponentMethod("calendars","worldCalFmt")(e,t,n)}catch(e){return"Invalid"}return r(e)(i)}var C=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(e,t,r,n,a,s){if(a=x(a)&&a,!t){if("y"===r)t=s.year;else if("m"===r)t=s.month;else{if("d"!==r)return function(e,t){var r=o(e+.05,c),n=_(Math.floor(r/u),2)+":"+_(o(Math.floor(r/h),60),2);if("M"!==t){i(t)||(t=0);var a=(100+Math.min(o(e/f,60),C[t])).toFixed(t).slice(1);t>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(e,r)+"\n"+E(s.dayMonthYear,e,n,a);t=s.dayMonth+"\n"+s.year}}return E(t,e,n,a)};var L=3*c;e.incrementMonth=function(e,t,r){r=x(r)&&r;var n=o(e,c);if(e=Math.round(e-n),r)try{var i=Math.round(e/c)+p,s=d.getComponentMethod("calendars","getCal")(r),l=s.fromJD(i);return t%12?s.add(l,t,"m"):s.add(l,t/12,"y"),(l.toJD()-p)*c+n}catch(t){a.error("invalid ms "+e+" in calendar "+r)}var u=new Date(e+L);return u.setUTCMonth(u.getUTCMonth()+t)+n-L},e.findExactDates=function(e,t){for(var r,n,a=0,o=0,s=0,l=0,u=x(t)&&d.getComponentMethod("calendars","getCal")(t),h=0;ht}function l(e,t){return e>=t}e.findBin=function(e,n,i){if(t(n.start))return i?Math.ceil((e-n.start)/n.size-1e-9)-1:Math.floor((e-n.start)/n.size+1e-9);var c,u,h=0,f=n.length,p=0,d=f>1?(n[f-1]-n[0])/(f-1):1;for(u=d>=0?i?a:o:i?l:s,e+=1e-9*d*(i?-1:1)*(d>=0?1:-1);h90&&r.log("Long binary search..."),h-1},e.sorterAsc=function(e,t){return e-t},e.sorterDes=function(e,t){return t-e},e.distinctVals=function(t){var r,n,a=t.slice();for(a.sort(e.sorterAsc),r=a.length-1;r>-1&&a[r]===i;r--);for(var o=a[r]-a[0]||1,s=o/(r||1)/1e4,l=[],c=0;c<=r;c++){var u=a[c],h=u-n;void 0===n?(l.push(u),n=u):h>s&&(o=Math.min(o,h),l.push(u),n=u)}return{vals:l,minDiff:o}},e.roundUp=function(e,t,r){for(var n,i=0,a=t.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()},e.findIndexOfMin=function(e,t){t=t||n;for(var r,i=1/0,a=0;aa.length)&&(o=a.length),t(i)||(i=!1),r(a[0])){for(s=0,l=Array(o);se.length-1)return e[e.length-1];var n=r%1;return n*e[Math.ceil(r)]+(1-n)*e[Math.floor(r)]}}}),tN=ed({"src/lib/angles.js"(e,t){var r=eR(),n=r.mod,i=r.modHalf,a=Math.PI,o=2*a;function s(e){return Math.abs(e[1]-e[0])>o-1e-14}function l(e,t){return i(t-e,o)}function c(e,t){if(s(t))return!0;t[0](i=n(i,o))&&(i+=o);var r,i,a=n(e,o),l=a+o;return a>=r&&a<=i||l>=r&&l<=i}function u(e,t,r,n,i,l,c){i=i||0,l=l||0;var u,h,f,p,d,m,g=s([r,n]);function y(e,t){return[e*Math.cos(t)+i,l-e*Math.sin(t)]}g?(u=0,h=a,f=o):r=i&&e<=a)},pathArc:function(e,t,r,n,i){return u(null,e,t,r,n,i,0)},pathSector:function(e,t,r,n,i){return u(null,e,t,r,n,i,1)},pathAnnulus:function(e,t,r,n,i,a){return u(e,t,r,n,i,a,1)}}}}),tU=ed({"src/lib/anchor_utils.js"(e){e.isLeftAnchor=function(e){return"left"===e.xanchor||"auto"===e.xanchor&&e.x<=1/3},e.isCenterAnchor=function(e){return"center"===e.xanchor||"auto"===e.xanchor&&e.x>1/3&&e.x<2/3},e.isRightAnchor=function(e){return"right"===e.xanchor||"auto"===e.xanchor&&e.x>=2/3},e.isTopAnchor=function(e){return"top"===e.yanchor||"auto"===e.yanchor&&e.y>=2/3},e.isMiddleAnchor=function(e){return"middle"===e.yanchor||"auto"===e.yanchor&&e.y>1/3&&e.y<2/3},e.isBottomAnchor=function(e){return"bottom"===e.yanchor||"auto"===e.yanchor&&e.y<=1/3}}}),tV=ed({"src/lib/geometry2d.js"(e){var t,r,n,i=eR().mod;function a(e,t,r,n,i,a,o,s){var l=r-e,c=i-e,u=o-i,h=n-t,f=a-t,p=s-a,d=l*p-u*h;if(0===d)return null;var m=(c*p-u*f)/d,g=(c*h-l*f)/d;return g<0||g>1||m<0||m>1?null:{x:e+l*m,y:t+h*m}}function o(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}var l=n*t-i*e;return l*l/r}e.segmentsIntersect=a,e.segmentDistance=function(e,t,r,n,i,s,l,c){if(a(e,t,r,n,i,s,l,c))return 0;var u=r-e,h=n-t,f=l-i,p=c-s,d=u*u+h*h,m=f*f+p*p;return Math.sqrt(Math.min(o(u,h,d,i-e,s-t),o(u,h,d,l-e,c-t),o(f,p,m,e-i,t-s),o(f,p,m,r-i,n-s)))},e.getTextLocation=function(e,a,o,s){if((e!==r||s!==n)&&(t={},r=e,n=s),t[o])return t[o];var l=e.getPointAtLength(i(o-s/2,a)),c=e.getPointAtLength(i(o+s/2,a)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=e.getPointAtLength(i(o,a)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return t[o]=f,f},e.clearLocationCache=function(){r=null},e.getVisibleSegment=function(e,t,r){var n,i,a=t.left,o=t.right,s=t.top,l=t.bottom,c=0,u=e.getTotalLength(),h=u;function f(t){var r=e.getPointAtLength(t);0===t?n=r:t===u&&(i=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&.1>Math.abs(n.x-i.x)&&.1>Math.abs(n.y-i.y)}},e.findPointOnPath=function(e,t,r,n){for(var i,a,o,s=(n=n||{}).pathLength||e.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=e.getPointAtLength(0)[r]>e.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=i:f=i,h++;return a}}}),tq=ed({"src/lib/throttle.js"(e){var t={};function r(e){e&&null!==e.timer&&(clearTimeout(e.timer),e.timer=null)}e.throttle=function(e,n,i){var a=t[e],o=Date.now();if(!a){for(var s in t)t[s].tsa.ts+n){l();return}a.timer=setTimeout(function(){l(),a.timer=null},n)},e.done=function(e){var r=t[e];return r&&r.timer?new Promise(function(e){var t=r.onDone;r.onDone=function(){t&&t(),e(),r.onDone=null}}):Promise.resolve()},e.clear=function(n){if(n)r(t[n]),delete t[n];else for(var i in t)e.clear(i)}}}),tH=ed({"src/lib/clear_responsive.js"(e,t){t.exports=function(e){e._responsiveChartHandler&&(window.removeEventListener("resize",e._responsiveChartHandler),delete e._responsiveChartHandler)}}}),tG=ed({"node_modules/is-mobile/index.js"(e,t){t.exports=a,t.exports.isMobile=a,t.exports.default=a;var r=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,n=/CrOS/,i=/android|ipad|playbook|silk/i;function a(e){e||(e={});let t=e.ua;if(t||"undefined"==typeof navigator||(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;let a=r.test(t)&&!n.test(t)||!!e.tablet&&i.test(t);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(a=!0),a}}}),tZ=ed({"src/lib/preserve_drawing_buffer.js"(e,t){var r=eM(),n=tG();t.exports=function(e){if("string"!=typeof(i=e&&e.hasOwnProperty("userAgent")?e.userAgent:("undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t)))return!0;var t,i,a=n({ua:{headers:{"user-agent":i}},tablet:!0,featureDetect:!1});if(!a){for(var o=i.split(" "),s=1;s-1;l--){var c=o[l];if("Version/"===c.slice(0,8)){var u=c.slice(8).split(".")[0];if(r(u)&&(u=+u),u>=13)return!0}}}return a}}}),tW=ed({"src/lib/make_trace_groups.js"(e,t){var r=eb();t.exports=function(e,t,n){var i=e.selectAll("g."+n.replace(/\s/g,".")).data(t,function(e){return e[0].trace.uid});i.exit().remove(),i.enter().append("g").attr("class",n),i.order();var a=e.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each(function(e){e[0][a]=r.select(this)}),i}}}),tY=ed({"src/lib/localize.js"(e,t){var r=tO();t.exports=function(e,t){for(var n=e._context.locale,i=0;i<2;i++){for(var a=e._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[t];if(l)return l}a=r.localeRegistry}var c=n.split("-")[0];if(c===n)break;n=c}return t}}}),tX=ed({"src/lib/filter_unique.js"(e,t){t.exports=function(e){for(var t={},r=[],n=0,i=0;i1?(r*e+r*t)/r:e+t,i=String(n).length;if(i>16){var a=String(t).length;if(i>=String(e).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}}}),tK=ed({"src/lib/clean_number.js"(e,t){var r=eM(),n=eS().BADNUM,i=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;t.exports=function(e){return("string"==typeof e&&(e=e.replace(i,"")),r(e))?Number(e):n}}}),tQ=ed({"src/lib/index.js"(e,t){var r=eb(),n=eT().utcFormat,i=ek().format,a=eM(),o=eS(),s=o.FP_SAFE,l=-s,c=o.BADNUM,u=t.exports={};u.adjustFormat=function(e){return!e||/^\d[.]\df/.test(e)||/[.]\d%/.test(e)?e:"0.f"===e?"~f":/^\d%/.test(e)?"~%":/^\ds/.test(e)?"~s":!/^[~,.0$]/.test(e)&&/[&fps]/.test(e)?"~"+e:e};var h={};u.warnBadFormat=function(e){var t=String(e);h[t]||(h[t]=1,u.warn('encountered bad format: "'+t+'"'))},u.noFormat=function(e){return String(e)},u.numberFormat=function(e){var t;try{t=i(u.adjustFormat(e))}catch(t){return u.warnBadFormat(e),u.noFormat}return t},u.nestedProperty=eI(),u.keyedContainer=eP(),u.relativeAttr=ez(),u.isPlainObject=eC(),u.toLogRange=eO(),u.relinkPrivateKeys=eD();var f=eL();u.isArrayBuffer=f.isArrayBuffer,u.isTypedArray=f.isTypedArray,u.isArrayOrTypedArray=f.isArrayOrTypedArray,u.isArray1D=f.isArray1D,u.ensureArray=f.ensureArray,u.concat=f.concat,u.maxRowLength=f.maxRowLength,u.minRowLength=f.minRowLength;var p=eR();u.mod=p.mod,u.modHalf=p.modHalf;var d=eX();u.valObjectMeta=d.valObjectMeta,u.coerce=d.coerce,u.coerce2=d.coerce2,u.coerceFont=d.coerceFont,u.coercePattern=d.coercePattern,u.coerceHoverinfo=d.coerceHoverinfo,u.coerceSelectionMarkerOpacity=d.coerceSelectionMarkerOpacity,u.validate=d.validate;var m=tD();u.dateTime2ms=m.dateTime2ms,u.isDateTime=m.isDateTime,u.ms2DateTime=m.ms2DateTime,u.ms2DateTimeLocal=m.ms2DateTimeLocal,u.cleanDate=m.cleanDate,u.isJSDate=m.isJSDate,u.formatDate=m.formatDate,u.incrementMonth=m.incrementMonth,u.dateTick0=m.dateTick0,u.dfltRange=m.dfltRange,u.findExactDates=m.findExactDates,u.MIN_MS=m.MIN_MS,u.MAX_MS=m.MAX_MS;var g=tF();u.findBin=g.findBin,u.sorterAsc=g.sorterAsc,u.sorterDes=g.sorterDes,u.distinctVals=g.distinctVals,u.roundUp=g.roundUp,u.sort=g.sort,u.findIndexOfMin=g.findIndexOfMin,u.sortObjectKeys=tj();var y=tB();u.aggNums=y.aggNums,u.len=y.len,u.mean=y.mean,u.geometricMean=y.geometricMean,u.median=y.median,u.midRange=y.midRange,u.variance=y.variance,u.stdev=y.stdev,u.interp=y.interp;var v=tb();u.init2dArray=v.init2dArray,u.transposeRagged=v.transposeRagged,u.dot=v.dot,u.translationMatrix=v.translationMatrix,u.rotationMatrix=v.rotationMatrix,u.rotationXYMatrix=v.rotationXYMatrix,u.apply3DTransform=v.apply3DTransform,u.apply2DTransform=v.apply2DTransform,u.apply2DTransform2=v.apply2DTransform2,u.convertCssMatrix=v.convertCssMatrix,u.inverseTransformMatrix=v.inverseTransformMatrix;var x=tN();u.deg2rad=x.deg2rad,u.rad2deg=x.rad2deg,u.angleDelta=x.angleDelta,u.angleDist=x.angleDist,u.isFullCircle=x.isFullCircle,u.isAngleInsideSector=x.isAngleInsideSector,u.isPtInsideSector=x.isPtInsideSector,u.pathArc=x.pathArc,u.pathSector=x.pathSector,u.pathAnnulus=x.pathAnnulus;var _=tU();u.isLeftAnchor=_.isLeftAnchor,u.isCenterAnchor=_.isCenterAnchor,u.isRightAnchor=_.isRightAnchor,u.isTopAnchor=_.isTopAnchor,u.isMiddleAnchor=_.isMiddleAnchor,u.isBottomAnchor=_.isBottomAnchor;var b=tV();u.segmentsIntersect=b.segmentsIntersect,u.segmentDistance=b.segmentDistance,u.getTextLocation=b.getTextLocation,u.clearLocationCache=b.clearLocationCache,u.getVisibleSegment=b.getVisibleSegment,u.findPointOnPath=b.findPointOnPath;var w=ej();u.extendFlat=w.extendFlat,u.extendDeep=w.extendDeep,u.extendDeepAll=w.extendDeepAll,u.extendDeepNoArrays=w.extendDeepNoArrays;var T=eK();u.log=T.log,u.warn=T.warn,u.error=T.error;var k=eY();u.counterRegex=k.counter;var A=tq();u.throttle=A.throttle,u.throttleDone=A.done,u.clearThrottle=A.clear;var M=tw();function S(e){var t={};for(var r in e)for(var n=e[r],i=0;is||e=t))&&a(e)&&e>=0&&e%1==0},u.noop=eQ(),u.identity=tR(),u.repeat=function(e,t){for(var r=Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))},u.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r},u.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=Array(a),s=0;s=Math.pow(2,r)?i>10?(u.warn("randstr failed uniqueness"),s):e(t,r,n,(i||0)+1):s},u.OptionControl=function(e,t){e||(e={}),t||(t="opt");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r["_"+t]=e,r},u.smooth=function(e,t){if((t=Math.round(t)||0)<2)return e;var r,n,i,a,o=e.length,s=2*o,l=2*t-1,c=Array(l),u=Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=e[i]*c[n];u[r]=a}return u},u.syncOrAsync=function(e,t,r){var n;function i(){return u.syncOrAsync(e,t,r)}for(;e.length;)if((n=(0,e.splice(0,1)[0])(t))&&n.then)return n.then(i);return r&&r(t)},u.stripTrailingSlash=function(e){return"/"===e.slice(-1)?e.slice(0,-1):e},u.noneOrAll=function(e,t,r){if(e){var n,i=!1,a=!0;for(n=0;n0?t:0})},u.fillArray=function(e,t,r,n){if(n=n||u.identity,u.isArrayOrTypedArray(e))for(var i=0;iL.test(window.navigator.userAgent);var I=/Firefox\/(\d+)\.\d+/;u.getFirefoxVersion=function(){var e=I.exec(window.navigator.userAgent);if(e&&2===e.length){var t=parseInt(e[1]);if(!isNaN(t))return t}return null},u.isD3Selection=function(e){return e instanceof r.selection},u.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?"."+r:""));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a},u.ensureSingleById=function(e,t,r,n){var i=e.select(t+"#"+r);if(i.size())return i;var a=e.append(t).attr("id",r);return n&&a.call(n),a},u.objectFromPath=function(e,t){for(var r,n=e.split("."),i=r={},a=0;a1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},u.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;u.templateString=function(e,t){var r={};return e.replace(u.TEMPLATE_STRING_REGEX,function(e,n){var i;return D.test(n)?i=t[n]:(r[n]=r[n]||u.nestedProperty(t,n).get,i=r[n](!0)),void 0!==i?i:""})};var R={max:10,count:0,name:"hovertemplate"};u.hovertemplateString=e=>U(eh(eu({},e),{opts:R}));var F={max:10,count:0,name:"texttemplate"};u.texttemplateString=e=>U(eh(eu({},e),{opts:F}));var j=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,B={max:10,count:0,name:"texttemplate",parseMultDiv:!0};u.texttemplateStringForShapes=e=>U(eh(eu({},e),{opts:B}));var N=/^[:|\|]/;function U({data:e=[],locale:t,fallback:r,labels:i={},opts:a,template:o}){return o.replace(u.TEMPLATE_STRING_REGEX,(o,s,l)=>{let c;let h=["xother","yother"].includes(s),f=["_xother","_yother"].includes(s),p=["_xother_","_yother_"].includes(s),d=["xother_","yother_"].includes(s),m=h||f||d||p;(f||p)&&(s=s.substring(1)),(d||p)&&(s=s.substring(0,s.length-1));let g=null,y=null;if(a.parseMultDiv){var v,x,_,b=(x=(v=s).match(j))?{key:x[1],op:x[2],number:Number(x[3])}:{key:v,op:null,number:null};s=b.key,g=b.op,y=b.number}if(m){if(void 0===i[s])return"";c=i[s]}else for(let t of e)if(t){if(t.hasOwnProperty(s)){c=t[s];break}if(D.test(s)||(c=u.nestedProperty(t,s).get(!0)),void 0!==c)break}if(void 0===c){let{count:e,max:t,name:n}=a,i=!1===r?o:r;return e=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;u.seedPseudoRandom=function(){V=2e9},u.pseudoRandom=function(){var e=V;return 429496729>Math.abs((V=(69069*V+1)%4294967296)-e)?u.pseudoRandom():V/4294967296},u.fillText=function(e,t,r){var n=Array.isArray(r)?function(e){r.push(e)}:function(e){r.text=e},i=u.extractOption(e,t,"htx","hovertext");if(u.isValidTextValue(i))return n(i);var a=u.extractOption(e,t,"tx","text");if(u.isValidTextValue(a))return n(a)},u.isValidTextValue=function(e){return e||0===e},u.formatPercent=function(e,t){for(var r=(Math.round(100*e*Math.pow(10,t=t||0))*Math.pow(.1,t)).toFixed(t)+"%",n=0;n1&&(c=1):c=0,u.strTranslate(i-c*(r+o),a-c*(n+s))+u.strScale(c)+(l?"rotate("+l+(t?"":" "+r+" "+n)+")":"")},u.setTransormAndDisplay=function(e,t){e.attr("transform",u.getTextTransform(t)),e.style("display",t.scale?null:"none")},u.ensureUniformFontSize=function(e,t){var r=u.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r},u.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)},u.bigFont=function(e){return Math.round(1.2*e)};var q=u.getFirefoxVersion(),H=null!==q&&q<86;u.getPositionFromD3Event=function(){return H?[r.event.layerX,r.event.layerY]:[r.event.offsetX,r.event.offsetY]}}}),t0=ed({"build/plotcss.js"(){var e,t,r=tQ(),n={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;border:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X:focus-within .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-group a":"display:grid;place-content:center;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;border:none;background:rgba(0,0,0,0);","X .modebar-btn svg":"position:relative;","X .modebar-btn:focus-visible":"outline:1px solid #000;outline-offset:1px;border-radius:3px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(t in n)e=t.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier"),r.addStyleRule(e,n[t])}}),t1=ed({"node_modules/is-browser/client.js"(e,t){t.exports=!0}}),t2=ed({"node_modules/has-hover/index.js"(e,t){var r,n=t1();r="function"==typeof window.matchMedia?!window.matchMedia("(hover: none)").matches:n,t.exports=r}}),t3=ed({"node_modules/events/events.js"(e,t){var r,n="object"==typeof Reflect?Reflect:null,i=n&&"function"==typeof n.apply?n.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};r=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var a=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}t.exports=o,t.exports.once=function(e,t){return new Promise(function(r,n){var i;function a(r){e.removeListener(t,o),n(r)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",a),r([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&(i={once:!0},"function"==typeof e.on&&g(e,"error",a,i))})},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function l(e){if("function"!=typeof e)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function u(e,t,r,n){if(l(r),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),a=e._events),o=a[t]),void 0===o)o=a[t]=r,++e._eventsCount;else if("function"==typeof o?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=c(e))>0&&o.length>i&&!o.warned){o.warned=!0;var i,a,o,s=Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");s.name="MaxListenersExceededWarning",s.emitter=e,s.type=t,s.count=o.length,console&&console.warn&&console.warn(s)}return e}function h(){if(!this.fired)return(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0==arguments.length)?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function p(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=Array(e.length),r=0;r0&&(o=t[0]),o instanceof Error)throw o;var o,s=Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[e];if(void 0===l)return!1;if("function"==typeof l)i(l,this,t);else for(var c=l.length,u=m(l,c),r=0;r=0;a--)if(r[a]===t||r[a].listener===t){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},o.prototype.listenerCount=d,o.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}}}),t5=ed({"src/lib/events.js"(e,t){var r=t3().EventEmitter;t.exports={init:function(e){if(e._ev instanceof r)return e;var t=new r,n=new r;return e._ev=t,e._internalEv=n,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=n.on.bind(n),e._internalOnce=n.once.bind(n),e._removeInternalListener=n.removeListener.bind(n),e._removeAllInternalListeners=n.removeAllListeners.bind(n),e.emit=function(e,r){t.emit(e,r),n.emit(e,r)},"function"==typeof e.addEventListener&&e.addEventListener("wheel",()=>{},{passive:!0}),e},triggerHandler:function(e,t,r){var n,i=e._ev;if(i){var a=i._events[t];if(a){for(n=0,a=Array.isArray(a)?a:[a];nn.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)},i.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0},i.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1},i.undo=function(e){var t,r;if(!(void 0===e.undoQueue||isNaN(e.undoQueue.index))&&!(e.undoQueue.index<=0)){for(e.undoQueue.index--,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0,r=0;r=e.undoQueue.queue.length)){for(r=0,t=e.undoQueue.queue[e.undoQueue.index],e.undoQueue.inSequence=!0;r=a.length)return!1;if(2===e.dimensions){if(r++,t.length===r)return e;var o=t[r];if(!x(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function x(e){return e===Math.round(e)&&e>=0}function _(t){return e.crawl(t,function(t,r,n){e.isValObject(t)?(!0===t.arrayOk||"data_array"===t.valType)&&(n[r+"src"]={valType:"string",editType:"none"}):u(t)&&(t.role="object")}),e.crawl(t,function(e,t,r){if(e){var n=e[m];n&&(delete e[m],r[t]={items:{}},r[t].items[n]=e,r[t].role="object")}}),function e(t){for(var r in t)if(u(t[r]))e(t[r]);else if(Array.isArray(t[r]))for(var n=0;n=o&&(i._input||{})._templateitemname;l&&(s=o);var c=r+"["+s+"]";function u(){a={},l&&(a[c]={},a[c][n]=l)}function h(e,r){l?t.nestedProperty(a[c],e).set(r):a[c+"."+e]=r}function f(){var e=a;return u(),e}return u(),{modifyBase:function(e,t){a[e]=t},modifyItem:h,getUpdateObj:f,applyUpdate:function(r,n){r&&h(r,n);var i=f();for(var a in i)t.nestedProperty(e,a).set(i[a])}}}}}),t9=ed({"src/plots/cartesian/constants.js"(e,t){var r=eY().counter;t.exports={idRegex:{x:r("x","( domain)?"),y:r("y","( domain)?")},attrRegex:r("[xy]axis"),xAxisMatch:r("xaxis"),yAxisMatch:r("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"},zindexSeparator:"z"}}}),re=ed({"src/plots/cartesian/axis_ids.js"(e){var t=tO(),r=t9();function n(e,t){if(t&&t.length){for(var r=0;rn?1:-1:+(e.slice(1)||1)-+(t.slice(1)||1)},e.ref2id=function(e){return!!/^[xyz]/.test(e)&&e.split(" ")[0]},e.isLinked=function(e,t){return n(t,e._axisMatchGroups)||n(t,e._axisConstraintGroups)}}}),rt=ed({"src/components/shapes/handle_outline.js"(e,t){t.exports={clearOutlineControllers:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".outline-controllers").remove()},clearOutline:function(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(".select-outline").remove(),e._fullLayout._outlining=!1}}}}),rr=ed({"src/traces/scatter/layout_attributes.js"(e,t){t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}}}),rn=ed({"src/plots/get_data.js"(e){var t=tO();t9().SUBPLOT_PATTERN,e.getSubplotCalcData=function(e,r,n){var i=t.subplotsRegistry[r];if(!i)return[];for(var a=i.attr,o=[],s=0;s0?".":"")+a;r.isPlainObject(s)?o(s,t,l,i+1):t(l,a,s)}})}e.manageCommandObserver=function(t,i,a,o){var s={},l=!0;i&&i._commandObserver&&(s=i._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=e.hasSimpleAPICommandBindings(t,a,s.lookupTable);if(i&&i._commandObserver){if(c)return s;if(i._commandObserver.remove)return i._commandObserver.remove(),i._commandObserver=null,s}if(c){n(t,c,s.cache),s.check=function(){if(l){var e=n(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h=t.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=t._paper.attr("width")-7),n.attr(a);var o=n.select(".js-link-to-tool"),s=n.select(".js-link-spacer"),l=n.select(".js-sourcelinks");e._context.showSources&&e._context.showSources(e),e._context.showLink&&function(e,t){t.text("");var r=t.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(e._context.linkText+" "+String.fromCharCode(187));if(e._context.sendData)r.on("click",function(){b.sendDataToCloud(e)});else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(e,o),s.text(o.text()&&l.text()?" - ":"")}},b.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit("plotly_beforeexport");var n=r.select(e).append("div").attr("id","hiddenform").style("display","none"),i=n.append("form").attr({action:t+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=b.graphJson(e,!1,"keepdata"),i.node().submit(),n.remove(),e.emit("plotly_afterexport"),!1}};var T=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],k=["year","month","dayMonth","dayMonthYear"];function A(e,t){var r=e._context.locale;r||(r="en-US");var n=!1,i={};function a(e){for(var r=!0,a=0;a1&&R.length>1){for(s.getComponentMethod("grid","sizeDefaults")(f,h),a=0;a15&&R.length>15&&0===h.shapes.length&&0===h.images.length,b.linkSubplots(m,h,p,c),b.cleanPlot(m,h,p,c);var U=!!(c._has&&c._has("cartesian")),V=!!(h._has&&h._has("cartesian"));U&&!V?c._bgLayer.remove():V&&!U&&(h._shouldCreateBgLayer=!0),c._zoomlayer&&!e._dragging&&d({_fullLayout:c}),function(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=b.layoutAttributes.width.min,p=b.layoutAttributes.height.min;n1,m=!t.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),e._initialAutoSize||(e._initialAutoSize={width:n,height:i}),b.sanitizeMargins(r)},b.supplyLayoutModuleDefaults=function(e,t,r,n){var i,a,o,l=s.componentsRegistry,c=t._basePlotModules,h=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(e,t);for(var f in c.length||c.push(h),t._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(e,t),h.finalizeSubplots(e,t)),t._subplots)t._subplots[f].sort(u.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var v=(r.t+r.b)/p;v>1&&(r.t/=v,r.b/=v)}var x=void 0!==r.xl?r.xl:r.x,_=void 0!==r.xr?r.xr:r.x,w=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[t]={l:{val:x,size:r.l+g},r:{val:_,size:r.r+g},b:{val:T,size:r.b+g},t:{val:w,size:r.t+g}},m[t]=1}else delete d[t],delete m[t];if(!n._replotting)return b.doAutoMargin(e)}},b.doAutoMargin=function(e){var t,r=e._fullLayout,n=r.width,i=r.height;r._size||(r._size={}),S(r);var o=r._size,l=r.margin,c={t:0,b:0,l:0,r:0},h=u.extendFlat({},o),f=l.l,d=l.r,m=l.t,g=l.b,y=r._pushmargin,v=r._pushmarginIds,x=r.minreducedwidth,_=r.minreducedheight;if(!1!==l.autoexpand){for(var w in y)v[w]||delete y[w];var T=e._fullLayout._reservedMargin;for(var k in T)for(var A in T[k]){var M=T[k][A];c[A]=Math.max(c[A],M)}for(var E in y.base={l:{val:0,size:f},r:{val:1,size:d},t:{val:1,size:m},b:{val:0,size:g}},c){var C=0;for(var L in y)"base"!==L&&a(y[L][E].size)&&(C=y[L][E].size>C?y[L][E].size:C);var I=Math.max(0,l[E]-C);c[E]=Math.max(0,c[E]-I)}for(var P in y){var z=y[P].l||{},O=y[P].b||{},D=z.val,R=z.size,F=O.val,j=O.size,B=n-c.r-c.l,N=i-c.t-c.b;for(var U in y){if(a(R)&&y[U].r){var V=y[U].r.val,q=y[U].r.size;if(V>D){var H=(R*V+(q-B)*D)/(V-D),G=(q*(1-D)+(R-B)*(1-V))/(V-D);H+G>f+d&&(f=H,d=G)}}if(a(j)&&y[U].t){var Z=y[U].t.val,W=y[U].t.size;if(Z>F){var Y=(j*Z+(W-N)*F)/(Z-F),X=(W*(1-F)+(j-N)*(1-Z))/(Z-F);Y+X>g+m&&(g=Y,m=X)}}}}}var $=u.constrain(n-l.l-l.r,2,x),J=u.constrain(i-l.t-l.b,2,_),K=Math.max(0,n-$),Q=Math.max(0,i-J);if(K){var ee=(f+d)/K;ee>1&&(f/=ee,d/=ee)}if(Q){var et=(g+m)/Q;et>1&&(g/=et,m/=et)}if(o.l=Math.round(f)+c.l,o.r=Math.round(d)+c.r,o.t=Math.round(m)+c.t,o.b=Math.round(g)+c.b,o.p=Math.round(l.pad),o.w=Math.round(n)-o.l-o.r,o.h=Math.round(i)-o.t-o.b,!r._replotting&&(b.didMarginChange(h,o)||function(e){if("_redrawFromAutoMarginCount"in e._fullLayout)return!1;var t=p.list(e,"",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}(e))){"_redrawFromAutoMarginCount"in r?r._redrawFromAutoMarginCount++:r._redrawFromAutoMarginCount=1;var er=3*(1+Object.keys(v).length);if(r._redrawFromAutoMarginCount0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return s.call("redraw",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit("plotly_transitioninterrupted",[])});var a=0,o=0;function l(){return a++,function(){o++,n||o!==a||e._transitionData&&(function(e){if(e)for(;e.length;)e.shift()}(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return s.call("redraw",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit("plotly_transitioned",[])}).then(i))}}r.runFn(l),setTimeout(l())})}],a=u.syncOrAsync(i,e);return a&&a.then||(a=Promise.resolve()),a.then(function(){return e})}b.didMarginChange=function(e,t){for(var r=0;r1)return!0}return!1},b.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&b.supplyDefaults(e);var s=i?e._fullData:e.data,l=i?e._fullLayout:e.layout,c=(e._transitionData||{})._frames;function h(e,t){if("function"==typeof e)return t?"_function_":null;if(u.isPlainObject(e)){var n,i={};return Object.keys(e).sort().forEach(function(a){if(-1===["_","["].indexOf(a.charAt(0))){if("function"==typeof e[a]){t&&(i[a]="_function");return}if("keepdata"===r){if("src"===a.slice(-3))return}else if("keepstream"===r){if("string"==typeof(n=e[a+"src"])&&n.indexOf(":")>0&&!u.isPlainObject(e.stream))return}else if("keepall"!==r&&"string"==typeof(n=e[a+"src"])&&n.indexOf(":")>0)return;i[a]=h(e[a],t)}}),i}var a=Array.isArray(e),s=u.isTypedArray(e);if((a||s)&&e.dtype&&e.shape){var l=e.bdata;return h({dtype:e.dtype,shape:e.shape,bdata:u.isArrayBuffer(l)?o.encode(l):l},t)}return a?e.map(function(e){return h(e,t)}):s?u.simpleMap(e,u.identity):u.isJSDate(e)?u.ms2DateTimeLocal(+e):e}var f={data:(s||[]).map(function(e){var r=h(e);return t&&delete r.fit,r})};if(!t&&(f.layout=h(l),i)){var p=l._size;f.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return c&&(f.frames=h(c)),a&&(f.config=h(e._context,!0)),"object"===n?f:JSON.stringify(f)},b.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(e,r))}Array.isArray(o)&&o[0]||(o=[{x:f,y:f}]),o[0].t||(o[0].t={}),o[0].trace=r,d[t]=o}}for(I(o,c,h),i=0;il||m>c)&&(o.style("overflow","hidden"),d=(f=o.node().getBoundingClientRect()).width,m=f.height);var g=+p.attr("x"),y=+p.attr("y"),v=-(i||p.node().getBoundingClientRect().height)/4;if("y"===I[0])s.attr({transform:"rotate("+[-90,g,y]+")"+n(-d/2,v-m/2)});else if("l"===I[0])y=v-m/2;else if("a"===I[0]&&0!==I.indexOf("atitle"))g=0,y=v;else{var x=p.attr("text-anchor");g-=d*("middle"===x?.5:"end"===x?1:0),y=y+v-m/2}o.attr({x:g,y}),A&&A.call(p,s),e(s)})})):P(),p}function P(){L.empty()||(I=p.attr("class")+"-math",L.select("svg."+I).remove()),p.text("").style("white-space","pre"),function(e,n){n=n.replace(d," ");var o,s=!1,l=[],c=-1;function p(){c++;var r=document.createElementNS(i.svg,"tspan");t.select(r).attr({class:"line",dy:c*a+"em"}),e.appendChild(r),o=r;var n=l;if(l=[{node:r}],n.length>1)for(var s=1;s.",n);return}var t=l.pop();e!==t.type&&r.log("Start tag <"+t.type+"> doesnt match end tag <"+e+">. Pretending it did match.",n),o=l[l.length-1].node}(P);else{var O=I[4],D={type:P},R=w(O,v);if(R?(R=R.replace(T,"$1 fill:"),z&&(R+=";"+z)):z&&(R=z),R&&(D.style=R),"a"===P){s=!0;var F=w(O,x);if(F){var j=S(F);j&&(D.href=j,D.target=w(O,_)||"_blank",D.popup=w(O,b))}}k(D)}}return s}(p.node(),E)&&p.style("pointer-events","all"),e.positionText(p),A&&A.call(p)}};var s=/(<|<|<)/g,l=/(>|>|>)/g,c=[["$","$"],["\\(","\\)"]],u={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},h={sub:"0.3em",sup:"-0.6em"},f={sub:"-0.21em",sup:"0.42em"},p=["http:","https:","mailto:","",void 0,":"],d=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,g=/<(\/?)([^ >]*)(\s+(.*))?>/i,y=//i;e.BR_TAG_ALL=//gi;var v=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,x=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,_=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,b=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function w(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&M(n)}var T=/(^|;)\s*color:/;e.plainText=function(e,t){for(var r=void 0!==(t=t||{}).len&&-1!==t.len?t.len:1/0,n=void 0!==t.allowedTags?t.allowedTags:["br"],i=e.split(m),a=[],o="",s=0,l=0;l3?a.push(c.slice(0,Math.max(0,p-3))+"..."):a.push(c.slice(0,p));break}o=""}}return a.join("")};var k={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},A=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function M(e){return e.replace(A,function(e,t){return("#"===t.charAt(0)?function(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}("x"===t.charAt(1)?parseInt(t.slice(2),16):parseInt(t.slice(1),10)):k[t])||e})}function S(e){var t=encodeURI(decodeURI(e)),r=document.createElement("a"),n=document.createElement("a");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return -1!==p.indexOf(i)&&-1!==p.indexOf(a)?t:""}function E(e,t,n){var i,a,o,s=n.horizontalAlign,l=n.verticalAlign||"top",c=e.node().getBoundingClientRect(),u=t.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-i.height}:"middle"===l?function(){return c.top+(c.height-i.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-i.width}:"center"===s?function(){return c.left+(c.width-i.width)/2}:function(){return c.left},function(){i=this.node().getBoundingClientRect();var e=o()-u.left,t=a()-u.top,s=n.gd||{};if(n.gd){s._fullLayout._calcInverseTransform(s);var l=r.apply3DTransform(s._fullLayout._invTransform)(e,t);e=l[0],t=l[1]}return this.style({top:t+"px",left:e+"px","z-index":1e3}),this}}e.convertEntities=M,e.sanitizeHTML=function(e){e=e.replace(d," ");for(var r=document.createElement("p"),n=r,i=[],a=e.split(m),o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function p(e,t){t=t||{};for(var a,s=e.domain,l=e.range,c=l.length,u=Array(c),h=0;hm-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}}}),rE=ed({"src/components/colorscale/index.js"(e,t){var r=eH(),n=rc();t.exports={moduleType:"component",name:"colorscale",attributes:rp(),layoutAttributes:rd(),supplyLayoutDefaults:rA(),handleDefaults:rk(),crossTraceDefaults:rM(),calc:rS(),scales:r.scales,defaultScale:r.defaultScale,getScale:r.get,isValidScale:r.isValid,hasColorscale:n.hasColorscale,extractOpts:n.extractOpts,extractScale:n.extractScale,flipScale:n.flipScale,makeColorScaleFunc:n.makeColorScaleFunc,makeColorScaleFuncFromTrace:n.makeColorScaleFuncFromTrace}}}),rC=ed({"src/traces/scatter/subtypes.js"(e,t){var r=tQ(),n=eL().isTypedArraySpec;t.exports={hasLines:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("lines")},hasMarkers:function(e){return e.visible&&(e.mode&&-1!==e.mode.indexOf("markers")||"splom"===e.type)},hasText:function(e){return e.visible&&e.mode&&-1!==e.mode.indexOf("text")},isBubble:function(e){var t=e.marker;return r.isPlainObject(t)&&(r.isArrayOrTypedArray(t.size)||n(t.size))}}}}),rL=ed({"src/traces/scatter/make_bubble_size_func.js"(e,t){var r=eM();t.exports=function(e,t){t||(t=2);var n=e.marker,i=n.sizeref||1,a=n.sizemin||0,o="area"===n.sizemode?function(e){return Math.sqrt(e/i)}:function(e){return e/i};return function(e){var n=o(e/t);return r(n)&&n>0?Math.max(n,a):0}}}}),rI=ed({"src/components/fx/helpers.js"(e){var t=tQ();e.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo},e.isTraceInSubplots=function(t,r){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a=0&&r.index2&&(t.push([n].concat(a.splice(0,2))),s="l",n="m"==n?"l":"L");;){if(a.length==r[s])return a.unshift(n),t.push(a);if(a.length=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}M.symbolNumber=function(e){if(p(e))e=+e;else if("string"==typeof e){var t=0;e.indexOf("-open")>0&&(t=100,e=e.replace("-open","")),e.indexOf("-dot")>0&&(t+=200,e=e.replace("-dot","")),(e=M.symbolNames.indexOf(e))>=0&&(e+=t)}return e%100>=I||e>=400?0:Math.floor(Math.max(e,0))};var z=f("~f"),O={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function D(e,t,r,n,i,a,o,s,l,c){var f,p=i.length;"linear"===n?f={node:"linearGradient",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?"userSpaceOnUse":"objectBoundingBox"},reversed:c}:"radial"===n&&(f={node:"radialGradient",reversed:c});for(var m=Array(p),y=0;y=0&&void 0===e.i&&(e.i=a.i),t.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(e):void 0===e.mo?c.opacity:e.mo),n.ms2mrc){f="various"===e.ms||"various"===c.size?3:n.ms2mrc(e.ms),e.mrc=f,n.selectedSizeFn&&(f=e.mrc=n.selectedSizeFn(e));var f,p=M.symbolNumber(e.mx||c.symbol)||0;e.om=p%200>=100;var d=er(e,r),m=J(e,r);t.attr("d",P(p,f,d,m))}var y=!1;if(e.so)l=u.outlierwidth,s=u.outliercolor,o=c.outliercolor;else{var v=(u||{}).width;l=(e.mlw+1||v+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,s="mlc"in e?e.mlcc=n.lineScale(e.mlc):h.isArrayOrTypedArray(u.color)?g.defaultLine:u.color,h.isArrayOrTypedArray(c.color)&&(o=g.defaultLine,y=!0),o="mc"in e?e.mcc=n.markerScale(e.mc):c.color||c.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(o=n.selectedColorFn(e))}let x=e.mld||(u||{}).dash;if(x&&M.dashLine(t,x,l),e.om)t.call(g.stroke,o).style({"stroke-width":(l||1)+"px",fill:"none"});else{t.style("stroke-width",(e.isBlank?0:l)+"px");var _=c.gradient,b=e.mgt;b?y=!0:b=_&&_.type,h.isArrayOrTypedArray(b)&&!O[b=b[0]]&&(b=0);var w=c.pattern,T=M.getPatternAttr,k=w&&(T(w.shape,e.i,"")||T(w.path,e.i,""));if(b&&"none"!==b){var A=e.mgc;A?y=!0:A=_.color;var S=r.uid;y&&(S+="-"+e.i),M.gradient(t,i,S,b,[[0,A],[1,o]],"fill")}else if(k){var E=!1,C=w.fgcolor;!C&&a&&a.color&&(C=a.color,E=!0);var L=T(C,e.i,a&&a.color||null),I=T(w.bgcolor,e.i,null),z=w.fgopacity,D=T(w.size,e.i,8),R=T(w.solidity,e.i,.3);E=E||e.mcc||h.isArrayOrTypedArray(w.shape)||h.isArrayOrTypedArray(w.path)||h.isArrayOrTypedArray(w.bgcolor)||h.isArrayOrTypedArray(w.fgcolor)||h.isArrayOrTypedArray(w.size)||h.isArrayOrTypedArray(w.solidity);var F=r.uid;E&&(F+="-"+e.i),M.pattern(t,"point",i,F,k,D,R,e.mcc,w.fillmode,I,L,z)}else h.isArrayOrTypedArray(o)?g.fill(t,o[e.i]):g.fill(t,o);l&&g.stroke(t,s)}},M.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=M.tryColorscale(r,""),t.lineScale=M.tryColorscale(r,"line"),m.traceIs(e,"symbols")&&(t.ms2mrc=T.isBubble(e)?k(e):function(){return(r.size||6)/2}),e.selectedpoints&&h.extendFlat(t,M.makeSelectedPointStyleFns(e)),t},M.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,c=o.opacity,u=void 0!==l,f=void 0!==c;(h.isArrayOrTypedArray(s)||u||f)&&(t.selectedOpacityFn=function(e){var t=void 0===e.mo?i.opacity:e.mo;return e.selected?u?l:t:f?c:w*t});var p=i.color,d=a.color,g=o.color;(d||g)&&(t.selectedColorFn=function(e){var t=e.mcc||p;return e.selected?d||t:g||t});var y=i.size,v=a.size,x=o.size,_=void 0!==v,b=void 0!==x;return m.traceIs(e,"symbols")&&(_||b)&&(t.selectedSizeFn=function(e){var t=e.mrc||y/2;return e.selected?_?v/2:t:b?x/2:t}),t},M.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return t.selectedTextColorFn=function(e){var t=e.tc||s;return e.selected?l||t:c||(l?t:g.addOpacity(t,w))},t},M.selectedPointStyle=function(e,t){if(e.size()&&t.selectedpoints){var r=M.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(e,t){e.style("opacity",r.selectedOpacityFn(t))}),r.selectedColorFn&&i.push(function(e,t){g.fill(e,r.selectedColorFn(t))}),r.selectedSizeFn&&i.push(function(e,i){var a=i.mx||n.symbol||0,o=r.selectedSizeFn(i);e.attr("d",P(M.symbolNumber(a),o,er(i,t),J(i,t))),i.mrc2=o}),i.length&&e.each(function(e){for(var t=u.select(this),r=0;r0?r:0}function B(e,t,r){return r&&(e=G(e)),t?U(e[1]):N(e[0])}function N(e){var t=u.round(e,2);return r=t,t}function U(e){var t=u.round(e,2);return n=t,t}function V(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=3*c*(l+c),p=3*l*(l+c);return[[N(t[0]+(f&&u/f)),U(t[1]+(f&&h/f))],[N(t[0]-(p&&u/p)),U(t[1]-(p&&h/p))]]}M.textPointStyle=function(e,t,r){if(e.size()){if(t.selectedpoints){var n;n=M.makeSelectedTextStyleFns(t).selectedTextColorFn}var i=t.texttemplate,a=r._fullLayout;e.each(function(e){var o=u.select(this),s=i?h.extractOption(e,t,"txt","texttemplate"):h.extractOption(e,t,"tx","text");if(!s&&0!==s){o.remove();return}if(i){var l=t._module.formatLabels,c=l?l(e,t,a):{},f={};A(f,t,e.i),s=h.texttemplateString({data:[f,e,t._meta],fallback:t.texttemplatefallback,labels:c,locale:a._d3locale,template:s})}var p=e.tp||t.textposition,d=j(e,t),m=n?n(e):e.tc||t.textfont.color;o.call(M.font,{family:e.tf||t.textfont.family,weight:e.tw||t.textfont.weight,style:e.ty||t.textfont.style,variant:e.tv||t.textfont.variant,textcase:e.tC||t.textfont.textcase,lineposition:e.tE||t.textfont.lineposition,shadow:e.tS||t.textfont.shadow,size:d,color:m}).text(s).call(x.convertToTspans,r).call(F,p,d,e.mrc)})}},M.selectedTextStyle=function(e,t){if(e.size()&&t.selectedpoints){var r=M.makeSelectedTextStyleFns(t);e.each(function(e){var n=u.select(this),i=r.selectedTextColorFn(e),a=e.tp||t.textposition,o=j(e,t);g.fill(n,i);var s=m.traceIs(t,"bar-like");F(n,a,o,e.mrc2||e.mrc,s)})}},M.smoothopen=function(e,t){if(e.length<3)return"M"+e.join("L");var r,n="M"+e[0],i=[];for(r=1;r=u||b>=p&&b<=u)&&(w<=d&&w>=f||w>=d&&w<=f)&&(e=[b,w])}return e}M.steps=function(e){var t=q[e]||H;return function(e){for(var r="M"+N(e[0][0])+","+U(e[0][1]),n=e.length,i=1;i=1e4&&(M.savedBBoxes={},Z=0),r&&(M.savedBBoxes[r]=m),Z++,h.extendFlat({},m)},M.setClipUrl=function(e,t,r){e.attr("clip-path",Y(t,r))},M.getTranslate=function(e){var t=e.attr?"attr":"getAttribute",r=(e[t]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(e,t,r){return[t,r].join(" ")}).split(" ");return{x:+r[0]||0,y:+r[1]||0}},M.setTranslate=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||0,r=r||0,a=(a=a.replace(/(\btranslate\(.*?\);?)/,"").trim()+v(t,r)).trim(),e[i]("transform",a),a},M.getScale=function(e){var t=e.attr?"attr":"getAttribute",r=(e[t]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(e,t,r){return[t,r].join(" ")}).split(" ");return{x:+r[0]||1,y:+r[1]||1}},M.setScale=function(e,t,r){var n=e.attr?"attr":"getAttribute",i=e.attr?"attr":"setAttribute",a=e[n]("transform")||"";return t=t||1,r=r||1,a=(a=a.replace(/(\bscale\(.*?\);?)/,"").trim()+("scale("+t+",")+r+")").trim(),e[i]("transform",a),a};var X=/\s*sc.*/;M.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,e){var n=1===t&&1===r?"":"scale("+t+","+r+")";e.each(function(){var e=(this.getAttribute("transform")||"").replace(X,"");e+=n,e=e.trim(),this.setAttribute("transform",e)})}};var $=/translate\([^)]*\)\s*$/;function J(e,t){var r;return(e&&(r=e.mf),void 0===r&&(r=t.marker&&t.marker.standoff||0),t._geo||t._xA)?r:-r}M.setTextPointsScale=function(e,t,r){e&&e.each(function(){var e,n=u.select(this),i=n.select("text");if(i.node()){var a=parseFloat(i.attr("x")||0),o=parseFloat(i.attr("y")||0),s=(n.attr("transform")||"").match($);e=1===t&&1===r?[]:[v(a,o),"scale("+t+","+r+")",v(-a,-o)],s&&e.push(s),n.attr("transform",e.join(""))}})},M.getMarkerStandoff=J;var K=Math.atan2,Q=Math.cos,ee=Math.sin;function et(e,t){var r=t[0],n=t[1];return[r*Q(e)-n*ee(e),r*ee(e)+n*Q(e)]}function er(e,t){var r=e.ma;void 0===r&&(!(r=t.marker.angle)||h.isArrayOrTypedArray(r))&&(r=0);var n=t.marker.angleref;if("previous"===n||"north"===n){if(t._geo){var u=t._geo.project(e.lonlat);m=u[0],g=u[1]}else{var f=t._xA,d=t._yA;if(!f||!d)return 90;m=f.c2p(e.x),g=d.c2p(e.y)}if(t._geo){var m,g,y,v=e.lonlat[0],x=e.lonlat[1],_=t._geo.project([v,x+1e-5]),b=t._geo.project([v+1e-5,x]),w=K(b[1]-g,b[0]-m),T=K(_[1]-g,_[0]-m);if("north"===n)y=r/180*Math.PI;else if("previous"===n){var k=x/180*Math.PI,A=a/180*Math.PI,M=i/180*Math.PI-v/180*Math.PI;y=-K(Q(A)*ee(M),ee(A)*Q(k)-Q(A)*ee(k)*Q(M))-Math.PI,i=v,a=x}var S=et(w,[Q(y),0]),E=et(T,[ee(y),0]);r=K(S[1]+E[1],S[0]+E[0])/Math.PI*180,"previous"!==n||c===t.uid&&e.i===l+1||(r=null)}if("previous"===n&&!t._geo){if(c===t.uid&&e.i===l+1&&p(m)&&p(g)){var C=m-o,L=g-s,I=t.line&&t.line.shape||"",P=I.slice(I.length-1);"h"===P&&(L=0),"v"===P&&(C=0),r+=K(L,C)/Math.PI*180+90}else r=null}}return o=m,s=g,l=e.i,c=t.uid,r}M.getMarkerAngle=er}}),rD=ed({"src/components/titles/index.js"(e,t){var r=eb(),n=eM(),i=ra(),a=tO(),o=tQ(),s=o.strTranslate,l=rO(),c=eZ(),u=rl(),h=eW(),f=rs().OPPOSITE_SIDE,p=/ [XY][0-9]* /;t.exports={draw:function(e,t,d){var m,g,y=e._fullLayout,v=d.propContainer,x=d.propName,_=d.placeholder,b=d.traceIndex,w=d.avoid||{},T=d.attributes,k=d.transform,A=d.containerGroup,M=1,S=v.title,E=(S&&S.text?S.text:"").trim(),C=!1,L=S&&S.font?S.font:{},I=L.family,P=L.size,z=L.color,O=L.weight,D=L.style,R=L.variant,F=L.textcase,j=L.lineposition,B=L.shadow,N=!!d.subtitlePropName,U=d.subtitlePlaceholder,V=(v.title||{}).subtitle||{text:"",font:{}},q=(V.text||"").trim(),H=!1,G=1,Z=V.font,W=Z.family,Y=Z.size,X=Z.color,$=Z.weight,J=Z.style,K=Z.variant,Q=Z.textcase,ee=Z.lineposition,et=Z.shadow;"title.text"===x?m="titleText":-1!==x.indexOf("axis")?m="axisTitleText":-1!==x.indexOf("colorbar")&&(m="colorbarTitleText");var er=e._context.edits[m];function en(e,t){return void 0!==e&&void 0!==t&&e.replace(p," % ")===t.replace(p," % ")}""===E?M=0:en(E,_)&&(er||(E=""),M=.2,C=!0),N&&(""===q?G=0:en(q,U)&&(er||(q=""),G=.2,H=!0)),d._meta?E=o.templateString(E,d._meta):y._meta&&(E=o.templateString(E,y._meta));var ei=E||q||er;A||(A=o.ensureSingle(y._infolayer,"g","g-"+t),g=y._hColorbarMoveTitle);var ea=A.selectAll("text."+t).data(ei?[0]:[]);ea.enter().append("text"),ea.text(E).attr("class",t),ea.exit().remove();var eo=null,es=t+"-subtitle",el=q||er;if(N&&((eo=A.selectAll("text."+es).data(el?[0]:[])).enter().append("text"),eo.text(q).attr("class",es),eo.exit().remove()),!ei)return A;function ec(e,t){o.syncOrAsync([eu,eh],{title:e,subtitle:t})}function eu(n){var a,h=n.title,f=n.subtitle;if(!k&&g&&(k={}),k?(a="",k.rotate&&(a+="rotate("+[k.rotate,T.x,T.y]+")"),(k.offset||g)&&(a+=s(0,(k.offset||0)-(g||0)))):a=null,h.attr("transform",a),h.style("opacity",M*c.opacity(z)).call(l.font,{color:c.rgb(z),size:r.round(P,2),family:I,weight:O,style:D,variant:R,textcase:F,shadow:B,lineposition:j}).attr(T).call(u.convertToTspans,e,function(e){if(e){var t=r.select(e.node().parentNode).select("."+es);if(!t.empty()){var n=e.node().getBBox();if(n.height){var i=n.y+n.height+1.6*Y;t.attr("y",i)}}}}),f&&!f.empty()){var p=A.select("."+t+"-math-group"),d=h.node().getBBox(),m=p.node()?p.node().getBBox():void 0,y=m?m.y+m.height+1.6*Y:d.y+d.height+1.6*Y,v=o.extendFlat({},T,{y:y});f.attr("transform",a),f.style("opacity",G*c.opacity(X)).call(l.font,{color:c.rgb(X),size:r.round(Y,2),family:W,weight:$,style:J,variant:K,textcase:Q,shadow:et,lineposition:ee}).attr(v).call(u.convertToTspans,e)}return i.previousPromises(e)}function eh(t){var i=t.title,a=r.select(i.node().parentNode);if(w&&w.selection&&w.side&&E){a.attr("transform",null);var c=f[w.side],u="left"===w.side||"top"===w.side?-1:1,h=n(w.pad)?w.pad:2,p=l.bBox(a.node()),d={t:0,b:0,l:0,r:0},m=e._fullLayout._reservedMargin;for(var g in m)for(var x in m[g]){var _=m[g][x];d[x]=Math.max(d[x],_)}var b={left:d.l,top:d.t,right:y.width-d.r,bottom:y.height-d.b},T=w.maxShift||u*(b[w.side]-p[w.side]),k=0;if(T<0)k=T;else{var A=w.offsetLeft||0,M=w.offsetTop||0;p.left-=A,p.right-=A,p.top-=M,p.bottom-=M,w.selection.each(function(){var e=l.bBox(this);o.bBoxIntersect(p,e,h)&&(k=Math.max(k,u*(e[w.side]-p[c])+h))}),k=Math.min(T,k),v._titleScoot=Math.abs(k)}if(k>0||T<0){var S={left:[-k,0],right:[k,0],top:[0,-k],bottom:[0,k]}[w.side];a.attr("transform",s(S[0],S[1]))}}}function ef(e,t){e.text(t).on("mouseover.opacity",function(){r.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){r.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)})}if(ea.call(ec,eo),er&&(E?ea.on(".opacity",null):(ef(ea,_),C=!0),ea.call(u.makeEditable,{gd:e}).on("edit",function(t){void 0!==b?a.call("_guiRestyle",e,x,t,b):a.call("_guiRelayout",e,x,t)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(ec)}).on("input",function(e){this.text(e||" ").call(u.positionText,T.x,T.y)}),N)){if(N&&!E){var ep=ea.node().getBBox(),ed=ep.y+ep.height+1.6*Y;eo.attr("y",ed)}q?eo.on(".opacity",null):(ef(eo,U),H=!0),eo.call(u.makeEditable,{gd:e}).on("edit",function(t){a.call("_guiRelayout",e,"title.subtitle.text",t)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(ec)}).on("input",function(e){this.text(e||" ").call(u.positionText,eo.attr("x"),eo.attr("y"))})}return ea.classed("js-placeholder",C),eo&&!eo.empty()&&eo.classed("js-placeholder",H),A},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}}}),rR=ed({"src/plots/cartesian/set_convert.js"(e,t){var r=eb(),n=eT().utcFormat,i=tQ(),a=i.numberFormat,o=eM(),s=i.cleanNumber,l=i.ms2DateTime,c=i.dateTime2ms,u=i.ensureNumber,h=i.isArrayOrTypedArray,f=eS(),p=f.FP_SAFE,d=f.BADNUM,m=f.LOG_CLIP,g=f.ONEWEEK,y=f.ONEDAY,v=f.ONEHOUR,x=f.ONEMIN,_=f.ONESEC,b=re(),w=t9(),T=w.HOUR_PATTERN,k=w.WEEKDAY_PATTERN;function A(e){return Math.pow(10,e)}t.exports=function(e,t){t=t||{};var f=e._id||"x",M=f.charAt(0);function S(t,r){if(t>0)return Math.log(t)/Math.LN10;if(!(t<=0)||!r||!e.range||2!==e.range.length)return d;var n=e.range[0],i=e.range[1];return .5*(n+i-2*m*Math.abs(n-i))}function E(t,r,n,a){if((a||{}).msUTC&&o(t))return+t;var s=c(t,n||e.calendar);if(s===d){if(!o(t))return d;t=+t;var l=Math.floor(10*i.mod(t+.05,1));s=c(new Date(Math.round(t-l/10)))+l/10}return s}function C(t,r,n){return l(t,r,n||e.calendar)}function L(t){return e._categories[Math.round(t)]}function I(t){if(null!=t){if(void 0===e._categoriesMap&&(e._categoriesMap={}),void 0!==e._categoriesMap[t])return e._categoriesMap[t];e._categories.push("number"==typeof t?String(t):t);var r=e._categories.length-1;return e._categoriesMap[t]=r,r}return d}function P(t){if(e._categoriesMap)return e._categoriesMap[t]}function z(e){var t=P(e);return void 0!==t?t:o(e)?+e:void 0}function O(e){return o(e)?+e:P(e)}function D(e,t,n){return r.round(n+t*e,2)}var R=function(t){return o(t)?D(t,e._m,e._b):d},F=function(t){var r;return r=e._m,(t-e._b)/r};if(e.rangebreaks){var j="y"===M;R=function(t){if(!o(t))return d;var r=e._rangebreaks.length;if(!r)return D(t,e._m,e._b);var n=j;e.range[0]>e.range[1]&&(n=!n);for(var i=n?-1:1,a=i*t,s=0,l=0;lu)s=l+1;else{s=a<(c+u)/2?l:l+1;break}}var h=e._B[s]||0;return isFinite(h)?D(t,e._m2,h):0},F=function(t){var r,n,i=e._rangebreaks.length;if(!i)return r=e._m,(t-e._b)/r;for(var a=0,o=0;oe._rangebreaks[o].pmax&&(a=o+1);return n=e._m2,(t-e._B[a])/n}}e.c2l="log"===e.type?S:u,e.l2c="log"===e.type?A:u,e.l2p=R,e.p2l=F,e.c2p="log"===e.type?function(e,t){return R(S(e,t))}:R,e.p2c="log"===e.type?function(e){return A(F(e))}:F,-1!==["linear","-"].indexOf(e.type)?(e.d2r=e.r2d=e.d2c=e.r2c=e.d2l=e.r2l=s,e.c2d=e.c2r=e.l2d=e.l2r=u,e.d2p=e.r2p=function(t){return e.l2p(s(t))},e.p2d=e.p2r=F,e.cleanPos=u):"log"===e.type?(e.d2r=e.d2l=function(e,t){return S(s(e),t)},e.r2d=e.r2c=function(e){return A(s(e))},e.d2c=e.r2l=s,e.c2d=e.l2r=u,e.c2r=S,e.l2d=A,e.d2p=function(t,r){return e.l2p(e.d2r(t,r))},e.p2d=function(e){return A(F(e))},e.r2p=function(t){return e.l2p(s(t))},e.p2r=F,e.cleanPos=u):"date"===e.type?(e.d2r=e.r2d=i.identity,e.d2c=e.r2c=e.d2l=e.r2l=E,e.c2d=e.c2r=e.l2d=e.l2r=C,e.d2p=e.r2p=function(t,r,n){return e.l2p(E(t,0,n))},e.p2d=e.p2r=function(e,t,r){return C(F(e),t,r)},e.cleanPos=function(t){return i.cleanDate(t,d,e.calendar)}):"category"===e.type?(e.d2c=e.d2l=I,e.r2d=e.c2d=e.l2d=L,e.d2r=e.d2l_noadd=z,e.r2c=function(t){var r=O(t);return void 0!==r?r:e.fraction2r(.5)},e.l2r=e.c2r=u,e.r2l=O,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return L(F(e))},e.r2p=e.d2p,e.p2r=F,e.cleanPos=function(e){return"string"==typeof e&&""!==e?e:u(e)}):"multicategory"===e.type&&(e.r2d=e.c2d=e.l2d=L,e.d2r=e.d2l_noadd=z,e.r2c=function(t){var r=z(t);return void 0!==r?r:e.fraction2r(.5)},e.r2c_just_indices=P,e.l2r=e.c2r=u,e.r2l=z,e.d2p=function(t){return e.l2p(e.r2c(t))},e.p2d=function(e){return L(F(e))},e.r2p=e.d2p,e.p2r=F,e.cleanPos=function(e){return Array.isArray(e)||"string"==typeof e&&""!==e?e:u(e)},e.setupMultiCategory=function(r){var n,a,o=e._traceIndices,s=e._matchGroup;if(s&&0===e._categories.length){for(var l in s)if(l!==f){var c=t[b.id2name(l)];o=o.concat(c._traceIndices)}}var u=[[0,{}],[0,{}]],p=[];for(n=0;nl[1]&&(a[s?0:1]=n,o[1]=l[1]),o[0]>=o[1]){if(void 0!==r){var c=l[0]+1;void 0!==n&&(c=Math.min(c,l[1])),a[s?0:1]=e.l2r(c)}else void 0!==n&&(a[s?1:0]=e.l2r(l[1]-1))}}},e.cleanRange=function(t,r){e._cleanRange(t,r),e.limitRange(t)},e._cleanRange=function(t,r){r||(r={}),t||(t="range");var n,a,s=i.nestedProperty(e,t).get();if(a=(a="date"===e.type?i.dfltRange(e.calendar):"y"===M?w.DFLTRANGEY:"realaxis"===e._name?[0,1]:r.dfltRange||w.DFLTRANGEX).slice(),("tozero"===e.rangemode||"nonnegative"===e.rangemode)&&(a[0]=0),!s||2!==s.length){i.nestedProperty(e,t).set(a);return}var l=null===s[0],c=null===s[1];for("date"!==e.type||e.autorange||(s[0]=i.cleanDate(s[0],d,e.calendar),s[1]=i.cleanDate(s[1],d,e.calendar)),n=0;n<2;n++)if("date"===e.type){if(!i.isDateTime(s[n],e.calendar)){e[t]=a;break}if(e.r2l(s[0])===e.r2l(s[1])){var u=i.constrain(e.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=e.l2r(u-1e3),s[1]=e.l2r(u+1e3);break}}else{if(!o(s[n])){if(!(l||c)&&o(s[1-n]))s[n]=s[1-n]*(n?10:.1);else{e[t]=a;break}}if(s[n]<-p?s[n]=-p:s[n]>p&&(s[n]=p),s[0]===s[1]){var h=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=h,s[1]+=h}}},e.setScale=function(r){var n,i,a=t._size;if(e.overlaying){var o=b.getFromId({_fullLayout:t},e.overlaying);e.domain=o.domain}var s=r&&e._r?"_r":"range",l=e.calendar;e.cleanRange(s);var c=e.r2l(e[s][0],l),u=e.r2l(e[s][1],l),h="y"===M;if(h?(e._offset=a.t+(1-e.domain[1])*a.h,e._length=a.h*(e.domain[1]-e.domain[0]),e._m=e._length/(c-u),e._b=-e._m*u):(e._offset=a.l+e.domain[0]*a.w,e._length=a.w*(e.domain[1]-e.domain[0]),e._m=e._length/(u-c),e._b=-e._m*c),e._rangebreaks=[],e._lBreaks=0,e._m2=0,e._B=[],e.rangebreaks&&(e._rangebreaks=e.locateBreaks(Math.min(c,u),Math.max(c,u)),e._rangebreaks.length)){for(n=0;nu&&(f=!f),f&&e._rangebreaks.reverse();var p=f?-1:1;for(e._m2=p*e._length/(Math.abs(u-c)-e._lBreaks),e._B.push(-e._m2*(h?u:c)),n=0;na&&(a+=7,oa&&(a+=24,o=n&&o=n&&t=l.min&&(el.max&&(l.max=a),o=!1)}o&&n.push({min:e,max:a})}};for(c=0;c2*s}(h,t))return"date";var g="strict"!==n.autotypenumbers;return!function(e,t){for(var r=e.length,n=c(r),a=0,o=0,u={},h=0;h2*a}(h,g)?!function(e,t){for(var n,i=e.length,a=0;a0&&((c=L-g(a)-y(o))>I?u/c>P&&(s=a,l=o,P=u/c):u/L>P&&(s={val:a.val,nopad:1},l={val:o.val,nopad:1},P=u/L));if(w===T){var z=w-1,O=w+1;if(E){if(0===w)h=[0,1];else{var D=(w>0?b:x).reduce(function(e,t){return Math.max(e,y(t))},0),R=w/(1-Math.min(.5,D/L));h=w>0?[0,R]:[R,0]}}else h=C?[Math.max(0,z),Math.max(1,O)]:[z,O]}else E?(s.val>=0&&(s={val:0,nopad:1}),l.val<=0&&(l={val:0,nopad:1})):C&&(s.val-P*g(s)<0&&(s={val:0,nopad:1}),l.val<=0&&(l={val:1,nopad:1})),P=(l.val-s.val-f(t,a.val,o.val))/(L-g(s)-y(l)),h=[s.val-P*g(s),l.val+P*y(l)];return h=_(h,t),t.limitRange&&t.limitRange(),A&&h.reverse(),i.simpleMap(h,t.l2r||Number)}function f(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a=r&&(c.extrapad||!o)){s=!1;break}i(t,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(e.splice(l,1),l--)}if(s){var u=a&&0===t;e.push({val:t,pad:u?0:r,extrapad:!u&&o})}}function g(e){return n(e)&&Math.abs(e)=t}function x(e,t,r){return void 0===t||void 0===r||(t=e.d2l(t))<(r=e.d2l(r))}function _(e,t){if(!t||!t.autorangeoptions)return e;var r,n,a,o,s=e[0],l=e[1],c=t.autorangeoptions.include;if(void 0!==c){var u=t.d2l(s),h=t.d2l(l);i.isArrayOrTypedArray(c)||(c=[c]);for(var f=0;f=p&&(u=p,s=p),h<=p&&(h=p,l=p)}}return r=s,s=(n=t.autorangeoptions)&&void 0!==n.minallowed&&x(t,n.minallowed,n.maxallowed)?n.minallowed:n&&void 0!==n.clipmin&&x(t,n.clipmin,n.clipmax)?Math.max(r,t.d2l(n.clipmin)):r,a=l,[s,l=(o=t.autorangeoptions)&&void 0!==o.maxallowed&&x(t,o.minallowed,o.maxallowed)?o.maxallowed:o&&void 0!==o.clipmax&&x(t,o.clipmin,o.clipmax)?Math.min(a,t.d2l(o.clipmax)):a]}t.exports={applyAutorangeOptions:_,getAutoRange:h,makePadFn:p,doAutoRange:function(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():h(e,t),t._r=t.range.slice(),t._rl=i.simpleMap(t._r,t.r2l);var n=t._input,a={};a[t._attr+".range"]=t.range,a[t._attr+".autorange"]=t.autorange,o.call("_storeDirectGUIEdit",e.layout,e._fullLayout._preGUI,a),n.range=t.range.slice(),n.autorange=t.autorange}var s=t._anchorAxis;if(s&&s.rangeslider){var l=s.rangeslider[t._name];l&&"auto"===l.rangemode&&(l.range=h(e,t)),s._input.rangeslider[t._name]=i.extendFlat({},l)}},findExtremes:function(e,t,r){r||(r={}),e._m||e.setScale();var i,o,s,l,c,u,h,f,p,d=[],x=[],_=t.length,b=r.padded||!1,w=r.tozero&&("linear"===e.type||"-"===e.type),T="log"===e.type,k=!1,A=r.vpadLinearized||!1;function M(e){if(Array.isArray(e))return k=!0,function(t){return Math.max(Number(e[t]||0),0)};var t=Math.max(Number(e||0),0);return function(){return t}}var S=M((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),E=M((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=M(r.vpadplus||r.vpad),L=M(r.vpadminus||r.vpad);if(!k){if(f=1/0,p=-1/0,T)for(i=0;i<_;i++)(o=t[i])0&&(f=o),o>p&&o-a&&(f=o),o>p&&o=z;i--)P(i);return{min:d,max:x,opts:r}},concatExtremes:d}}}),rB=ed({"src/plots/cartesian/axes.js"(e,t){var r=eb(),n=eM(),i=ra(),a=tO(),o=tQ(),s=o.strTranslate,l=rl(),c=rD(),u=eZ(),h=rO(),f=rh(),p=rg();t9();var d=eS(),m=d.ONEMAXYEAR,g=d.ONEAVGYEAR,y=d.ONEMINYEAR,v=d.ONEMAXQUARTER,x=d.ONEAVGQUARTER,_=d.ONEMINQUARTER,b=d.ONEMAXMONTH,w=d.ONEAVGMONTH,T=d.ONEMINMONTH,k=d.ONEWEEK,A=d.ONEDAY,M=A/2,S=d.ONEHOUR,E=d.ONEMIN,C=d.ONESEC,L=d.ONEMILLI,I=d.ONEMICROSEC,P=d.MINUS_SIGN,z=d.BADNUM,O={K:"zeroline"},D={K:"gridline",L:"path"},R={K:"minor-gridline",L:"path"},F={K:"tick",L:"path"},j={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=rs(),U=N.MID_SHIFT,V=N.CAP_SHIFT,q=N.LINE_SPACING,H=N.OPPOSITE_SIDE,G=t.exports={};G.setConvert=rR();var Z=rF(),W=re(),Y=W.idSort,X=W.isLinked;G.id2name=W.id2name,G.name2id=W.name2id,G.cleanId=W.cleanId,G.list=W.list,G.listIds=W.listIds,G.getFromId=W.getFromId,G.getFromTrace=W.getFromTrace;var $=rj();function J(e){var t=(e[1]-e[0])*1e-4;return[e[0]-t,e[1]+t]}G.getAutoRange=$.getAutoRange,G.findExtremes=$.findExtremes,G.coerceRef=function(e,t,r,n,i,a){var s=n.charAt(n.length-1),l=r._fullLayout._subplots[s+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map(function(e){return e+" domain"})),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},o.coerce(e,t,u,c)},G.coerceRefArray=function(e,t,r,n,i,a,s){let l=n.charAt(n.length-1);var c=r._fullLayout._subplots[l+"axis"];let u=n+"ref";var h=e[u];i||(i=c[0]||("string"==typeof a?a:a[0])),c=(c=c.concat(c.map(e=>e+" domain"))).concat(a||[]),h.length>s?(o.warn("Array attribute "+u+" has more entries than expected, truncating to "+s),h=h.slice(0,s)):h.lengthMath.abs((e/t+.5)%1-.5)}function er(e,t){return .001>Math.abs(e/t-1)}function en(e){return+e.substring(1)}function ei(e,t){return e.rangebreaks&&(t=t.filter(function(t){return e.maskBreaks(t.x)!==z})),t}function ea(e,t){var r=J(o.simpleMap(e.range,e.r2l)),n=Math.min(r[0],r[1]),i=Math.max(r[0],r[1]),a="category"===e.type?e.d2l_noadd:e.d2l;"log"===e.type&&"L"!==String(e.dtick).charAt(0)&&(e.dtick="L"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var s=[],l=0;l<=1;l++)if((void 0===t||(!t||!l)&&(!1!==t||l))&&(!l||e.minor)){var c=l?e.minor.tickvals:e.tickvals,u=l?[]:e.ticktext;if(c){o.isArrayOrTypedArray(u)||(u=[]);for(var h=0;hn&&f2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0)):e._minDtick=0},G.saveRangeInitial=function(e,t){for(var r=G.list(e,"",!0),n=!1,i=0;i.3*f||u(i)||u(a))){var p=r.dtick/2;e+=e+p.8){var s=Number(r.slice(1));a.exactYears>.8&&s%12==0?e=G.tickIncrement(e,"M6","reverse")+1.5*A:a.exactMonths>.8?e=G.tickIncrement(e,"M1","reverse")+15.5*A:e-=M;var l=G.tickIncrement(e,r);if(l<=n)return l}return e}(v,e,y,f,a)),u=v,h=0;u<=d;)u=G.tickIncrement(u,y,!1,a),h++;return{start:t.c2r(v,0,a),end:t.c2r(u,0,a),size:y,_dataSpan:d-f}},G.prepMinorTicks=function(e,t,r){var i,a;if(!(null==(i=t.minor)?void 0:i.dtick)){delete e.dtick;var s,l=t.dtick&&n(t._tmin);if(l){var c=G.tickIncrement(t._tmin,t.dtick,!0);s=[t._tmin,.99*c+.01*t._tmin]}else{var u=o.simpleMap(t.range,t.r2l);s=[u[0],.8*u[0]+.2*u[1]]}if(e.range=o.simpleMap(s,t.l2r),e._isMinor=!0,G.prepTicks(e,r),l){var h=n(t.dtick),f=n(e.dtick),p=h?t.dtick:+t.dtick.substring(1),d=f?e.dtick:+e.dtick.substring(1);h&&f?et(p,d)?p===2*k&&d===2*A&&(e.dtick=k):p===2*k&&d===3*A?e.dtick=k:p!==k||(t._input.minor||{}).nticks?er(p/d,2.5)?e.dtick=p/2:e.dtick=p:e.dtick=A:"M"===String(t.dtick).charAt(0)?f?e.dtick="M1":et(p,d)?p>=12&&2===d&&(e.dtick="M3"):e.dtick=t.dtick:"L"===String(e.dtick).charAt(0)?"L"===String(t.dtick).charAt(0)?et(p,d)||(e.dtick=er(p/d,2.5)?t.dtick/2:t.dtick):e.dtick="D1":"D2"===e.dtick&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}(null==(a=t.minor)?void 0:a._tick0Init)===void 0&&(e.tick0=t.tick0)},G.prepTicks=function(e,t){var r=o.simpleMap(e.range,e.r2l,void 0,void 0,t);if("auto"===e.tickmode||!e.dtick){var i,a=e.nticks;a||("category"===e.type||"multicategory"===e.type?(i=e.tickfont?o.bigFont(e.tickfont.size||12):15,a=e._length/i):(i="y"===e._id.charAt(0)?40:80,a=o.constrain(e._length/i,4,9)+1),"radialaxis"!==e._name||(a*=2)),e.minor&&"array"!==e.minor.tickmode||"array"!==e.tickmode||(a*=100),e._roughDTick=Math.abs(r[1]-r[0])/a,G.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<2*e._minDtick&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}"period"===e.ticklabelmode&&function(e){function t(){return!(n(e.dtick)||"M"!==e.dtick.charAt(0))}var r,i=t(),a=G.getTickFormat(e);if(a){var o=e._dtickInit!==e.dtick;!/%[fLQsSMX]/.test(a)&&(/%[HI]/.test(a)?(r=S,o&&!i&&e.dticken(e.dtick):e.dticken(e.dtick):e.dtick<_)&&(e.dtick="M3")):/%[Yy]/.test(a)&&(r=g,o&&(i?12>en(e.dtick):e.dticke.range[1],d=!e.ticklabelindex||o.isArrayOrTypedArray(e.ticklabelindex)?e.ticklabelindex:[e.ticklabelindex],P=o.simpleMap(e.range,e.r2l,void 0,void 0,t),O=P[1]=(H?0:1);Z--){var W,Y,X=!Z;Z?(e._dtickInit=e.dtick,e._tick0Init=e.tick0):H&&(e.minor._dtickInit=e.minor.dtick,e.minor._tick0Init=e.minor.tick0);var $=Z?e:o.extendFlat({},e,H?e.minor:{minor:{}});if(X?G.prepMinorTicks($,e,t):G.prepTicks($,t),"array"===$.tickmode){Z?(N=[],j=ea(e,!X)):(U=[],B=ea(e,!X));continue}if("sync"===$.tickmode){N=[],j=function(e){var t=e._mainAxis,r=[];if(t._vals){for(var n=0;n=ee:es<=ee;es=G.tickIncrement(es,el,O,u)){if(Z&&W++,$.rangebreaks&&!O){if(es=R)break}if(N.length>F||es===eo)break;eo=es;var ec={value:es};Z?(er&&es!==(0|es)&&(ec.simpleLabel=!0),h>1&&W%h&&(ec.skipLabel=!0),N.push(ec)):(ec.minor=!0,U.push(ec))}}if(!U||U.length<3?d=!1:(r=(U[2].value-U[1].value)*(p?-1:1),i=e.tickformat,(/%f/.test(i)?r>=I:/%L/.test(i)?r>=L:/%[SX]/.test(i)?r>=C:/%M/.test(i)?r>=E:/%[HI]/.test(i)?r>=S:/%p/.test(i)?r>=M:/%[Aadejuwx]/.test(i)?r>=A:/%[UVW]/.test(i)?r>=k:/%[Bbm]/.test(i)?r>=T:/%[q]/.test(i)?r>=_:!/%[Yy]/.test(i)||r>=y)||(d=!1,U=U.slice(1))),d){var eu=N.concat(U);f&&N.length&&(eu=eu.slice(1)),(eu=eu.sort(function(e,t){return e.value-t.value}).filter(function(e,t,r){return 0===t||e.value!==r[t-1].value})).map(function(e,t){return void 0!==e.minor||e.skipLabel?null:t}).filter(function(e){return null!==e}).forEach(function(e){d.map(function(t){var r=e+t;r>=0&&r0?n-1:n,s=n);var l=e[o].value,c=Math.abs(e[s].value-l),u=r||c,h=0;u>=y?h=c>=y&&c<=m?c:g:r===x&&u>=_?h=c>=_&&c<=v?c:x:u>=T?h=c>=T&&c<=b?c:w:r===k&&u>=k?h=k:u>=A?h=A:r===M&&u>=M?h=M:r===S&&u>=S&&(h=S),h>=c&&(h=c,i=!0);var f=a+h;if(t.rangebreaks&&h>0){for(var p=0,d=0;d<84;d++){var E=(d+.5)/84;t.maskBreaks(a*(1-E)+E*f)!==z&&p++}(h*=p/84)||(e[n].drop=!0),i&&c>k&&(h=c)}(h>0||0===n)&&(e[n].periodX=a+h/2)}}(V,e,e._definedDelta),e.rangebreaks){var ev="y"===e._id.charAt(0),ex=1;"auto"===e.tickmode&&(ex=e.tickfont?e.tickfont.size:12);var e_=NaN;for(a=N.length-1;a>-1;a--){if(N[a].drop){N.splice(a,1);continue}N[a].value=eR(N[a].value,e);var eb=e.c2p(N[a].value);(ev?e_>eb-ex:e_R||nR&&(r.periodX=R),n10||"01-01"!==i.slice(5)?e._tickround="d":e._tickround=+t.slice(1)%12==0?"y":"m";else if(t>=A&&a<=10||t>=15*A)e._tickround="d";else if(t>=E&&a<=16||t>=S)e._tickround="M";else if(t>=C&&a<=19||t>=E)e._tickround="S";else{var o=e.l2r(r+t).replace(/^-/,"").length;e._tickround=Math.max(a,o)-20,e._tickround<0&&(e._tickround=4)}}else if(n(t)||"L"===t.charAt(0)){var s=e.range.map(e.r2d||Number);n(t)||(t=Number(t.slice(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var l=Math.floor(Math.log(Math.max(Math.abs(s[0]),Math.abs(s[1])))/Math.LN10+.01);Math.abs(l)>(void 0===e.minexponent?3:e.minexponent)&&(ev(e.exponentformat)&&"SI extended"!==e.exponentformat&&!ex(l)||ev(e.exponentformat)&&"SI extended"===e.exponentformat&&!e_(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}function em(e,t,r){var n=e.tickfont||{};return{x:t,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}G.autoTicks=function(e,t,r){var i;function a(e){return Math.pow(e,Math.floor(Math.log(t)/Math.LN10))}if("date"===e.type){e.tick0=o.dateTick0(e.calendar,0);var s=2*t;if(s>g)t/=g,i=a(10),e.dtick="M"+12*ep(t,i,eo);else if(s>w)t/=w,e.dtick="M"+ep(t,1,es);else if(s>A){if(e.dtick=ep(t,A,e._hasDayOfWeekBreaks?[1,2,7,14]:ec),!r){var l=G.getTickFormat(e),c="period"===e.ticklabelmode;c&&(e._rawTick0=e.tick0),/%[uVW]/.test(l)?e.tick0=o.dateTick0(e.calendar,2):e.tick0=o.dateTick0(e.calendar,1),c&&(e._dowTick0=e.tick0)}}else s>S?e.dtick=ep(t,S,es):s>E?e.dtick=ep(t,E,el):s>C?e.dtick=ep(t,C,el):(i=a(10),e.dtick=ep(t,i,eo))}else if("log"===e.type){e.tick0=0;var u=o.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(1>Math.abs(u[1]-u[0])){var h=1.5*Math.abs((u[1]-u[0])/t);t=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/h,i=a(10),e.dtick="L"+ep(t,i,eo)}else e.dtick=t>.3?"D2":"D1"}else"category"===e.type||"multicategory"===e.type?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):eD(e)?(e.tick0=0,i=1,e.dtick=ep(t,i,ef)):(e.tick0=0,i=a(10),e.dtick=ep(t,i,eo));if(0===e.dtick&&(e.dtick=1),!n(e.dtick)&&"string"!=typeof e.dtick){var f=e.dtick;throw e.dtick=1,"ax.dtick error: "+String(f)}},G.tickIncrement=function(e,t,i,a){var s=i?-1:1;if(n(t))return o.increment(e,s*t);var l=t.charAt(0),c=s*Number(t.slice(1));if("M"===l)return o.incrementMonth(e,c,a);if("L"===l)return Math.log(Math.pow(10,e)+c)/Math.LN10;if("D"===l){var u="D2"===t?eh:eu,h=e+.01*s,f=o.roundUp(o.mod(h,1),u,i);return Math.floor(h)+Math.log(r.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(t)},G.tickFirst=function(e,t){var i=e.r2l||Number,a=o.simpleMap(e.range,i,void 0,void 0,t),s=a[1]=0&&r<=e._length?t:null};if(d&&o.isArrayOrTypedArray(e.ticktext)){var x=o.simpleMap(e.range,e.r2l),_=(Math.abs(x[1]-x[0])-(e._lBreaks||0))/1e4;for(f=0;f ")}else e._prevDateHead=a,c+="
"+a}t.text=c}(e,p,r,m):"log"===g?function(e,t,r,i,a){var s=e.dtick,l=t.x,c=e.tickformat,u="string"==typeof s&&s.charAt(0);if("never"===a&&(a=""),i&&"L"!==u&&(s="L3",u="L"),c||"L"===u)t.text=ew(Math.pow(10,l),e,a,i);else if(n(s)||"D"===u&&("complete"===e.minorloglabels||.1>o.mod(l+.01,1))){"complete"!==e.minorloglabels||.1>o.mod(l+.01,1)||(t.fontSize*=.75);var h=Math.pow(10,l).toExponential(0).split("e"),f=+h[1],p=Math.abs(f),d=e.exponentformat;"power"===d||ev(d)&&"SI extended"!==d&&ex(f)||ev(d)&&"SI extended"===d&&e_(f)?(t.text=h[0],p>0&&(t.text+="x10"),"1x10"===t.text&&(t.text="10"),0!==f&&1!==f&&(t.text+=""+(f>0?"":P)+p+""),t.fontSize*=1.25):("e"===d||"E"===d)&&p>2?t.text=h[0]+d+(f>0?"+":P)+p:(t.text=ew(Math.pow(10,l),e,"","fakehover"),"D1"===s&&"y"===e._id.charAt(0)&&(t.dy-=t.fontSize/6))}else if("D"===u)t.text="none"===e.minorloglabels?"":String(Math.round(Math.pow(10,o.mod(l,1)))),t.fontSize*=.75;else throw"unrecognized dtick "+String(s);if("D1"===e.dtick){var m=String(t.text).charAt(0);("0"===m||"1"===m)&&("y"===e._id.charAt(0)?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(l<0?.5:.25)))}}(e,p,0,m,w):"category"===g?(void 0===(a=e._categories[Math.round(p.x)])&&(a=""),p.text=String(a)):"multicategory"===g?(s=Math.round(p.x),c=void 0===(l=e._categories[s]||[])[1]?"":String(l[1]),u=void 0===l[0]?"":String(l[0]),r?p.text=u+" - "+c:(p.text=c,p.text2=u)):eD(e)?function(e,t,r,n,i){if("radians"!==e.thetaunit||r)t.text=ew(t.x,e,i,n);else{var a=t.x/180;if(0===a)t.text="0";else{var s=function(e){function t(e,t){return 1e-6>=Math.abs(e-t)}var r=function(e){for(var r=1;!t(Math.round(e*r)/r,e);)r*=10;return r}(e),n=e*r,i=Math.abs(function e(r,n){return t(n,0)?r:e(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(s[1]>=100)t.text=ew(o.deg2rad(t.x),e,i,n);else{var l=t.x<0;1===s[1]?1===s[0]?t.text="π":t.text=s[0]+"π":t.text=["",s[0],"","⁄","",s[1],"","π"].join(""),l&&(t.text=P+t.text)}}}}(e,p,r,m,w):("never"===(h=w)?h="":"all"===e.showexponent&&1e-6>Math.abs(p.x/e.dtick)&&(h="hide"),p.text=ew(p.x,e,h,m)),i||(e.tickprefix&&!b(e.showtickprefix)&&(p.text=e.tickprefix+p.text),!e.ticksuffix||b(e.showticksuffix)||(p.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(p.text)){var T=e.labelalias[p.text];"string"==typeof T&&(p.text=T)}return("boundaries"===e.tickson||e.showdividers)&&(p.xbnd=[v(p.x-.5),v(p.x+e.dtick-.5)]),p},G.hoverLabelText=function(e,t,r){r&&(e=o.extendFlat({},e,{hoverformat:r}));var n=o.isArrayOrTypedArray(t)?t[0]:t,i=o.isArrayOrTypedArray(t)?t[1]:void 0;if(void 0!==i&&i!==n)return G.hoverLabelText(e,n,r)+" - "+G.hoverLabelText(e,i,r);var a="log"===e.type&&n<=0,s=G.tickText(e,e.c2l(a?-n:n),"hover").text;return a?0===n?"0":P+s:s};var eg=["f","p","n","μ","m","","k","M","G","T"],ey=["q","r","y","z","a",...eg,"P","E","Z","Y","R","Q"],ev=e=>["SI","SI extended","B"].includes(e);function ex(e){return e>14||e<-15}function e_(e){return e>32||e<-30}function ew(e,t,r,i){var a,s,l,c=e<0,u=t._tickround,h=r||t.exponentformat||"B",f=t._tickexponent,p=G.getTickFormat(t),d=t.separatethousands;if(i){var m={exponentformat:h,minexponent:t.minexponent,dtick:"none"===t.showexponent?t.dtick:n(e)&&Math.abs(e)||1,range:"none"===t.showexponent?t.range.map(t.r2d):[0,e||1]};ed(m),u=(Number(m._tickround)||0)+4,f=m._tickexponent,t.hoverformat&&(p=t.hoverformat)}if(p)return t._numFormat(p)(e).replace(/-/g,P);var g=Math.pow(10,-u)/2;if("none"===h&&(f=0),(e=Math.abs(e))"+l+"":"B"===h&&9===f?e+="B":ev(h)&&(e+="SI extended"===h?ey[f/3+10]:eg[f/3+5])),c?P+e:e}function eT(e,t){if(e){var r=Object.keys(B).reduce(function(e,r){return -1!==t.indexOf(r)&&B[r].forEach(function(t){e[t]=1}),e},{});Object.keys(e).forEach(function(t){r[t]||(1===t.length?e[t]=0:delete e[t])})}}function ek(e){return void 0!==e.periodX?e.periodX:e.x}function eA(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join("_")}function eE(e){var t=e.title.font.size,r=(e.title.text.match(l.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty("standoff")?t*(V+r*q):r?t*(r+1)*q:t}function eC(e,t){var r=e.l2p(t);return r>1&&r=i.min&&e0)switch(e.type){case"date":case"linear":for(t=0;t=n(e))}(e.dtick,n.dtickrange,i)){r=n;break}break;case"log":for(t=0;t=0,o=0>=a(e,t[1]);return(r||i)&&(n||o)}(e.dtick,n.dtickrange)){r=n;break}}return r?r.value:e.tickformat},G.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?G.findSubplotsWithAxis(n,t):n;return i.sort(function(e,t){var r=e.slice(1).split("y"),n=t.slice(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},G.findSubplotsWithAxis=function(e,t){for(var r=new RegExp("x"===t._id.charAt(0)?"^"+t._id+"y":t._id+"$"),n=[],i=0;i=0&&i.unshift(i.splice(n,1).shift())}});var s={false:{left:0,right:0}};return o.syncOrAsync(i.map(function(t){return function(){if(t){var n=G.getFromId(e,t);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=a;var i=G.drawOne(e,n,r);return n._shiftPusher&&eB(n,n._fullDepth||0,s,!0),n._r=n.range.slice(),n._rl=o.simpleMap(n._r,n.r2l),i}}}))},G.drawOne=function(e,t,r){var n=(r=r||{}).axShifts||{},s=r.overlayingShiftedAx||[];t.setScale();var f=e._fullLayout,p=t._id,d=p.charAt(0),m=G.counterLetter(p),g=f._plots[t._mainSubplot],y="above traces"===t.zerolinelayer;if(g){if(t._shiftPusher=t.autoshift||-1!==s.indexOf(t._id)||-1!==s.indexOf(t.overlaying),t._shiftPusher&"free"===t.anchor){var v=t.linewidth/2||0;"inside"===t.ticks&&(v+=t.ticklen),eB(t,v,n,!0),eB(t,t.shift||0,n,!1)}(!0!==r.skipTitle||void 0===t._shift)&&(t._shift=t.autoshift?n[t.overlaying][t.side]:t.shift||0);var x=g[d+"axislayer"],_=t._mainLinePosition,b=_+=t._shift,w=t._mainMirrorPosition,T=t._vals=G.calcTicks(t),k=[t.mirror,b,w].join("_");for(N=0;N0?r.bottom-u:0,h))));var p=0,g=0;if(t._shiftPusher&&(p=Math.max(h,r.height>0?"l"===l?u-r.left:r.right-u:0),t.title.text!==f._dfltTitle[d]&&(g=(t._titleStandoff||0)+(t._titleScoot||0),"l"===l&&(g+=eE(t))),t._fullDepth=Math.max(p,g)),t.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var y=[0,1],v="number"==typeof t._shift?t._shift:0;if("x"===d){if("b"===l?n[l]=t._depth:(n[l]=t._depth=Math.max(r.width>0?u-r.top:0,h),y.reverse()),r.width>0){var x=r.right-(t._offset+t._length);x>0&&(n.xr=1,n.r=x);var _=t._offset-r.left;_>0&&(n.xl=0,n.l=_)}}else if("l"===l?(t._depth=Math.max(r.height>0?u-r.left:0,h),n[l]=t._depth-v):(t._depth=Math.max(r.height>0?r.right-u:0,h),n[l]=t._depth+v,y.reverse()),r.height>0){var b=r.bottom-(t._offset+t._length);b>0&&(n.yb=0,n.b=b);var w=t._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]="free"===t.anchor?t.position:t._anchorAxis.domain[y[0]],t.title.text!==f._dfltTitle[d]&&(n[l]+=eE(t)+(t.title.standoff||0)),t.mirror&&"free"!==t.anchor&&((o={x:0,y:0,r:0,l:0,t:0,b:0})[c]=t.linewidth,t.mirror&&!0!==t.mirror&&(o[c]+=h),!0===t.mirror||"ticks"===t.mirror?o[m]=t._anchorAxis.domain[y[1]]:("all"===t.mirror||"allticks"===t.mirror)&&(o[m]=[t._counterDomainMin,t._counterDomainMax][y[1]]))}ef&&(s=a.getComponentMethod("rangeslider","autoMarginOpts")(e,t)),"string"==typeof t.automargin&&(eT(n,t.automargin),eT(o,t.automargin)),i.autoMargin(e,eI(t),n),i.autoMargin(e,eP(t),o),i.autoMargin(e,ez(t),s)}),o.syncOrAsync(eu)}}function ep(e){var r=p+(e||"tick");return A[r]||(A[r]=function(e,t,r){if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each(function(){var e=eL(this);if("none"!==e.node().style.display){var t=h.bBox(e.node().parentNode);n=Math.min(n,t.top),i=Math.max(i,t.bottom),a=Math.min(a,t.left),o=Math.max(o,t.right)}});else{var n,i,a,o,s=G.makeLabelFns(e,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(t,r,b)),A[r]}},G.getTickSigns=function(e,t){var r=e._id.charAt(0),n=e.side===({x:"top",y:"right"})[r]?1:-1,i=[-1,1,n,-n];return"inside"!==(t?(e.minor||{}).ticks:e.ticks)==("x"===r)&&(i=i.map(function(e){return-e})),e.side&&i.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),i},G.makeTransTickFn=function(e){return"x"===e._id.charAt(0)?function(t){return s(e._offset+e.l2p(t.x),0)}:function(t){return s(0,e._offset+e.l2p(t.x))}},G.makeTransTickLabelFn=function(e){var t=function(e){var t=e.ticklabelposition||"",r=e.tickson||"",n=function(e){return -1!==t.indexOf(e)},i=n("top"),a=n("left"),o=n("right"),s=n("bottom"),l=n("inside"),c="boundaries"!==r&&(s||a||i||o);if(!c&&!l)return[0,0];var u=e.side,h=c?(e.tickwidth||0)/2:0,f=3,p=e.tickfont?e.tickfont.size:12;return(s||i)&&(h+=p*V,f+=(e.linewidth||0)/2),(a||o)&&(h+=(e.linewidth||0)/2,f+=3),l&&"top"===u&&(f-=p*(1-V)),(a||i)&&(h=-h),("bottom"===u||"right"===u)&&(f=-f),[c?h:0,l?f:0]}(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],l=e.ticklabelposition&&-1!==e.ticklabelposition.indexOf("inside");if(r&&(r*=o?-1:1),n){var c=e.side;n*=l&&("top"===c||"left"===c)||!l&&("bottom"===c||"right"===c)?1:-1}return"x"===e._id.charAt(0)?function(t){return s(i+e._offset+e.l2p(ek(t))+r,a+n)}:function(t){return s(a+n,i+e._offset+e.l2p(ek(t))+r)}},G.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return"";var a=void 0!==n.len?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return"x"===o?"M0,"+(t+s*r)+"v"+a*r:"M"+(t+s*r)+",0h"+a*r},G.makeLabelFns=function(e,t,r){var i,a,s,l,c,u=e.ticklabelposition||"",h=e.tickson||"",f=function(e){return -1!==u.indexOf(e)},p=f("top"),d=f("left"),m=f("right"),g=f("bottom"),y="boundaries"!==h&&(g||d||p||m),v=f("inside"),x="inside"===u&&"inside"===e.ticks||!v&&"outside"===e.ticks&&"boundaries"!==h,_=0,b=0,w=x?e.ticklen:0;if(v?w*=-1:y&&(w=0),x&&(_+=w,r)){var T=o.deg2rad(r);_=w*Math.cos(T)+1,b=w*Math.sin(T)}e.showticklabels&&(x||e.showline)&&(_+=.2*e.tickfont.size);var k={labelStandoff:_+=(e.linewidth||1)/2*(v?-1:1),labelShift:b},A=0,M=e.side,S=e._id.charAt(0),E=e.tickangle;if("x"===S)l=(c=!v&&"bottom"===M||v&&"top"===M)?1:-1,v&&(l*=-1),i=b*l,a=t+_*l,s=c?1:-.2,90===Math.abs(E)&&(v?s+=U:s=-90===E&&"bottom"===M?V:90===E&&"top"===M?U:.5,A=U/2*(E/90)),k.xFn=function(e){return e.dx+i+A*e.fontSize},k.yFn=function(e){return e.dy+a+e.fontSize*s},k.anchorFn=function(e,t){if(y){if(d)return"end";if(m)return"start"}return n(t)&&0!==t&&180!==t?t*l<0!==v?"end":"start":"middle"},k.heightFn=function(t,r,n){return r<-60||r>60?-.5*n:"top"===e.side!==v?-n:0};else if("y"===S){if(l=(c=!v&&"left"===M||v&&"right"===M)?1:-1,v&&(l*=-1),i=_,a=b*l,s=0,v||90!==Math.abs(E)||(s=-90===E&&"left"===M||90===E&&"right"===M?V:.5),v){var C=n(E)?+E:0;0!==C&&(A=Math.abs(Math.sin(o.deg2rad(C)))*V*l,s=0)}k.xFn=function(e){return e.dx+t-(i+e.fontSize*s)*l+A*e.fontSize},k.yFn=function(e){return e.dy+a+e.fontSize*U},k.anchorFn=function(e,t){return n(t)&&90===Math.abs(t)?"middle":c?"end":"start"},k.heightFn=function(t,r,n){return"right"===e.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return k},G.drawTicks=function(e,t,n){n=n||{};var i=t._id+"tick",a=[].concat(t.minor&&t.minor.ticks?n.vals.filter(function(e){return e.minor&&!e.noTick}):[]).concat(t.ticks?n.vals.filter(function(e){return!e.minor&&!e.noTick}):[]),o=n.layer.selectAll("path."+i).data(a,eA);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==n.crisp).each(function(e){return u.stroke(r.select(this),e.minor?t.minor.tickcolor:t.tickcolor)}).style("stroke-width",function(r){return h.crispRound(e,r.minor?t.minor.tickwidth:t.tickwidth,1)+"px"}).attr("d",n.path).style("display",null),ej(t,[F]),o.attr("transform",n.transFn)},G.drawGrid=function(e,t,n){if(n=n||{},"sync"!==t.tickmode){var i=t._id+"grid",a=t.minor&&t.minor.showgrid,o=a?n.vals.filter(function(e){return e.minor}):[],s=t.showgrid?n.vals.filter(function(e){return!e.minor}):[],l=n.counterAxis;if(l&&G.shouldShowZeroLine(e,t,l))for(var c="array"===t.tickmode,f=0;f=0;y--){var v=y?m:g;if(v){var x=v.selectAll("path."+i).data(y?s:o,eA);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==n.crisp),x.attr("transform",n.transFn).attr("d",n.path).each(function(e){return u.stroke(r.select(this),e.minor?t.minor.gridcolor:t.gridcolor||"#ddd")}).style("stroke-dasharray",function(e){return h.dashStyle(e.minor?t.minor.griddash:t.griddash,e.minor?t.minor.gridwidth:t.gridwidth)}).style("stroke-width",function(e){return(e.minor?d:t._gw)+"px"}).style("display",null),"function"==typeof n.path&&x.attr("d",n.path)}}ej(t,[D,R])}},G.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+"zl",i=G.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each(function(){r.layer.selectAll("path").sort(function(e,t){return Y(e.id,t.id)})}),a.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,t.zerolinecolor||u.defaultLine).style("stroke-width",h.crispRound(e,t.zerolinewidth,t._gw||1)+"px").style("display",null),ej(t,[O])},G.drawLabels=function(e,t,i){i=i||{};var a=e._fullLayout,c=t._id,u="above traces"===t.zerolinelayer,f=i.cls||c+"tick",p=i.vals.filter(function(e){return e.text}),d=i.labelFns,m=i.secondary?0:t.tickangle,g=(t._prevTickAngles||{})[f],y=i.layer.selectAll("g."+f).data(t.showticklabels?p:[],eA),v=[];function x(e,a){e.each(function(e){var o=r.select(this),c=o.select(".text-math-group"),u=d.anchorFn(e,a),f=i.transFn.call(o.node(),e)+(n(a)&&0!=+a?" rotate("+a+","+d.xFn(e)+","+(d.yFn(e)-e.fontSize/2)+")":""),p=l.lineCount(o),m=q*e.fontSize,g=d.heightFn(e,n(a)?+a:0,(p-1)*m);if(g&&(f+=s(0,g)),c.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":u}),y.style("display",null),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var v=h.bBox(c.node()).width;c.attr("transform",f+s(v*({end:-.5,start:.5})[u],0))}})}y.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each(function(t){var n=r.select(this),i=e._promises.length;n.call(l.positionText,d.xFn(t),d.yFn(t)).call(h.font,{family:t.font,size:t.fontSize,color:t.fontColor,weight:t.fontWeight,style:t.fontStyle,variant:t.fontVariant,textcase:t.fontTextcase,lineposition:t.fontLineposition,shadow:t.fontShadow}).text(t.text).call(l.convertToTspans,e),e._promises[i]?v.push(e._promises.pop().then(function(){x(n,m)})):x(n,m)}),ej(t,[j]),y.exit().remove(),i.repositionOnUpdate&&y.each(function(e){r.select(this).select("text").call(l.positionText,d.xFn(e),d.yFn(e))}),t._adjustTickLabelsOverflow=function(){var n=t.ticklabeloverflow;if(n&&"allow"!==n){var i=-1!==n.indexOf("hide"),s="x"===t._id.charAt(0),l=0,c=s?e._fullLayout.width:e._fullLayout.height;if(-1!==n.indexOf("domain")){var u=o.simpleMap(t.range,t.r2l);l=t.l2p(u[0])+t._offset,c=t.l2p(u[1])+t._offset}var f=Math.min(l,c),p=Math.max(l,c),d=t.side,m=1/0,g=-1/0;for(var v in y.each(function(e){var n=r.select(this);if(n.select(".text-math-group").empty()){var a=h.bBox(n.node()),o=0;s?a.right>p?o=1:a.leftp?o=1:a.top+(t.tickangle?0:e.fontSize/4)t["_visibleLabelMin_"+n._id]?l.style("display","none"):"tick"!==e.K||i||"none"===l.node().style.display||l.style("display",null)})})})})},x(y,g+1?g:m);var _=null;t._selections&&(t._selections[f]=y);var b=[function(){return v.length&&Promise.all(v)}];t.automargin&&a._redrawFromAutoMarginCount&&90===g?(_=g,b.push(function(){x(y,g)})):b.push(function(){if(x(y,m),p.length&&t.autotickangles&&("log"!==t.type||"D"!==String(t.dtick).charAt(0))){_=t.autotickangles[0];var e,r=0,n=[],a=1;y.each(function(e){r=Math.max(r,e.fontSize);var i=t.l2p(e.x),o=eL(this),s=h.bBox(o.node());a=Math.max(a,l.lineCount(o)),n.push({top:0,bottom:10,height:10,left:i-s.width/2,right:i+s.width/2+2,width:s.width+2})});var s=("boundaries"===t.tickson||t.showdividers)&&!i.secondary,c=p.length,u=Math.abs((p[c-1].x-p[0].x)*t._m)/(c-1),f=s?u/2:u,d=Math.sqrt(Math.pow(f,2)+Math.pow(s?t.ticklen:1.25*r*a,2)),g=f/d,v=t.autotickangles.map(function(e){return e*Math.PI/180}),b=v.find(function(e){return Math.abs(Math.cos(e))<=g});void 0===b&&(b=v.reduce(function(e,t){return Math.abs(Math.cos(e))U*N&&(P=N,C[E]=L[E]=z[E])}var V=Math.abs(P-I);V-A>0?(V-=A,A*=1+A/V):A=0,"y"!==t._id.charAt(0)&&(A=-A),C[S]=T.p2r(T.r2p(L[S])+M*A),"min"===T.autorange||"max reversed"===T.autorange?(C[0]=null,T._rangeInitial0=void 0,T._rangeInitial1=void 0):("max"===T.autorange||"min reversed"===T.autorange)&&(C[1]=null,T._rangeInitial0=void 0,T._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[T._name+".range"]=C}var H=o.syncOrAsync(b);return H&&H.then&&e._promises.push(H),H},G.getPxPosition=function(e,t){var r,n=e._fullLayout._size,i=t._id.charAt(0),a=t.side;return("free"!==t.anchor?r=t._anchorAxis:"x"===i?r={_offset:n.t+(1-(t.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(t.position||0)*n.w+t._shift,_length:0}),"top"===a||"left"===a)?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},G.shouldShowZeroLine=function(e,t,r){var n=o.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&("linear"===t.type||"-"===t.type)&&!(t.rangebreaks&&t.maskBreaks(0)===z)&&(eC(t,0)||!function(e,t,r,n){var i=r._mainAxis;if(i){var a=e._fullLayout,o=t._id.charAt(0),s=G.counterLetter(t._id),l=t._offset+(Math.abs(n[0])1)for(i=1;i4/3-s?o:s}}}),rG=ed({"src/components/dragelement/cursor.js"(e,t){var r=tQ(),n=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(e,t,i,a){return e="left"===i?0:"center"===i?1:"right"===i?2:r.constrain(Math.floor(3*e),0,2),n[t="bottom"===a?0:"middle"===a?1:"top"===a?2:r.constrain(Math.floor(3*t),0,2)][e]}}}),rZ=ed({"src/components/dragelement/unhover.js"(e,t){var r=t5(),n=tq(),i=tw().getGraphDiv,a=eN(),o=t.exports={};o.wrapped=function(e,t,r){(e=i(e))._fullLayout&&n.clear(e._fullLayout._uid+a.HOVERID),o.raw(e,t,r)},o.raw=function(e,t){var n=e._fullLayout,i=e._hoverdata;t||(t={}),(!t.target||e._dragged||!1!==r.triggerHandler(e,"plotly_beforehover",t))&&(n._hoverlayer.selectAll("g").remove(),n._hoverlayer.selectAll("line").remove(),n._hoverlayer.selectAll("circle").remove(),e._hoverdata=void 0,t.target&&i&&e.emit("plotly_unhover",{event:t,points:i}))}}}),rW=ed({"src/components/dragelement/index.js"(e,t){var r=rV(),n=t2(),i=rq(),a=tQ().removeElement,o=t9(),s=t.exports={};s.align=rH(),s.getCursor=rG();var l=rZ();function c(){var e=document.createElement("div");e.className="dragcover";var t=e.style;return t.position="fixed",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background="none",document.body.appendChild(e),e}function u(e){return r(e.changedTouches?e.changedTouches[0]:e,document.body)}s.unhover=l.wrapped,s.unhoverRaw=l.raw,s.init=function(e){var t,r,l,h,f,p,d,m,g=e.gd,y=1,v=g._context.doubleClickDelay,x=e.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=b,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=b,x.addEventListener("touchstart",b,{passive:!1})):x.ontouchstart=b;var _=e.clampFn||function(e,t,r){return Math.abs(e)v&&(y=Math.max(y-1,1)),g._dragged)e.doneFn&&e.doneFn();else{var r;p.target===d?r=p:(r={target:d,srcElement:d,toElement:d},Object.keys(p).concat(Object.keys(p.__proto__)).forEach(e=>{var t=p[e];r[e]||"function"==typeof t||(r[e]=t)})),e.clickFn&&e.clickFn(y,r),m||d.dispatchEvent(new MouseEvent("click",t))}g._dragging=!1,g._dragged=!1}},s.coverSlip=c}}),rY=ed({"src/lib/setcursor.js"(e,t){t.exports=function(e,t){(e.attr("class")||"").split(" ").forEach(function(t){0===t.indexOf("cursor-")&&e.classed(t,!1)}),t&&e.classed("cursor-"+t,!0)}}}),rX=ed({"src/lib/override_cursor.js"(e,t){var r=rY(),n="data-savedcursor";t.exports=function(e,t){var i=e.attr(n);if(t){if(!i){for(var a=(e.attr("class")||"").split(" "),o=0;ot.legend.length)for(var n=t.legend.length;n("legend"===e?1:0));if(!1===L&&(c[e]=void 0),(!1!==L||g.uirevision)&&(v("uirevision",c.uirevision),!1!==L)){v("borderwidth");var I=v("orientation"),P=v("yref"),z=v("xref"),O="h"===I,D="paper"===P,R="paper"===z,F="left";if(O?(p=0,r.getComponentMethod("rangeslider","isVisible")(t.xaxis)?D?(d=1.1,m="bottom"):(d=1,m="top"):D?(d=-.1,m="top"):(d=0,m="bottom")):(d=1,m="auto",R?p=1.02:(p=1,F="right")),n.coerce(g,y,{x:{valType:"number",editType:"legend",min:R?-2:0,max:R?3:1,dflt:p}},"x"),n.coerce(g,y,{y:{valType:"number",editType:"legend",min:D?-2:0,max:D?3:1,dflt:d}},"y"),v("traceorder",A),l.isGrouped(c[e])&&v("tracegroupgap"),v("entrywidth"),v("entrywidthmode"),v("indentation"),v("itemsizing"),v("itemwidth"),v("itemclick"),v("itemdoubleclick"),v("groupclick"),v("xanchor",F),v("yanchor",m),v("maxheight"),v("valign"),n.noneOrAll(g,y,["x","y"]),v("title.text")){v("title.side",O?"left":"top");var j=n.extendFlat({},x,{size:n.bigFont(x.size)});n.coerceFont(v,"title.font",j);let e=h>1;v("titleclick",!!e&&"toggle"),v("titledoubleclick",!!e&&"toggleothers")}}}function B(e){return r.traceIs(e,"pie-like")&&null!=e._length&&(Array.isArray(e.legend)||Array.isArray(e.showlegend))}})(g,e,t,h,m.length),t[g]&&(t[g]._id=g),t._legends.push(g)}}}}),rQ=ed({"src/components/legend/handle_click.js"(e){var t=tO(),r=tQ(),n=r.pushUnique,i=rJ(),a=!0;e.handleItemClick=function(e,i,o,s){var l=i._fullLayout;if(i._dragged||i._editing)return;var c=e.data()[0][0];if(c.groupTitle&&c.noClick)return;var u=o.groupclick;"toggle"===s&&"toggleothers"===o.itemdoubleclick&&a&&i.data&&i._context.showTips&&(r.notifier(r._(i,"Double-click on legend to isolate one trace"),"long",i),a=!1);var h="togglegroup"===u,f=l.hiddenlabels?l.hiddenlabels.slice():[],p=i._fullData;let d=(l.shapes||[]).filter(e=>e.showlegend||e.legendgroup);var m=p.concat(d),g=c.trace;g._isShape&&(g=g._fullInput);var y=g.legendgroup,v={},x=[],_=[],b=[],w=(l.shapes||[]).map(function(e){return e._input}),T=!1;function k(e,t){if(!c.groupTitle||h){var r,n,i,a=e._fullInput||e,o=a._isShape,s=a.index;void 0===s&&(s=a._index);var l=!1!==a.visible&&t;o?(w[s].visible=l,T=!0):(r=s,n=x.indexOf(r),(i=v.visible)||(i=v.visible=[]),-1===x.indexOf(r)&&(x.push(r),n=x.length-1),i[n]=l)}}var A=g.legend,M=g._fullInput;if(!(M&&M._isShape)&&t.traceIs(g,"pie-like")){var S=c.label,E=f.indexOf(S);if("toggle"===s)-1===E?f.push(S):f.splice(E,1);else if("toggleothers"===s){var C=-1!==E,L=[];for(j=0;je.showlegend||e.legendgroup),c=o.concat(l);function u(e){return(e.legend||"legend")===s}"toggle"===n?(d=!c.some(function(e){return u(e)&&!0===e.visible}),m=!1):(d=!0,m=!c.some(function(e){return!u(e)&&!0===e.visible&&!1!==e.showlegend}));let h={visible:[]},f=[],p=(a.shapes||[]).map(function(e){return e._input});for(var d,m,g=!1,y=0;yI&&(C=I)}S[o][0]._groupMinRank=C,S[o][0]._preGroupSort=o}var P=function(e,t){return(r(e.trace.legendrank)?e.trace.legendrank[e.i]:e.trace.legendrank)-(r(t.trace.legendrank)?t.trace.legendrank[t.i]:t.trace.legendrank)||e._preSort-t._preSort};for(S.forEach(function(e,t){e[0]._preGroupSort=t}),S.sort(function(e,t){return e[0]._groupMinRank-t[0]._groupMinRank||e[0]._preGroupSort-t[0]._preGroupSort}),o=0;or?r:e}t.exports=function(e,t,g){var y=t._fullLayout;g||(g=y.legend);var v="constant"===g.itemsizing,x=g.itemwidth,_=a((x+2*f.itemGap)/2,0),b=function(e,t,r,n){var i;if(e+1)i=e;else{if(!t||!(t.width>0))return 0;i=t.width}return v?n:Math.min(i,r)};function w(e,i,a){var c=e[0].trace,u=c.marker||{},h=u.line||{},f=u.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",p=a?c.visible&&c.type===a:n.traceIs(c,"bar"),d=r.select(i).select("g.legendpoints").selectAll("path.legend"+a).data(p?[e]:[]);d.enter().append("path").classed("legend"+a,!0).attr("d",f).attr("transform",_),d.exit().remove(),d.each(function(e){var n=r.select(this),i=e[0],a=b(i.mlw,u.line,5,2);n.style("stroke-width",a+"px");var f=i.mcc;if(!g._inHover&&"mc"in i){var p=l(u),d=p.mid;void 0===d&&(d=(p.max+p.min)/2),f=o.tryColorscale(u,"")(d)}var y=f||i.mc||u.color,v=u.pattern,x=o.getPatternAttr,_=v&&(x(v.shape,0,"")||x(v.path,0,""));if(_){var w=x(v.bgcolor,0,null),T=x(v.fgcolor,0,null),k=v.fgopacity,A=m(v.size,8,10),M=m(v.solidity,.5,1),S="legend-"+c.uid;n.call(o.pattern,"legend",t,S,_,A,M,f,v.fillmode,w,T,k)}else n.call(s.fill,y);a&&s.stroke(n,i.mlc||h.color)})}function T(e,a,o){var s=e[0],l=s.trace,c=o?l.visible&&l.type===o:n.traceIs(l,o),f=r.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(c?[e]:[]);if(f.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),f.exit().remove(),f.size()){var p=l.marker||{},d=b(h(p.line.width,s.pts),p.line,5,2),m="pieLike",g=i.minExtend(l,{marker:{line:{width:d}}},m);u(f,i.minExtend(s,{trace:g},m),g,t)}}e.each(function(e){var t=r.select(this),n=i.ensureSingle(t,"g","layers");n.style("opacity",e[0].trace.opacity);var o=g.indentation,s=g.valign,l=e[0].lineHeight,c=e[0].height;if(("middle"!==s||0!==o)&&l&&c){var u=g.indentation;n.attr("transform",a(u,.5*(l-c+3)*({top:1,bottom:-1})[s]||0))}else n.attr("transform",null);n.selectAll("g.legendfill").data([e]).enter().append("g").classed("legendfill",!0),n.selectAll("g.legendlines").data([e]).enter().append("g").classed("legendlines",!0);var h=n.selectAll("g.legendsymbols").data([e]);h.enter().append("g").classed("legendsymbols",!0),h.selectAll("g.legendpoints").data([e]).enter().append("g").classed("legendpoints",!0)}).each(function(e){var n,a=e[0].trace,c=[];if(a.visible)switch(a.type){case"histogram2d":case"heatmap":c=[["M-15,-2V4H15V-2Z"]],n=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":c=[["M-6,-6V6H6V-6Z"]],n=!0;break;case"densitymapbox":case"densitymap":c=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],n="radial";break;case"cone":c=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],n=!1;break;case"streamtube":c=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],n=!1;break;case"surface":c=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],n=!0;break;case"mesh3d":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!1;break;case"volume":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],n=!0;break;case"isosurface":c=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],n=!1}var u=r.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(c);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),u.exit().remove(),u.each(function(e,c){var u,h=r.select(this),f=l(a),d=f.colorscale,m=f.reversescale;if(d){if(!n){var g=d.length;u=0===c?d[m?g-1:0][1]:1===c?d[m?0:g-1][1]:d[Math.floor((g-1)/2)][1]}}else{var y=a.vertexcolor||a.facecolor||a.color;u=i.isArrayOrTypedArray(y)?y[c]||y[0]:y}h.attr("d",e[0]),u?h.call(s.fill,u):h.call(function(e){if(e.size()){var r="legendfill-"+a.uid;o.gradient(e,t,r,p(m,"radial"===n),d,"fill")}})})}).each(function(e){var t=e[0].trace,n="waterfall"===t.type;if(e[0]._distinct&&n){var i=e[0].trace[e[0].dir].marker;return e[0].mc=i.color,e[0].mlw=i.line.width,e[0].mlc=i.line.color,w(e,this,"waterfall")}var a=[];t.visible&&n&&(a=e[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=r.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each(function(e){var n=r.select(this),i=t[e[0]].marker,a=b(void 0,i.line,5,2);n.attr("d",e[1]).style("stroke-width",a+"px").call(s.fill,i.color),a&&n.call(s.stroke,i.line.color)})}).each(function(e){w(e,this,"funnel")}).each(function(e){w(e,this)}).each(function(e){var a=e[0].trace,l=r.select(this).select("g.legendpoints").selectAll("path.legendbox").data(a.visible&&n.traceIs(a,"box-violin")?[e]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),l.exit().remove(),l.each(function(){var e=r.select(this);if(("all"===a.boxpoints||"all"===a.points)&&0===s.opacity(a.fillcolor)&&0===s.opacity((a.line||{}).color)){var n=i.minExtend(a,{marker:{size:v?12:i.constrain(a.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,n,t)}else{var c=b(void 0,a.line,5,2);e.style("stroke-width",c+"px").call(s.fill,a.fillcolor),c&&s.stroke(e,a.line.color)}})}).each(function(e){T(e,this,"funnelarea")}).each(function(e){T(e,this,"pie")}).each(function(e){var n,a,s=d(e),u=s.showFill,h=s.showLine,f=s.showGradientLine,m=s.showGradientFill,g=s.anyFill,y=s.anyLine,v=e[0],_=v.trace,w=l(_),T=w.colorscale,k=w.reversescale,A=c.hasMarkers(_)||!g?"M5,0":y?"M5,-2":"M5,-3",M=r.select(this),S=M.select(".legendfill").selectAll("path").data(u||m?[e]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call(function(e){if(e.size()){if(u)o.fillGroupStyle(e,t,!0);else{var r="legendfill-"+_.uid;o.gradient(e,t,r,p(k),T,"fill")}}}),h||f){var E=b(void 0,_.line,10,5);a=i.minExtend(_,{line:{width:E}}),n=[i.minExtend(v,{trace:a})]}var C=M.select(".legendlines").selectAll("path").data(h||f?[n]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",A+(f?"l"+x+",0.0001":"h"+x)).call(h?o.lineGroupStyle:function(e){if(e.size()){var r="legendline-"+_.uid;o.lineGroupStyle(e),o.gradient(e,t,r,p(k),T,"stroke")}})}).each(function(e){var n,a,s=d(e),l=s.anyFill,u=s.anyLine,h=s.showLine,f=s.showMarker,p=e[0],m=p.trace,g=!f&&!u&&!l&&c.hasText(m);function y(e,t,r,n){var a=i.nestedProperty(m,e).get(),o=i.isArrayOrTypedArray(a)&&t?t(a):a;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(e){return p._distinct&&p.index&&e[p.index]?e[p.index]:e[0]}if(f||g||h){var b={},w={};if(f){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",i.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",i.mean,[0,5],2),b.mld=m._isShape?"solid":y("marker.line.dash",x),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",i.mean,[2,16],12);b.ms=T,w.marker.size=T}h&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x),b.tw=y("textfont.weight",x),b.ty=y("textfont.style",x),b.tv=y("textfont.variant",x),b.tC=y("textfont.textcase",x),b.tE=y("textfont.lineposition",x),b.tS=y("textfont.shadow",x)),n=[i.minExtend(p,b)],(a=i.minExtend(m,w)).selectedpoints=null,a.texttemplate=null}var k=r.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(f?n:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(o.pointStyle,a,t),f&&(n[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?n:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(o.textPointStyle,a,t)}).each(function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(t.visible&&"candlestick"===t.type?[e,e]:[]);n.enter().append("path").classed("legendcandle",!0).attr("d",function(e,t){return t?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",_).style("stroke-miterlimit",1),n.exit().remove(),n.each(function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],o=b(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(s.fill,a.fillcolor),o&&s.stroke(i,a.line.color)})}).each(function(e){var t=e[0].trace,n=r.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(t.visible&&"ohlc"===t.type?[e,e]:[]);n.enter().append("path").classed("legendohlc",!0).attr("d",function(e,t){return t?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",_).style("stroke-miterlimit",1),n.exit().remove(),n.each(function(e,n){var i=r.select(this),a=t[n?"increasing":"decreasing"],l=b(void 0,a.line,5,2);i.style("fill","none").call(o.dashLine,a.line.dash,l),l&&s.stroke(i,a.line.color)})})}}}),r6=ed({"src/components/legend/draw.js"(e,t){var r=eb(),n=tQ(),i=ra(),a=tO(),o=t5(),s=rW(),l=rO(),c=eZ(),u=rl(),h=rQ().handleItemClick,f=rQ().handleTitleClick,p=r0(),d=rs(),m=d.LINE_SPACING,g=d.FROM_TL,y=d.FROM_BR,v=r1(),x=r4(),_=rJ(),b=/^legend[0-9]*$/;function w(e,t){var h,d,b,w,M=t||{},I=e._fullLayout,P=_.getId(M),z=M._inHover;if(z?(d=M.layer,h="hover"):(d=I._infolayer,h=P),d){if(h+=I._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0),z){if(!M.entries)return;b=v(M.entries,M)}else{for(var O=(e.calcdata||[]).slice(),D=I.shapes,R=0;R1)}var B=I.hiddenlabels||[];if(!z&&(!I.showlegend||!b.length))return d.selectAll("."+P).remove(),I._topdefs.select("#"+h).remove(),i.autoMargin(e,P);var N=n.ensureSingle(d,"g",P,function(e){z||e.attr("pointer-events","all")}),U=n.ensureSingleById(I._topdefs,"clipPath",h,function(e){e.append("rect")}),V=n.ensureSingle(N,"rect","bg",function(e){e.attr("shape-rendering","crispEdges")});V.call(c.stroke,M.bordercolor).call(c.fill,M.bgcolor).style("stroke-width",M.borderwidth+"px");var q=n.ensureSingle(N,"g","scrollbox"),H=M.title;M._titleWidth=0,M._titleHeight=0,H.text?((w=n.ensureSingle(q,"text",P+"titletext")).attr("text-anchor","start").call(l.font,H.font).text(H.text),E(w,q,e,M,1),!z&&(M.titleclick||M.titledoubleclick)&&function(e,t,i,s){if(t._fullData.some(function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(s):t===s)&&a.traceIs(e,"pie-like")}))return;let l=t._context.doubleClickDelay;var u,h=1;let p=n.ensureSingle(e,"rect",s+"titletoggle",function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(p.on("mousedown",function(){(u=new Date().getTime())-t._legendMouseDownTimel&&(h=Math.max(h-1,1));let e={event:r.event,legendId:s,data:t.data,layout:t.layout,fullData:t._fullData,fullLayout:t._fullLayout};if(1===h&&i.titleclick){if(!1===o.triggerHandler(t,"plotly_legendtitleclick",e))return;i._titleClickTimeout=setTimeout(function(){t._fullLayout&&f(t,i,i.titleclick)},l)}else 2===h&&(i._titleClickTimeout&&clearTimeout(i._titleClickTimeout),t._legendMouseDownTime=0,!1!==o.triggerHandler(t,"plotly_legendtitledoubleclick",e)&&i.titledoubleclick&&f(t,i,i.titledoubleclick))}))}(q,e,M,P)):(q.selectAll("."+P+"titletext").remove(),q.selectAll("."+P+"titletoggle").remove());var G=n.ensureSingle(N,"rect","scrollbar",function(e){e.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)}),Z=q.selectAll("g.groups").data(b);Z.enter().append("g").attr("class","groups"),Z.exit().remove();var W=Z.selectAll("g.traces").data(n.identity);W.enter().append("g").attr("class","traces"),W.exit().remove(),W.style("opacity",function(t){let r=t[0],n=r.trace;if(r.groupTitle){let t=n.legendgroup,r=(I.shapes||[]).filter(function(e){return e.showlegend});return e._fullData.concat(r).some(function(e){return e.legendgroup===t&&(e.legend||"legend")===P&&!0===e.visible})?1:.5}return a.traceIs(n,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===n.visible?.5:1}).each(function(){r.select(this).call(A,e,M)}).call(x,e,M).each(function(t){!z&&(t[0].groupTitle&&"toggleitem"===M.groupclick||r.select(this).call(S,e,P))}),n.syncOrAsync([i.previousPromises,function(){return function(e,t,n,i,a){var o,s,c,h,f=e._fullLayout,d=_.getId(i);i||(i=f[d]);var g=f._size,y=_.isVertical(i),v=_.isGrouped(i),x="fraction"===i.entrywidthmode,b=i.borderwidth,w=2*b,k=p.itemGap,A=i.indentation+i.itemwidth+2*k,M=2*(b+k),S=L(i),E=i.y<0||0===i.y&&"top"===S,I=i.y>1||1===i.y&&"bottom"===S,P=i.tracegroupgap,z={};let{orientation:O,yref:D}=i,{maxheight:R}=i,F=E||I||"v"!==O||"paper"!==D;R||(R=F?.5:1);let j=F?f.height:g.h;i._maxHeight=Math.max(R>1?R:R*j,30);var B=0;i._width=0,i._height=0;var N=(s=0,c=0,(h=(o=i).title.side)&&(-1!==h.indexOf("left")&&(s=o._titleWidth),-1!==h.indexOf("top")&&(c=o._titleHeight)),[s,c]);if(y)n.each(function(e){var t=e[0].height;l.setTranslate(this,b+N[0],b+N[1]+i._height+t/2+k),i._height+=t,i._width=Math.max(i._width,e[0].width)}),B=A+i._width,i._width+=k+A+w,i._height+=M,v&&(t.each(function(e,t){l.setTranslate(this,0,t*i.tracegroupgap)}),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var U=C(i),V=i.x<0||0===i.x&&"right"===U,q=i.x>1||1===i.x&&"left"===U,H=I||E,G=f.width/2;i._maxWidth=Math.max(V?H&&"left"===U?g.l+g.w:G:q?H&&"right"===U?g.r+g.w:G:g.w,2*A);var Z=0,W=0;n.each(function(e){var t=T(e,i,A);Z=Math.max(Z,t),W+=t}),B=null;var Y=0;if(v){var X=0,$=0,J=0;t.each(function(){var e=0,t=0;r.select(this).selectAll("g.traces").each(function(r){var n=T(r,i,A),a=r[0].height;l.setTranslate(this,N[0],N[1]+b+k+a/2+t),t+=a,e=Math.max(e,n),z[r[0].trace.legendgroup]=e});var n=e+k;$>0&&n+b+$>i._maxWidth?(Y=Math.max(Y,$),$=0,J+=X+P,X=t):X=Math.max(X,t),l.setTranslate(this,$,J),$+=n}),i._width=Math.max(Y,$)+b,i._height=J+X+M}else{var K=n.size(),Q=W+w+(K-1)*k=i._maxWidth&&(Y=Math.max(Y,en),et=0,er+=ee,i._height+=ee,ee=0),l.setTranslate(this,N[0]+b+et,N[1]+b+er+t/2+k),en=et+r+k,et+=n,ee=Math.max(ee,t)}),Q?(i._width=et+w,i._height=ee+M):(i._width=Math.max(Y,en)+w,i._height+=ee+M)}}i._width=Math.ceil(Math.max(i._width+N[0],i._titleWidth+2*(b+p.titlePad))),i._height=Math.ceil(Math.max(i._height+N[1],i._titleHeight+2*(b+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var ei=e._context.edits,ea=ei.legendText||ei.legendPosition;n.each(function(e){var t=r.select(this).select("."+d+"toggle"),n=e[0].height,a=e[0].trace.legendgroup,o=T(e,i,A);v&&""!==a&&(o=z[a]);var s=ea?A:B||o;y||x||(s+=k/2),l.setRect(t,0,-n/2,s,n)});var eo=a.select("."+d+"titletext");eo.node()&&function(e,t,r){if("top center"===t.title.side||"top right"===t.title.side){var n=t.title.font.size*m,i=0,a=e.node(),o=l.bBox(a).width;"top center"===t.title.side?i=.5*(t._width-2*r-2*p.titlePad-o):"top right"===t.title.side&&(i=t._width-2*r-2*p.titlePad-o),u.positionText(e,r+p.titlePad+i,r+n)}}(eo,i,b);var es=a.select("."+d+"titletoggle");if(es.size()&&eo.node()){var el=eo.attr("x")||0,ec=p.titlePad;l.setRect(es,el-ec,b,i._titleWidth+2*ec,i._titleHeight+2*ec)}}(e,Z,W,M,q)},function(){var t,o,c,u,f=I._size,m=M.borderwidth,v="paper"===M.xref,x="paper"===M.yref;if(H.text){let t=(I.shapes||[]).filter(function(e){return e.showlegend}),r=e._fullData.concat(t).some(function(e){let t=e.legend||"legend";return(Array.isArray(t)?t.includes(P):t===P)&&!0===e.visible});w.style("opacity",r?1:.5)}if(!z){if(function(e,t,r,n){var a=e._fullLayout,o=a[t],s=C(o),l=L(o),c="paper"===o.xref,u="paper"===o.yref;e._fullLayout._reservedMargin[t]={};var h=o.y<.5?"b":"t",f=o.x<.5?"l":"r",p={r:a.width-r,l:r+o._width,b:a.height-n,t:n+o._effHeight};if(c&&u)return i.autoMargin(e,t,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});c?e._fullLayout._reservedMargin[t][h]=p[h]:u?e._fullLayout._reservedMargin[t][f]=p[f]:"v"===o.orientation?e._fullLayout._reservedMargin[t][f]=p[f]:e._fullLayout._reservedMargin[t][h]=p[h]}(e,P,A=v?f.l+f.w*M.x-g[C(M)]*M._width:I.width*M.x-g[C(M)]*M._width,S=x?f.t+f.h*(1-M.y)-g[L(M)]*M._effHeight:I.height*(1-M.y)-g[L(M)]*M._effHeight))return;if(I.margin.autoexpand){var _=A,b=S;A=v?n.constrain(A,0,I.width-M._width):_,S=x?n.constrain(S,0,I.height-M._effHeight):b,A!==_&&n.log("Constrain "+P+".x to make legend fit inside graph"),S!==b&&n.log("Constrain "+P+".y to make legend fit inside graph")}l.setTranslate(N,A,S)}if(G.on(".drag",null),N.on("wheel",null),z||M._height<=M._maxHeight||e._context.staticPlot){var T=M._effHeight;z&&(T=M._height),V.attr({width:M._width-m,height:T-m,x:m/2,y:m/2}),l.setTranslate(q,0,0),U.select("rect").attr({width:M._width-2*m,height:T-2*m,x:m,y:m}),l.setClipUrl(q,h,e),l.setRect(G,0,0,0,0),delete M._scrollY}else{var A,S,E,O,D,R=Math.max(p.scrollBarMinHeight,M._effHeight*M._effHeight/M._height),F=M._effHeight-R-2*p.scrollBarMargin,j=M._height-M._effHeight,B=F/j,Z=Math.min(M._scrollY||0,j);V.attr({width:M._width-2*m+p.scrollBarWidth+p.scrollBarMargin,height:M._effHeight-m,x:m/2,y:m/2}),U.select("rect").attr({width:M._width-2*m+p.scrollBarWidth+p.scrollBarMargin,height:M._effHeight-2*m,x:m,y:m+Z}),l.setClipUrl(q,h,e),J(Z,R,B),N.on("wheel",function(){J(Z=n.constrain(M._scrollY+r.event.deltaY/j*F,0,j),R,B),0!==Z&&Z!==j&&r.event.preventDefault()});var W=function(e,t,r){var i=(r-t)/B+e;return n.constrain(i,0,j)},Y=function(e,t,r){var i=(t-r)/B+e;return n.constrain(i,0,j)},X=r.behavior.drag().on("dragstart",function(){var e=r.event.sourceEvent;E="touchstart"===e.type?e.changedTouches[0].clientY:e.clientY,D=Z}).on("drag",function(){var e=r.event.sourceEvent;2===e.buttons||e.ctrlKey||(O="touchmove"===e.type?e.changedTouches[0].clientY:e.clientY,J(Z=W(D,E,O),R,B))});G.call(X);var $=r.behavior.drag().on("dragstart",function(){var e=r.event.sourceEvent;"touchstart"===e.type&&(E=e.changedTouches[0].clientY,D=Z)}).on("drag",function(){var e=r.event.sourceEvent;"touchmove"===e.type&&(O=e.changedTouches[0].clientY,J(Z=Y(D,E,O),R,B))});q.call($)}function J(t,r,n){M._scrollY=e._fullLayout[P]._scrollY=t,l.setTranslate(q,0,-t),l.setRect(G,M._width,p.scrollBarMargin+t*n,p.scrollBarWidth,r),U.select("rect").attr("y",m+t)}e._context.edits.legendPosition&&(N.classed("cursor-move",!0),s.init({element:N.node(),gd:e,prepFn:function(e){if(e.target!==G.node()){var t=l.getTranslate(N);c=t.x,u=t.y}},moveFn:function(e,r){if(void 0!==c&&void 0!==u){var n=c+e,i=u+r;l.setTranslate(N,n,i),t=s.align(n,M._width,f.l,f.l+f.w,M.xanchor),o=s.align(i+M._height,-M._height,f.t+f.h,f.t,M.yanchor)}},doneFn:function(){if(void 0!==t&&void 0!==o){var r={};r[P+".x"]=t,r[P+".y"]=o,a.call("_guiRelayout",e,r)}},clickFn:function(t,r){var n=d.selectAll("g.traces").filter(function(){var e=this.getBoundingClientRect();return r.clientX>=e.left&&r.clientX<=e.right&&r.clientY>=e.top&&r.clientY<=e.bottom});n.size()>0&&k(e,M,n,t,r)}}))}],e)}}function T(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return"fraction"===a?t._maxWidth*o:r+(o||i)}function k(e,t,r,n,i){var s=e._fullLayout,l=r.data()[0][0].trace,c=t.itemclick,u=t.itemdoubleclick,f={event:i,node:r.node(),curveNumber:l.index,expandedIndex:l.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:s};l._group&&(f.group=l._group),a.traceIs(l,"pie-like")&&(f.label=r.datum()[0].label);var p=o.triggerHandler(e,"plotly_legendclick",f);if(1===n){if(!1===p)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&c&&h(r,e,t,c)},e._context.doubleClickDelay)}else 2===n&&(t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0,!1!==o.triggerHandler(e,"plotly_legenddoubleclick",f)&&!1!==p&&u&&h(r,e,t,u))}function A(e,t,r){var i,o,s=_.getId(r),c=e.data()[0][0],h=c.trace,f=a.traceIs(h,"pie-like"),d=!r._inHover&&t._context.edits.legendText&&!f,m=r._maxNameLength;c.groupTitle?(i=c.groupTitle.text,o=c.groupTitle.font):(o=r.font,r.entries?i=c.text:(i=f?c.label:h.name,h._meta&&(i=n.templateString(i,h._meta))));var g=n.ensureSingle(e,"text",s+"text");g.attr("text-anchor","start").call(l.font,o).text(d?M(i,m):i);var y=r.indentation+r.itemwidth+2*p.itemGap;u.positionText(g,y,0),d?g.call(u.makeEditable,{gd:t,text:i}).call(E,e,t,r).on("edit",function(n){this.text(M(n,m)).call(E,e,t,r);var i=c.trace._fullInput||{},o={};return(o.name=n,i._isShape)?a.call("_guiRelayout",t,"shapes["+h.index+"].name",o.name):a.call("_guiRestyle",t,o,h.index)}):E(g,e,t,r)}function M(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||"";for(var n=r-e.length;n>0;n--)e+=" ";return e}function S(e,t,i){var a,o=t._context.doubleClickDelay,s=1,l=n.ensureSingle(e,"rect",i+"toggle",function(e){t._context.staticPlot||e.style("cursor","pointer").attr("pointer-events","all"),e.call(c.fill,"rgba(0,0,0,0)")});t._context.staticPlot||(l.on("mousedown",function(){(a=new Date().getTime())-t._legendMouseDownTimeo&&(s=Math.max(s-1,1)),k(t,n,e,s,r.event)}}))}function E(e,t,r,n,i){n._inHover&&e.attr("data-notex",!0),u.convertToTspans(e,r,function(){(function(e,t,r,n){var i,a,o=e.data()[0][0],s=o&&o.trace.showlegend;if(Array.isArray(s)&&(s=!1!==s[o.i]),!r._inHover&&o&&!s){e.remove();return}var c=e.select("g[class*=math-group]"),h=c.node(),f=_.getId(r);r||(r=t._fullLayout[f]);var d=r.borderwidth,g=(1===n?r.title.font:o.groupTitle?o.groupTitle.font:r.font).size*m;if(h){var y=l.bBox(h);i=y.height,a=y.width,1===n?l.setTranslate(c,d,d+.75*i):l.setTranslate(c,0,.25*i)}else{var v=e.select("."+f+(1===n?"title":"")+"text"),x=u.lineCount(v),b=v.node();if(i=g*x,a=b?l.bBox(b).width:0,1===n)"left"===r.title.side&&(a+=2*p.itemGap),u.positionText(v,d+p.titlePad,d+g);else{var w=2*p.itemGap+r.indentation+r.itemwidth;o.groupTitle&&(w=p.itemGap,a-=r.indentation+r.itemwidth),u.positionText(v,w,-g*((x-1)/2-.3))}}1===n?(r._titleWidth=a,r._titleHeight=i):(o.lineHeight=g,o.height=Math.max(i,16)+3,o.width=a)})(t,r,n,i)})}function C(e){return n.isRightAnchor(e)?"right":n.isCenterAnchor(e)?"center":"left"}function L(e){return n.isBottomAnchor(e)?"bottom":n.isMiddleAnchor(e)?"middle":"top"}t.exports=function(e,t){if(t)w(e,t);else{var n=e._fullLayout,i=n._legends;n._infolayer.selectAll('[class^="legend"]').each(function(){var e=r.select(this),t=e.attr("class").split(" ")[0];t.match(b)&&-1===i.indexOf(t)&&e.remove()});for(var a=0;aZ[0]._length||e_<0||e_>W[0]._length)return p.unhoverRaw(e,n)}else ex="xpx"in n?n.xpx:Z[0]._length/2,e_="ypx"in n?n.ypx:W[0]._length/2;if(n.pointerX=ex+Z[0]._offset,n.pointerY=e_+W[0]._offset,eo="xval"in n?y.flat(h,n.xval):y.p2c(Z,ex),es="yval"in n?y.flat(h,n.yval):y.p2c(W,e_),!r(eo[0])||!r(es[0]))return i.warn("Fx.hover failed",n,e),p.unhoverRaw(e,n)}v.clickanywhere&&(e._hoverXVals=eo,e._hoverYVals=es,e._hoverXAxes=Z,e._hoverYAxes=W);var ek=1/0;function eA(t,a){for(ec=0;ecev&&(Q.splice(0,ev),ek=Q[0].distance),w&&0!==K&&0===Q.length){ey.distance=K,ey.index=!1;var u=eh._module.hoverPoints(ey,em,eg,"closest",{hoverLayer:v._hoverlayer});if(u&&(u=u.filter(function(e){return e.spikeDistance<=K})),u&&u.length){var p,m=u.filter(function(e){return e.xa.showspikes&&"hovered data"!==e.xa.spikesnap});if(m.length){var g=m[0];r(g.x0)&&r(g.y0)&&(p=eS(g),(!et.vLinePoint||et.vLinePoint.spikeDistance>p.spikeDistance)&&(et.vLinePoint=p))}var _=u.filter(function(e){return e.ya.showspikes&&"hovered data"!==e.ya.spikesnap});if(_.length){var b=_[0];r(b.x0)&&r(b.y0)&&(p=eS(b),(!et.hLinePoint||et.hLinePoint.spikeDistance>p.spikeDistance)&&(et.hLinePoint=p))}}}}}function eM(e,t,r){for(var n,i=null,a=1/0,o=0;oe.trace.index===ej.trace.index):[ej]).length;eA(N("x",ej,v),N("y",ej,v));var eN=[],eU={},eV=0,eq=function(e){var t=E[e.trace.type]?I(e):e.trace.index;if(eU[t]){var r=eU[t]-1,n=eN[r];r>0&&Math.abs(e.distance)eB-1;eF--)eq(Q[eF]);Q=eN,eI()}var eH=e._hoverdata,eG=[],eZ=U(e),eW=V(e);for(let e of Q){var eY=y.makeEventData(e,e.trace,e.cd);if(!1!==e.hovertemplate){var eX=!1;e.cd[e.index]&&e.cd[e.index].ht&&(eX=e.cd[e.index].ht),e.hovertemplate=eX||e.trace.hovertemplate||!1}if(e.xa&&e.ya){var e$=e.x0+e.xa._offset,eJ=e.x1+e.xa._offset,eK=e.y0+e.ya._offset,eQ=e.y1+e.ya._offset,e0=Math.min(e$,eJ),e1=Math.max(e$,eJ),e2=Math.min(eK,eQ),e3=Math.max(eK,eQ);eY.bbox={x0:e0+eW,x1:e1+eW,y0:e2+eZ,y1:e3+eZ},eY.xPixel=(e$+eJ)/2,eY.yPixel=(eK+eQ)/2}e.eventData=[eY],eG.push(eY)}e._hoverdata=eG;var e5="y"===k&&(ee.length>1||Q.length>1)||"closest"===k&&er&&Q.length>1,e4=f.combine(v.plot_bgcolor||f.background,v.paper_bgcolor),e6=z(Q,{gd:e,hovermode:k,rotateLabels:e5,bgColor:e4,container:v._hoverlayer,outerContainer:v._paper.node(),commonLabelOpts:v.hoverlabel,hoverdistance:v.hoverdistance}),e8=e6.hoverLabels;if(y.isUnifiedHover(k)||(function(e,t,r,n){var i,a,o,s,l,c,u,h=t?"xa":"ya",f=t?"ya":"xa",p=0,d=1,m=e.size(),g=Array(m),y=0,v=n.minX,x=n.maxX,_=n.minY,b=n.maxY,w=function(e){return e*r._invScaleX},k=function(e){return e*r._invScaleY};function A(e){var t=e[0],r=e[e.length-1];if(a=t.pmin-t.pos-t.dp+t.size,o=r.pos+r.dp+r.size-t.pmax,a>.01){for(l=e.length-1;l>=0;l--)e[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=e.length-1;l>=0;l--)e[l].dp-=o;i=!1}if(i){var n=0;for(s=0;st.pmax&&n++;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos>t.pmax-1&&(c.del=!0,n--);for(s=0;s=0;l--)e[l].dp-=o;for(s=e.length-1;s>=0&&!(n<=0);s--)(c=e[s]).pos+c.dp+c.size>t.pmax&&(c.del=!0,n--)}}}for(e.each(function(e){var n=e[h],i=e[f],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var c,u,p=D(e,t),m=e.anchor,A="end"===m?-1:1;if("middle"===m)u=(c=e.crossPos+(a?k(p.y-e.by/2):w(e.bx/2+e.tx2width/2)))+(a?k(e.by):w(e.bx));else if(a)u=(c=e.crossPos+k(M+p.y)-k(e.by/2-M))+k(e.by);else{var S=w(A*M+p.x),E=S+w(A*e.bx);c=e.crossPos+Math.min(S,E),u=e.crossPos+Math.max(S,E)}a?void 0!==_&&void 0!==b&&Math.min(u,b)-Math.max(c,_)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==v&&void 0!==x&&Math.min(u,x)-Math.max(c,v)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:e,traceIndex:e.trace.index,dp:0,pos:e.pos,posref:e.posref,size:e.by*(a?T:1)/2,pmin:s,pmax:l}]}),g.sort(function(e,t){return e[0].posref-t[0].posref||d*(t[0].traceIndex-e[0].traceIndex)});!i&&p<=m;){for(p++,i=!0,s=0;s.01){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(S.push.apply(S,E),g.splice(s+1,1),u=0,l=S.length-1;l>=0;l--)u+=S[l].dp;for(o=u/S.length,l=S.length-1;l>=0;l--)S[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var I=g[s];for(l=I.length-1;l>=0;l--){var P=I[l],z=P.datum;z.offset=P.dp,z.del=P.del}}}(e8,e5,v,e6.commonLabelBoundingBox),R(e8,e5,v._invScaleX,v._invScaleY)),c&&c.tagName){var e7=g.getComponentMethod("annotations","hasClickToShow")(e,eG);u(t.select(c),e7?"pointer":"")}var e9=function(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers)||i.binNumber!==a.binNumber)return!0}return!1}(e,0,eH);function te(t){e.emit("plotly_hover",{event:n,points:t,xaxes:Z,yaxes:W,xvals:eo,yvals:es})}c&&!s&&(e9||v.hoveranywhere)&&(eH&&e9&&e.emit("plotly_unhover",{event:n,points:eH}),te(e._hoverdata))})(e,n,o,s,c)})},e.loneHover=function(e,r){var n=!0;Array.isArray(e)||(n=!1,e=[e]);var i=r.gd,a=U(i),o=V(i),s=z(e.map(function(e){var t=e._x0||e.x0||e.x||0,n=e._x1||e.x1||e.x||0,s=e._y0||e.y0||e.y||0,l=e._y1||e.y1||e.y||0,c=e.eventData;if(c){var u=Math.min(t,n),h=Math.max(t,n),p=Math.min(s,l),d=Math.max(s,l),m=e.trace;if(g.traceIs(m,"gl3d")){var y=i._fullLayout[m.scene]._scene.container,v=y.offsetLeft,x=y.offsetTop;u+=v,h+=v,p+=x,d+=x}c.bbox={x0:u+o,x1:h+o,y0:p+a,y1:d+a},c.xPixel=(t+n)/2,c.yPixel=(s+l)/2,r.inOut_bbox&&r.inOut_bbox.push(c.bbox)}else c=!1;return{color:e.color||f.defaultLine,x0:e.x0||e.x||0,x1:e.x1||e.x||0,y0:e.y0||e.y||0,y1:e.y1||e.y||0,xLabel:e.xLabel,yLabel:e.yLabel,zLabel:e.zLabel,text:e.text,name:e.name,idealAlign:e.idealAlign,borderColor:e.borderColor,fontFamily:e.fontFamily,fontSize:e.fontSize,fontColor:e.fontColor,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontVariant:e.fontVariant,nameLength:e.nameLength,textAlign:e.textAlign,trace:e.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:e.hovertemplate||!1,hovertemplateLabels:e.hovertemplateLabels||!1,eventData:c}}),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:r.bgColor||f.background,container:t.select(r.container),outerContainer:r.outerContainer||r.container}).hoverLabels,l=0,c=0;return s.sort(function(e,t){return e.y0-t.y0}).each(function(e,t){var n=e.y0-e.by/2;n-5([\s\S]*)<\/extra>/;function z(e,r){var n=r.gd,a=n._fullLayout,l=r.hovermode,u=r.rotateLabels,p=r.bgColor,d=r.container,m=r.outerContainer,w=r.commonLabelOpts||{};if(0===e.length)return[[]];var T=r.fontFamily||v.HOVERFONT,k=r.fontSize||v.HOVERFONTSIZE,A=r.fontWeight||a.font.weight,E=r.fontStyle||a.font.style,C=r.fontVariant||a.font.variant,L=r.fontTextcase||a.font.textcase,P=r.fontLineposition||a.font.lineposition,z=r.fontShadow||a.font.shadow,D=e[0],R=D.xa,F=D.ya,j=l.charAt(0),B=j+"Label",N=D[B];if(void 0===N&&"multicategory"===R.type)for(var U=0;Ua.width-x&&(_=a.width-x),r.attr("d","M"+(b-_)+",0L"+(b-_+M)+","+v+M+"H"+x+"v"+v+(2*S+y.height)+"H"+-x+"V"+v+M+"H"+(b-_-M)+"Z"),b=_,Q.minX=b-x,Q.maxX=b+x,"top"===R.side?(Q.minY=I-(2*S+y.height),Q.maxY=I-S):(Q.minY=I+S,Q.maxY=I+(2*S+y.height))}else{"right"===F.side?(O="start",j=1,B="",b=R._offset+R._length):(O="end",j=-1,B="-",b=R._offset),I=F._offset+(D.y0+D.y1)/2,s.attr("text-anchor",O),r.attr("d","M0,0L"+B+M+","+M+"V"+(S+y.height/2)+"h"+B+(2*S+y.width)+"V-"+(S+y.height/2)+"H"+B+M+"V-"+M+"Z"),Q.minY=I-(S+y.height/2),Q.maxY=I+(S+y.height/2),"right"===F.side?(Q.minX=b+M,Q.maxX=b+M+(2*S+y.width)):(Q.minX=b-M-(2*S+y.width),Q.maxX=b-M);var b,I,O,j,B,U,V=y.height/2,G=H-y.top-V,Z="clip"+a._uid+"commonlabel"+F._id;if(b"none"!==e.hoverinfo);if(0===t.length)return[];var ee,et,er,en,ei,ea,eo=a.hoverlabel,es=eo.font,el=t[0],ec=(("x unified"===l?el.xa:el.ya).unifiedhovertitle||{}).text,eu={showlegend:!0,legend:{title:{text:ec?i.hovertemplateString({data:"x unified"===l?[{xa:el.xa,x:el.xVal}]:[{ya:el.ya,y:el.yVal}],fallback:el.trace.hovertemplatefallback,locale:a._d3locale,template:ec}):N,font:es},font:es,bgcolor:eo.bgcolor,bordercolor:eo.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:a.legend?a.legend.traceorder:void 0,orientation:"v"}},eh={font:es};x(eu,eh,n._fullData);var ef=eh.legend;ef.entries=[];for(var ep=0;ep=0?er:en+eb=0?en:eS+eb=0?ee:et+ew=0?et:eE+ew=0,("top"===e.idealAlign||!r)&&i?(V-=X/2,e.anchor="end"):r?(V+=X/2,e.anchor="start"):e.anchor="middle",e.crossPos=V;else{if(e.pos=V,r=U+Y/2+Q<=G,i=U-Y/2-Q>=0,("left"===e.idealAlign||!r)&&i)U-=Y/2,e.anchor="end";else if(r)U+=Y/2,e.anchor="start";else{e.anchor="middle";var ee=Q/2,et=U+ee-G,er=U-ee;et>0&&(U-=et),er<0&&(U+=-er)}e.crossPos=U}D.attr("text-anchor",e.anchor),F&&R.attr("text-anchor",e.anchor),d.attr("transform",o(U,V)+(u?s(b):""))}),{hoverLabels:eC,commonLabelBoundingBox:Q}}function O(e,t,r,n,a,o){var s,l,c="",u="";void 0!==e.nameOverride&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=i.templateString(e.name,e.trace._meta)),c=B(e.name,e.nameLength));var h=r.charAt(0);void 0!==e.zLabel?(void 0!==e.xLabel&&(u+="x: "+e.xLabel+"
"),void 0!==e.yLabel&&(u+="y: "+e.yLabel+"
"),"choropleth"!==e.trace.type&&"choroplethmapbox"!==e.trace.type&&"choroplethmap"!==e.trace.type&&(u+=(u?"z: ":"")+e.zLabel)):t&&e[h+"Label"]===a?u=e[("x"===h?"y":"x")+"Label"]||"":void 0===e.xLabel?void 0!==e.yLabel&&"scattercarpet"!==e.trace.type&&(u=e.yLabel):u=void 0===e.yLabel?e.xLabel:"("+e.xLabel+", "+e.yLabel+")",(e.text||0===e.text)&&!Array.isArray(e.text)&&(u+=(u?"
":"")+e.text),void 0!==e.extraText&&(u+=(u?"
":"")+e.extraText),o&&""===u&&!e.hovertemplate&&(""===c&&o.remove(),u=c),(null==(l=null==(s=e.trace)?void 0:s.hoverlabel)?void 0:l.split)&&(e.hovertemplate="");let{hovertemplate:f=!1}=e;if(f){let t=e.hovertemplateLabels||e;e[h+"Label"]!==a&&(t[h+"other"]=t[h+"Val"],t[h+"otherLabel"]=t[h+"Label"]),u=(u=i.hovertemplateString({data:[e.eventData[0]||{},e.trace._meta],fallback:e.trace.hovertemplatefallback,labels:t,locale:n._d3locale,template:f})).replace(P,(t,r)=>(c=B(r,e.nameLength),""))}return[u,c]}function D(e,t){var r=0,n=e.offset;return t&&(n*=-A,r=e.offset*k),{x:r,y:n}}function R(e,r,n,i){var a=function(e){return e*n},o=function(e){return e*i};e.each(function(e){var n,i,s,l,u=t.select(this);if(e.del)return u.remove();var f=u.select("text.nums"),p=e.anchor,d="end"===p?-1:1,m=(s=(i=(n=({start:1,end:-1,middle:0})[e.anchor])*(M+S))+n*(e.txwidth+S),"middle"===e.anchor&&(i-=e.tx2width/2,s+=e.txwidth/2+S),{alignShift:n,textShiftX:i,text2ShiftX:s}),g=D(e,r),y=g.x,v=g.y,x="middle"===p,_=!("hoverlabel"in e.trace)||e.trace.hoverlabel.showarrow;l=x?"M-"+a(e.bx/2+e.tx2width/2)+","+o(v-e.by/2)+"h"+a(e.bx)+"v"+o(e.by)+"h-"+a(e.bx)+"Z":_?"M0,0L"+a(d*M+y)+","+o(M+v)+"v"+o(e.by/2-M)+"h"+a(d*e.bx)+"v-"+o(e.by)+"H"+a(d*M+y)+"V"+o(v-M)+"Z":"M"+a(d*M+y)+","+o(v-e.by/2)+"h"+a(d*e.bx)+"v"+o(e.by)+"h"+a(-d*e.bx)+"Z",u.select("path").attr("d",l);var b=y+m.textShiftX,w=v+e.ty0-e.by/2+S,T=e.textAlign||"auto";"auto"!==T&&("left"===T&&"start"!==p?(f.attr("text-anchor","start"),b=x?-e.bx/2-e.tx2width/2+S:-e.bx-S):"right"===T&&"end"!==p&&(f.attr("text-anchor","end"),b=x?e.bx/2-e.tx2width/2-S:e.bx+S)),f.call(c.positionText,a(b),o(w)),e.tx2width&&(u.select("text.name").call(c.positionText,a(m.text2ShiftX+m.alignShift*S+y),o(v+e.ty0-e.by/2+S)),u.select("rect").call(h.setRect,a(m.text2ShiftX+(m.alignShift-1)*e.tx2width/2+y),o(v-e.by/2-1),a(e.tx2width),o(e.by+2)))})}function F(e,t,r){var i=r.container,a=r.fullLayout,o=a._size,s=r.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(".spikeline").remove(),c||l){var u=f.combine(a.plot_bgcolor,a.paper_bgcolor);if(l){var p,m,g,y,v,x,_=t.hLinePoint;p=_&&_.xa,"cursor"===(m=_&&_.ya).spikesnap?(g=s.pointerX,y=s.pointerY):(g=p._offset+_.x,y=m._offset+_.y);var b=1.5>n.readability(_.color,u)?f.contrast(u):_.color,w=m.spikemode,T=m.spikethickness,k=m.spikecolor||b,A=d.getPxPosition(e,m);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(v=A,x=g),-1!==w.indexOf("across")){var M=m._counterDomainMin,S=m._counterDomainMax;"free"===m.anchor&&(M=Math.min(M,m.position),S=Math.max(S,m.position)),v=o.l+M*o.w,x=o.l+S*o.w}i.insert("line",":first-child").attr({x1:v,x2:x,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(m.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),i.insert("line",":first-child").attr({x1:v,x2:x,y1:y,y2:y,"stroke-width":T+2,stroke:u}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&i.insert("circle",":first-child").attr({cx:A+("right"!==m.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(c){var E,C,L,I,P=t.vLinePoint;p=P&&P.xa,m=P&&P.ya,"cursor"===p.spikesnap?(E=s.pointerX,C=s.pointerY):(E=p._offset+P.x,C=m._offset+P.y);var z=1.5>n.readability(P.color,u)?f.contrast(u):P.color,O=p.spikemode,D=p.spikethickness,R=p.spikecolor||z,F=d.getPxPosition(e,p);if(-1!==O.indexOf("toaxis")||-1!==O.indexOf("across")){if(-1!==O.indexOf("toaxis")&&(L=F,I=C),-1!==O.indexOf("across")){var j=p._counterDomainMin,B=p._counterDomainMax;"free"===p.anchor&&(j=Math.min(j,p.position),B=Math.max(B,p.position)),L=o.t+(1-B)*o.h,I=o.t+(1-j)*o.h}i.insert("line",":first-child").attr({x1:E,x2:E,y1:L,y2:I,"stroke-width":D,stroke:R,"stroke-dasharray":h.dashStyle(p.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),i.insert("line",":first-child").attr({x1:E,x2:E,y1:L,y2:I,"stroke-width":D+2,stroke:u}).classed("spikeline",!0).classed("crisp",!0)}-1!==O.indexOf("marker")&&i.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==p.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function j(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function B(e,t){return c.plainText(e||"",{len:t,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function N(e,t,r){var n=t[e+"a"],i=t[e+"Val"],a=t.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=t.trace[e+"periodalignment"];if(o){var s=t.cd[t.index],l=s[e+"Start"];void 0===l&&(l=s[e]);var c=s[e+"End"];void 0===c&&(c=s[e]);var u=c-l;"end"===o?i+=u:"middle"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"===r.boxmode||"group"===r.violinmode)&&(i+=a.t.dPos),i}var U=e=>e.offsetTop+e.clientTop,V=e=>e.offsetLeft+e.clientLeft;function q(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),a=n.left,o=n.top,s=a+n.width,l=o+n.height,c=i.apply3DTransform(r._invTransform)(a,o),u=i.apply3DTransform(r._invTransform)(s,l),h=c[0],f=c[1],p=u[0],d=u[1];return{x:h,y:f,width:p-h,height:d-f,top:Math.min(f,d),left:Math.min(h,p),right:Math.max(h,p),bottom:Math.max(f,d)}}}}),r7=ed({"src/components/fx/hoverlabel_defaults.js"(e,t){var r=tQ(),n=eZ(),i=rI().isUnifiedHover;t.exports=function(e,t,a,o){o=o||{};var s=t.legend;function l(e){o.font[e]||(o.font[e]=s?t.legend.font[e]:t.font[e])}t&&i(t.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=n.combine(t.legend.bgcolor,t.paper_bgcolor)),o.bordercolor||(o.bordercolor=t.legend.bordercolor)):o.bgcolor||(o.bgcolor=t.paper_bgcolor)),a("hoverlabel.bgcolor",o.bgcolor),a("hoverlabel.bordercolor",o.bordercolor),a("hoverlabel.namelength",o.namelength),a("hoverlabel.showarrow",o.showarrow),r.coerceFont(a,"hoverlabel.font",o.font),a("hoverlabel.align",o.align)}}}),r9=ed({"src/components/fx/layout_global_defaults.js"(e,t){var r=tQ(),n=r7(),i=eU();t.exports=function(e,t){n(e,t,function(n,a){return r.coerce(e,t,i,n,a)})}}}),ne=ed({"src/components/fx/defaults.js"(e,t){var r=tQ(),n=eV(),i=r7();t.exports=function(e,t,a,o){var s=r.extendFlat({},o.hoverlabel);t.hovertemplate&&(s.namelength=-1),i(e,t,function(i,a){return r.coerce(e,t,n,i,a)},s)}}}),nt=ed({"src/components/fx/hovermode_defaults.js"(e,t){var r=tQ(),n=eU();t.exports=function(e,t){function i(i,a){return void 0!==t[i]?t[i]:r.coerce(e,t,n,i,a)}return i("clickmode"),i("hoversubplots"),i("hoveranywhere"),i("clickanywhere"),i("hovermode")}}}),nr=ed({"src/components/fx/layout_defaults.js"(e,t){var r=tQ(),n=eU(),i=nt(),a=r7();t.exports=function(e,t){function o(i,a){return r.coerce(e,t,n,i,a)}var s=i(e,t);s&&(o("hoverdistance"),o("spikedistance"),-1!==s.indexOf("unified")&&o("hoversort")),"select"===o("dragmode")&&o("selectdirection");var l=t._has("mapbox"),c=t._has("map"),u=t._has("geo"),h=t._basePlotModules.length;"zoom"===t.dragmode&&((l||c||u)&&1===h||(l||c)&&u&&2===h)&&(t.dragmode="pan"),a(e,t,o),r.coerceFont(o,"hoverlabel.grouptitlefont",t.hoverlabel.font)}}}),nn=ed({"src/components/fx/calc.js"(e,t){var r=tQ(),n=tO();function i(e,t,n,i){i=i||r.identity,Array.isArray(e)&&(t[0][n]=i(e))}t.exports=function(e){for(var t=e.calcdata,a=e._fullLayout,o=0;o plotly-logomark "}}}}),nc=ed({"src/components/shapes/draw_newshape/constants.js"(e,t){t.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}}}),nu=ed({"src/components/selections/helpers.js"(e,t){var r=tQ().strTranslate;function n(e,t){switch(e.type){case"log":return e.p2d(t);case"date":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}t.exports={p2r:n,r2p:function(e,t){switch(e.type){case"log":return e.d2p(t);case"date":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}},axValue:function(e){var t="y"===e._id.charAt(0)?1:0;return function(r){return n(e,r[t])}},getTransform:function(e){return r(e.xaxis._offset,e.yaxis._offset)}}}}),nh=ed({"src/components/shapes/draw_newshape/helpers.js"(e){var t=rP(),r=nc(),n=r.CIRCLE_SIDES,i=r.SQRT2,a=nu(),o=a.p2r,s=a.r2p,l=[0,3,4,5,6,1,2],c=[0,3,4,1,2];function u(e,t){return 1e-6>=Math.abs(e-t)}function h(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}e.writePaths=function(e){var t=e.length;if(!t)return"M0,0Z";for(var r="",n=0;n0&&ue+(void 0!==a[t.charAt(0)].drawn?1:0),0)},e.getDataToPixel=function(t,r,n,a,o){var s,l=t._fullLayout._size;if(r){if("domain"===o)s=function(e){return r._length*(a?1-e:e)+r._offset};else{var c=e.shapePositionToRange(r);s=function(e){var t=i(r,n);return r._offset+r.r2p(c(e,!0))+t},"date"===r.type&&(s=e.decodeDate(s))}}else s=a?function(e){return l.t+l.h*(1-e)}:function(e){return l.l+l.w*e};return s},e.getPixelToData=function(t,r,n,i){var a,o=t._fullLayout._size;if(r){if("domain"===i)a=function(e){var t=(e-r._offset)/r._length;return n?1-t:t};else{var s=e.rangeToShapePosition(r);a=function(e){return s(r.p2r(e-r._offset))}}}else a=n?function(e){return 1-(e-o.t)/o.h}:function(e){return(e-o.l)/o.w};return a},e.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(e);return 1===Math.round(t%2)?r+.5:r},e.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&"paper"!==r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&"paper"!==r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}},e.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}},e.getPathString=function(a,o){let s=o.type,l=n.getRefType(o.xref),c=n.getRefType(o.yref),u=a._fullLayout._size;function h(t,r,n,i){var a;if(t){if("domain"===r)a=i?function(e){return t._offset+t._length*(1-e)}:function(e){return t._offset+t._length*e};else{let r=e.shapePositionToRange(t);a=function(e){return t._offset+t.r2p(r(e,!0))},"path"===n&&"date"===t.type&&(a=e.decodeDate(a))}}else a=i?function(e){return u.t+u.h*(1-e)}:function(e){return u.l+u.w*e};return a}if("array"===l?(v=[],f=o.xref.map(function(e){return n.getFromId(a,e)}),v=o.xref.map(function(e,t){return h(f[t],n.getRefType(e),s,!1)})):v=h(f=n.getFromId(a,o.xref),l,s,!1),"array"===c?(x=[],p=o.yref.map(function(e){return n.getFromId(a,e)}),x=o.yref.map(function(e,t){return h(p[t],n.getRefType(e),s,!0)})):x=h(p=n.getFromId(a,o.yref),c,s,!0),"path"===s)return function(e,n,i){let a=e.path,o=e.xsizemode,s=e.ysizemode,l=e.xanchor,c=e.yanchor,u=Array.isArray(e.xref),h=Array.isArray(e.yref);var f=0,p=0;return a.replace(t.segmentRE,function(e){var a=0,d=e.charAt(0),m=t.paramIsX[d],g=t.paramIsY[d],y=t.numParams[d];let v=void 0!==m.drawn,x=void 0!==g.drawn,_=u?n[f]:n,b=h?i[p]:i;var w=e.slice(1).replace(t.paramRE,function(e){return m[a]?e="pixel"===o?_(l)+Number(e):_(e):g[a]&&(e="pixel"===s?b(c)-Number(e):b(e)),++a>y&&(e="X"),e});return a>y&&(w=w.replace(/[\s,]*X.*/,""),r.log("Ignoring extra params in segment "+e)),v&&f++,x&&p++,d+w})}(o,v,x);if("array"===l)d=i(f[0],o.x0shift),m=i(f[1],o.x1shift),_=v[0](o.x0)+d,b=v[1](o.x1)+m;else if(d=i(f,o.x0shift),m=i(f,o.x1shift),"pixel"===o.xsizemode){let e=v(o.xanchor);_=e+o.x0+d,b=e+o.x1+m}else _=v(o.x0)+d,b=v(o.x1)+m;if("array"===c)g=i(p[0],o.y0shift),y=i(p[1],o.y1shift),w=x[0](o.y0)+g,T=x[1](o.y1)+y;else if(g=i(p,o.y0shift),y=i(p,o.y1shift),"pixel"===o.ysizemode){let e=x(o.yanchor);w=e-o.y0+g,T=e-o.y1+y}else w=x(o.y0)+g,T=x(o.y1)+y;if("line"===s)return"M"+_+","+w+"L"+b+","+T;if("rect"===s)return"M"+_+","+w+"H"+b+"V"+T+"H"+_+"Z";var f,p,d,m,g,y,v,x,_,b,w,T,k=(_+b)/2,A=(w+T)/2,M=Math.abs(k-_),S=Math.abs(A-w),E="A"+M+","+S,C=k+M+","+A;return"M"+C+E+" 0 1,1 "+k+","+(A-S)+E+" 0 0,1 "+C+"Z"},e.getPixelShift=i}}),ng=ed({"src/components/shapes/display_labels.js"(e,t){var r=tQ(),n=rB(),i=rl(),a=rO(),o=nh().readPaths,s=nm(),l=s.getPathString,c=tE(),u=rs().FROM_TL;t.exports=function(e,t,h,f){if(f.selectAll(".shape-label").remove(),h.label.text||h.label.texttemplate){if(h.label.texttemplate){var p,d,m,g,y,v,x,_,b,w,T={};if("path"!==h.type){var k=n.getFromId(e,h.xref),A=n.getFromId(e,h.yref);let t=Array.isArray(h.xref),r=Array.isArray(h.yref);for(var M in c){var S="function"==typeof c[M],E=!t||c.simpleXVariables.includes(M),C=!r||c.simpleYVariables.includes(M);if(S&&E&&C){var L=c[M](h,k,A);void 0!==L&&(T[M]=L)}}}v=r.texttemplateStringForShapes({data:[T],fallback:h.label.texttemplatefallback,locale:e._fullLayout._d3locale,template:h.label.texttemplate})}else v=h.label.text;var I=h.label.font,P=f.append("g").attr({"data-index":t}).classed("shape-label",!0).append("text").attr({"data-notex":1}).classed("shape-label-text",!0).text(v);if(h.path){var z=o(l(e,h),e);x=1/0,b=1/0,_=-1/0,w=-1/0;for(var O=0;Os.getDataToPixel(e,n,r,!1,i)(t),m=(t,r,n,i)=>s.getDataToPixel(e,n,r,!0,i)(t);if("pixel"===h.xsizemode){let e=d(h.xanchor,void 0,i,c),t=s.getPixelShift(i,h.x0shift),r=s.getPixelShift(i,h.x1shift);x=e+h.x0+t,_=e+h.x1+r}else x=d(h.x0,h.x0shift,i,c),_=d(h.x1,h.x1shift,a,u);if("pixel"===h.ysizemode){let e=m(h.yanchor,void 0,o,f),t=s.getPixelShift(o,h.y0shift),r=s.getPixelShift(o,h.y1shift);b=e-h.y0+t,w=e-h.y1+r}else b=m(h.y0,h.y0shift,o,f),w=m(h.y1,h.y1shift,l,p)}var N=h.label.textangle;"auto"===N&&(N="line"===h.type?(p=x,d=b,m=_,g=w,y=Math.abs(m-p),-180/Math.PI*Math.atan2(m>=p?d-g:g-d,y)):0),P.call(function(t){return t.call(a.font,I).attr({}),i.convertToTspans(t,e),t});var U=function(e,t,r,n,i,a,o){var s,l,c,h,f=i.label.textposition,p=i.label.textangle,d=i.label.padding,m=i.type,g=Math.PI/180*a,y=Math.sin(g),v=Math.cos(g),x=i.label.xanchor,_=i.label.yanchor;if("line"===m){"start"===f?(s=e,l=t):"end"===f?(s=r,l=n):(s=(e+r)/2,l=(t+n)/2),"auto"===x&&(x="start"===f?"auto"===p?r>e?"left":re?"right":re?"right":re?"left":r1&&!(2===e.length&&"Z"===e[1][0])&&(0===S&&(e[0][0]="M"),t[M]=e,L(),I())}}()}}function U(e,r){(function(e,r){if(t.length)for(var n=0;nS?(L=A,O="y0",I=S,D="y1"):(L=S,O="y1",I=A,D="y0"),eo(r),ec(c,o),n=o.xref,i=o.yref,s=a.getFromId(e,n),l=a.getFromId(e,i),u="","paper"===n||s.autorange||(u+=n),"paper"===i||l.autorange||(u+=i),h.setClipUrl(t,u?"clip"+e._fullLayout._uid+u:null,e),ea.moveFn="move"===B?es:el,ea.altKey=r.altKey)},doneFn:function(){_(e)||(m(t),eu(c),T(t,e,o),n.call("_guiRelayout",e,u.getUpdateObj()))},clickFn:function(){_(e)||eu(c)}};function eo(r){if(_(e)){B=null;return}if(V)B="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=ea.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!q&&i>10&&a>10&&!r.shiftKey?p.getCursor(o/i,1-s/a):"move";m(t,l),B=l.split("-")[0]}}function es(r,n){if("path"===o.type){var i=function(e){return e},a=i,u=i;N?H("xanchor",o.xanchor=er(E+r)):(a=function(e){return er(ee(e)+r)},Z&&"date"===Z.type&&(a=y.encodeDate(a))),U?H("yanchor",o.yanchor=en(C+n)):(u=function(e){return en(et(e)+n)},Y&&"date"===Y.type&&(u=y.encodeDate(u))),H("path",o.path=k(j,a,u))}else N?H("xanchor",o.xanchor=er(E+r)):(H("x0",o.x0=er(w+r)),H("x1",o.x1=er(M+r))),U?H("yanchor",o.yanchor=en(C+n)):(H("y0",o.y0=en(A+n)),H("y1",o.y1=en(S+n)));t.attr("d",v(e,o)),ec(c,o),l(e,s,o,G)}function el(r,n){if(q){var i=function(e){return e},a=i,u=i;N?H("xanchor",o.xanchor=er(E+r)):(a=function(e){return er(ee(e)+r)},Z&&"date"===Z.type&&(a=y.encodeDate(a))),U?H("yanchor",o.yanchor=en(C+n)):(u=function(e){return en(et(e)+n)},Y&&"date"===Y.type&&(u=y.encodeDate(u))),H("path",o.path=k(j,a,u))}else if(V){if("resize-over-start-point"===B){var h=w+r,f=U?A-n:A+n;H("x0",o.x0=N?h:er(h)),H("y0",o.y0=U?f:en(f))}else if("resize-over-end-point"===B){var p=M+r,d=U?S-n:S+n;H("x1",o.x1=N?p:er(p)),H("y1",o.y1=U?d:en(d))}}else{var m=function(e){return -1!==B.indexOf(e)},g=m("n"),x=m("s"),_=m("w"),b=m("e"),T=g?L+n:L,W=x?I+n:I,X=_?P+r:P,$=b?z+r:z;U&&(g&&(T=L-n),x&&(W=I-n)),(!U&&W-T>10||U&&T-W>10)&&(H(O,o[O]=U?T:en(T)),H(D,o[D]=U?W:en(W))),$-X>10&&(H(R,o[R]=N?X:er(X)),H(F,o[F]=N?$:er($)))}t.attr("d",v(e,o)),ec(c,o),l(e,s,o,G)}function ec(e,t){(N||U)&&function(){var r="path"!==t.type,n=e.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=ee(N?t.xanchor:i.midRange(r?[t.x0,t.x1]:y.extractPathCoords(t.path,g.paramIsX))),o=et(U?t.yanchor:i.midRange(r?[t.y0,t.y1]:y.extractPathCoords(t.path,g.paramIsY)));if(a=y.roundPositionForSharpStrokeRendering(a,1),o=y.roundPositionForSharpStrokeRendering(o,1),N&&U){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(N){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function eu(e){e.selectAll(".visual-cue").remove()}p.init(ea),ei.node().onmousemove=eo}(e,j,w,t,c,S):!0===w.editable&&j.style("pointer-events",D||u.opacity(I)*L<=.5?"stroke":"all");j.node().addEventListener("click",function(){return function(e,t){if(b(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeShapeIndex){A(e);return}e._fullLayout._activeShapeIndex=r,e._fullLayout._deactivateShape=A,x(e)}}}(e,j)}),function(e,t,r){if(!(null==r?void 0:r.id))return;let n=t.node();function i(e){var t;let n=r.mainplotinfo||r,i=null==(t=null==n?void 0:n.draglayer)?void 0:t.select(".nsewdrag").node();return i?{clientX:e.clientX,clientY:e.clientY,target:i}:null}n.addEventListener("mousemove",t=>{if(!e._dragging&&e._fullLayout.hoveranywhere){let n=i(t);n&&d.hover(e,n,r.id)}}),n.addEventListener("click",t=>{if(!e._dragged&&e._fullLayout.clickanywhere){let n=i(t);n&&d.click(e,n,r.id)}})}(e,j,M)})("above"===w.layer?e._fullLayout._shapeUpperLayer:w.xref.includes("paper")||w.yref.includes("paper")?e._fullLayout._shapeLowerLayer:"between"!==w.layer||S?M._hadPlotinfo?(M.mainplotinfo||M).shapelayer:e._fullLayout._shapeLowerLayer:M.shapelayerBetween)}function T(e,t,r){let n=r.xref,o=r.yref;if(Array.isArray(n)||Array.isArray(o)){let s="clip"+t._fullLayout._uid+"shape"+r._index,l=function(e,t,r){let n=e._fullLayout._size;function i(t,r){let i=(Array.isArray(t)?t:[t]).map(t=>a.getFromId(e,t)).filter(Boolean);return i.length?[Math.min(...i.map(function(e){return e._offset})),Math.max(...i.map(function(e){return e._offset+e._length}))]:r?[n.t,n.t+n.h]:[n.l,n.l+n.w]}let o=i(t,!1),s=i(r,!0);return{x:o[0],y:s[0],width:o[1]-o[0],height:s[1]-s[0]}}(t,n,o);i.ensureSingleById(t._fullLayout._clips,"clipPath",s,function(e){e.append("rect")}).select("rect").attr(l),h.setClipUrl(e,s,t)}else{let r=(n+o).replace(/paper/g,"").replace(/[xyz][0-9]* *domain/g,"");h.setClipUrl(e,r?"clip"+t._fullLayout._uid+r:null,t)}}function k(e,t,r){return e.replace(g.segmentRE,function(e){var n=0,i=e.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+e.slice(1).replace(g.paramRE,function(e){return n>=s||(a[n]?e=t(e):o[n]&&(e=r(e)),n++),e})})}function A(e){b(e)&&e._fullLayout._activeShapeIndex>=0&&(c(e),delete e._fullLayout._activeShapeIndex,x(e))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(e){if(b(e)){c(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t1?(P=["toggleHover"],z=["resetViews"]):y?(I=["zoomInGeo","zoomOutGeo"],P=["hoverClosestGeo"],z=["resetGeo"]):g?(P=["hoverClosest3d"],z=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(I=["zoomInMapbox","zoomOutMapbox"],P=["toggleHover"],z=["resetViewMapbox"]):w?(I=["zoomInMap","zoomOutMap"],P=["toggleHover"],z=["resetViewMap"]):v?P=["hoverClosestPie"]:A?(P=["hoverClosestCartesian","hoverCompareCartesian"],z=["resetViewSankey"]):P=["toggleHover"],m&&P.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(e){for(var t=0;tn?i.slice(n):a.slice(r))+o:i+a+e*t:o}function p(e,t){var r=e._inputDomain,n=l[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}e.handleDefaults=function(e,r,a){var s=a.axIds,l=a.axHasImage,f=r._axisConstraintGroups=[],p=r._axisMatchGroups=[];for(b=0;bs*c)||d){for(x=0;xO&&MP&&(P=M);A/=(P-I)/(2*z),I=w.l2r(I),P=w.l2r(P),w.range=w._input.range=E=e[1])&&!(i[1]<=e[0])&&a[0]t[0])return!0}return!1}(R,F,O)&&-1===q.indexOf(v)){var B=j.node(),N=H.bg=i.ensureSingle(j,"rect","bg");B.insertBefore(N.node(),B.childNodes[0]),z.push(q)}else j.select("rect.bg").remove(),O.push([R,F]),D||(P.push(q),z.push(q))}var U=M._bgLayer.selectAll(".bg").data(P);for(U.enter().append("rect").classed("bg",!0),U.exit().remove(),U.each(function(e){M._plots[e].bg=t.select(this)}),V=0;V.5?"t":"b",F=C._fullLayout.margin[R],j=0,"paper"===L.yref?j=I+L.pad.t+L.pad.b:"container"===L.yref&&(P=C._fullLayout.height,z=0,"middle"===D&&(z+=I/2),"t"===R?("top"===D&&(z+=I),z+=P-O*P):("bottom"===D&&(z+=I),z+=O*P),j=z+L.pad.t+L.pad.b),j>F?j:0);if(E>0){B=e,N=k,U=E,V=S,G="title.automargin",W=(Z=B._fullLayout.title).y>.5?"t":"b",Y={x:Z.x,y:Z.y,t:0,b:0},X={},"paper"===Z.yref&&(q="paper"===Z.yref?B._fullLayout._size.h:B._fullLayout.height,H=i.isTopAnchor(Z)?N:N-V,!(i.isTopAnchor(Z)&&"t"===W||i.isBottomAnchor(Z)&&"b"===W)&&("b"===W?q-H:H)=0;T--){var k=i.append("path").attr(m).style("opacity",T?.1:g).call(a.stroke,v).call(a.fill,y).call(o.dashLine,T?"solid":_,T?4+x:x);if(function(e,t,r){var n=r.xref+r.yref;o.setClipUrl(e,"clip"+t._fullLayout._uid+n,t)}(k,e,f),b){var A=s(e.layout,"selections",f);k.style({cursor:"move"});var M={element:k.node(),plotinfo:d,gd:e,editHelpers:A,isActiveSelection:!0};n(r(l,e),k,M)}else k.style("pointer-events",T?"all":"none");w[T]=k}var S=w[0];w[1].node().addEventListener("click",function(){return function(e,t){if(h(e)){var r=+t.node().getAttribute("data-index");if(r>=0){if(r===e._fullLayout._activeSelectionIndex){p(e);return}e._fullLayout._activeSelectionIndex=r,e._fullLayout._deactivateSelection=p,u(e)}}}(e,S)})}(e._fullLayout._selectionLayer)}function p(e){h(e)&&e._fullLayout._activeSelectionIndex>=0&&(i(e),delete e._fullLayout._activeSelectionIndex,u(e))}t.exports={draw:u,drawOne:f,activateLastSelection:function(e){if(h(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=p,u(e)}}}}}),nL=ed({"node_modules/polybooljs/lib/build-log.js"(e,t){t.exports=function(){var e,t=0,r=!1;function n(t,r){return e.list.push({type:t,data:r?JSON.parse(JSON.stringify(r)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(e,t){return n("check",{seg1:e,seg2:t})},segmentChop:function(e,t){return n("div_seg",{seg:e,pt:t}),n("chop",{seg:e,pt:t})},statusRemove:function(e){return n("pop_seg",{seg:e})},segmentUpdate:function(e){return n("seg_update",{seg:e})},segmentNew:function(e,t){return n("new_seg",{seg:e,primary:t})},segmentRemove:function(e){return n("rem_seg",{seg:e})},tempStatus:function(e,t,r){return n("temp_status",{seg:e,above:t,below:r})},rewind:function(e){return n("rewind",{seg:e})},status:function(e,t,r){return n("status",{seg:e,above:t,below:r})},vert:function(t){return t===r?e:(r=t,n("vert",{x:t}))},log:function(e){return"string"!=typeof e&&(e=JSON.stringify(e,!1," ")),n("log",{txt:e})},reset:function(){return n("reset")},selected:function(e){return n("selected",{segs:e})},chainStart:function(e){return n("chain_start",{seg:e})},chainRemoveHead:function(e,t){return n("chain_rem_head",{index:e,pt:t})},chainRemoveTail:function(e,t){return n("chain_rem_tail",{index:e,pt:t})},chainNew:function(e,t){return n("chain_new",{pt1:e,pt2:t})},chainMatch:function(e){return n("chain_match",{index:e})},chainClose:function(e){return n("chain_close",{index:e})},chainAddHead:function(e,t){return n("chain_add_head",{index:e,pt:t})},chainAddTail:function(e,t){return n("chain_add_tail",{index:e,pt:t})},chainConnect:function(e,t){return n("chain_con",{index1:e,index2:t})},chainReverse:function(e){return n("chain_rev",{index:e})},chainJoin:function(e,t){return n("chain_join",{index1:e,index2:t})},done:function(){return n("done")}}}}}),nI=ed({"node_modules/polybooljs/lib/epsilon.js"(e,t){t.exports=function(e){"number"!=typeof e&&(e=1e-10);var t={epsilon:function(t){return"number"==typeof t&&(e=t),e},pointAboveOrOnLine:function(t,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=t[0];return(o-i)*(t[1]-a)-(s-a)*(l-i)>=-e},pointBetween:function(t,r,n){var i=t[1]-r[1],a=n[0]-r[0],o=t[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-e)},pointsSameX:function(t,r){return Math.abs(t[0]-r[0])e!=o-i>e&&(a-c)*(i-u)/(o-u)+c-n>e&&(s=!s),a=c,o=u}return s}};return t}}}),nP=ed({"node_modules/polybooljs/lib/linked-list.js"(e,t){t.exports={create:function(){var e={root:{root:!0,next:null},exists:function(t){return null!==t&&t!==e.root},isEmpty:function(){return null===e.root.next},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;null!==i;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;null!==n&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(e){return e.prev=r,e.next=n,r.next=e,null!==n&&(n.prev=e),e}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}}}}),nz=ed({"node_modules/polybooljs/lib/intersecter.js"(e,t){var r=nP();t.exports=function(e,t,n){function i(e,t,r){return{id:n?n.segmentId():-1,start:e,end:t,myFill:{above:r.myFill.above,below:r.myFill.below},otherFill:null}}var a=r.create();function o(e,r){a.insertBefore(e,function(n){var i,a,o,s,l,c;return i=e.isStart,a=e.pt,o=n.isStart,s=n.pt,l=n.other.pt,(0!==(c=t.pointsCompare(a,s))?c:t.pointsSame(r,l)?0:i!==o?i?1:-1:t.pointAboveOrOnLine(r,o?s:l,o?l:s)?1:-1)<0})}function s(e,t){var n,i,a=(o(n=r.node({isStart:!0,pt:e.start,seg:e,primary:t,other:null,status:null}),e.end),n);return i=r.node({isStart:!1,pt:e.end,seg:e,primary:t,other:a,status:null}),a.other=i,o(i,a.pt),a}function l(e,t){var r=i(t,e.seg.end,e.seg);return n&&n.segmentChop(e.seg,t),e.other.remove(),e.seg.end=t,e.other.pt=t,o(e.other,e.pt),s(r,e.primary)}function c(i,o){var s=r.create();function c(e,r){var i=e.seg,a=r.seg,o=i.start,s=i.end,c=a.start,u=a.end;n&&n.checkIntersection(i,a);var h=t.linesIntersect(o,s,c,u);if(!1===h){if(!t.pointsCollinear(o,s,c)||t.pointsSame(o,u)||t.pointsSame(s,c))return!1;var f=t.pointsSame(o,c),p=t.pointsSame(s,u);if(f&&p)return r;var d=!f&&t.pointBetween(o,c,u),m=!p&&t.pointBetween(s,c,u);if(f)return m?l(r,s):l(e,u),r;d&&(p||(m?l(r,s):l(e,u)),l(r,o))}else 0===h.alongA&&(-1===h.alongB?l(e,c):0===h.alongB?l(e,h.pt):1===h.alongB&&l(e,u)),0===h.alongB&&(-1===h.alongA?l(r,o):0===h.alongA?l(r,h.pt):1===h.alongA&&l(r,s));return!1}for(var u=[];!a.isEmpty();){var h=a.getHead();if(n&&n.vert(h.pt[0]),h.isStart){n&&n.segmentNew(h.seg,h.primary);var f,p,d=function(e){return s.findTransition(function(r){return function(e,r){var n=e.seg.start,i=e.seg.end,a=r.seg.start,o=r.seg.end;return t.pointsCollinear(n,a,o)?t.pointsCollinear(i,a,o)?1:t.pointAboveOrOnLine(i,a,o)?1:-1:t.pointAboveOrOnLine(n,a,o)?1:-1}(e,r.ev)>0})}(h),m=d.before?d.before.ev:null,g=d.after?d.after.ev:null;n&&n.tempStatus(h.seg,!!m&&m.seg,!!g&&g.seg);var y=function(){if(m){var e=c(h,m);if(e)return e}return!!g&&c(h,g)}();if(y&&(e?(f=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above):y.seg.otherFill=h.seg.myFill,n&&n.segmentUpdate(y.seg),h.other.remove(),h.remove()),a.getHead()!==h){n&&n.rewind(h.seg);continue}e?(f=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,g?h.seg.myFill.below=g.seg.myFill.above:h.seg.myFill.below=i,f?h.seg.myFill.above=!h.seg.myFill.below:h.seg.myFill.above=h.seg.myFill.below):null===h.seg.otherFill&&(p=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:p,below:p}),n&&n.status(h.seg,!!m&&m.seg,!!g&&g.seg),h.other.status=d.insert(r.node({ev:h}))}else{var v=h.status;if(null===v)throw Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(v.prev)&&s.exists(v.next)&&c(v.prev.ev,v.next.ev),n&&n.statusRemove(v.ev.seg),v.remove(),!h.primary){var x=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=x}u.push(h.seg)}a.getHead().remove()}return n&&n.done(),u}return e?{addRegion:function(e){for(var r,i=e[e.length-1],a=0;aa!=p>a&&i<(f-u)*(a-h)/(p-h)+u&&(o=!o)}return o}}}),nB=ed({"src/lib/polygon.js"(e,t){var r=tb().dot,n=eS().BADNUM,i=t.exports={};i.tester=function(e){var t,r,i=e.slice(),a=i[0][0],o=a,s=i[0][1],l=s;for((i[i.length-1][0]!==i[0][0]||i[i.length-1][1]!==i[0][1])&&i.push(i[0]),t=1;to||c===n||cl||t&&r(e))}:function(e,t){var r,c,u,h,f,p=e[0],d=e[1];if(p===n||po||d===n||dl)return!1;var m=i.length,g=i[0][0],y=i[0][1],v=0;for(r=1;rMath.max(c,g)||d>Math.max(u,y))){if(du||Math.abs(r(o,f))>i)return!0;return!1},i.filter=function(e,t){var r=[e[0]],n=0,a=0;function o(o){e.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c1&&o(e.pop()),{addPt:o,raw:e,filtered:r}}}}),nN=ed({"src/components/selections/constants.js"(e,t){t.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}}}),nU=ed({"src/components/selections/select.js"(e,t){var r=nF(),n=nj(),i=tO(),a=rO().dashStyle,o=eZ(),s=na(),l=rI().makeEventData,c=no(),u=c.freeMode,h=c.rectMode,f=c.drawMode,p=c.openMode,d=c.selectMode,m=nm(),g=nd(),y=ny(),v=rt().clearOutline,x=nh(),_=x.handleEllipse,b=x.readPaths,w=nf().newShapes,T=np(),k=nC().activateLastSelection,A=tQ(),M=A.sorterAsc,S=nB(),E=tq(),C=re().getFromId,L=ns(),I=nE().redrawReglTraces,P=nN(),z=P.MINSELECT,O=S.filter,D=S.tester,R=nu(),F=R.p2r,j=R.axValue,B=R.getTransform;function N(e){return void 0!==e.subplot}function U(e,t,r,n,i,a,o){var s,l,c,u,h,f,d,m,g,v=t._hoverdata,x=t._fullLayout.clickmode.indexOf("event")>-1,_=[];if(v&&Array.isArray(v)&&!0!==v[0].hoverOnBox){H(e,t,a);var b=function(e,t){var r,n,i=e[0],a=-1,o=[];for(n=0;n0?function(e,t){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===t.searchInfo&&(n=t.searchInfo.cd[0].trace).selectedpoints.length===t.pointNumbers.length){for(i=0;in.selectedpoints.indexOf(t.pointNumbers[i]))return!1;return!0}return!1}(s,b):function(e){var t,r,n=0;for(r=0;r1||(n+=t.selectedpoints.length)>1))return!1;return 1===n}(s)&&(f=X(b))){for(o&&o.remove(),g=0;g=0&&a._fullLayout._deactivateShape(a),a._fullLayout._activeSelectionIndex>=0&&a._fullLayout._deactivateSelection(a);var o=a._fullLayout._zoomlayer,s=f(r),l=d(r);if(s||l){var c,u,h=o.selectAll(".select-outline-"+n.id);h&&a._fullLayout._outlining&&(s&&(c=w(h,e)),c&&i.call("_guiRelayout",a,{shapes:c}),l&&!N(e)&&(u=T(h,e)),u&&(a._fullLayout._noEmitSelectedAtStart=!0,i.call("_guiRelayout",a,{selections:u}).then(function(){t&&k(a)})),a._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function Z(e){return e._id}function W(e,t,r,n){if(!e.calcdata)return[];var i,a,o,s=[],l=t.map(Z),c=r.map(Z);for(o=0;o0?n[0]:r;return!!t.selectedpoints&&t.selectedpoints.indexOf(i)>-1}function $(e,t,r){for(n=0;n-1&&t;if(!a&&t){var ef=en(e,!0);if(ef.length){var ep=ef[0].xref,ed=ef[0].yref;if(ep&&ed){var em=eo(ef);es([C(e,ep,"x"),C(e,ed,"y")])(eu,em)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:eh&&el(e,eu),p._reselect=!1}if(!a&&p._deselect){var eg=p._deselect;!function(e,t,r){for(var n=0;n=0){j._fullLayout._deactivateShape(j);return}if(!C){var r=V.clickmode;E.done(eS).then(function(){if(E.clear(eS),2===e){for(eb.remove(),x=0;x-1&&U(t,j,n.xaxes,n.yaxes,n.subplot,n,eb),"event"===r&&el(j,void 0);s.click(j,t,K.id)}).catch(A.error)}},n.doneFn=function(){eA.remove(),E.done(eS).then(function(){E.clear(eS),!Z&&v&&n.selectionDefs&&(v.subtract=e_,n.selectionDefs.push(v),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,g)),(Z||C)&&G(n,Z),n.doneFnCompleted&&n.doneFnCompleted(eE),L&&el(j,w)}).catch(A.error)}},clearOutline:v,clearSelectionsCache:G,selectOnClick:U}}}),nV=ed({"src/components/annotations/arrow_paths.js"(e,t){t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]}}),nq=ed({"src/constants/axis_placeable_objects.js"(e,t){t.exports={axisRefDescription:function(e,t,r){return["If set to a",e,"axis id (e.g. *"+e+"* or","*"+e+"2*), the `"+e+"` position refers to a",e,"coordinate. If set to *paper*, the `"+e+"`","position refers to the distance from the",t,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",t,"("+r+"). If set to a",e,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",t,"of the domain of that axis: e.g.,","*"+e+"2 domain* refers to the domain of the second",e," axis and a",e,"position of 0.5 refers to the","point between the",t,"and the",r,"of the domain of the","second",e,"axis."].join(" ")}}}}),nH=ed({"src/components/annotations/attributes.js"(e,t){var r=nV(),n=eB(),i=t9(),a=t7().templatedArray;nq(),t.exports=a("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:n({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:r.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:r.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",i.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:n({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc"})}}),nG=ed({"src/traces/scatter/constants.js"(e,t){t.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}}}),nZ=ed({"src/traces/scatter/fillcolor_attribute.js"(e,t){t.exports=function(e){return{valType:"color",editType:"style",anim:!0}}}}),nW=ed({"src/traces/scatter/attributes.js"(e,t){var r=ru().axisHoverFormat,{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=tS(),o=rp(),s=eB(),l=tA().dash,c=tA().pattern,u=rO(),h=nG(),f=ej().extendFlat,p=nZ();function d(e){return{valType:"any",dflt:0,editType:"calc"}}function m(e){return{valType:"any",editType:"calc"}}function g(e){return{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"}}t.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:d("x"),yperiod:d("y"),xperiod0:m("x0"),yperiod0:m("y0"),xperiodalignment:g("x"),yperiodalignment:g("y"),xhoverformat:r("x"),yhoverformat:r("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:i(),texttemplatefallback:a({editType:"calc"}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:n({},{keys:h.eventDataKeys}),hovertemplatefallback:a(),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:f({},l,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:p(!0),fillgradient:f({type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],dflt:"none",editType:"calc"},start:{valType:"number",editType:"calc"},stop:{valType:"number",editType:"calc"},colorscale:{valType:"colorscale",editType:"style"},editType:"calc"}),fillpattern:c,marker:f({symbol:{valType:"enumerated",values:u.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:f({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},dash:f({},l,{arrayOk:!0}),editType:"calc"},o("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},o("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:s({editType:"calc",colorEditType:"style",arrayOk:!0}),zorder:{valType:"integer",dflt:0,editType:"plot"}}}}),nY=ed({"src/components/selections/attributes.js"(e,t){var r=nH(),n=nW().line,i=tA().dash,a=ej().extendFlat,o=tk().overrideAll,s=t7().templatedArray;nq(),t.exports=o(s("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:a({},r.xref,{}),yref:a({},r.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:n.color,width:a({},n.width,{min:1,dflt:1}),dash:a({},i,{dflt:"dot"})}}),"arraydraw","from-root")}}),nX=ed({"src/components/selections/defaults.js"(e,t){var r=tQ(),n=rB(),i=r_(),a=nY(),o=nm();function s(e,t,i){function s(n,i){return r.coerce(e,t,a,n,i)}var l=s("path"),c="path"!==s("type",l?"path":"rect");c&&delete t.path,s("opacity"),s("line.color"),s("line.width"),s("line.dash");for(var u=["x","y"],h=0;h<2;h++){var f,p,d,m=u[h],g={_fullLayout:i},y=n.coerceRef(e,t,g,m);if((f=n.getFromId(g,y))._selectionIndices.push(t._index),d=o.rangeToShapePosition(f),p=o.shapePositionToRange(f),c){var v=m+"0",x=m+"1",_=e[v],b=e[x];e[v]=p(e[v],!0),e[x]=p(e[x],!0),n.coercePosition(t,g,s,y,v),n.coercePosition(t,g,s,y,x);var w=t[v],T=t[x];void 0!==w&&void 0!==T&&(t[v]=d(w),t[x]=d(T),e[v]=_,e[x]=b)}}c&&r.noneOrAll(e,t,["x0","x1","y0","y1"])}t.exports=function(e,t){i(e,t,{name:"selections",handleItemDefaults:s});for(var r=t.selections,n=0;n.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",l(r,n)).attr("d",i+"Z")}function j(e,t,r){return e.append("path").attr("class","zoombox-corners").style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("transform",l(t,r)).attr("d","M0,0Z")}function B(e,t,r,n,i,a){e.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),N(e,t,i,a)}function N(e,t,r,n){r||(e.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),t.transition().style("opacity",1).duration(200))}function U(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function V(e){I&&e.data&&e._context.showTips&&(n.notifier(n._(e,"Double-click to zoom back out"),"long",e),I=!1)}function q(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,L)/2);return"M"+(e.l-3.5)+","+(e.t-.5+t)+"h3v"+-t+"h"+t+"v-3h-"+(t+3)+"ZM"+(e.r+3.5)+","+(e.t-.5+t)+"h-3v"+-t+"h"+-t+"v-3h"+(t+3)+"ZM"+(e.r+3.5)+","+(e.b+.5-t)+"h-3v"+t+"h"+-t+"v3h"+(t+3)+"ZM"+(e.l-3.5)+","+(e.b+.5-t)+"h3v"+t+"h"+t+"v3h-"+(t+3)+"Z"}function H(e,t,r,i,a){for(var o,s,l,c,u=!1,h={},f={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0){o._fullLayout._deactivateShape(o);return}var l=o._fullLayout.clickmode;if(U(o),2!==n||eE||function(){if(!e._transitioningWithDuration){var t,r,n=e._context.doubleClick,i=[];ea&&(i=i.concat(J)),eo&&(i=i.concat(K)),ei.xaxes&&(i=i.concat(ei.xaxes)),ei.yaxes&&(i=i.concat(ei.yaxes));var a={};if("reset+autosize"===n)for(r=0,n="autosize";r-1&&M(a,o,J,K,t.id,eI),l.indexOf("event")>-1&&f.click(o,a,t.id);else if(1===n&&eE){var u,h,p=g?Y:W,d="s"===g||"w"===I?0:1,m=p._name+".range["+d+"]",y=(h=Math.abs((u=p.range[d])-p.range[1-d]),"date"===p.type?u:"log"===p.type?i("."+(Math.ceil(Math.max(0,-Math.log(h)/Math.LN10))+3)+"g")(Math.pow(10,u)):i("."+String(Math.floor(Math.log(Math.abs(u))/Math.LN10)-Math.floor(Math.log(h)/Math.LN10)+4)+"g")(u)),v="left",x="middle";if(p.fixedrange)return;g?(x="n"===g?"top":"bottom","right"===p.side&&(v="right")):"e"===I&&(v="right"),o._context.showAxisRangeEntryBoxes&&r.select(eL).call(c.makeEditable,{gd:o,immediate:!0,background:o._fullLayout.paper_bgcolor,text:String(y),fill:p.tickfont?p.tickfont.color:"#444",horizontalAlign:v,verticalAlign:x}).on("edit",function(e){var t=p.d2r(e);void 0!==t&&s.call("_guiRelayout",o,m,t)})}}function eO(t,r){if(e._transitioningWithDuration)return!1;var n,i,a,o,s=Math.max(0,Math.min(et,ed*t+eg)),l=Math.max(0,Math.min(er,em*r+ey)),c=Math.abs(s-eg),u=Math.abs(l-ey);function h(){ew="",ev.r=ev.l,ev.t=ev.b,ek.attr("d","M0,0Z")}if(ev.l=Math.min(eg,s),ev.r=Math.max(eg,s),ev.t=Math.min(ey,l),ev.b=Math.max(ey,l),en.isSubplotConstrained)c>L||u>L?(ew="xy",c/et>u/er?(u=c*er/et,ey>l?ev.t=ey-u:ev.b=ey+u):(c=u*et/er,eg>s?ev.l=eg-c:ev.r=eg+c),ek.attr("d",q(ev))):h();else if(ei.isSubplotConstrained){if(c>L||u>L){ew="xy";var f=Math.min(ev.l/et,(er-ev.b)/er),p=Math.max(ev.r/et,(er-ev.t)/er);ev.l=f*et,ev.r=p*et,ev.b=(1-f)*er,ev.t=(1-p)*er,ek.attr("d",q(ev))}else h()}else!eo||u0){if(ei.isSubplotConstrained||!ea&&1===eo.length){for(a=0;a=0?Math.min(l,.9):1/(1/Math.max(l,-.3)+3.222)));var l,c=s.l2r(i);!1!==c&&void 0!==c&&(s.range[t]=c)}}return n._length*(n._rl[t]-i)/(n._rl[t]-n._rl[a])}}function eV(e,t){for(var r=ei.isSubplotConstrained?({x:K,y:J})[e]:ei[e+"axes"],n=ei.isSubplotConstrained?({x:J,y:K})[e]:[],i=0;i1&&(void 0!==d.maxallowed&&el===(d.range[0]1&&(void 0!==m.maxallowed&&ec===(m.range[0]1&&n.warn("Full array edits are incompatible with other edits",_);var S=l[""][""];if(s(S))t.set(null);else{if(!Array.isArray(S))return n.warn("Unrecognized full array edit value",_,S),!0;t.set(S)}return!k&&(b(A,M),w(e),!0)}var E=Object.keys(l).map(Number).sort(i),C=t.get(),L=C||[],I=u(M,_).get(),P=[],z=-1,O=L.length;for(h=0;hL.length-(y?0:1)){n.warn("index out of range",_,p);continue}if(void 0!==g)m.length>1&&n.warn("Insertion & removal are incompatible with edits to the same index.",_,p),s(g)?P.push(p):y?("add"===g&&(g={}),L.splice(p,0,g),I&&I.splice(p,0,{})):n.warn("Unrecognized full object edit value",_,p,g),-1===z&&(z=p);else for(f=0;f=0;h--)L.splice(P[h],1),I&&I.splice(P[h],1);if(L.length?C||t.set(L):t.set(null),k)return!1;if(b(A,M),T!==r){if(-1===z)x=E;else{for(h=0,O=Math.max(L.length,O),x=[];h=z);h++)x.push(p);for(h=z;h0&&n.log("Clearing previous rejected promises from queue."),e._promises=[]},e.cleanLayout=function(t){t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var r,a=(i.subplotsRegistry.cartesian||{}).attrRegex;(i.subplotsRegistry.polar||{}).attrRegex,(i.subplotsRegistry.ternary||{}).attrRegex,(i.subplotsRegistry.gl3d||{}).attrRegex;var l=Object.keys(t);for(r=0;r3?(x.x=1.02,x.xanchor="left"):x.x<-2&&(x.x=-.02,x.xanchor="right"),x.y>3?(x.y=1.02,x.yanchor="bottom"):x.y<-2&&(x.y=-.02,x.yanchor="top")),"rotate"===t.dragmode&&(t.dragmode="orbit"),o.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var a=0;a0)return e.slice(0,t)}e.hasParent=function(e,t){for(var r=g(t);r;){if(r in e)return!0;r=g(r)}return!1},e.clearAxisTypes=function(e,t,r){for(var i=0;i{let r=(...e)=>e.every(e=>n.isPlainObject(e))||e.every(e=>Array.isArray(e));if([e,t].every(e=>Array.isArray(e))){if(e.length!==t.length)return!1;for(let n=0;nn.isPlainObject(e))){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){if(n.startsWith("_"))continue;let i=e[n],a=t[n];if(i!==a&&!(r(i,a)&&y(i,a)))return!1}return!0}return!1};e.collectionsAreEqual=y}}),n5=ed({"src/plot_api/plot_api.js"(e){var t=eb(),r=eM(),n=t2(),i=tQ(),a=i.nestedProperty,o=t5(),s=t4(),l=tO(),c=t8(),u=ra(),h=rB(),f=rU(),p=rh(),d=rO(),m=eZ(),g=n0().initInteractions,y=ro(),v=nK().clearOutline,x=e$().dfltConfig,_=n2(),b=n3(),w=nE(),T=tk(),k=t9().AX_NAME_PATTERN,A=0;function M(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit("plotly_afterplot")}function S(e,t){try{e._fullLayout._paper.style("background",t)}catch(e){i.error(e)}}function E(e,t){S(e,m.combine(t,"white"))}function C(e,r){if(!e._context){e._context=i.extendDeep({},x);var a,o,s,l=t.select("base");e._context._baseUrl=l.size()&&l.attr("href")?window.location.href.split("#")[0]:""}var c=e._context;if(r){for(a=0,o=Object.keys(r);a=e.data.length||i<-e.data.length)throw Error(r+" must be valid indices for gd.data.");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw Error("each index in "+r+" must be unique.")}}function P(e,t,r){if(!Array.isArray(e.data))throw Error("gd.data must be an array.");if(void 0===t)throw Error("currentIndices is a required argument.");if(Array.isArray(t)||(t=[t]),I(e,t,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&I(e,r,"newIndices"),void 0!==r&&t.length!==r.length)throw Error("current and new indices must be of equal length.")}function z(e,t,n,o,s){!function(e,t,r,n){var a=i.isPlainObject(n);if(!Array.isArray(e.data))throw Error("gd.data must be an array");if(!i.isPlainObject(t))throw Error("update must be a key:value object");if(void 0===r)throw Error("indices must be an integer or array of integers");for(var o in I(e,r,"indices"),t){if(!Array.isArray(t[o])||t[o].length!==r.length)throw Error("attribute "+o+" must be an array of length equal to indices array length");if(a&&(!(o in n)||!Array.isArray(n[o])||n[o].length!==t[o].length))throw Error("when maxPoints is set as a key:value object it must contain a 1:1 correspondence with the keys and number of traces in the update object")}}(e,t,n,o);for(var l=function(e,t,n,o){var s,l,c,u,h=i.isPlainObject(o),f=[];for(var p in Array.isArray(n)||(n=[n]),n=L(n,e.data.length-1),t)for(var d=0;d0&&"string"!=typeof z.parts[D];)D--;var j=z.parts[D],B=z.parts[D-1]+"."+j,N=z.parts.slice(0,D).join("."),U=a(e.layout,N).get(),V=a(f,N).get(),Z=z.get();if(void 0!==O){S[P]=O,E[P]="reverse"===j?O:R(Z);var Y=c.getLayoutValObject(f,z.parts);if(Y&&Y.impliedEdits&&null!==O)for(var X in Y.impliedEdits)C(i.relativeAttr(P,X),Y.impliedEdits[X]);if(-1!==["width","height"].indexOf(P)){if(O){C("autosize",null);var $="height"===P?"width":"height";C($,f[$])}else f[P]=e._initialAutoSize[P]}else if("autosize"===P)C("width",O?null:f.width),C("height",O?null:f.height);else if(B.match(q))I(B),a(f,N+"._inputRange").set(null);else if(B.match(H)){I(B),a(f,N+"._inputRange").set(null);var J=a(f,N).get();J._inputDomain&&(J._input.domain=J._inputDomain.slice())}else B.match(G)&&a(f,N+"._inputDomain").set(null);if("type"===j){s=U;var K="linear"===V.type&&"log"===O,Q="log"===V.type&&"linear"===O;if(K||Q){if(s&&s.range){if(V.autorange)K&&(s.range=s.range[1]>s.range[0]?[1,2]:[2,1]);else{var ee=s.range[0],et=s.range[1];K?(ee<=0&&et<=0&&C(N+".autorange",!0),ee<=0?ee=et/1e6:et<=0&&(et=ee/1e6),C(N+".range[0]",Math.log(ee)/Math.LN10),C(N+".range[1]",Math.log(et)/Math.LN10)):(C(N+".range[0]",Math.pow(10,ee)),C(N+".range[1]",Math.pow(10,et)))}}else C(N+".autorange",!0);Array.isArray(f._subplots.polar)&&f._subplots.polar.length&&f[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete f[z.parts[0]]._subplot.viewInitial["radialaxis.range"],l.getComponentMethod("annotations","convertCoords")(e,V,O,C),l.getComponentMethod("images","convertCoords")(e,V,O,C)}else C(N+".autorange",!0),C(N+".range",null);a(f,N+"._inputRange").set(null)}else if(j.match(k)){var er=a(f,P).get(),en=(O||{}).type;en&&"-"!==en||(en="linear"),l.getComponentMethod("annotations","convertCoords")(e,er,en,C),l.getComponentMethod("images","convertCoords")(e,er,en,C)}var ei=_.containerArrayMatch(P);if(ei){r=ei.array,n=ei.index;var ea=ei.property,eo=Y||{editType:"calc"};""!==n&&""===ea&&(_.isAddVal(O)?E[P]=null:_.isRemoveVal(O)?E[P]=(a(u,r).get()||[])[n]:i.warn("unrecognized full object value",t)),T.update(M,eo),v[r]||(v[r]={});var es=v[r][n];es||(es=v[r][n]={}),es[ea]=O,delete t[P]}else"reverse"===j?(U.range?U.range.reverse():(C(N+".autorange",!0),U.range=[1,0]),V.autorange?M.calc=!0:M.plot=!0):("dragmode"===P&&(!1===O&&!1!==Z||!1!==O&&!1===Z)?M.plot=!0:f._has("scatter-like")&&f._has("regl")&&"dragmode"===P&&("lasso"===O||"select"===O)&&!("lasso"===Z||"select"===Z)?M.plot=!0:Y?T.update(M,Y):M.calc=!0,z.set(O))}}for(r in v)_.applyContainerArrayChanges(e,d(u,r),v[r],M,d)||(M.plot=!0);for(var el in L){var ec=(s=h.getFromId(e,el))&&s._constraintGroup;if(ec)for(var eu in M.calc=!0,ec)L[eu]||(h.getFromId(e,eu)._constraintShrinkable=!0)}(W(e)||t.height||t.width)&&(M.plot=!0);var eh=f.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=a(t,n.join(".")+".uirevision").get()))return r;return t.uirevision}function ee(e,t){var r=i.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&i.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function et(e,t,r,n){var a=n.getValObject,o=n.flags,s=n.immutable,l=n.inArray,c=n.arrayIndex;function u(){var e=f.editType;if(l&&-1!==e.indexOf("arraydraw")){i.pushUnique(o.arrays[l],c);return}T.update(o,f),"none"!==e&&o.nChanges++,n.transition&&f.anim&&o.nChangesAnim++,(q.test(d)||H.test(d))&&(o.rangesAltered[r[0]]=1),"datarevision"===p&&(o.newDataRevision=1)}function h(e){return"data_array"===e.valType||e.arrayOk}for(p in e){if(o.calc&&!n.transition)return;var f,p,d,m,g=e[p],y=t[p],v=r.concat(p);if(d=v.join("."),"_"!==p.charAt(0)&&"function"!=typeof g&&g!==y){if(("tick0"===p||"dtick"===p)&&"geo"!==r[0]){var x=t.tickmode;if("auto"===x||"array"===x||!x)continue}if(("range"!==p||!t.autorange)&&("zmin"!==p&&"zmax"!==p||"contourcarpet"!==t.type)&&(f=a(v))&&(!f._compareAsJSON||JSON.stringify(g)!==JSON.stringify(y))){var _=f.valType,b=h(f),w=Array.isArray(g),k=Array.isArray(y);if(w&&k){var A="_input_"+p,M=e[A],S=t[A];if(Array.isArray(M)&&M===S)continue}if(void 0===y)b&&w?o.calc=!0:u();else if(f._isLinkedToArray){var E=[],C=!1;l||(o.arrays[p]=E);var L=Math.min(g.length,y.length),I=Math.max(g.length,y.length);if(L!==I){if("arraydraw"===f.editType)C=!0;else{u();continue}}for(m=0;m=a.length?e.transitionOpts=a[f]:e.transitionOpts=a[0]:e.transitionOpts=a,f++,e}var d=[],m=null==t,g=Array.isArray(t);if(!m&&!g&&i.isPlainObject(t))d.push({type:"object",data:p(i.extendFlat({},t))});else if(m||-1!==["string","number"].indexOf(typeof t))for(c=0;c0&&xx)&&_.push(h);d=_}}d.length>0?function(t){if(0!==t.length){for(var i,c=0;c=o.length?o[0]:o[f]:o),m=(h=c,Array.isArray(a)?h>=a.length?a[0]:a[h]:a);m.duration=Math.min(m.duration,d.duration);var g={frame:p,name:t[c].name,frameOpts:d,transitionOpts:m};c===t.length-1&&(g.onComplete=function(e,t){var r=0;return function(){if(e&&2==++r)return e()}}(s,0),g.onInterrupt=l),n._frameQueue.push(g)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||(e.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null,(i=function(){n._animationRaf=window.requestAnimationFrame(i),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var t=n._currentFrame=n._frameQueue.shift();if(t){var r=t.name?t.name.toString():null;e._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=t.frameOpts.duration,u.transition(e,t.frame.data,t.frame.layout,b.coerceTraceIndices(e,t.frame.traces),t.frameOpts,t.transitionOpts).then(function(){t.onComplete&&t.onComplete()}),e.emit("plotly_animatingframe",{name:r,frame:t.frame,animation:{frame:t.frameOpts,transition:t.transitionOpts}})}else e.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()})())}}(d):(e.emit("plotly_animated"),s())})},e.addFrames=function(e,t,r){if(e=i.getGraphDiv(e),null==t)return Promise.resolve();if(!i.isPlotDiv(e))throw Error("This element is not a Plotly plot: "+e+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,a,o,l,c=e._transitionData._frames,h=e._transitionData._frameHash;if(!Array.isArray(t))throw Error("addFrames failure: frameList must be an Array of frame definitions"+t);var f=c.length+2*t.length,p=[],d={};for(n=t.length-1;n>=0;n--)if(i.isPlainObject(t[n])){var m=t[n].name,g=(h[m]||d[m]||{}).name,y=t[n].name,v=h[g]||d[g];g&&y&&"number"==typeof y&&v&&A<5&&(A++,i.warn('addFrames: overwriting frame "'+(h[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&i.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[m]={name:m},p.push({frame:u.supplyFrameDefaults(t[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort(function(e,t){return e.index>t.index?-1:e.index=0;n--){if("number"==typeof(a=p[n].frame).name&&i.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;h[a.name="frame "+e._transitionData._counter++];);if(h[a.name]){for(o=0;o=0;r--)n=t[r],o.push({type:"delete",index:n}),l.unshift({type:"insert",index:n,value:a[n]});var c=u.modifyFrames,h=u.modifyFrames,f=[e,l],p=[e,o];return s&&s.add(e,c,f,h,p),u.modifyFrames(e,o)},e.addTraces=function t(r,n,a){r=i.getGraphDiv(r);var o,l,c=[],u=e.deleteTraces,h=[r,c],f=[r,n];for(function(e,t,r){var n,i;if(!Array.isArray(e.data))throw Error("gd.data must be an array.");if(void 0===t)throw Error("traces must be defined.");for(Array.isArray(t)||(t=[t]),n=0;n=0&&r=0&&r[e,t._ev.listeners(e)]);h=e.newPlot(t,r,n,o).then(()=>{for(let[e,r]of i)r.forEach(r=>t.on(e,r));return e.react(t,r,n,o)})}else{t.data=r||[],b.cleanData(t.data),t.layout=n||{},b.cleanLayout(t.layout),function(e,t,r,n){var o=n._preGUI,s=[],l={},c={};for(x in o){if(T=K(x,$)){if(S=T.head,E=T.tail,(w=(b=a(n,_=T.attr||S+".uirevision").get())&&Q(_,t))&&w===b){if(null===(k=o[x])&&(k=void 0),ee(M=(A=a(t,x)).get(),k)){void 0===M&&"autorange"===E&&s.push(S),A.set(R(a(n,x).get()));continue}if("autorange"===E||"range["===E.slice(0,6)){var u=o[S+".range[0]"],h=o[S+".range[1]"],f=o[S+".autorange"];if(f||null===f&&null===u&&null===h){if(!(S in l)){var p=a(t,S).get();l[S]=p&&(p.autorange||!1!==p.autorange&&(!p.range||2!==p.range.length))}if(l[S]){A.set(R(a(n,x).get()));continue}}}}}else i.warn("unrecognized GUI edit: "+x);delete o[x],T&&"range["===T.tail.slice(0,6)&&(c[T.head]=1)}for(var d=0;d(m||t.emit("plotly_react",{config:o,data:r,layout:n}),t))},e.redraw=function(t){if(t=i.getGraphDiv(t),!i.isPlotDiv(t))throw Error("This element is not a Plotly plot: "+t);return b.cleanData(t.data),b.cleanLayout(t.layout),t.calcdata=void 0,e._doPlot(t).then(function(){return t.emit("plotly_redraw"),t})},e.relayout=N,e.restyle=D,e.setPlotConfig=function(e){return i.extendFlat(x,e)},e.update=Y,e._guiRelayout=X(N),e._guiRestyle=X(D),e._guiUpdate=X(Y),e._storeDirectGUIEdit=function(e,t,r){for(var n in r){var i=a(e,n);j(n,i.get(),r[n],t)}}}}),n4=ed({"src/snapshot/helpers.js"(e){var t=tO();e.getDelay=function(e){return e._has&&(e._has("gl3d")||e._has("mapbox")||e._has("map"))?500:0},e.getRedrawFunc=function(e){return function(){t.getComponentMethod("colorbar","draw")(e)}},e.encodeSVG=function(e){return"data:image/svg+xml,"+encodeURIComponent(e)},e.encodeJSON=function(e){return"data:application/json,"+encodeURIComponent(e)};var r=window.URL||window.webkitURL;e.createObjectURL=function(e){return r.createObjectURL(e)},e.revokeObjectURL=function(e){return r.revokeObjectURL(e)},e.createBlob=function(e,t){if("svg"===t)return new window.Blob([e],{type:"image/svg+xml;charset=utf-8"});if("full-json"===t)return new window.Blob([e],{type:"application/json;charset=utf-8"});var r=function(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i")?"":u.html(e).text()}),u.remove(),T=(T=(T=h).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(s,"'")}}}),n8=ed({"src/snapshot/svgtoimg.js"(e,t){var r=tQ(),n=t3().EventEmitter,i=n4();t.exports=function(e){var t=e.emitter||new n,a=new Promise(function(n,a){var o,s,l=window.Image,c=e.svg,u=e.format||"png",h=e.canvas,f=e.scale||1,p=e.width||300,d=e.height||150,m=f*p,g=f*d,y=h.getContext("2d",{willReadFrequently:!0}),v=new l;"svg"===u||r.isSafari()?s=i.encodeSVG(c):(o=i.createBlob(c,"svg"),s=i.createObjectURL(o)),h.width=m,h.height=g,v.onload=function(){var r;switch(o=null,i.revokeObjectURL(s),"svg"!==u&&y.drawImage(v,0,0,m,g),u){case"jpeg":r=h.toDataURL("image/jpeg");break;case"png":r=h.toDataURL("image/png");break;case"webp":r=h.toDataURL("image/webp");break;case"svg":r=s;break;default:var l="Image format is not jpeg, png, svg or webp.";if(a(Error(l)),!e.promise)return t.emit("error",l)}n(r),e.promise||t.emit("success",r)},v.onerror=function(r){if(o=null,i.revokeObjectURL(s),a(r),!e.promise)return t.emit("error",r)},v.src=s});return e.promise?a:t}}}),n7=ed({"src/plot_api/to_image.js"(e,t){var r=eM(),n=n5(),i=ra(),a=tQ(),o=n4(),s=n6(),l=n8(),c=ex().version,u={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(e,t){function h(e){return!(e in t)||a.validate(t[e],u[e])}if(t=t||{},a.isPlainObject(e)?(f=e.data||[],p=e.layout||{},d=e.config||{},m={}):(e=a.getGraphDiv(e),f=a.extendDeep([],e.data),p=a.extendDeep({},e.layout),d=e._context,m=e._fullLayout||{}),!h("width")&&null!==t.width||!h("height")&&null!==t.height)throw Error("Height and width should be pixel values.");if(!h("format"))throw Error("Export format is not "+a.join2(u.format.values,", "," or ")+".");var f,p,d,m,g={};function y(e,r){return a.coerce(t,g,u,e,r)}var v=y("format"),x=y("width"),_=y("height"),b=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=a.extendFlat({},p);x?A.width=x:null===t.width&&r(m.width)&&(A.width=m.width),_?A.height=_:null===t.height&&r(m.height)&&(A.height=m.height);var M=a.extendFlat({},d,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=o.getRedrawFunc(k);function E(){return new Promise(function(e){setTimeout(e,o.getDelay(k._fullLayout))})}function C(){return new Promise(function(e,t){var r=s(k,v,b),u=k._fullLayout.width,h=k._fullLayout.height;function f(){n.purge(k),document.body.removeChild(k)}if("full-json"===v){var p=i.graphJson(k,!1,"keepdata","object",!0,!0);return e((p.version=c,p=JSON.stringify(p),f(),T)?p:o.encodeJSON(p))}if(f(),"svg"===v)return e(T?r:o.encodeSVG(r));var d=document.createElement("canvas");d.id=a.randstr(),l({format:v,width:u,height:h,scale:b,canvas:d,svg:r,promise:!0}).then(e).catch(t)})}return new Promise(function(e,t){n.newPlot(k,f,A,M).then(S).then(E).then(C).then(function(t){e(T?t.replace(o.IMAGE_URL_PREFIX,""):t)}).catch(function(e){t(e)})})}}}),n9=ed({"src/plot_api/validate.js"(e,t){var r=tQ(),n=ra(),i=t8(),a=e$().dfltConfig,o=r.isPlainObject,s=Array.isArray,l=r.isArrayOrTypedArray;function c(e,t,n,i,a,u){u=u||[];for(var h=Object.keys(e),p=0;pv.length&&i.push(f("unused",a,g.concat(v.length)));var k,A,M,S,E,C=v.length,L=Array.isArray(T);if(L&&(C=Math.min(C,T.length)),2===x.dimensions)for(A=0;Av[A].length&&i.push(f("unused",a,g.concat(A,v[A].length)));var I=v[A].length;for(k=0;k<(L?Math.min(I,T[A].length):I);k++)M=L?T[A][k]:T,S=y[A][k],E=v[A][k],r.validate(S,M)?E!==S&&E!==+S&&i.push(f("dynamic",a,g.concat(A,k),S,E)):i.push(f("value",a,g.concat(A,k),S))}else i.push(f("array",a,g.concat(A),y[A]));else for(A=0;A1&&p.push(f("object","layout"))),n.supplyDefaults(d);for(var m=d._fullData,g=l.length,y=0;yw?h.push({code:"unused",traceType:y,templateCount:b,dataCount:w}):w>b&&h.push({code:"reused",traceType:y,templateCount:b,dataCount:w})}}else h.push({code:"data"});if(function e(t,n){for(var i in t)if("_"!==i.charAt(0)){var a=t[i],o=p(t,i,n);r(a)?(Array.isArray(t)&&!1===a._template&&a.templateitemname&&h.push({code:"missing",path:o,templateitemname:a.templateitemname}),e(a,o)):Array.isArray(a)&&function(e){for(var t=0;t=0;h--){var f=e[h];if("scatter"===f.type&&f.xaxis===c.xaxis&&f.yaxis===c.yaxis){f.opacity=void 0;break}}}}}}}),iy=ed({"src/traces/scatter/layout_defaults.js"(e,t){var r=tQ(),n=rr();t.exports=function(e,t){var i,a,o="group"===t.barmode;"group"===t.scattermode&&(i="scattergap",a=o?t.bargap:.2,r.coerce(e,t,n,i,a))}}}),iv=ed({"src/plots/cartesian/align_period.js"(e,t){var r=eM(),n=tQ(),i=n.dateTime2ms,a=n.incrementMonth,o=eS().ONEAVGMONTH;t.exports=function(e,t,n,s){if("date"!==t.type)return{vals:s};var l=e[n+"periodalignment"];if(!l)return{vals:s};var c=e[n+"period"];if(r(c)){if((c=+c)<=0)return{vals:s}}else if("string"==typeof c&&"M"===c.charAt(0)){var u=+c.substring(1);if(!(u>0)||Math.round(u)!==u)return{vals:s};_=u}for(var h=t.calendar,f="start"===l,p="end"===l,d=i(e[n+"period0"],h)||0,m=[],g=[],y=[],v=s.length,x=0;xk;)T=a(T,-_,h);for(;T<=k;)T=a(T,_,h);w=a(T,-_,h)}else{for(b=Math.round((k-d)/c),T=d+b*c;T>k;)T-=c;for(;T<=k;)T+=c;w=T-c}m[x]=f?w:p?T:(w+T)/2,g[x]=w,y[x]=T}return{vals:m,starts:g,ends:y}}}}),ix=ed({"src/traces/scatter/colorscale_calc.js"(e,t){var r=rc().hasColorscale,n=rS(),i=rC();t.exports=function(e,t){i.hasLines(t)&&r(t,"line")&&n(e,t,{vals:t.line.color,containerStr:"line",cLetter:"c"}),i.hasMarkers(t)&&(r(t,"marker")&&n(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),r(t,"marker.line")&&n(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}}}),i_=ed({"src/traces/scatter/arrays_to_calcdata.js"(e,t){var r=tQ();t.exports=function(e,t){for(var n=0;nd&&I[y].gap;)y--;for(x=I[y].s,g=I.length-1;g>y;g--)I[g].s=x;for(;dh+c||!r(u))}for(var p=0;pi(e))):i(e.text);let a=e.outsidetextfont.size*u*r+c;return{ppadplus:t.some(e=>e.s<0)?a:0,ppadminus:t.some(e=>e.s>=0)?a:0}}return{ppadplus:void 0,ppadminus:void 0}}function _(e){return e._id.charAt(0)}t.exports={crossTraceCalc:function(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,o=e._fullData,s=e.calcdata,l=[],c=[],u=0;uS[s]&&s0?o:s)/(F._m*N*(F._m>0?o:s)))),a*=1e3}if(l===i){if(B&&(l=F.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function et(e,t,r,n){var i=r-e,a=n-t,o=.5-e,s=.5-t,l=i*i+a*a,c=i*o+a*s;if(c>0&&ceo||e[1]el)return[u(e[0],ea,eo),u(e[1],es,el)]}function eh(e,t){if(e[0]===t[0]&&(e[0]===ea||e[0]===eo)||e[1]===t[1]&&(e[1]===es||e[1]===el))return!0}function ef(e,t,r){return function(n,i){var a,o=eu(n),s=eu(i),c=[];if(o&&s&&eh(o,s))return c;o&&c.push(o),s&&c.push(s);var u=2*l.constrain((n[e]+i[e])/2,t,r)-((o||n)[e]+(s||i)[e]);return u&&(a=o&&s?u>0==o[e]>s[e]?o:s:o||s,a[e]+=u),c}}function ep(e){var t=e[0],r=e[1],n=t===K[Q-1][0],i=r===K[Q-1][1];if(!n||!i){if(Q>1){var a=t===K[Q-2][0],o=r===K[Q-2][1];n&&(t===ea||t===eo)&&a?o?Q--:K[Q-1]=e:i&&(r===es||r===el)&&o?a?Q--:K[Q-1]=e:K[Q++]=e}else K[Q++]=e}}function ed(e){K[Q-1][0]!==e[0]&&K[Q-1][1]!==e[1]&&ep([L,I]),ep(e),P=null,L=I=0}"linear"===Z||"spline"===Z?O=function(e,t){for(var r=[],n=0,i=0;i<4;i++){var a=ec[i],o=c(e[0],e[1],t[0],t[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&en(o,e)eo?eo:0,C=t[1]el?el:0,E||C){if(Q){if(P){var r,i,a,o=O(P,t);o.length>1&&(ed(o[0]),K[Q++]=o[1])}else z=O(K[Q-1],t)[0],K[Q++]=z}else K[Q++]=[E||t[0],C||t[1]];var s=K[Q-1];E&&C&&(s[0]!==E||s[1]!==C)?(P&&(L!==E&&I!==C?L&&I?ep((r=P,i=t[0]-r[0],a=(t[1]-r[1])/i,(r[1]*t[0]-t[1]*r[0])/i>0?[a>0?ea:eo,el]:[a>0?eo:ea,es])):ep([L||E,I||C]):L&&I&&ep([L,I])),ep([E,C])):L-E&&I-C&&ep([E||L,C||I]),P=t,L=E,I=C}else P&&ed(O(P,t)[0]),K[Q++]=t}for(n=0;ner(m,ey))break;f=m,(w=v[0]*y[0]+v[1]*y[1])>_?(_=w,p=m,g=!1):w=e.length||!m)break;eg(m),a=m}}P&&ep([L||P[0],I||P[1]]),X.push(K.slice(0,Q))}var ev=Z.slice(Z.length-1);if(V&&"h"!==ev&&"v"!==ev){for(var ex=!1,e_=-1,eb=[],ew=0;ew=0?l=p:(l=p=f,f++),l=u[0]&&e.x<=u[1]&&e.y>=h[0]&&e.y<=h[1]}),m=Math.ceil(d.length/p),g=0;o.forEach(function(e,r){var n=e[0].trace;l.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function v(e){return y?e.transition():e}var x=u.xaxis,_=u.yaxis,b=f[0].trace,w=b.line,T=r.select(d),k=a(T,"g","errorbars"),A=a(T,"g","lines"),M=a(T,"g","points"),S=a(T,"g","text");if(n.getComponentMethod("errorbars","plot")(e,k,u,m),!0===b.visible){v(T).style("opacity",b.opacity);var E=b.fill.charAt(b.fill.length-1);"x"!==E&&"y"!==E&&(E=""),"y"===E?(H=1,G=_.c2p(0,!0)):"x"===E&&(H=0,G=x.c2p(0,!0)),f[0][u.isRangePlot?"nodeRangePlot3":"node3"]=T;var C="",L=[],I=b._prevtrace,P=null,z=null;I&&(C=I._prevRevpath||"",q=I._nextFill,L=I._ownPolygons,P=I._fillsegments,z=I._fillElement);var O="",D="",R=[];b._polygons=[];var F=[],j=[],B=i.noop;if(V=b._ownFill,l.hasLines(b)||"none"!==b.fill){q&&q.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(Y=s.steps(w.shape),X=s.steps(w.shape.split("").reverse().join(""))):Y=X="spline"===w.shape?function(e){var t=e[e.length-1];return e.length>1&&e[0][0]===t[0]&&e[0][1]===t[1]?s.smoothclosed(e.slice(1),w.smoothing):s.smoothopen(e,w.smoothing)}:function(e){return"M"+e.join("L")},$=function(e){return X(e.reverse())},F=Array((j=c(f,{xaxis:x,yaxis:_,trace:b,connectGaps:b.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,backoff:w.backoff,simplify:w.simplify,fill:b.fill})).length);var N=0;for(U=0;U0,g=u(e,t,n);(h=i.selectAll("g.trace").data(g,function(e){return e[0].trace.uid})).enter().append("g").attr("class",function(e){return"trace scatter trace"+e[0].trace.uid}).style("stroke-miterlimit",2),h.order(),function(e,t,n){t.each(function(t){var i=a(r.select(this),"g","fills");s.setClipUrl(i,n.layerClipId,e);var l=t[0].trace;l._ownFill=null,l._nextFill=null;var c=[];l._ownfill&&c.push("_ownFill"),l._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,o);u.enter().append("g"),u.exit().remove(),u.order().each(function(e){l[e]=a(r.select(this),"path","js-fill")})})}(e,h,t),m?(c&&(p=c()),r.transition().duration(l.duration).ease(l.easing).each("end",function(){p&&p()}).each("interrupt",function(){p&&p()}).each(function(){i.selectAll("g.trace").each(function(r,n){f(e,n,t,r,g,this,l)})})):h.each(function(r,n){f(e,n,t,r,g,this,l)}),d&&h.exit().remove(),i.selectAll("path:not([d])").remove()}}}),iL=ed({"src/traces/scatter/marker_colorbar.js"(e,t){t.exports={container:"marker",min:"cmin",max:"cmax"}}}),iI=ed({"src/traces/scatter/format_labels.js"(e,t){var r=rB();t.exports=function(e,t,n){var i={},a={_fullLayout:n},o=r.getFromTrace(a,t,"x"),s=r.getFromTrace(a,t,"y"),l=e.orig_x;void 0===l&&(l=e.x);var c=e.orig_y;return void 0===c&&(c=e.y),i.xLabel=r.tickText(o,o.c2l(l),!0).text,i.yLabel=r.tickText(s,s.c2l(c),!0).text,i}}}),iP=ed({"src/traces/scatter/style.js"(e,t){var r=eb(),n=rO(),i=tO();function a(e,t,r){n.pointStyle(e.selectAll("path.point"),t,r)}function o(e,t,r){n.textPointStyle(e.selectAll("text"),t,r)}t.exports={style:function(e){var t=r.select(e).selectAll("g.trace.scatter");t.style("opacity",function(e){return e[0].trace.opacity}),t.selectAll("g.points").each(function(t){a(r.select(this),t.trace||t[0].trace,e)}),t.selectAll("g.text").each(function(t){o(r.select(this),t.trace||t[0].trace,e)}),t.selectAll("g.trace path.js-line").call(n.lineGroupStyle),t.selectAll("g.trace path.js-fill").call(n.fillGroupStyle,e,!1),i.getComponentMethod("errorbars","style")(t)},stylePoints:a,styleText:o,styleOnSelect:function(e,t,r){var i=t[0].trace;i.selectedpoints?(n.selectedPointStyle(r.selectAll("path.point"),i),n.selectedTextStyle(r.selectAll("text"),i)):(a(r,i,e),o(r,i,e))}}}}),iz=ed({"src/traces/scatter/get_trace_color.js"(e,t){var r=eZ(),n=rC();t.exports=function(e,t){if("lines"===e.mode)return(i=e.line.color)&&r.opacity(i)?i:e.fillcolor;if("none"===e.mode)return e.fill?e.fillcolor:"";var i,a,o=t.mcc||(e.marker||{}).color,s=t.mlcc||((e.marker||{}).line||{}).color;return(a=o&&r.opacity(o)?o:s&&r.opacity(s)&&(t.mlw||((e.marker||{}).line||{}).width)?s:"")?.3>r.opacity(a)?r.addOpacity(a,.3):a:(i=(e.line||{}).color)&&r.opacity(i)&&n.hasLines(e)&&e.line.width?i:e.fillcolor}}}),iO=ed({"src/traces/scatter/hover.js"(e,t){var r=tQ(),n=na(),i=tO(),a=iz(),o=eZ(),s=r.fillText;t.exports=function(e,t,l,c){var u=e.cd,h=u[0].trace,f=e.xa,p=e.ya,d=f.c2p(t),m=p.c2p(l),g=[d,m],y=h.hoveron||"",v=-1!==h.mode.indexOf("markers")?3:.5,x=!!h.xperiodalignment,_=!!h.yperiodalignment;if(-1!==y.indexOf("points")){var b=function(e){var t=Math.max(v,e.mrc||0),r=f.c2p(e.x)-d,n=p.c2p(e.y)-m;return Math.max(Math.sqrt(r*r+n*n)-t,1-v/t)},w=n.getDistanceFunction(c,function(e){if(x){var t=f.c2p(e.xStart),r=f.c2p(e.xEnd);return d>=Math.min(t,r)&&d<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(f.c2p(e.x)-d);return a=Math.min(t,r)&&m<=Math.max(t,r)?0:1/0}var n=Math.max(3,e.mrc||0),i=1-1/n,a=Math.abs(p.c2p(e.y)-m);return ar!=(c=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],c-l&&(h=Math.min(h,a=o+(s-o)*(r-l)/(c-l)),d=Math.max(d,a)));return{x0:h=Math.max(h,0),x1:d=Math.min(d,f._length),y0:r,y1:r}}(h._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var z=o.defaultLine;return o.opacity(h.fillcolor)?z=h.fillcolor:o.opacity((h.line||{}).color)&&(z=h.line.color),r.extendFlat(e,{distance:e.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:z,hovertemplate:!1}),delete e.index,h.text&&!r.isArrayOrTypedArray(h.text)?e.text=String(h.text):e.text=h.name,[e]}}}}),iD=ed({"src/traces/scatter/select.js"(e,t){var r=rC();t.exports=function(e,t){var n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[],h=s[0].trace;if(!r.hasMarkers(h)&&!r.hasText(h))return[];if(!1===t)for(n=0;n0&&(i["_"+r+"axes"]||{})[t]||(i[r+"axis"]||r)===t&&(a(i,r)||(i[r]||[]).length||i[r+"0"]))return i}}(t,s,l);if(c){if("histogram"===c.type&&l===({v:"y",h:"x"})[c.orientation||"v"]){e.type="linear";return}var u=l+"calendar",h=c[u],f={noMultiCategory:!r(c,"cartesian")||r(c,"noMultiCategory")};if("box"===c.type&&c._hasPreCompStats&&l===({h:"x",v:"y"})[c.orientation||"v"]&&(f.noMultiCategory=!0),f.autotypenumbers=e.autotypenumbers,a(c,l)){var p=i(c),d=[];for(o=0;o0||r(s);l&&(a="array");var c=n("categoryorder",a);"array"===c&&(o=n("categoryarray")),l||"array"!==c||(c=t.categoryorder="trace"),"trace"===c?t._initialCategories=[]:"array"===c?t._initialCategories=o.slice():(o=(function(e,t){var r,n,i,a=t.dataAttr||e._id.charAt(0),o={};if(t.axData)r=t.axData;else for(n=0,r=[];n=2){var l,c,u="";if(2===o.length){for(l=0;l<2;l++)if(c=_(o[l])){u=g;break}}var h=a("pattern",u);if(h===g)for(l=0;l<2;l++)(c=_(o[l]))&&(t.bounds[l]=o[l]=c-1);if(h)for(l=0;l<2;l++)switch(c=o[l],h){case g:if(!r(c)||(c=+c)!==Math.floor(c)||c<0||c>=7){t.enabled=!1;return}t.bounds[l]=o[l]=c;break;case y:if(!r(c)||(c=+c)<0||c>24){t.enabled=!1;return}t.bounds[l]=o[l]=c}if(!1===n.autorange){var f=n.range;if(f[0]f[1]){t.enabled=!1;return}}else if(o[0]>f[0]&&o[1]_[1]-1/4096&&(t.domain=s),n.noneOrAll(e.domain,t.domain,s),"sync"===t.tickmode&&(t.tickmode="auto")}return i("layer"),t}}}),iV=ed({"src/plots/cartesian/layout_defaults.js"(e,t){var r=tQ(),n=eZ(),i=rI().isUnifiedHover,a=nt(),o=t7(),s=tP(),l=rh(),c=iF(),u=iN(),h=nS(),f=iU(),p=re(),d=p.id2name,m=p.name2id,g=t9().AX_ID_PATTERN,y=tO(),v=y.traceIs,x=y.getComponentMethod;function _(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}t.exports=function(e,t,y){var b,w,T,k,A,M=t.autotypenumbers,S={},E={},C={},L={},I={},P={},z={},O={},D={},R={};for(F=0;F rect").call(a.setTranslate,0,0).call(a.setScale,1,1),e.plot.call(a.setTranslate,t._offset,r._offset).call(a.setScale,1,1);var n=e.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,e)}l&&(c=l());var m=r.ease(s.easing);return e._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(f),f=null,function(){for(var r={},i=0;is.duration?(function(){for(var r={},i=0;i1,m=t.mainplotinfo;if(!t.mainplot||d){if(p)t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.xaxislayer=u(n,"g","xaxislayer-above"),t.yaxislayer=u(n,"g","yaxislayer-above");else{if(!a){var g=u(n,"g","layer-subplot");t.shapelayer=u(g,"g","shapelayer"),t.imagelayer=u(g,"g","imagelayer"),m&&d?(t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer):(t.minorGridlayer=u(n,"g","minor-gridlayer"),t.gridlayer=u(n,"g","gridlayer"),t.zerolinelayer=u(n,"g","zerolinelayer"));var y=u(n,"g","layer-between");t.shapelayerBetween=u(y,"g","shapelayer"),t.imagelayerBetween=u(y,"g","imagelayer"),u(n,"path","xlines-below"),u(n,"path","ylines-below"),t.overlinesBelow=u(n,"g","overlines-below"),u(n,"g","xaxislayer-below"),u(n,"g","yaxislayer-below"),t.overaxesBelow=u(n,"g","overaxes-below")}t.overplot=u(n,"g","overplot"),t.plot=u(t.overplot,"g",i),m&&d?t.zerolinelayerAbove=m.zerolinelayerAbove:t.zerolinelayerAbove=u(n,"g","zerolinelayer-above"),a||(t.xlines=u(n,"path","xlines-above"),t.ylines=u(n,"path","ylines-above"),t.overlinesAbove=u(n,"g","overlines-above"),u(n,"g","xaxislayer-above"),u(n,"g","yaxislayer-above"),t.overaxesAbove=u(n,"g","overaxes-above"),t.xlines=n.select(".xlines-"+o),t.ylines=n.select(".ylines-"+c),t.xaxislayer=n.select(".xaxislayer-"+o),t.yaxislayer=n.select(".yaxislayer-"+c))}}else{var v=m.plotgroup,x=i+"-x",_=i+"-y";t.minorGridlayer=m.minorGridlayer,t.gridlayer=m.gridlayer,t.zerolinelayer=m.zerolinelayer,t.zerolinelayerAbove=m.zerolinelayerAbove,u(m.overlinesBelow,"path",x),u(m.overlinesBelow,"path",_),u(m.overaxesBelow,"g",x),u(m.overaxesBelow,"g",_),t.plot=u(m.overplot,"g",i),u(m.overlinesAbove,"path",x),u(m.overlinesAbove,"path",_),u(m.overaxesAbove,"g",x),u(m.overaxesAbove,"g",_),t.xlines=v.select(".overlines-"+o).select("."+x),t.ylines=v.select(".overlines-"+c).select("."+_),t.xaxislayer=v.select(".overaxes-"+o).select("."+x),t.yaxislayer=v.select(".overaxes-"+c).select("."+_)}a||(p||(h(t.minorGridlayer,"g",t.xaxis._id),h(t.minorGridlayer,"g",t.yaxis._id),t.minorGridlayer.selectAll("g").map(function(e){return e[0]}).sort(s.idSort),h(t.gridlayer,"g",t.xaxis._id),h(t.gridlayer,"g",t.yaxis._id),t.gridlayer.selectAll("g").map(function(e){return e[0]}).sort(s.idSort)),t.xlines.style("fill","none").classed("crisp",!0),t.ylines.style("fill","none").classed("crisp",!0))}function m(e,r){if(e){var n={};for(var i in e.each(function(e){var i=e[0];t.select(this).remove(),g(i,r),n[i]=!0}),r._plots)for(var a=r._plots[i].overlays||[],o=0;o0){var y=g.id;if(-1!==y.indexOf(f))continue;y+=f+(c+1),g=n.extendFlat({},g,{id:y,plot:a._cartesianlayer.selectAll(".subplot").select("."+y)})}for(var v=[],x=0;x1&&(w+=f+b),_.push(n+w),r=0;r=0,x=t.indexOf("end")>=0,_=d.backoff*g+a.standoff,b=m.backoff*y+a.startstandoff;if("line"===p.nodeName){c={x:+e.attr("x1"),y:+e.attr("y1")},u={x:+e.attr("x2"),y:+e.attr("y2")};var w=c.x-u.x,T=c.y-u.y;if(f=(h=Math.atan2(T,w))+Math.PI,_&&b&&_+b>Math.sqrt(w*w+T*T)){D();return}if(_){if(_*_>w*w+T*T){D();return}var k=_*Math.cos(h),A=_*Math.sin(h);u.x+=k,u.y+=A,e.attr({x2:u.x,y2:u.y})}if(b){if(b*b>w*w+T*T){D();return}var M=b*Math.cos(h),S=b*Math.sin(h);c.x-=M,c.y-=S,e.attr({x1:c.x,y1:c.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),C="";if(E<_+b){D();return}var L=p.getPointAtLength(0),I=p.getPointAtLength(.1);h=Math.atan2(L.y-I.y,L.x-I.x),c=p.getPointAtLength(Math.min(b,E)),C="0px,"+b+"px,";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);f=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-_));var O=C?b+_:_;C+=E-O+"px,"+E+"px",e.style("stroke-dasharray",C)}function D(){e.style("stroke-dasharray","0px,100px")}function R(t,i,c,u){t.path&&(t.noRotate&&(c=0),r.select(p.parentNode).append("path").attr({class:e.attr("class"),d:t.path,transform:l(i.x,i.y)+s(180*c/Math.PI)+o(u)}).style({fill:n.rgb(a.arrowcolor),"stroke-width":0}))}v&&R(m,c,h,y),x&&R(d,u,f,g)}}}),iW=ed({"src/components/annotations/draw.js"(e,t){var r=eb(),n=tO(),i=ra(),a=tQ(),o=a.strTranslate,s=rB(),l=eZ(),c=rO(),u=na(),h=rl(),f=rY(),p=rW(),d=t7().arrayEditor,m=iZ();function g(e,t){var r=e._fullLayout.annotations[t]||{},n=s.getFromId(e,r.xref),i=s.getFromId(e,r.yref);n&&n.setScale(),i&&i.setScale(),v(e,r,t,!1,n,i)}function y(e,t,r,n,i){var a=i[r],o=i[r+"ref"],l=-1!==r.indexOf("y"),c="domain"===s.getRefType(o),u=l?n.h:n.w;return e?c?a+(l?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(l?-t:t)/u}function v(e,t,i,g,v,x){var _,b,w=e._fullLayout,T=e._fullLayout._size,k=e._context.edits;g?(_="annotation-"+g,b=g+".annotations"):(_="annotation",b="annotations");var A=d(e.layout,b,t),M=A.modifyBase,S=A.modifyItem,E=A.getUpdateObj;w._infolayer.selectAll("."+_+'[data-index="'+i+'"]').remove();var C="clip"+w._uid+"_ann"+i;if(!t._input||!1===t.visible){r.selectAll("#"+C).remove();return}var L={x:{},y:{}},I=+t.textangle||0,P=w._infolayer.append("g").classed(_,!0).attr("data-index",String(i)).style("opacity",t.opacity),z=P.append("g").classed("annotation-text-g",!0),O=k[t.showarrow?"annotationTail":"annotationPosition"],D=t.captureevents||k.annotationText||O;function R(e){var r={index:i,annotation:t._input,fullAnnotation:t,event:e};return g&&(r.subplotId=g),r}var F=z.append("g").style("pointer-events",D?"all":null).call(f,"pointer").on("click",function(){e._dragging=!1,e.emit("plotly_clickannotation",R(r.event))});t.hovertext&&F.on("mouseover",function(){var r=t.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=e.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:t.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontShadow:n.fontShadow,fontLineposition:n.fontLineposition,fontTextcase:n.fontTextcase},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:e})}).on("mouseout",function(){u.loneUnhover(w._hoverlayer.node())});var j=t.borderwidth,B=j+t.borderpad,N=F.append("rect").attr("class","bg").style("stroke-width",j+"px").call(l.stroke,t.bordercolor).call(l.fill,t.bgcolor),U=t.width||t.height,V=w._topclips.selectAll("#"+C).data(U?[0]:[]);V.enter().append("clipPath").classed("annclip",!0).attr("id",C).append("rect"),V.exit().remove();var q=t.font,H=w._meta?a.templateString(t.text,w._meta):t.text,G=F.append("text").classed("annotation-text",!0).text(H);function Z(r){return r.call(c.font,q).attr({"text-anchor":{left:"start",right:"end"}[t.align]||"middle"}),h.convertToTspans(r,e,W),r}function W(){var r,i=G.selectAll("a");1===i.size()&&i.text()===G.text()&&F.insert("a",":first-child").attr({"xlink:xlink:href":i.attr("xlink:href"),"xlink:xlink:show":i.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(N.node());var u=F.select(".annotation-text-math-group"),d=!u.empty(),_=c.bBox((d?u:G).node()),b=_.width,A=_.height,D=t.width||b,q=t.height||A,H=Math.round(D+2*B),Z=Math.round(q+2*B);function W(e,t){return"auto"===t&&(t=e<1/3?"left":e>2/3?"right":"center"),({center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5})[t]}for(var Y=!1,X=["x","y"],$=0;$1)&&(ei===en?((ed=ea.r2fraction(t["a"+er]))<0||ed>1)&&(Y=!0):Y=!0),J=ea._offset+ea.r2p(t[er]),ee=.5}else{var em="domain"===ep;"x"===er?(Q=t[er],J=em?ea._offset+ea._length*Q:J=T.l+T.w*Q):(Q=1-t[er],J=em?ea._offset+ea._length*Q:J=T.t+T.h*Q),ee=t.showarrow?.5:Q}if(t.showarrow){ef.head=J;var eg=t["a"+er];if(et=es*W(.5,t.xanchor)-el*W(.5,t.yanchor),ei===en){var ey=s.getRefType(ei);"domain"===ey?("y"===er&&(eg=1-eg),ef.tail=ea._offset+ea._length*eg):"paper"===ey?"y"===er?(eg=1-eg,ef.tail=T.t+T.h*eg):ef.tail=T.l+T.w*eg:ef.tail=ea._offset+ea.r2p(eg),K=et}else ef.tail=J+eg,K=et+eg;ef.text=ef.tail+et;var ev=w["x"===er?"width":"height"];if("paper"===en&&(ef.head=a.constrain(ef.head,1,ev-1)),"pixel"===ei){var ex=-Math.max(ef.tail-3,ef.text),e_=Math.min(ef.tail+3,ef.text)-ev;ex>0?(ef.tail+=ex,ef.text+=ex):e_>0&&(ef.tail-=e_,ef.text-=e_)}ef.tail+=eh,ef.head+=eh}else K=et=ec*W(ee,eu),ef.text=J+et;ef.text+=eh,et+=eh,K+=eh,t["_"+er+"padplus"]=ec/2+K,t["_"+er+"padminus"]=ec/2-K,t["_"+er+"size"]=ec,t["_"+er+"shift"]=et}if(Y){F.remove();return}var eb=0,ew=0;if("left"!==t.align&&(eb=(D-b)*("center"===t.align?.5:1)),"top"!==t.valign&&(ew=(q-A)*("middle"===t.valign?.5:1)),d)u.select("svg").attr({x:B+eb-1,y:B+ew}).call(c.setClipUrl,U?C:null,e);else{var eT=B+ew-_.top,ek=B+eb-_.left;G.call(h.positionText,ek,eT).call(c.setClipUrl,U?C:null,e)}V.select("rect").call(c.setRect,B,B,D,q),N.call(c.setRect,j/2,j/2,H-j,Z-j),F.call(c.setTranslate,Math.round(L.x.text-H/2),Math.round(L.y.text-Z/2)),z.attr({transform:"rotate("+I+","+L.x.text+","+L.y.text+")"});var eA=function(r,i){P.selectAll(".annotation-arrow-g").remove();var s=L.x.head,u=L.y.head,h=L.x.tail+r,f=L.y.tail+i,d=L.x.text+r,_=L.y.text+i,b=a.rotationXYMatrix(I,d,_),w=a.apply2DTransform(b),A=a.apply2DTransform2(b),C=+N.attr("width"),O=+N.attr("height"),D=d-.5*C,R=D+C,j=_-.5*O,B=j+O,U=[[D,j,D,B],[D,B,R,B],[R,B,R,j],[R,j,D,j]].map(A);if(!U.reduce(function(e,t){return!!a.segmentsIntersect(s,u,s+1e6,u+1e6,t[0],t[1],t[2],t[3])^e},!1)){U.forEach(function(e){var t=a.segmentsIntersect(h,f,s,u,e[0],e[1],e[2],e[3]);t&&(h=t.x,f=t.y)});var V=t.arrowwidth,q=t.arrowcolor,H=t.arrowside,G=P.append("g").style({opacity:l.opacity(q)}).classed("annotation-arrow-g",!0),Z=G.append("path").attr("d","M"+h+","+f+"L"+s+","+u).style("stroke-width",V+"px").call(l.stroke,l.rgb(q));if(m(Z,H,t),k.annotationPosition&&Z.node().parentNode&&!g){var W,Y,X=s,$=u;if(t.standoff){var J=Math.sqrt(Math.pow(s-h,2)+Math.pow(u-f,2));X+=t.standoff*(h-s)/J,$+=t.standoff*(f-u)/J}var K=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-X)+","+(f-$),transform:o(X,$)}).style("stroke-width",V+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:K.node(),gd:e,prepFn:function(){var e=c.getTranslate(F);W=e.x,Y=e.y,v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(e,r){var n=w(W,Y),i=n[0]+e,a=n[1]+r;F.call(c.setTranslate,i,a),S("x",y(v,e,"x",T,t)),S("y",y(x,r,"y",T,t)),t.axref===t.xref&&S("ax",y(v,e,"ax",T,t)),t.ayref===t.yref&&S("ay",y(x,r,"ay",T,t)),G.attr("transform",o(e,r)),z.attr({transform:"rotate("+I+","+i+","+a+")"})},doneFn:function(){n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}}};t.showarrow&&eA(0,0),O&&p.init({element:F.node(),gd:e,prepFn:function(){r=z.attr("transform")},moveFn:function(e,n){var i,a,s="pointer";if(t.showarrow)t.axref===t.xref?S("ax",y(v,e,"ax",T,t)):S("ax",t.ax+e),t.ayref===t.yref?S("ay",y(x,n,"ay",T.w,t)):S("ay",t.ay+n),eA(e,n);else{if(g)return;if(v)i=y(v,e,"x",T,t);else{var l=t._xsize/T.w,c=t.x+(t._xshift-t.xshift)/T.w-l/2;i=p.align(c+e/T.w,l,0,1,t.xanchor)}if(x)a=y(x,n,"y",T,t);else{var u=t._ysize/T.h,h=t.y-(t._yshift+t.yshift)/T.h-u/2;a=p.align(h-n/T.h,u,0,1,t.yanchor)}S("x",i),S("y",a),v&&x||(s=p.getCursor(v?.5:i,x?.5:a,t.xanchor,t.yanchor))}z.attr({transform:o(e,n)+r}),f(F,s)},clickFn:function(r,n){t.captureevents&&e.emit("plotly_clickannotation",R(n))},doneFn:function(){f(F),n.call("_guiRelayout",e,E());var t=document.querySelector(".js-notes-box-panel");t&&t.redraw(t.selectedObj)}})}k.annotationText?G.call(h.makeEditable,{delegate:F,gd:e}).call(Z).on("edit",function(r){t.text=r,this.call(Z),S("text",r),v&&v.autorange&&M(v._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0),n.call("_guiRelayout",e,E())}):G.call(Z)}t.exports={draw:function(e){var t=e._fullLayout;t._infolayer.selectAll(".annotation").remove();for(var r=0;r0||r.explicitOff.length>0},onClick:function(e,t){var o,s,l=a(e,t),c=l.on,u=l.off.concat(l.explicitOff),h={},f=e._fullLayout.annotations;if(c.length||u.length){for(o=0;o1){c=!0;break}}c?e.fullLayout._infolayer.select(".annotation-"+e.id+'[data-index="'+s+'"]').remove():(l._pdata=n(e.glplot.cameraParams,[t.xaxis.r2l(l.x)*a[0],t.yaxis.r2l(l.y)*a[1],t.zaxis.r2l(l.z)*a[2]]),r(e.graphDiv,l,s,e.id,l._xa,l._ya))}}}}),i4=ed({"src/components/annotations3d/index.js"(e,t){var r=tO(),n=tQ();t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:i0()}}},layoutAttributes:i0(),handleDefaults:i1(),includeBasePlot:function(e,t){var i=r.subplotsRegistry.gl3d;if(i)for(var a=i.attrRegex,o=Object.keys(e),s=0;s{var l,g,y,v,x=a+"anchor",_="x"===a?f:p,b={_fullLayout:i};let w=e[a+"ref"];if(Array.isArray(w)&&w.length>0){let r=o.countDefiningCoords(u,c,a);v=n.coerceRefArray(e,t,b,a,void 0,"paper",r),t["_"+a+"refArray"]=!0}else v=n.coerceRef(e,t,b,a,void 0,"paper");if(Array.isArray(v))v.forEach(function(e){"range"===n.getRefType(e)&&(l=n.getFromId(b,e))&&-1===l._shapeIndices.indexOf(t._index)&&l._shapeIndices.push(t._index)}),h&&[0,1].forEach(function(i){let c=v[i];"range"===n.getRefType(c)?(l=n.getFromId(b,c),g=o.shapePositionToRange(l),y=o.rangeToShapePosition(l),("category"===l.type||"multicategory"===l.type)&&s(a+i+"shift")):g=y=r.identity;let u=a+i,h=e[u];if(e[u]=g(e[u],!0),"pixel"===_?s(u,m[i]):n.coercePosition(t,b,s,c,u,d[i]),t[u]=y(t[u]),e[u]=h,0===i&&"pixel"===_){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,b,s,c,x,.25),t[x]=y(t[x]),e[x]=r}});else{if("range"===n.getRefType(v)?((l=n.getFromId(b,v))._shapeIndices.push(t._index),y=o.rangeToShapePosition(l),g=o.shapePositionToRange(l),h&&("category"===l.type||"multicategory"===l.type)&&(s(a+"0shift"),s(a+"1shift"))):g=y=r.identity,h){let r=a+"0",i=a+"1",o=e[r],l=e[i];e[r]=g(e[r],!0),e[i]=g(e[i],!0),"pixel"===_?(s(r,0),s(i,10)):(n.coercePosition(t,b,s,v,r,.25),n.coercePosition(t,b,s,v,i,.75)),t[r]=y(t[r]),t[i]=y(t[i]),e[r]=o,e[i]=l}if("pixel"===_){let r=e[x];e[x]=g(e[x],!0),n.coercePosition(t,b,s,v,x,.25),t[x]=y(t[x]),e[x]=r}}}),h&&r.noneOrAll(e,t,["x0","x1","y0","y1"]);var g="line"===u;if(h&&(y=s("label.texttemplate"),s("label.texttemplatefallback")),y||(v=s("label.text")),v||y){s("label.textangle");var y,v,x=s("label.textposition",g?"middle":"middle center");s("label.xanchor"),s("label.yanchor",g?"bottom":-1!==x.indexOf("top")?"top":-1!==x.indexOf("bottom")?"bottom":"middle"),s("label.padding"),r.coerceFont(s,"label.font",i.font)}}t.exports=function(e,t){i(e,t,{name:"shapes",handleItemDefaults:s})}}}),i7=ed({"src/components/shapes/draw_newshape/defaults.js"(e,t){var r=eZ(),n=tQ();t.exports=function(e,t,i){if(i("newshape.visible"),i("newshape.name"),i("newshape.showlegend"),i("newshape.legend"),i("newshape.legendwidth"),i("newshape.legendgroup"),i("newshape.legendgrouptitle.text"),n.coerceFont(i,"newshape.legendgrouptitle.font"),i("newshape.legendrank"),i("newshape.drawdirection"),i("newshape.layer"),i("newshape.fillcolor"),i("newshape.fillrule"),i("newshape.opacity"),i("newshape.line.width")){var a=(e||{}).plot_bgcolor||"#FFF";i("newshape.line.color",r.contrast(a)),i("newshape.line.dash")}var o="drawline"===e.dragmode,s=i("newshape.label.text"),l=i("newshape.label.texttemplate");if(i("newshape.label.texttemplatefallback"),s||l){i("newshape.label.textangle");var c=i("newshape.label.textposition",o?"middle":"middle center");i("newshape.label.xanchor"),i("newshape.label.yanchor",o?"bottom":-1!==c.indexOf("top")?"top":-1!==c.indexOf("bottom")?"bottom":"middle"),i("newshape.label.padding"),n.coerceFont(i,"newshape.label.font",t.font)}i("activeshape.fillcolor"),i("activeshape.opacity")}}}),i9=ed({"src/components/shapes/calc_autorange.js"(e,t){var r=tQ(),n=rB(),i=nd(),a=nm();function o(e,t,r){let o=t[r+"ref"],s="x"===r?i.paramIsX:i.paramIsY;function l(e,t){"paper"!==e&&"domain"!==n.getRefType(e)&&(c[e]||(c[e]=[]),c[e].push(t))}let c={};if("path"===t.type&&t.path){let e=t.path.match(i.segmentRE)||[];for(var u=0,h=0;hr&&(l(o[u],n[r]),u++)}}else l(o[0],t[r+"0"]),l(o[1],t[r+"1"]);let f={};for(let t in c){let r=n.getFromId(e,t);if(r){var p="category"===r.type||"multicategory"===r.type?r.r2c:r.d2c;"date"===r.type&&(p=a.decodeDate(p)),f[r._id]=c[t].map(p)}}return f}function s(e){return c(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function l(e){return c(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function c(e,t,n,o,s,l){var c=e/2;if("pixel"!==t)return{ppad:c};var u=s?a.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[n,o],h=r.aggNums(Math.max,null,u),f=r.aggNums(Math.min,null,u),p=f<0?Math.abs(f)+c:c,d=h>0?h+c:c;return{ppad:c,ppadplus:l?p:d,ppadminus:l?d:p}}function u(e,t,r){var n,o,s,l,c,u,h="x"===e._id.charAt(0)?"x":"y",f="category"===e.type||"multicategory"===e.type,p=0,d=0,m=f?e.r2c:e.d2c;if("scaled"===t[h+"sizemode"]?(n=t[h+"0"],o=t[h+"1"],f&&(p=t[h+"0shift"],d=t[h+"1shift"])):(n=t[h+"anchor"],o=t[h+"anchor"]),void 0!==n)return[m(n)+p,m(o)+d];if(t.path){var g=1/0,y=-1/0,v=t.path.match(i.segmentRE);for("date"===e.type&&(m=a.decodeDate(m)),s=0;sy&&(y=u));if(y>=g)return[g,y]}}t.exports=function(e){var t=e._fullLayout,a=r.filterVisible(t.shapes);if(a.length&&e._fullData.length)for(var c=0;c{h=n.getFromId(e,t),p._extremes[h._id]=n.findExtremes(h,r,s(p))}):"paper"!==p.xref&&"domain"!==d&&(f=u(h=n.getFromId(e,p.xref),p,i.paramIsX))&&(p._extremes[h._id]=n.findExtremes(h,f,s(p))),"array"===m?Object.entries(o(e,p,"y")).forEach(([t,r])=>{h=n.getFromId(e,t),p._extremes[h._id]=n.findExtremes(h,r,l(p))}):"paper"!==p.yref&&"domain"!==m&&(f=u(h=n.getFromId(e,p.yref),p,i.paramIsY))&&(p._extremes[h._id]=n.findExtremes(h,f,l(p)))}}}}),ae=ed({"src/components/shapes/index.js"(e,t){var r=nv();t.exports={moduleType:"component",name:"shapes",layoutAttributes:i6(),supplyLayoutDefaults:i8(),supplyDrawNewShapeDefaults:i7(),includeBasePlot:nJ()("shapes"),calcAutorange:i9(),draw:r.draw,drawOne:r.drawOne}}}),at=ed({"src/components/images/attributes.js"(e,t){var r=t9(),n=t7().templatedArray;nq(),t.exports=n("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",r.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",r.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})}}),ar=ed({"src/components/images/defaults.js"(e,t){var r=tQ(),n=rB(),i=r_(),a=at();function o(e,t,i){function o(n,i){return r.coerce(e,t,a,n,i)}var s=o("source");if(!o("visible",!!s))return t;o("layer"),o("xanchor"),o("yanchor"),o("sizex"),o("sizey"),o("sizing"),o("opacity");for(var l={_fullLayout:i},c=["x","y"],u=0;u<2;u++){var h=c[u],f=n.coerceRef(e,t,l,h,"paper",void 0);"paper"!==f&&n.getFromId(l,f)._imgIndices.push(t._index),n.coercePosition(t,l,o,f,h,0)}return t}t.exports=function(e,t){i(e,t,{name:"images",handleItemDefaults:o})}}}),an=ed({"src/components/images/draw.js"(e,t){var r=eb(),n=rO(),i=rB(),a=re(),o=ro();t.exports=function(e){var t,s,l=e._fullLayout,c=[],u={},h=[];for(s=0;s0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),r.noneOrAll(e,t,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),r.coerceFont(o,"font",a.font),o("bgcolor",a.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function l(e,t){function n(n,i){return r.coerce(e,t,o,n,i)}n("visible","skip"===e.method||Array.isArray(e.args))&&(n("method"),n("args"),n("args2"),n("label"),n("execute"))}t.exports=function(e,t){n(e,t,{name:a,handleItemDefaults:s})}}}),ac=ed({"src/components/updatemenus/scrollbox.js"(e,t){t.exports=o;var r=eb(),n=eZ(),i=rO(),a=tQ();function o(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}o.barWidth=2,o.barLength=20,o.barRadius=2,o.barPad=1,o.barColor="#808BA4",o.prototype.enable=function(e,t,a){var s,l,c,u,h=this.gd._fullLayout,f=h.width,p=h.height;this.position=e;var d=this.position.l,m=this.position.w,g=this.position.t,y=this.position.h,v=this.position.direction,x="down"===v,_="left"===v,b="up"===v,w=m,T=y;x||_||"right"===v||b||(this.position.direction="down",x=!0),x||b?(l=(s=d)+w,x?T=(u=Math.min((c=g)+T,p))-c:(c=Math.max((u=g+T)-T,0),T=u-c)):(u=(c=g)+T,_?(s=Math.max((l=d+w)-w,0),w=l-s):w=(l=Math.min((s=d)+w,f))-s),this._box={l:s,t:c,w:w,h:T};var k=m>w,A=o.barLength+2*o.barPad,M=o.barWidth+2*o.barPad,S=g+y;S+M>p&&(S=p-M);var E=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);E.exit().on(".drag",null).remove(),E.enter().append("rect").classed("scrollbar-horizontal",!0).call(n.fill,o.barColor),k?(this.hbar=E.attr({rx:o.barRadius,ry:o.barRadius,x:d,y:S,width:A,height:M}),this._hbarXMin=d+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,L=o.barWidth+2*o.barPad,I=o.barLength+2*o.barPad,P=d+m;P+L>f&&(P=f-L);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(n.fill,o.barColor),C?(this.vbar=z.attr({rx:o.barRadius,ry:o.barRadius,x:P,y:g,width:L,height:I}),this._vbarYMin=g+I/2,this._vbarTranslateMax=T-I):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var O=this.id,D=s-.5,R=C?l+L+.5:l+.5,F=c-.5,j=k?u+M+.5:u+.5,B=h._topdefs.selectAll("#"+O).data(k||C?[0]:[]);if(B.exit().remove(),B.enter().append("clipPath").attr("id",O).append("rect"),k||C?(this._clipRect=B.select("rect").attr({x:Math.floor(D),y:Math.floor(F),width:Math.ceil(R)-Math.floor(D),height:Math.ceil(j)-Math.floor(F)}),this.container.call(i.setClipUrl,O,this.gd),this.bg.attr({x:d,y:g,width:m,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),k||C){var N=r.behavior.drag().on("dragstart",function(){r.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(N);var U=r.behavior.drag().on("dragstart",function(){r.event.sourceEvent.preventDefault(),r.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(U),C&&this.vbar.on(".drag",null).call(U)}this.setTranslate(t,a)},o.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},o.prototype._onBoxDrag=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e-=r.event.dx),this.vbar&&(t-=r.event.dy),this.setTranslate(e,t)},o.prototype._onBoxWheel=function(){var e=this.translateX,t=this.translateY;this.hbar&&(e+=r.event.deltaY),this.vbar&&(t+=r.event.deltaY),this.setTranslate(e,t)},o.prototype._onBarDrag=function(){var e=this.translateX,t=this.translateY;if(this.hbar){var n=e+this._hbarXMin,i=n+this._hbarTranslateMax;e=(a.constrain(r.event.x,n,i)-n)/(i-n)*(this.position.w-this._box.w)}if(this.vbar){var o=t+this._vbarYMin,s=o+this._vbarTranslateMax;t=(a.constrain(r.event.y,o,s)-o)/(s-o)*(this.position.h-this._box.h)}this.setTranslate(e,t)},o.prototype.setTranslate=function(e,t){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(e=a.constrain(e||0,0,r),t=a.constrain(t||0,0,n),this.translateX=e,this.translateY=t,this.container.call(i.setTranslate,this._box.l-this.position.l-e,this._box.t-this.position.t-t),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+e-.5),y:Math.floor(this.position.t+t-.5)}),this.hbar){var o=e/r;this.hbar.call(i.setTranslate,e+o*this._hbarTranslateMax,t)}if(this.vbar){var s=t/n;this.vbar.call(i.setTranslate,e,t+s*this._vbarTranslateMax)}}}}),au=ed({"src/components/updatemenus/draw.js"(e,t){var r=eb(),n=ra(),i=eZ(),a=rO(),o=tQ(),s=rl(),l=t7().arrayEditor,c=rs().LINE_SPACING,u=ao(),h=ac();function f(e){return e._index}function p(e,t){return+e.attr(u.menuIndexAttrName)===t._index}function d(e,t,r,n,i,a,o,s){t.active=o,l(e.layout,u.name,t).applyUpdate("active",o),"buttons"===t.type?g(e,n,null,null,t):"dropdown"!==t.type||(i.attr(u.menuIndexAttrName,"-1"),m(e,n,i,a,t),s||g(e,n,i,a,t))}function m(e,t,r,n,i){var s=o.ensureSingle(t,"g",u.headerClassName,function(e){e.style("pointer-events","all")}),l=i._dims,c=i.active,h=i.buttons[c]||u.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},d={width:l.headerWidth,height:l.headerHeight};s.call(y,i,h,e).call(k,i,f,d),o.ensureSingle(t,"text",u.headerArrowClassName,function(e){e.attr("text-anchor","end").call(a.font,i.font).text(u.arrowSymbol[i.direction])}).attr({x:l.headerWidth-u.arrowOffsetX+i.pad.l,y:l.headerHeight/2+u.textOffsetY+i.pad.t}),s.on("click",function(){r.call(A,String(p(r,i)?-1:i._index)),g(e,t,r,n,i)}),s.on("mouseover",function(){s.call(b)}),s.on("mouseout",function(){s.call(w,i)}),a.setTranslate(t,l.lx,l.ly)}function g(e,t,i,a,s){i||(i=t).attr("pointer-events","all");var l,c,h=-1==+i.attr(u.menuIndexAttrName)&&"buttons"!==s.type?[]:s.buttons,f="dropdown"===s.type?u.dropdownButtonClassName:u.buttonClassName,p=i.selectAll("g."+f).data(o.filterVisible(h)),m=p.enter().append("g").classed(f,!0),g=p.exit();"dropdown"===s.type?(m.attr("opacity","0").transition().attr("opacity","1"),g.transition().attr("opacity","0").remove()):g.remove();var v=0,x=0,T=s._dims,A=-1!==["up","down"].indexOf(s.direction);"dropdown"===s.type&&(A?x=T.headerHeight+u.gapButtonHeader:v=T.headerWidth+u.gapButtonHeader),"dropdown"===s.type&&"up"===s.direction&&(x=-u.gapButtonHeader+u.gapButton-T.openHeight),"dropdown"===s.type&&"left"===s.direction&&(v=-u.gapButtonHeader+u.gapButton-T.openWidth);var M={x:T.lx+v+s.pad.l,y:T.ly+x+s.pad.t,yPad:u.gapButton,xPad:u.gapButton,index:0},S={l:M.x+s.borderwidth,t:M.y+s.borderwidth};p.each(function(o,l){var c=r.select(this);c.call(y,s,o,e).call(k,s,M),c.on("click",function(){r.event.defaultPrevented||(o.execute&&(o.args2&&s.active===l?(d(e,s,o,t,i,a,-1),n.executeAPICommand(e,o.method,o.args2)):(d(e,s,o,t,i,a,l),n.executeAPICommand(e,o.method,o.args))),e.emit("plotly_buttonclicked",{menu:s,button:o,active:s.active}))}),c.on("mouseover",function(){c.call(b)}),c.on("mouseout",function(){c.call(w,s),p.call(_,s)})}),p.call(_,s),A?(S.w=Math.max(T.openWidth,T.headerWidth),S.h=M.y-S.t):(S.w=M.x-S.l,S.h=Math.max(T.openHeight,T.headerHeight)),S.direction=s.direction,a&&(p.size()?function(e,t,r,n,i,a){var o,s,l,c=i.direction,h=i._dims,f=i.active;if("up"===c||"down"===c)for(l=0,s=0;l0?[0]:[]);if(v.enter().append("g").classed(u.containerClassName,!0).style("cursor","pointer"),v.exit().each(function(){r.select(this).selectAll("g."+u.headerGroupClassName).each(l)}).remove(),0!==i.length){var x=v.selectAll("g."+u.headerGroupClassName).data(i,f);x.enter().append("g").classed(u.headerGroupClassName,!0);for(var _=o.ensureSingle(v,"g",u.dropdownButtonGroupClassName,function(e){e.style("pointer-events","all")}),b=0;b0&&(l=l.transition().duration(t.transition.duration).ease(t.transition.easing)),l.attr("transform",s(o-.5*u.gripWidth,t._dims.currentValueTotalHeight))}}function M(e,t){var r=e._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,t))}function S(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function E(e,t,r){var n=r._dims,s=o.ensureSingle(e,"rect",u.railTouchRectClass,function(n){n.call(T,t,e,r).style("pointer-events","all")});s.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),a.setTranslate(s,0,n.currentValueTotalHeight)}function C(e,t){var r=t._dims,n=r.inputAreaLength-2*u.railInset,s=o.ensureSingle(e,"rect",u.railRectClass);s.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,t.bordercolor).call(i.fill,t.bgcolor).style("stroke-width",t.borderwidth+"px"),a.setTranslate(s,u.railInset,(r.inputAreaWidth-u.railWidth)*.5+r.currentValueTotalHeight)}t.exports=function(e){var t=e._context.staticPlot,i=e._fullLayout,s=function(e,t){for(var r=e[u.name],n=[],i=0;i0?[0]:[]);function h(t){t._commandObserver&&(t._commandObserver.remove(),delete t._commandObserver),n.autoMargin(e,m(t))}if(c.enter().append("g").classed(u.containerClassName,!0).style("cursor",t?null:"ew-resize"),c.exit().each(function(){r.select(this).selectAll("g."+u.groupClassName).each(h)}).remove(),0!==s.length){var f=c.selectAll("g."+u.groupClassName).data(s,g);f.enter().append("g").classed(u.groupClassName,!0),f.exit().each(h).remove();for(var b=0;b0?e.touches[0].clientX:0}function g(e,t,r,n){var i=a.ensureSingle(e,"rect",d.bgClassName,function(e){e.attr({x:0,y:0,"shape-rendering":"crispEdges"})}),c=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,u=-n._offsetShift,h=s.crispRound(t,n.borderwidth);i.attr({width:n._width+c,height:n._height+c,transform:o(u,u),"stroke-width":h}).call(l.stroke,n.bordercolor).call(l.fill,n.bgcolor)}function y(e,t,r,n){var i=t._fullLayout;a.ensureSingleById(i._topdefs,"clipPath",n._clipId,function(e){e.append("rect").attr({x:0,y:0})}).select("rect").attr({width:n._width,height:n._height})}function v(e,t,n,o){var l,c=t.calcdata,f=e.selectAll("g."+d.rangePlotClassName).data(n._subplotsWith,a.identity);f.enter().append("g").attr("class",function(e){return d.rangePlotClassName+" "+e}).call(s.setClipUrl,o._clipId,t),f.order(),f.exit().remove(),f.each(function(e,a){var s=r.select(this),f=h.getFromId(t,e,"y"),p=f._name,d=o[p],m={data:[],layout:{xaxis:{type:n.type,domain:[0,1],range:o.range.slice(),calendar:n.calendar},width:o._width,height:o._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};n.rangebreaks&&(m.layout.xaxis.rangebreaks=n.rangebreaks),m.layout[p]={type:f.type,domain:[0,1],range:"match"!==d.rangemode?d.range.slice():f.range.slice(),calendar:f.calendar},f.rangebreaks&&(m.layout[p].rangebreaks=f.rangebreaks),i.supplyDefaults(m);var g=m._fullLayout.xaxis,y=m._fullLayout[p];g.clearCalc(),g.setScale(),y.clearCalc(),y.setScale();var v={id:e,plotgroup:s,xaxis:g,yaxis:y,isRangePlot:!0};0===a?l=v:(v.mainplot="xy",v.mainplotinfo=l),u.rangePlot(t,v,function(e,t){for(var r=[],n=0;n=n.max)t=j[r+1];else if(e=n.pmax)t=j[r+1];else if(ei._length||v+b<0)return;u=y+b,f=v+b;break;case l:if(_="col-resize",y+b>i._length)return;u=y+b,f=v;break;case c:if(_="col-resize",v+b<0)return;u=y,f=v+b;break;default:_="ew-resize",u=g,f=g+b}if(f0)){var m=function(e,t,r){for(var n=r.filter(function(r){return t[r].anchor===e._id}),i=0,a=0;a1)){delete t.grid;return}d||m||g||"independent"!==k("pattern")||(d=!0),v._hasSubplotGrid=d;var b=k("roworder"),w=d?.2:.1,T=d?.3:.1;y&&t._splomGridDflt&&(a=t._splomGridDflt.xside,u=t._splomGridDflt.yside),v._domains={x:c("x",k,w,a,_),y:c("y",k,T,u,x,"top to bottom"===b)}}function k(e,t){return r.coerce(h,v,s,e,t)}},contentDefaults:function(e,t){var r=t.grid;if(r&&r._domains){var n=e.grid||{},i=t._subplots,a=r._hasSubplotGrid,o=r.rows,s=r.columns,c="independent"===r.pattern,h=r._axisMap={};if(a){var f=n.subplots||[];M=r.subplots=Array(o);var p=1;for(b=0;b0,h=e._context.staticPlot;t.each(function(t){var f,p=t[0].trace,d=p.error_x||{},m=p.error_y||{};p.ids&&(f=function(e){return e.id});var g=a.hasMarkers(p)&&p.marker.maxdisplayed>0;m.visible||d.visible||(t=[]);var y=r.select(this).selectAll("g.errorbar").data(t,f);if(y.exit().remove(),t.length){d.visible||y.selectAll("path.xerror").remove(),m.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var v=y.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(y,o.layerClipId,e),y.each(function(e){var t,i,a=r.select(this),o=(t={x:l.c2p(e.x),y:c.c2p(e.y)},void 0===e.yh||(t.yh=c.c2p(e.yh),t.ys=c.c2p(e.ys),n(t.ys)||(t.noYS=!0,t.ys=c.c2p(e.ys,!0))),void 0===e.xh||(t.xh=l.c2p(e.xh),t.xs=l.c2p(e.xs),n(t.xs)||(t.noXS=!0,t.xs=l.c2p(e.xs,!0))),t);if(!g||e.vis){var f=a.select("path.yerror");if(m.visible&&n(o.x)&&n(o.yh)&&n(o.ys)){var p=m.width;i="M"+(o.x-p)+","+o.yh+"h"+2*p+"m-"+p+",0V"+o.ys,o.noYS||(i+="m-"+p+",0h"+2*p),f.size()?u&&(f=f.transition().duration(s.duration).ease(s.easing)):f=a.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("yerror",!0),f.attr("d",i)}else f.remove();var y=a.select("path.xerror");if(d.visible&&n(o.y)&&n(o.xh)&&n(o.xs)){var v=(d.copy_ystyle?m:d).width;i="M"+o.xh+","+(o.y-v)+"v"+2*v+"m0,-"+v+"H"+o.xs,o.noXS||(i+="m0,-"+v+"v"+2*v),y.size()?u&&(y=y.transition().duration(s.duration).ease(s.easing)):y=a.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("xerror",!0),y.attr("d",i)}else y.remove()}})}})}}}),aj=ed({"src/components/errorbars/style.js"(e,t){var r=eb(),n=eZ();t.exports=function(e){e.each(function(e){var t=e[0].trace,i=t.error_y||{},a=t.error_x||{},o=r.select(this);o.selectAll("path.yerror").style("stroke-width",i.thickness+"px").call(n.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(n.stroke,a.color)})}}}),aB=ed({"src/components/errorbars/index.js"(e,t){var r=tQ(),n=tk().overrideAll,i=az(),a={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i)};delete a.error_x.copy_zstyle,delete a.error_y.copy_zstyle,delete a.error_y.copy_ystyle;var o={error_x:r.extendFlat({},i),error_y:r.extendFlat({},i),error_z:r.extendFlat({},i)};delete o.error_x.copy_ystyle,delete o.error_y.copy_ystyle,delete o.error_z.copy_ystyle,delete o.error_z.copy_zstyle,t.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:a,bar:a,histogram:a,scatter3d:n(o,"calc","nested"),scattergl:n(a,"calc","nested")}},supplyDefaults:aO(),calc:aR(),makeComputeError:aD(),plot:aF(),style:aj(),hoverInfo:function(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}}}}),aN=ed({"src/components/colorbar/constants.js"(e,t){t.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}}}),aU=ed({"src/components/colorbar/draw.js"(e,t){var r=eb(),n=eF(),i=ra(),a=tO(),o=rB(),s=rW(),l=tQ(),c=l.strTranslate,u=ej().extendFlat,h=rY(),f=rO(),p=eZ(),d=rD(),m=rl(),g=rc().flipScale,y=iN(),v=iU(),x=rh(),_=rs(),b=_.LINE_SPACING,w=_.FROM_TL,T=_.FROM_BR,k=aN().cn;t.exports={draw:function(e){var t=e._fullLayout._infolayer.selectAll("g."+k.colorbar).data(function(e){var t,r,n,i,a=e._fullLayout,o=e.calcdata,s=[];function l(e){return u(e,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof i.calc?i.calc(e,n,t):(t._fillgradient=r.reversescale?g(r.colorscale):r.colorscale,t._zrange=[r[i.min],r[i.max]])}for(var h=0;h0?!(n>=l):!(n<=l));i++)n>u&&n0?!(n>=l):!(n<=l));i++)n>r[0]&&n1){var ed=Math.pow(10,Math.floor(Math.log(ep)/Math.LN10));eh*=ed*l.roundUp(ep/ed,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(ec.tick0=0)}ec.dtick=eh}ec.domain=h?[es+z/B.h,es+ee-z/B.h]:[es+P/B.w,es+ee-P/B.w],ec.setScale(),e.attr("transform",c(Math.round(B.l),Math.round(B.t)));var em=e.select("."+k.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),eg=ec.ticklabelposition,ey=ec.title.font.size,ev=e.select("."+k.cbaxis),ex=0,e_=0;function eb(r,n){var i={propContainer:ec,propName:t._propPrefix+"title.text",traceIndex:t._traceIndex,_meta:t._meta,placeholder:j._dfltTitle.colorbar,containerGroup:e.select("."+k.cbtitle)},o="h"===r.charAt(0)?r.slice(1):"h"+r;e.selectAll("."+o+",."+o+"-math-group").remove(),d.draw(a,r,u(i,n||{}))}return l.syncOrAsync([i.previousPromises,function(){if(h&&eu||!h&&!eu){var e,t;"top"===q&&(e=P+B.l+et*O,t=z+B.t+er*(1-es-ee)+3+.75*ey),"bottom"===q&&(e=P+B.l+et*O,t=z+B.t+er*(1-es)-3-.25*ey),"right"===q&&(t=z+B.t+er*D+3+.75*ey,e=P+B.l+et*es),eb(ec._id+"title",{attributes:{x:e,y:t,"text-anchor":h?"start":"middle"}})}},function(){if(!h&&!eu||h&&eu){var i,s=e.select("."+k.cbtitle),u=s.select("text"),p=[-S/2,S/2],d=s.select(".h"+ec._id+"title-math-group").node(),g=15.6;if(u.node()&&(g=parseInt(u.node().style.fontSize,10)*b),d?(e_=(i=f.bBox(d)).width,(ex=i.height)>g&&(p[1]-=(ex-g)/2)):u.node()&&!u.classed(k.jsPlaceholder)&&(e_=(i=f.bBox(u.node())).width,ex=i.height),h){if(ex){if(ex+=5,"top"===q)ec.domain[1]-=ex/B.h,p[1]*=-1;else{ec.domain[0]+=ex/B.h;var y=m.lineCount(u);p[1]+=(1-y)*g}s.attr("transform",c(p[0],p[1])),ec.setScale()}}else e_&&("right"===q&&(ec.domain[0]+=(e_+ey/2)/B.w),s.attr("transform",c(p[0],p[1])),ec.setScale())}e.selectAll("."+k.cbfills+",."+k.cblines).attr("transform",h?c(0,Math.round(B.h*(1-ec.domain[1]))):c(Math.round(B.w*ec.domain[0]),0)),ev.attr("transform",h?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var v=e.select("."+k.cbfills).selectAll("rect."+k.cbfill).attr("style","").data(X);v.enter().append("rect").classed(k.cbfill,!0).attr("style",""),v.exit().remove();var x=H.map(ec.c2p).map(Math.round).sort(function(e,t){return e-t});v.each(function(e,i){var o=[0===i?H[0]:(X[i]+X[i-1])/2,i===X.length-1?H[1]:(X[i]+X[i+1])/2].map(ec.c2p).map(Math.round);h&&(o[1]=l.constrain(o[1]+(o[1]>o[0])?1:-1,x[0],x[1]));var s=r.select(this).attr(h?"x":"y",en).attr(h?"y":"x",r.min(o)).attr(h?"width":"height",Math.max(J,2)).attr(h?"height":"width",Math.max(r.max(o)-r.min(o),2));if(t._fillgradient)f.gradient(s,a,t._id,h?"vertical":"horizontalreversed",t._fillgradient,"fill");else{var c=Z(e).replace("e-","");s.attr("fill",n(c).toHexString())}});var _=e.select("."+k.cblines).selectAll("path."+k.cbline).data(U.color&&U.width?$:[]);_.enter().append("path").classed(k.cbline,!0),_.exit().remove(),_.each(function(e){var t=Math.round(ec.c2p(e))+U.width/2%1;r.select(this).attr("d","M"+(h?en+","+t:t+","+en)+(h?"h":"v")+J).call(f.lineGroupStyle,U.width,G(e),U.dash)}),ev.selectAll("g."+ec._id+"tick,path").remove();var w=en+J+(S||0)/2-("outside"===t.ticks?1:0),T=o.calcTicks(ec),A=o.getTickSigns(ec)[2];return o.drawTicks(a,ec,{vals:"inside"===ec.ticks?o.clipEnds(ec,T):T,layer:ev,path:o.makeTickPath(ec,w,A),transFn:o.makeTransTickFn(ec)}),o.drawLabels(a,ec,{vals:T,layer:ev,transFn:o.makeTransTickLabelFn(ec),labelFns:o.makeLabelFns(ec,w)})},function(){if(h&&!eu||!h&&eu){var e,n,i=ec.position||0,o=ec._offset+ec._length/2;if("right"===q)n=o,e=B.l+et*i+10+ey*(ec.showticklabels?1:.5);else if(e=o,"bottom"===q&&(n=B.t+er*i+10+(-1===eg.indexOf("inside")?ec.tickfont.size:0)+("inside"!==ec.ticks&&t.ticklen||0)),"top"===q){var s=V.text.split("
").length;n=B.t+er*i+10-J-b*ey*s}eb((h?"h":"v")+ec._id+"title",{avoid:{selection:r.select(a).selectAll("g."+ec._id+"tick"),side:q,offsetTop:h?0:B.t,offsetLeft:h?B.l:0,maxShift:h?j.width:j.height},attributes:{x:e,y:n,"text-anchor":"middle"},transform:{rotate:h?-90:0,offset:0}})}},i.previousPromises,function(){var r=J+S/2;-1===eg.indexOf("inside")&&(m=f.bBox(ev.node()),r+=h?m.width:m.height),s=em.select("text");var o=0,l=h&&"top"===q,u=!h&&"right"===q,d=0;if(s.node()&&!s.classed(k.jsPlaceholder)){var m,y,v=em.select(".h"+ec._id+"title-math-group").node();v&&(h&&eu||!h&&!eu)?(o=(m=f.bBox(v)).width,y=m.height):(o=(m=f.bBox(em.node())).right-B.l-(h?en:el),y=m.bottom-B.t-(h?el:en),h||"top"!==q||(r+=m.height,d=m.height)),u&&(s.attr("transform",c(o/2+ey/2,0)),o*=2),r=Math.max(r,h?o:y)}var x=(h?P:z)*2+r+E+S/2,b=0;!h&&V.text&&"bottom"===I&&D<=0&&(b=x/2,x+=b,d+=b),j._hColorbarMoveTitle=b,j._hColorbarMoveCBTitle=d;var N=E+S,U=(h?en:el)-N/2-(h?P:0),H=(h?el:en)-(h?Q:z+d-b);e.select("."+k.cbbg).attr("x",U).attr("y",H).attr(h?"width":"height",Math.max(x-b,2)).attr(h?"height":"width",Math.max(Q+N,2)).call(p.fill,C).call(p.stroke,t.bordercolor).style("stroke-width",E);var G=u?Math.max(o-10,0):0;e.selectAll("."+k.cboutline).attr("x",(h?en:el+P)+G).attr("y",(h?el+z-Q:en)+(l?ex:0)).attr(h?"width":"height",Math.max(J,2)).attr(h?"height":"width",Math.max(Q-(h?2*z+ex:2*P+G),2)).call(p.stroke,t.outlinecolor).style({fill:"none","stroke-width":S});var Z=h?ei*x:0,W=h?0:(1-ea)*x-d;if(Z=F?B.l-Z:-Z,W=R?B.t-W:-W,e.attr("transform",c(Z,W)),!h&&(E||n(C).getAlpha()&&!n.equals(j.paper_bgcolor,C))){var Y=ev.selectAll("text"),X=Y[0].length,$=e.select("."+k.cbbg).node(),K=f.bBox($),ee=f.getTranslate(e);Y.each(function(e,t){var r=X-1;if(0===t||t===r){var n,i=f.bBox(this),a=f.getTranslate(this);if(t===r){var o=i.right+a.x;(n=K.right+ee.x+el-E-2+O-o)>0&&(n=0)}else if(0===t){var s=i.left+a.x;(n=K.left+ee.x+el+E+2-s)<0&&(n=0)}n&&(X<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var et={},er=w[L],eo=T[L],es=w[I],eh=T[I],ef=x-J;h?("pixels"===_?(et.y=D,et.t=Q*es,et.b=Q*eh):(et.t=et.b=0,et.yt=D+g*es,et.yb=D-g*eh),"pixels"===M?(et.x=O,et.l=x*er,et.r=x*eo):(et.l=ef*er,et.r=ef*eo,et.xl=O-A*er,et.xr=O+A*eo)):("pixels"===_?(et.x=O,et.l=Q*er,et.r=Q*eo):(et.l=et.r=0,et.xl=O+g*er,et.xr=O-g*eo),"pixels"===M?(et.y=1-D,et.t=x*es,et.b=x*eh):(et.t=ef*es,et.b=ef*eh,et.yt=D-A*es,et.yb=D+A*eh));var ep=t.y<.5?"b":"t",ed=t.x<.5?"l":"r";a._fullLayout._reservedMargin[t._id]={};var e_={r:j.width-U-Z,l:U+et.r,b:j.height-H-W,t:H+et.b};F&&R?i.autoMargin(a,t._id,et):F?a._fullLayout._reservedMargin[t._id][ep]=e_[ep]:R?a._fullLayout._reservedMargin[t._id][ed]=e_[ed]:h?a._fullLayout._reservedMargin[t._id][ed]=e_[ed]:a._fullLayout._reservedMargin[t._id][ep]=e_[ep]}],a)}(E,t,e);C&&C.then&&(e._promises||[]).push(C),e._context.edits.colorbarPosition&&(M="v"===t.orientation,S=e._fullLayout._size,s.init({element:E.node(),gd:e,prepFn:function(){g=E.attr("transform"),h(E)},moveFn:function(e,r){E.attr("transform",g+c(e,r)),_=s.align((M?t._uFrac:t._vFrac)+e/S.w,M?t._thickFrac:t._lenFrac,0,1,t.xanchor),A=s.align((M?t._vFrac:1-t._uFrac)-r/S.h,M?t._lenFrac:t._thickFrac,0,1,t.yanchor),h(E,s.getCursor(_,A,t.xanchor,t.yanchor))},doneFn:function(){if(h(E),void 0!==_&&void 0!==A){var r={};r[t._propPrefix+"x"]=_,r[t._propPrefix+"y"]=A,void 0!==t._traceIndex?a.call("_guiRestyle",e,r,t._traceIndex):a.call("_guiRelayout",e,r)}}}))}),t.exit().each(function(t){i.autoMargin(e,t._id)}).remove(),t.order()}}}}),aV=ed({"src/components/colorbar/index.js"(e,t){t.exports={moduleType:"component",name:"colorbar",attributes:rf(),supplyDefaults:rT(),draw:aU().draw,hasColorbar:rm()}}}),aq=ed({"src/components/legend/index.js"(e,t){t.exports={moduleType:"component",name:"legend",layoutAttributes:r$(),supplyLayoutDefaults:rK(),draw:r6(),style:r4()}}}),aH=ed({"src/locale-en.js"(e,t){t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}}}),aG=ed({"src/locale-en-us.js"(e,t){t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}}}),aZ=ed({"src/snapshot/cloneplot.js"(e,t){var r=tO(),n=tQ(),i=n.extendFlat,a=n.extendDeep;function o(e){var t;switch(e){case"themes__thumb":t={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":t={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}t.exports=function(e,t){var n,s=e.data,l=e.layout,c=a([],s),u=a({},l,o(t.tileClass)),h=e._context||{};if(t.width&&(u.width=t.width),t.height&&(u.height=t.height),"thumbnail"===t.tileClass||"themes__thumb"===t.tileClass){u.annotations=[];var f=Object.keys(u);for(n=0;n-1&&(u[f[n]].title={text:""});for(n=0;n=0)return e}else if("string"==typeof e&&"%"===(e=e.trim()).slice(-1)&&r(e.slice(0,-1))&&(e=+e.slice(0,-1))>=0)return e+"%"}function p(e,t,r,i,a,o){var s=!1!==(o=o||{}).moduleHasSelected,l=!1!==o.moduleHasUnselected,c=!1!==o.moduleHasConstrain,u=!1!==o.moduleHasCliponaxis,f=!1!==o.moduleHasTextangle,p=!1!==o.moduleHasInsideanchor,d=!!o.hasPathbar,m=Array.isArray(a)||"auto"===a,g=m||"inside"===a,y=m||"outside"===a;if(g||y){var v=h(i,"textfont",r.font),x=n.extendFlat({},v),_=!(e.textfont&&e.textfont.color);if(_&&delete x.color,h(i,"insidetextfont",x),d){var b=n.extendFlat({},v);_&&delete b.color,h(i,"pathbar.textfont",b)}y&&h(i,"outsidetextfont",v),s&&i("selected.textfont.color"),l&&i("unselected.textfont.color"),c&&i("constraintext"),u&&i("cliponaxis"),f&&i("textangle"),i("texttemplate"),i("texttemplatefallback")}g&&p&&i("insidetextanchor")}t.exports={supplyDefaults:function(e,t,r,c){function h(r,i){return n.coerce(e,t,u,r,i)}if(!o(e,t,c,h)){t.visible=!1;return}s(e,t,c,h),h("xhoverformat"),h("yhoverformat"),h("zorder"),h("orientation",t.x&&!t.y?"h":"v"),h("base"),h("offset"),h("width"),h("text"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback");var f=h("textposition");p(e,t,c,h,f,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(e,t,h,r,c);var d=(t.marker.line||{}).color,m=a.getComponentMethod("errorbars","supplyDefaults");m(e,t,d||i.defaultLine,{axis:"y"}),m(e,t,d||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(t,h)},crossTraceDefaults:function(e,t){var r,i;function a(e,t){return n.coerce(i._input,i,u,e,t)}for(var o=0;o0&&!f[y]&&(h=!0)),f[y]=!0,g.visible&&"histogram"===g.type&&"category"!==n.getFromId({_fullLayout:t},g["v"===g.orientation?"xaxis":"yaxis"]).type&&(u=!0)}}if(!c){delete t.barmode;return}"overlay"!==p&&l("barnorm"),l("bargap",u&&!h?0:.2),l("bargroupgap");var v=l("barcornerradius");t.barcornerradius=o(v)}}}),a2=ed({"src/traces/bar/arrays_to_calcdata.js"(e,t){var r=tQ();t.exports=function(e,t){for(var n=0;na))return r}return void 0!==n?n:e.dflt},e.coerceColor=function(e,t,n){return r(t).isValid()?t:void 0!==n?n:e.dflt},e.coerceEnumerated=function(e,t,r){return(e.coerceNumber&&(t=+t),-1!==e.values.indexOf(t))?t:void 0!==r?r:e.dflt},e.getValue=function(e,t){var r;return n(e)?t1||0===i.bargap&&0===i.bargroupgap&&!e[0].trace.marker.line.width)&&r.select(this).attr("shape-rendering","crispEdges")}),t.selectAll("g.points").each(function(t){p(r.select(this),t[0].trace,e)}),o.getComponentMethod("errorbars","style")(t)},styleTextPoints:d,styleOnSelect:function(e,t,n){var s=t[0].trace;s.selectedpoints?(i.selectedPointStyle(n.selectAll("path"),s),function(e,t,n){e.each(function(e){var o,s=r.select(this);if(e.selected){o=a.ensureUniformFontSize(n,m(s,e,t,n));var l=t.selected.textfont&&t.selected.textfont.color;l&&(o.color=l),i.font(s,o)}else i.selectedTextStyle(s,t)})}(n.selectAll("text"),s,e)):(p(n,s,e),o.getComponentMethod("errorbars","style")(n))},getInsideTextFont:y,getOutsideTextFont:v,getBarColor:_,resizeText:s}}}),a8=ed({"src/traces/bar/plot.js"(e,t){var r=eb(),n=eM(),i=tQ(),a=rl(),o=eZ(),s=rO(),l=tO(),c=rB().tickText,u=a5(),h=u.recordMinTextSize,f=u.clearMinTextSize,p=a6(),d=a4(),m=ik(),g=aJ(),y=g.text,v=g.textposition,x=rI().appendArrayPointValue,_=m.TEXTPAD;function b(e){return e.id}function w(e,t,r,n){var i;return!t.uniformtext.mode&&T(r)?(n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each("end",function(){i&&i()}).each("interrupt",function(){i&&i()})):e}function T(e){return e&&e.duration>0}function k(e,t,r,n,i){return!(e<0)&&!(t<0)&&(r<=e&&n<=t||r<=t&&n<=e||(i?e>=t/n*r:t>=e/r*n))}function A(e){return"auto"===e?0:e}function M(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function S(e,t,r,n,i,a){var o,s,l=!!a.isHorizontal,c=!!a.constrained,u=a.angle||0,h=a.anchor,f="end"===h,p="start"===h,d=((a.leftToRight||0)+1)/2,m=1-d,g=a.hasB,y=a.r,v=a.overhead,x=i.width,b=i.height,w=Math.abs(t-e),T=Math.abs(n-r),k=w>2*_&&T>2*_?_:0;w-=2*k,T-=2*k;var S=A(u);"auto"===u&&!(x<=w&&b<=T)&&(x>w||b>T)&&(!(x>T||b>w)||x_){var C,L,I,P,z,O,D,R,F=(z=Math.max(0,Math.abs(t-e)-2*_),O=Math.max(0,Math.abs(n-r)-2*_),D=y-_,R=v?D-Math.sqrt(D*D-(D-v)*(D-v)):D,E.y/E.x>=O/(z-(g?2*D:l?D-v:2*R))?I=O/E.y:E.y/E.x<=(O-(g?2*D:l?2*R:D-v))/z?I=z/E.x:!g&&l?(C=E.x*E.x+E.y*E.y/4,I=(-(L=-2*E.x*(z-D)-E.y*(O/2-D))+Math.sqrt(L*L-4*C*((z-D)*(z-D)+(O/2-D)*(O/2-D)-D*D)))/(2*C)):g?(C=(E.x*E.x+E.y*E.y)/4,I=(-(L=-E.x*(z/2-D)-E.y*(O/2-D))+Math.sqrt(L*L-4*C*((z/2-D)*(z/2-D)+(O/2-D)*(O/2-D)-D*D)))/(2*C)):(C=E.x*E.x/4+E.y*E.y,I=(-(L=-E.x*(z/2-D)-2*E.y*(O-D))+Math.sqrt(L*L-4*C*((z/2-D)*(z/2-D)+(O-D)*(O-D)-D*D)))/(2*C)),I=Math.min(1,I),P=l?Math.max(0,D-Math.sqrt(Math.max(0,D*D-(D-(O-E.y*I)/2)*(D-(O-E.y*I)/2)))-v):Math.max(0,D-Math.sqrt(Math.max(0,D*D-(D-(z-E.x*I)/2)*(D-(z-E.x*I)/2)))-v),{scale:I,pad:P});o=F.scale,s=F.pad}else o=1,c&&(o=Math.min(1,w/E.x,T/E.y)),s=0;var j=i.left*m+i.right*d,B=(i.top+i.bottom)/2,N=(e+_)*m+(t-_)*d,U=(r+n)/2,V=0,q=0;if(p||f){var H=(l?E.x:E.y)/2;y&&(f||g)&&(k+=s);var G=l?eo.opacity(z)||T>.01?J:function(e,t,r){return r&&e===t?e:Math.abs(e-t)>=2?J(e):e>t?Math.ceil(e):Math.floor(e)};e._context.staticPlot||(G=K(G,Z,B),Z=K(Z,G,B),W=K(W,Y,!B),Y=K(Y,W,!B));var Q=B?C.c2p:L.c2p;O=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var ee=R||D?function(e,t){if(!e)return 0;var r=B?Math.abs(Y-W):Math.abs(Z-G),n=B?Math.abs(Z-G):Math.abs(Y-W),i=K(Math.abs(Q(O,!0)-Q(0,!0))),a=u.hasB?Math.min(r/2,n/2):Math.min(r/2,i);return K(Math.max(Math.min("%"===t?Math.min(50,e)/100*r:e,a),0))}(m.cornerradiusvalue,m.cornerradiusform):0,et="M"+G+","+W+"V"+Y+"H"+Z+"V"+W+"Z",er=0;if(ee&&u.s){var en,ei,ea,eo,es,el,ec,eu=0==((es=u.s0)>0)-(es<0)||((el=u.s)>0)-(el<0)==((ec=u.s0)>0)-(ec<0)?u.s1:u.s0;if((er=K(u.hasB?0:Math.abs(Q(O,!0)-Q(eu,!0))))0?Math.sqrt(er*(2*ee-er)):0,eg=eh>0?Math.max:Math.min;U="M"+G+","+W+"V"+(Y-ed*ef)+"H"+eg(Z-(ee-er)*eh,G)+"A "+ee+","+ee+" 0 0 "+ep+" "+Z+","+(Y-ee*ef-em)+"V"+(W+ee*ef+em)+"A "+ee+","+ee+" 0 0 "+ep+" "+eg(Z-(ee-er)*eh,G)+","+(W+ed*ef)+"Z"}}else if(u.hasB)U="M"+(G+ee*eh)+","+W+"A "+ee+","+ee+" 0 0 "+ep+" "+G+","+(W+ee*ef)+"V"+(Y-ee*ef)+"A "+ee+","+ee+" 0 0 "+ep+" "+(G+ee*eh)+","+Y+"H"+(Z-ee*eh)+"A "+ee+","+ee+" 0 0 "+ep+" "+Z+","+(Y-ee*ef)+"V"+(W+ee*ef)+"A "+ee+","+ee+" 0 0 "+ep+" "+(Z-ee*eh)+","+W+"Z";else{var ey=(V=Math.abs(Y-W)+er)0?Math.sqrt(er*(2*ee-er)):0,ex=ef>0?Math.max:Math.min;U="M"+(G+ey*eh)+","+W+"V"+ex(Y-(ee-er)*ef,W)+"A "+ee+","+ee+" 0 0 "+ep+" "+(G+ee*eh-ev)+","+Y+"H"+(Z-ee*eh+ev)+"A "+ee+","+ee+" 0 0 "+ep+" "+(Z-ey*eh)+","+ex(Y-(ee-er)*ef,W)+"V"+W+"Z"}}else U=et}else U=et;var e_=w(i.ensureSingle(q,"path"),I,g,E);if(e_.style("vector-effect",P?"none":"non-scaling-stroke").attr("d",isNaN((Z-G)*(Y-W))||X&&e._context.staticPlot?"M0,0Z":U).call(s.setClipUrl,t.layerClipId,e),!I.uniformtext.mode&&N){var eb=s.makePointStyleFns(f);s.singlePointStyle(u,e_,f,eb,e)}(function(e,t,r,n,o,l,u,f,m,g,b,T,E){var C,L,I,P,z,O,D,R,F,j,B,N,U,V,q,H,G,Z,W,Y,X,$,J,K,Q=t.xaxis,ee=t.yaxis,et=e._fullLayout;function er(t,r,n){return i.ensureSingle(t,"text").text(r).attr({class:"bartext bartext-"+ew,"text-anchor":"middle","data-notex":1}).call(s.font,n).call(a.convertToTspans,e)}var en=n[0].trace,ei="h"===en.orientation,ea=(ex=(e_=n[0].trace).texttemplate?function(e,t,r,n,a){var o,s,l,u,h,f=t[0].trace,p=i.castOption(f,r,"texttemplate");if(!p)return"";var d="histogram"===f.type,m="waterfall"===f.type,g="funnel"===f.type,y="h"===f.orientation;function v(e){return c(h,h.c2l(e),!0).text}y?(s="y",l=a,u="x",h=n):(s="x",l=n,u="y",h=a);var _=t[r],b={};b.label=_.p,b.labelLabel=b[s+"Label"]=(o=_.p,c(l,l.c2l(o),!0).text);var w=i.castOption(f,_.i,"text");(0===w||w)&&(b.text=w),b.value=_.s,b.valueLabel=b[u+"Label"]=v(_.s);var T={};x(T,f,_.i),(d||void 0===T.x)&&(T.x=y?b.value:b.label),(d||void 0===T.y)&&(T.y=y?b.label:b.value),(d||void 0===T.xLabel)&&(T.xLabel=y?b.valueLabel:b.labelLabel),(d||void 0===T.yLabel)&&(T.yLabel=y?b.labelLabel:b.valueLabel),m&&(b.delta=+_.rawS||_.s,b.deltaLabel=v(b.delta),b.final=_.v,b.finalLabel=v(b.final),b.initial=b.final-b.delta,b.initialLabel=v(b.initial)),g&&(b.value=_.s,b.valueLabel=v(b.value),b.percentInitial=_.begR,b.percentInitialLabel=i.formatPercent(_.begR),b.percentPrevious=_.difR,b.percentPreviousLabel=i.formatPercent(_.difR),b.percentTotal=_.sumR,b.percenTotalLabel=i.formatPercent(_.sumR));var k=i.castOption(f,_.i,"customdata");return k&&(b.customdata=k),i.texttemplateString({data:[T,b,f._meta],fallback:f.texttemplatefallback,labels:b,locale:e._d3locale,template:p})}(et,n,o,Q,ee):e_.textinfo?function(e,t,r,n){var a,o=e[0].trace,s="h"===o.orientation,l="waterfall"===o.type,u="funnel"===o.type;function h(e){return c(s?r:n,+e,!0).text}var f=o.textinfo,p=e[t],d=f.split("+"),m=[],g=function(e){return -1!==d.indexOf(e)};if(g("label")&&m.push(c(s?n:r,e[t].p,!0).text),g("text")&&(0===(a=i.castOption(o,p.i,"text"))||a)&&m.push(a),l){var y=+p.rawS||p.s,v=p.v;g("initial")&&m.push(h(v-y)),g("delta")&&m.push(h(y)),g("final")&&m.push(h(v))}if(u){g("value")&&m.push(h(p.s));var x=0;g("percent initial")&&x++,g("percent previous")&&x++,g("percent total")&&x++;var _=x>1;g("percent initial")&&(a=i.formatPercent(p.begR),_&&(a+=" of initial"),m.push(a)),g("percent previous")&&(a=i.formatPercent(p.difR),_&&(a+=" of previous"),m.push(a)),g("percent total")&&(a=i.formatPercent(p.sumR),_&&(a+=" of total"),m.push(a))}return m.join("
")}(n,o,Q,ee):d.getValue(e_.text,o),d.coerceString(y,ex));eb=d.getValue(en.textposition,o),ew=d.coerceEnumerated(v,eb);var eo="stack"===T.mode||"relative"===T.mode,es=n[o],el=!eo||es._outmost,ec=es.hasB,eu=g&&g-b>_;if(!ea||"none"===ew||(es.isBlank||l===u||f===m)&&("auto"===ew||"inside"===ew)){r.select("text").remove();return}var eh=et.font,ef=p.getBarColor(n[o],en),ep=p.getInsideTextFont(en,o,eh,ef),ed=p.getOutsideTextFont(en,o,eh),em=en.insidetextanchor||"end",eg=r.datum();ei?"log"===Q.type&&eg.s0<=0&&(l=Q.range[0]0&&eM>0;eE=eu?ec?k(ey-2*g,ev,eA,eM,ei)||k(ey,ev-2*g,eA,eM,ei):ei?k(ey-(g-b),ev,eA,eM,ei)||k(ey,ev-2*(g-b),eA,eM,ei):k(ey,ev-(g-b),eA,eM,ei)||k(ey-2*(g-b),ev,eA,eM,ei):k(ey,ev,eA,eM,ei),eC&&eE?ew="inside":(ew="outside",eT.remove(),eT=null)}else ew="inside"}if(!eT){var eL=(eT=er(r,ea,eS=i.ensureUniformFontSize(e,"outside"===ew?ed:ep))).attr("transform");if(eT.attr("transform",""),eA=(ek=s.bBox(eT.node())).width,eM=ek.height,eT.attr("transform",eL),eA<=0||eM<=0){eT.remove();return}}var eI=en.textangle;(K="outside"===ew?(C=l,L=f,I=ek,O=!!(P={isHorizontal:ei,constrained:"both"===en.constraintext||"outside"===en.constraintext,angle:eI}).isHorizontal,D=!!P.constrained,R=P.angle||0,F=I.width,j=I.height,B=Math.abs(u-C),N=Math.abs(m-L),z=O?N>2*_?_:0:B>2*_?_:0,U=1,D&&(U=O?Math.min(1,N/j):Math.min(1,B/F)),q=M(I,V=A(R)),H=(O?q.x:q.y)/2,G=(I.left+I.right)/2,Z=(I.top+I.bottom)/2,W=(C+u)/2,Y=(L+m)/2,X=0,$=0,J=O?u0?t+=r:u<0&&(t-=r)}return t}function z(e){var t=u,n=e.b,i=P(e);return r.inbox(n-t,i-t,b+(i-t)/(i-n)-1)}var O=e[h+"a"],D=e[f+"a"];m=Math.abs(O.r2c(O.range[1])-O.r2c(O.range[0]));var R=r.getDistanceFunction(i,p,d,function(e){return(p(e)+d(e))/2});if(r.getClosest(g,R,e),!1!==e.index&&g[e.index].p!==l){x||T||(E=function(e){return Math.min(k(e),e.p-v.bargroupwidth/2)},C=function(e){return Math.max(A(e),e.p+v.bargroupwidth/2)});var F,j,B,N=g[e.index],U=y.base?N.b+N.s:N.s;e[f+"0"]=e[f+"1"]=D.c2p(N[f],!0),e[f+"LabelVal"]=U;var V=v.extents[v.extents.round(N.p)];e[h+"0"]=O.c2p(x?E(N):V[0],!0),e[h+"1"]=O.c2p(x?C(N):V[1],!0);var q=void 0!==N.orig_p;return e[h+"LabelVal"]=q?N.orig_p:N.p,e.labelLabel=s(O,e[h+"LabelVal"],y[h+"hoverformat"]),e.valueLabel=s(D,e[f+"LabelVal"],y[f+"hoverformat"]),e.baseLabel=s(D,N.b,y[f+"hoverformat"]),e.spikeDistance=(F=u,j=N.b,B=P(N),(r.inbox(j-F,B-F,w+(B-F)/(B-j)-1)+L(k(N),A(N),w))/2),e[h+"Spike"]=O.c2p(N.p,!0),a(N,y,e),e.hovertemplate=y.hovertemplate,e}}function u(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,a=o(e,t);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}t.exports={hoverPoints:function(e,t,r,i,a){var o=c(e,t,r,i,a);if(o){var s=o.cd,l=s[0].trace,h=s[o.index];return o.color=u(l,h),n.getComponentMethod("errorbars","hoverInfo")(h,l,o),[o]}},hoverOnBars:c,getTraceColor:u}}}),a9=ed({"src/traces/bar/event_data.js"(e,t){t.exports=function(e,t,r){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),"h"===r.orientation?(e.label=e.y,e.value=e.x):(e.label=e.x,e.value=e.y),e}}}),oe=ed({"src/traces/bar/select.js"(e,t){t.exports=function(e,t){var r,n=e.cd,i=e.xaxis,a=e.yaxis,o=n[0].trace,s="funnel"===o.type,l="h"===o.orientation,c=[];if(!1===t)for(r=0;r0?(T="v",k=g>0?Math.min(v,y):Math.min(y)):g>0?(T="h",k=Math.min(v)):k=0;if(!k){t.visible=!1;return}t._length=k;var S=i("orientation",T);t._hasPreCompStats?"v"===S&&0===g?(i("x0",0),i("dx",1)):"h"===S&&0===m&&(i("y0",0),i("dy",1)):"v"===S&&0===g?i("x0"):"h"===S&&0===m&&i("y0"),n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y"],a)}function u(e,t,n,i){var a=i.prefix,o=r.coerce2(e,t,l,"marker.outliercolor"),s=n("marker.line.outliercolor"),c="outliers";t._hasPreCompStats?c="all":(o||s)&&(c="suspectedoutliers");var u=n(a+"points",c);u?(n("jitter","all"===u?.3:0),n("pointpos","all"===u?-1.5:0),n("marker.symbol"),n("marker.opacity"),n("marker.size"),n("marker.angle"),n("marker.color",t.line.color),n("marker.line.color"),n("marker.line.width"),"suspectedoutliers"===u&&(n("marker.line.outliercolor",t.marker.color),n("marker.line.outlierwidth")),n("selected.marker.color"),n("unselected.marker.color"),n("selected.marker.size"),n("unselected.marker.size"),n("text"),n("hovertext")):delete t.marker;var h=n("hoveron");("all"===h||-1!==h.indexOf("points"))&&(n("hovertemplate"),n("hovertemplatefallback")),r.coerceSelectionMarkerOpacity(t,n)}t.exports={supplyDefaults:function(e,t,n,o){function s(n,i){return r.coerce(e,t,l,n,i)}if(c(e,t,s,o),!1!==t.visible){a(e,t,o,s),s("xhoverformat"),s("yhoverformat");var h,f=t._hasPreCompStats;f&&(s("lowerfence"),s("upperfence")),s("line.color",(e.marker||{}).color||n),s("line.width"),s("fillcolor",i.addOpacity(t.line.color,.5));var p=!1;if(f){var d=s("mean"),m=s("sd");d&&d.length&&(p=!0,m&&m.length&&(p="sd"))}s("whiskerwidth");var g=s("sizemode");"quartiles"===g&&(h=s("boxmean",p)),s("showwhiskers","quartiles"===g),("sd"===g||"sd"===h)&&s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(f){var v=s("notchspan");v&&v.length&&(y=!0)}else r.validate(e.notchwidth,l.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),u(e,t,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(e,t){var n,i;function a(e){return r.coerce(i._input,i,l,e)}for(var s=0;sB.uf};if(t._hasPreCompStats){var E=t[D],C=function(e){return O.d2c((t[e]||[])[P])},L=1/0,I=-1/0;for(P=0;P=B.q1&&B.q3>=B.med){var W=C("lowerfence");B.lf=W!==o&&W<=B.q1?W:f(B,U,V);var Y=C("upperfence");B.uf=Y!==o&&Y>=B.q3?Y:p(B,U,V);var X=C("mean");B.mean=X!==o?X:V?a.mean(U,V):(B.q1+B.q3)/2;var $=C("sd");B.sd=X!==o&&$>=0?$:V?a.stdev(U,V,B.mean):B.q3-B.q1,B.lo=d(B),B.uo=m(B);var J=C("notchspan");J=J!==o&&J>0?J:g(B,V),B.ln=B.med-J,B.un=B.med+J;var K=B.lf,Q=B.uf;t.boxpoints&&U.length&&(K=Math.min(K,U[0]),Q=Math.max(Q,U[V-1])),t.notched&&(K=Math.min(K,B.ln),Q=Math.max(Q,B.un)),B.min=K,B.max=Q}else a.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+B.q1,"median = "+B.med,"q3 = "+B.q3].join("\n")),G=B.med!==o?B.med:B.q1!==o?B.q3!==o?(B.q1+B.q3)/2:B.q1:B.q3!==o?B.q3:0,B.med=G,B.q1=B.q3=G,B.lf=B.uf=G,B.mean=B.sd=G,B.ln=B.un=G,B.min=B.max=G;L=Math.min(L,B.min),I=Math.max(I,B.max),B.pts2=N.filter(S),x.push(B)}}t._extremes[O._id]=n.findExtremes(O,[L,I],{padded:!0})}else{var ee,et,er=O.makeCalcdata(t,D),en=function(e,t){for(var r=e.length,n=Array(r+1),i=0;i=0&&eo0){(B={}).pos=B[F]=A[P],N=B.pts=ea[P].sort(u),V=(U=B[D]=N.map(h)).length,B.min=U[0],B.max=U[V-1],B.mean=a.mean(U,V),B.sd=a.stdev(U,V,B.mean)*t.sdmultiple,B.med=a.interp(U,.5),V%2&&(eu||eh)?(eu?(ee=U.slice(0,V/2),et=U.slice(V/2+1)):eh&&(ee=U.slice(0,V/2+1),et=U.slice(V/2)),B.q1=a.interp(ee,.5),B.q3=a.interp(et,.5)):(B.q1=a.interp(U,.25),B.q3=a.interp(U,.75)),B.lf=f(B,U,V),B.uf=p(B,U,V),B.lo=d(B),B.uo=m(B);var ef=g(B,V);B.ln=B.med-ef,B.un=B.med+ef,es=Math.min(es,B.ln),el=Math.max(el,B.un),B.pts2=N.filter(S),x.push(B)}t.notched&&a.isTypedArray(er)&&(er=Array.from(er)),t._extremes[O._id]=n.findExtremes(O,t.notched?er.concat([es,el]):er,{padded:!0})}return(function(e,t){if(a.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r0)?(x[0].t={num:l[_],dPos:M,posLetter:F,valLetter:D,labels:{med:s(e,"median:"),min:s(e,"min:"),q1:s(e,"q1:"),q3:s(e,"q3:"),max:s(e,"max:"),mean:"sd"===t.boxmean||"sd"===t.sizemode?s(e,"mean \xb1 σ:").replace("σ",1===t.sdmultiple?"σ":t.sdmultiple+"σ"):s(e,"mean:"),lf:s(e,"lower fence:"),uf:s(e,"upper fence:")}},l[_]++,x):[{t:{empty:!0}}]};var l={text:"tx",hovertext:"htx"};function c(e,t,r){for(var n in l)a.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?a.isArrayOrTypedArray(t[n][r[0]])&&(e[l[n]]=t[n][r[0]][r[1]]):e[l[n]]=t[n][r])}function u(e,t){return e.v-t.v}function h(e){return e.v}function f(e,t,r){return 0===r?e.q1:Math.min(e.q1,t[Math.min(a.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function p(e,t,r){return 0===r?e.q3:Math.max(e.q3,t[Math.max(a.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function d(e){return 4*e.q1-3*e.q3}function m(e){return 4*e.q3-3*e.q1}function g(e,t){return 0===t?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}}}),ol=ed({"src/traces/box/cross_trace_calc.js"(e,t){var r=rB(),n=tQ(),i=nS().getAxisGroup,a=["v","h"];function o(e,t,a,o){var s=t.calcdata,l=t._fullLayout,c=o._id,u=c.charAt(0),h=[],f=0;for(x=0;x1,y=1-l[e+"gap"],v=1-l[e+"groupgap"];for(x=0;x0;if("positive"===F?(M=w*(R?1:.5),E=V,S=E=k):"negative"===F?(M=E=k,S=w*(R?1:.5),C=V):(M=S=w,E=C=V),H){var G=O.pointpos,Z=O.jitter,W=O.marker.size/2,Y=0;G+Z>=0&&((Y=V*(G+Z))>M?(q=!0,P=W,L=Y):Y>E&&(P=W,L=M)),Y<=M&&(L=M);var X=0;G-Z<=0&&((X=-V*(G-Z))>S?(q=!0,z=W,I=X):X>C&&(z=W,I=S)),X<=S&&(I=S)}else L=M,I=S;var $=Array(b.length);for(_=0;_e.lo&&(x.so=!0)}return a});f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(i.translatePoints,o,s)}function s(e,t,i,a){var o,s,l=t.val,c=t.pos,u=!!c.rangebreaks,h=a.bPos,f=a.bPosPxOffset||0,p=i.boxmean||(i.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=e.selectAll("path.mean").data("box"===i.type&&i.boxmean||"violin"===i.type&&i.box.visible&&i.meanline.visible?n.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each(function(e){var t=c.c2l(e.pos+h,!0),n=c.l2p(t-o)+f,a=c.l2p(t+s)+f,d=u?(n+a)/2:c.l2p(t)+f,m=l.c2p(e.mean,!0),g=l.c2p(e.mean-e.sd,!0),y=l.c2p(e.mean+e.sd,!0);"h"===i.orientation?r.select(this).attr("d","M"+m+","+n+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+m+","+n+"L"+y+","+d+"Z":"")):r.select(this).attr("d","M"+n+","+m+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+n+","+m+"L"+d+","+y+"Z":""))})}t.exports={plot:function(e,t,i,l){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis;n.makeTraceGroups(l,i,"trace boxes").each(function(e){var t,n,i=r.select(this),l=e[0],f=l.t,p=l.trace;if(f.wdPos=f.bdPos*p.whiskerwidth,!0!==p.visible||f.empty){i.remove();return}"h"===p.orientation?(t=h,n=u):(t=u,n=h),a(i,{pos:t,val:n},p,f,c),o(i,{x:u,y:h},p,f),s(i,{pos:t,val:n},p,f)})},plotBoxAndWhiskers:a,plotPoints:o,plotBoxMean:s}}}),ou=ed({"src/traces/box/style.js"(e,t){var r=eb(),n=eZ(),i=rO();t.exports={style:function(e,t,a){var o=a||r.select(e).selectAll("g.trace.boxes");o.style("opacity",function(e){return e[0].trace.opacity}),o.each(function(t){var a=r.select(this),o=t[0].trace,s=o.line.width;function l(e,t,r,i){e.style("stroke-width",t+"px").call(n.stroke,r).call(n.fill,i)}var c=a.selectAll("path.box");if("candlestick"===o.type)c.each(function(e){if(!e.empty){var t=r.select(this),n=o[e.dir];l(t,n.line.width,n.line.color,n.fillcolor),t.style("opacity",o.selectedpoints&&!e.selected?.3:1)}});else{l(c,s,o.line.color,o.fillcolor),a.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(n.stroke,o.line.color);var u=a.selectAll("path.point");i.pointStyle(u,o,e)}})},styleOnSelect:function(e,t,r){var n=t[0].trace,a=r.selectAll("path.point");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,e)}}}}),oh=ed({"src/traces/box/hover.js"(e,t){var r=rB(),n=tQ(),i=na(),a=eZ(),o=n.fillText;function s(e,t,o,s){var l,c,u,h,f,p,d,m,g,y,v,x,_,b,w=e.cd,T=e.xa,k=e.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=M.bdPos,C=M.wHover,L=function(e){return u.c2l(e.pos)+M.bPos-u.c2l(p)};S&&"both"!==A.side?("positive"===A.side&&(g=function(e){var t=L(e);return i.inbox(t,t+C,y)},x=E,_=0),"negative"===A.side&&(g=function(e){var t=L(e);return i.inbox(t-C,t,y)},x=0,_=E)):(g=function(e){var t=L(e);return i.inbox(t-C,t+C,y)},x=_=E),b=S?function(e){return i.inbox(e.span[0]-f,e.span[1]-f,y)}:function(e){return i.inbox(e.min-f,e.max-f,y)},"h"===A.orientation?(f=t,p=o,d=b,m=g,l="y",u=k,c="x",h=T):(f=o,p=t,d=g,m=b,l="x",u=T,c="y",h=k);var I=Math.min(1,E/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function P(e){return(d(e)+m(e))/2}y=e.maxHoverDistance-I,v=e.maxSpikeDistance-I;var z=i.getDistanceFunction(s,d,m,P);if(i.getClosest(w,z,e),!1===e.index)return[];var O=w[e.index],D=A.line.color,R=(A.marker||{}).color;a.opacity(D)&&A.line.width?e.color=D:a.opacity(R)&&A.boxpoints?e.color=R:e.color=A.fillcolor,e[l+"0"]=u.c2p(O.pos+M.bPos-_,!0),e[l+"1"]=u.c2p(O.pos+M.bPos+x,!0),e[l+"LabelVal"]=void 0!==O.orig_p?O.orig_p:O.pos;var F=l+"Spike";e.spikeDistance=P(O)*v/y,e[F]=u.c2p(O.pos,!0);var j=A.boxmean||"sd"===A.sizemode||(A.meanline||{}).visible,B=A.boxpoints||A.points,N=B&&j?["max","uf","q3","med","mean","q1","lf","min"]:B&&!j?["max","uf","q3","med","q1","lf","min"]:!B&&j?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],U=h.range[1]0&&(a=!0);for(var l=0;la){var o=a-n[e];return n[e]=a,o}}return 0},max:function(e,t,n,i){var a=i[t];if(r(a)){if(a=Number(a),!r(n[e]))return n[e]=a,a;if(n[e]a){var l=f(t,o,s),c=f(r,o,s),u=e===n?0:1;return l[u]!==c[u]}return Math.floor(r/e)-Math.floor(t/e)>.1}(c,e,t,o,r,i))s=c;else break}return s}function h(e,t){return t&&e>l?e>a?e>1.1*n?n:e>1.1*i?i:a:e>o?o:e>s?s:l:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function f(e,t,r){var i=t.c2d(e,n,r).split("-");return""===i[0]&&(i.unshift(),i[0]="-"+i[0]),i}t.exports=function(e,t,r,i,o){var s,l,h=-1.1*t,f=-.1*t,p=e-f,d=r[0],m=r[1],g=Math.min(u(d+f,d+p,i,o),u(m+f,m+p,i,o)),y=Math.min(u(d+h,d+f,i,o),u(m+h,m+f,i,o));if(g>y&&ya){var v=s===n?1:6,x=s===n?"M12":"M1";return function(t,r){var a=i.c2d(t,n,o),s=a.indexOf("-",v);s>0&&(a=a.slice(0,s));var u=i.d2c(a,0,o);if(uo.r2l(F)&&(B=a.tickIncrement(B,_.size,!0,f)),z.start=o.l2r(B),R||n.nestedProperty(t,y+".start").set(z.start)}var N=_.end,U=o.r2l(P.end),V=void 0!==U;if((_.endFound||V)&&U!==o.r2l(N)){var q=V?U:n.aggNums(Math.max,null,d);z.end=o.l2r(q),V||n.nestedProperty(t,y+".start").set(z.end)}var H="autobin"+s;return!1===t._input[H]&&(t._input[y]=n.extendFlat({},t[y]||{}),delete t._input[H],delete t[H]),[z,d]}t.exports={calc:function(e,t){var i,d,m,g,y,v,x=[],_=[],b="h"===t.orientation,w=a.getFromId(e,b?t.yaxis:t.xaxis),T=b?"y":"x",k={x:"y",y:"x"}[T],A=t[T+"calendar"],M=t.cumulative,S=p(e,t,w,T),E=S[0],C=S[1],L="string"==typeof E.size,I=[],P=L?I:E,z=[],O=[],D=[],R=0,F=t.histnorm,j=t.histfunc,B=-1!==F.indexOf("density");M.enabled&&B&&(F=F.replace(/ ?density$/,""),B=!1);var N="max"===j||"min"===j?null:0,U=c.count,V=u[F],q=!1,H=function(e){return w.r2c(e,0,A)};for(n.isArrayOrTypedArray(t[k])&&"count"!==j&&(y=t[k],q="avg"===j,U=c[j]),i=H(E.start),m=H(E.end)+(i-a.tickIncrement(i,E.size,!1,A))/1e6;i=0&&g=0;n--)s(n)}else if("increasing"===t){for(n=1;n=0;n--)e[n]+=e[n+1];"exclude"===r&&(e.push(0),e.shift())}}(_,M.direction,M.currentbin);var Q=Math.min(x.length,_.length),ee=[],et=0,er=Q-1;for(i=0;i=et;i--)if(_[i]){er=i;break}for(i=et;i<=er;i++)if(r(x[i])&&r(_[i])){var en={p:x[i],s:_[i],b:0};M.enabled||(en.pts=D[i],Y?en.ph0=en.ph1=D[i].length?C[D[i][0]]:x[i]:(t._computePh=!0,en.ph0=v(I[i]),en.ph1=v(I[i+1],!0))),ee.push(en)}return 1===ee.length&&(ee[0].width1=a.tickIncrement(ee[0].p,E.size,!1,A)-ee[0].p),o(t,"marker")&&s(e,t,{vals:t.marker.color,containerStr:"marker",cLetter:"c"}),o(t,"marker.line")&&s(e,t,{vals:t.marker.line.color,containerStr:"marker.line",cLetter:"c"}),l(ee,t),n.isArrayOrTypedArray(t.selectedpoints)&&n.tagSelected(ee,t,J),ee},calcAllAutoBins:p}}}),oM=ed({"src/traces/histogram2d/calc.js"(e,t){var r=tQ(),n=rB(),i=ob(),a=ow(),o=oT(),s=ok(),l=oA().calcAllAutoBins;function c(e,t,r,n){var i,a=Array(e);if(n)for(i=0;iC&&A.splice(C,A.length-C),E.length>C&&E.splice(C,E.length-C);var L=[],I=[],P=[],z="string"==typeof k.size,O="string"==typeof S.size,D=[],R=[],F=z?D:k,j=O?R:S,B=0,N=[],U=[],V=t.histnorm,q=t.histfunc,H=-1!==V.indexOf("density"),G="max"===q||"min"===q?null:0,Z=i.count,W=a[V],Y=!1,X=[],$=[],J="z"in t?t.z:"marker"in t&&Array.isArray(t.marker.color)?t.marker.color:"";J&&"count"!==q&&(Y="avg"===q,Z=i[q]);var K=k.size,Q=b(k.start),ee=b(k.end)+(Q-n.tickIncrement(Q,K,!1,x))/1e6;for(p=Q;p=0&&m=0&&gm&&(y=Math.max(y,Math.abs(e[a][o]-d)/(g-m))))}return y}t.exports=function(e,t){var n,a=1;for(i(e,t),n=0;n.01;n++)a=i(e,t,.5-.25*Math.min(1,.5*a));return a>.01&&r.log("interp2d didn't converge quickly",a),e}}}),oL=ed({"src/traces/heatmap/find_empties.js"(e,t){var r=tQ().maxRowLength;t.exports=function(e){var t,n,i,a,o,s,l,c,u=[],h={},f=[],p=e[0],d=[],m=[0,0,0],g=r(e);for(n=0;n=0;o--)(s=((h[[(n=(a=f[o])[0])-1,i=a[1]]]||m)[2]+(h[[n+1,i]]||m)[2]+(h[[n,i-1]]||m)[2]+(h[[n,i+1]]||m)[2])/20)&&(l[a]=[n,i,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)h[a]=l[a],u.push(l[a])}return u.sort(function(e,t){return t[2]-e[2]})}}}),oI=ed({"src/traces/heatmap/make_bound_array.js"(e,t){var r=tO(),n=tQ().isArrayOrTypedArray;t.exports=function(e,t,i,a,o,s){var l=[],c=r.traceIs(e,"contour"),u=r.traceIs(e,"histogram");if(n(t)&&t.length>1&&!u&&"category"!==s.type){var h=t.length;if(!(h<=o))return c?t.slice(0,o):t.slice(0,o+1);if(c)l=Array.from(t).slice(0,o);else if(1===o)l="log"===s.type?[.5*t[0],2*t[0]]:[t[0]-.5,t[0]+.5];else if("log"===s.type){for(d=1,l=[Math.pow(t[0],1.5)/Math.pow(t[1],.5)];d1){var t=(e[e.length-1]-e[0])/(e.length-1),r=Math.abs(t/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(e,t,r){for(var n=[],i=-1,a=0;a0;)ea=A.c2p(I[ec]),ec--;for(ea0;)el=M.c2p(P[ec]),ec--;el=A._length||ea<=0||es>=M._length||el<=0){T.selectAll("image").data([]).exit().remove(),x(T);return}"fast"===U?(ef=j,ep=F):(ef=q,ep=H);var G=document.createElement("canvas");G.width=ef,G.height=ep;var Z=G.getContext("2d",{willReadFrequently:!0}),W=f(S,{noNumericCheck:!0,returnArray:!0});"fast"===U?(ed=B?function(e){return j-1-e}:s.identity,em=N?function(e){return F-1-e}:s.identity):(ed=function(e){return s.constrain(Math.round(A.c2p(I[e])-ei),0,q)},em=function(e){return s.constrain(Math.round(M.c2p(P[e])-es),0,H)});var Y=em(0),X=[Y,Y],$=B?0:1,J=N?0:1,K=0,Q=0,ee=0,et=0;function er(e,t){if(void 0!==e){var r=W(e);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),K+=t,Q+=r[0]*t,ee+=r[1]*t,et+=r[2]*t,r}return[0,0,0,0]}if("default"!==U){var en=0;try{e_=new Uint8Array(ef*ep*4)}catch(e){e_=Array(ef*ep*4)}if("smooth"===U){var ei,ea,eo,es,el,ec,eu,eh,ef,ep,ed,em,eg,ey,ev,ex,e_,eb,ew,eT,ek=z||I,eA=O||P,eM=Array(ek.length),eS=Array(eA.length),eE=Array(q),eC=z?b:_,eL=O?b:_;for(ec=0;eceY)&&!(eY>M._length))for(eu=eG;eueJ)&&!(eJ>A._length)){var eK=c({x:e$,y:eX},S,e._fullLayout);eK.x=e$,eK.y=eX;var eQ=k.z[ec][eu];void 0===eQ?(eK.z="",eK.zLabel=""):(eK.z=eQ,eK.zLabel=o.tickText(eN,eQ,"hover").text);var e0=k.text&&k.text[ec]&&k.text[ec][eu];(void 0===e0||!1===e0)&&(e0=""),eK.text=e0;var e1=s.texttemplateString({data:[eK,S._meta],fallback:S.texttemplatefallback,labels:eK,locale:e._fullLayout._d3locale,template:ej});if(e1){var e2=e1.split("
"),e3=e2.length,e5=0;for(eh=0;eh=A[0].length||p<0||p>A.length)return}else{if(r.inbox(t-T[0],t-T[T.length-1],0)>0||r.inbox(s-k[0],s-k[k.length-1],0)>0)return;if(v){for(d=1,L=[2*T[0]-T[1]];d=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}}}),o3=ed({"src/traces/contour/attributes.js"(e,t){var r=og(),n=nW(),i=ru(),a=i.axisHoverFormat,o=i.descriptionOnlyNumbers,s=rp(),l=tA().dash,c=eB(),u=ej().extendFlat,h=o2(),f=h.COMPARISON_OPS2,p=h.INTERVAL_OPS,d=n.line;t.exports=u({z:r.z,x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,text:r.text,hovertext:r.hovertext,transpose:r.transpose,xtype:r.xtype,ytype:r.ytype,xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:u({},r.texttemplate,{}),texttemplatefallback:r.texttemplatefallback,textfont:u({},r.textfont,{}),hoverongaps:r.hoverongaps,connectgaps:u({},r.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:c({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:o("contour label")},operation:{valType:"enumerated",values:[].concat(f).concat(p),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:u({},d.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:l,smoothing:u({},d.smoothing,{}),editType:"plot"},zorder:n.zorder},s("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))}}),o5=ed({"src/traces/histogram2dcontour/attributes.js"(e,t){var r=o$(),n=o3(),i=rp(),a=ru().axisHoverFormat,o=ej().extendFlat;t.exports=o({x:r.x,y:r.y,z:r.z,marker:r.marker,histnorm:r.histnorm,histfunc:r.histfunc,nbinsx:r.nbinsx,xbins:r.xbins,nbinsy:r.nbinsy,ybins:r.ybins,autobinx:r.autobinx,autobiny:r.autobiny,bingroup:r.bingroup,xbingroup:r.xbingroup,ybingroup:r.ybingroup,autocontour:n.autocontour,ncontours:n.ncontours,contours:n.contours,line:{color:n.line.color,width:o({},n.line.width,{dflt:.5}),dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z",1),hovertemplate:r.hovertemplate,hovertemplatefallback:r.hovertemplatefallback,texttemplate:n.texttemplate,texttemplatefallback:n.texttemplatefallback,textfont:n.textfont},i("",{cLetter:"z",editTypeOverride:"calc"}))}}),o4=ed({"src/traces/contour/contours_defaults.js"(e,t){t.exports=function(e,t,r,n){var i=n("contours.start"),a=n("contours.end"),o=r("contours.size");((!1===i||!1===a?t.autocontour=!0:r("autocontour",!1))||!o)&&r("ncontours")}}}),o6=ed({"src/traces/contour/label_defaults.js"(e,t){var r=tQ();t.exports=function(e,t,n,i){if(i||(i={}),e("contours.showlabels")){var a=t.font;r.coerceFont(e,"contours.labelfont",a,{overrideDflt:{color:n}}),e("contours.labelformat")}!1!==i.hasHover&&e("zhoverformat")}}}),o8=ed({"src/traces/contour/style_defaults.js"(e,t){var r=rk(),n=o6();t.exports=function(e,t,i,a,o){var s,l=i("contours.coloring"),c="";"fill"===l&&(s=i("contours.showlines")),!1!==s&&("lines"!==l&&(c=i("line.color","#000")),i("line.width",.5),i("line.dash")),"none"!==l&&(!0!==e.showlegend&&(t.showlegend=!1),t._dfltShowLegend=!1,r(e,t,a,i,{prefix:"",cLetter:"z"})),i("line.smoothing"),n(i,a,c,o)}}}),o7=ed({"src/traces/histogram2dcontour/defaults.js"(e,t){var r=tQ(),n=oJ(),i=o4(),a=o8(),o=ov(),s=o5();t.exports=function(e,t,l,c){function u(n,i){return r.coerce(e,t,s,n,i)}n(e,t,u,c),!1!==t.visible&&(i(e,t,u,function(n){return r.coerce2(e,t,s,n)}),a(e,t,u,c),u("xhoverformat"),u("yhoverformat"),u("hovertemplate"),u("hovertemplatefallback"),t.contours&&"heatmap"===t.contours.coloring&&o(u,c))}}}),o9=ed({"src/traces/contour/set_contours.js"(e,t){var r=rB(),n=tQ();function i(e,t,n){var i={type:"linear",range:[e,t]};return r.autoTicks(i,(t-e)/(n||15)),i}t.exports=function(e,t){var a=e.contours;if(e.autocontour){var o=e.zmin,s=e.zmax;(e.zauto||void 0===o)&&(o=n.aggNums(Math.min,null,t)),(e.zauto||void 0===s)&&(s=n.aggNums(Math.max,null,t));var l=i(o,s,e.ncontours);a.size=l.dtick,a.start=r.tickFirst(l),l.range.reverse(),a.end=r.tickFirst(l),a.start===o&&(a.start+=a.size),a.end===s&&(a.end-=a.size),a.start>a.end&&(a.start=a.end=(a.start+a.end)/2),e._input.contours||(e._input.contours={}),n.extendFlat(e._input.contours,{start:a.start,end:a.end,size:a.size}),e._input.autocontour=!0}else if("constraint"!==a.type){var c,u=a.start,h=a.end,f=e._input.contours;u>h&&(a.start=f.start=h,h=a.end=f.end=u,u=a.start),a.size>0||(c=u===h?1:i(u,h,e.ncontours).dtick,f.size=a.size=c)}}}}),se=ed({"src/traces/contour/end_plus.js"(e,t){t.exports=function(e){return e.end+e.size/1e6}}}),st=ed({"src/traces/contour/calc.js"(e,t){var r=rE(),n=oP(),i=o9(),a=se();t.exports=function(e,t){var o,s=n(e,t),l=s[0].z;i(t,l);var c=t.contours,u=r.extractOpts(t);if("heatmap"===c.coloring&&u.auto&&!1===t.autocontour){var h=c.start,f=a(c),p=c.size||1,d=Math.floor((f-h)/p)+1;isFinite(p)||(p=1,d=1);var m=h-p/2,g=m+d*p;o=[m,g]}else o=l;return r.calc(e,t,{vals:o,cLetter:"z"}),s}}}),sr=ed({"src/traces/contour/constants.js"(e,t){t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}}}),sn=ed({"src/traces/contour/make_crossings.js"(e,t){var r=sr();t.exports=function(e){var t,n,i,a,o,s,l,c,u,h=e[0].z,f=h.length,p=h[0].length,d=2===f||2===p;for(n=0;ne?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);return 5===r||10===r?e>(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}((c=e[u]).level,s))&&(c.crossings[o]=l,-1!==i.indexOf(l)&&(c.starts.push([t,n]),d&&-1!==i.indexOf(l,i.indexOf(l)+1)&&c.starts.push([t,n])))}}}),si=ed({"src/traces/contour/find_all_paths.js"(e,t){var r=tQ(),n=sr();function i(e,t,r,n){return Math.abs(e[0]-t[0])20&&a?208===c||1114===c?u=0===t[0]?1:-1:h=0===t[1]?1:-1:-1!==n.BOTTOMSTART.indexOf(c)?h=1:-1!==n.LEFTSTART.indexOf(c)?u=1:-1!==n.TOPSTART.indexOf(c)?h=-1:u=-1,[u,h]),S=[o(e,t,[-M[0],-M[1]])],E=e.z.length,C=e.z[0].length,L=t.slice(),I=M.slice();for(f=0;f<1e4;f++){if(A>20?(A=n.CHOOSESADDLE[A][0>(M[0]||M[1])?0:1],e.crossings[k]=n.SADDLEREMAINDER[A]):delete e.crossings[k],!(M=n.NEWDELTA[A])){r.log("Found bad marching index:",A,t,e.level);break}S.push(o(e,t,M)),t[0]+=M[0],t[1]+=M[1],k=t.join(","),i(S[S.length-1],S[S.length-2],s,l)&&S.pop();var P=M[0]&&(t[0]<0||t[0]>C-2)||M[1]&&(t[1]<0||t[1]>E-2);if(t[0]===L[0]&&t[1]===L[1]&&M[0]===I[0]&&M[1]===I[1]||a&&P)break;A=e.crossings[k]}1e4===f&&r.log("Infinite loop in contour?");var z=i(S[0],S[S.length-1],s,l),O=0,D=.2*e.smoothing,R=[],F=0;for(f=1;f=F;f--)if((p=R[f])=F&&p+R[d]_&&b--,e.edgepaths[b]=T.concat(S,w));break}U||(e.edgepaths[_]=S.concat(w))}for(_=0;_":o(">"),"<":o("<"),"=":o("=")}}}),so=ed({"src/traces/contour/empty_pathinfo.js"(e,t){var r=tQ(),n=sa(),i=se();t.exports=function(e,t,a){for(var o="constraint"===e.type?n[e._operation](e.value):e,s=o.size,l=[],c=i(o),u=a.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:a.a,y:a.b}:{xaxis:t.xaxis,yaxis:t.yaxis,x:a.x,y:a.y},f=o.start;f1e3){r.warn("Too many contours, clipping at 1000",e);break}return l}}}),ss=ed({"src/traces/contour/convert_to_constraints.js"(e,t){var r=tQ();function n(e){return r.extendFlat({},e,{edgepaths:r.extendDeep([],e.edgepaths),paths:r.extendDeep([],e.paths),starts:r.extendDeep([],e.starts)})}t.exports=function(e,t){var i,a,o,s=function(e){return e.reverse()},l=function(e){return e};switch(t){case"=":case"<":return e;case">":for(1!==e.length&&r.warn("Contour data invalid for the specified inequality operation."),a=e[0],i=0;ia.level||a.starts.length&&i===a.level)}break;case"constraint":if(r.prefixBoundary=!1,r.edgepaths.length)return;var o,s,l,c=r.x.length,u=r.y.length,h=-1/0,f=1/0;for(o=0;o":p>h&&(r.prefixBoundary=!0);break;case"<":(ph||r.starts.length&&l===f)&&(r.prefixBoundary=!0);break;case"][":s=Math.min(p[0],p[1]),l=Math.max(p[0],p[1]),sh&&(r.prefixBoundary=!0)}}}}}),sc=ed({"src/traces/contour/plot.js"(e){var t=eb(),r=tQ(),n=rO(),i=rE(),a=rl(),o=rB(),s=rR(),l=oD(),c=sn(),u=si(),h=so(),f=ss(),p=sl(),d=sr(),m=d.LABELOPTIMIZER;function g(e,t){var i,a,o,s,l,c,u="",h=0,f=e.edgepaths.map(function(e,t){return t}),p=!0;function d(e){return .01>Math.abs(e[0]-t[2][0])}for(;f.length;){for(c=n.smoothopen(e.edgepaths[h],e.smoothing),u+=p?c:c.replace(/^M/,"L"),f.splice(f.indexOf(h),1),i=e.edgepaths[h][e.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!i){r.log("Missing end?",h,e);break}for(.01>Math.abs(i[1]-t[0][1])&&!d(i)?a=t[1]:.01>Math.abs(i[0]-t[0][0])?a=t[0]:.01>Math.abs(i[1]-t[2][1])?a=t[3]:d(i)&&(a=t[2]),l=0;lMath.abs(i[0]-a[0])?.01>Math.abs(i[0]-m[0])&&(m[1]-i[1])*(a[1]-m[1])>=0&&(a=m,s=l):.01>Math.abs(i[1]-a[1])?.01>Math.abs(i[1]-m[1])&&(m[0]-i[0])*(a[0]-m[0])>=0&&(a=m,s=l):r.log("endpt to newendpt is not vert. or horz.",i,a,m)}if(i=a,s>=0)break;u+="L"+a}if(s===e.edgepaths.length){r.log("unclosed perimeter path");break}h=s,(p=-1===f.indexOf(h))&&(h=f[0],u+="Z")}for(h=0;hi.center?i.right-s:s-i.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>i.middle?i.bottom-l:l-i.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=m.EDGECOST*(1/(f-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,y=l-h,v=s+u,x=l+h,_=0;_2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=m.MAXCOST)return u},e.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,c=e.theta,u=Math.sin(c),h=Math.cos(c),f=function(e,t){return[s+e*h-t*u,l+e*u+t*h]},p=[f(-a/2,-o/2),f(-a/2,o/2),f(a/2,o/2),f(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:c,level:t.level,width:a,height:o}),n.push(p)},e.drawLabels=function(e,n,i,o,s){var l=e.selectAll("text").data(n,function(e){return e.text+","+e.x+","+e.y+","+e.theta});if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(e){var r=e.x+Math.sin(e.theta)*e.dy,n=e.y-Math.cos(e.theta)*e.dy;t.select(this).text(e.text).attr({x:r,y:n,transform:"rotate("+180*e.theta/Math.PI+" "+r+" "+n+")"}).call(a.convertToTspans,i)}),s){for(var c="",u=0;u=v)&&(s<=y&&(s=y),l>=v&&(l=v),u=Math.floor((l-s)/c)+1,h=0),a=0;ay&&(m.unshift(y),g.unshift(g[0])),m[m.length-1]2?y.value=y.value.slice(2):0===y.length?y.value=[0,1]:y.length<2?(p=parseFloat(y.value[0]),y.value=[p,p+1]):y.value=[parseFloat(y.value[0]),parseFloat(y.value[1])]:r(y.value)&&(p=parseFloat(y.value),y.value=[p,p+1])):(i("contours.value",0),r(y.value)||(l(y.value)?y.value=parseFloat(y.value[0]):y.value=0)),"="===v?d=y.showlines=!0:(d=i("contours.showlines"),g=i("fillcolor",a((e.line||{}).color||h,.5))),d&&(m=i("line.color",g&&o(g)?a(t.fillcolor,1):h),i("line.width",2),i("line.dash")),i("line.smoothing"),n(i,s,m,f)}}}),sy=ed({"src/traces/contour/defaults.js"(e,t){var r=tQ(),n=oy(),i=io(),a=sg(),o=o4(),s=o8(),l=ov(),c=o3();t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,c,n,i)}if(!n(e,t,f,h)){t.visible=!1;return}i(e,t,h,f),f("xhoverformat"),f("yhoverformat"),f("text"),f("hovertext"),f("hoverongaps"),f("hovertemplate"),f("hovertemplatefallback");var p="constraint"===f("contours.type");f("connectgaps",r.isArray1D(t.z)),p?a(e,t,f,h,u):(o(e,t,f,function(n){return r.coerce2(e,t,c,n)}),s(e,t,f,h)),t.contours&&"heatmap"===t.contours.coloring&&l(f,h),f("zorder")}}}),sv=ed({"src/traces/contour/index.js"(e,t){t.exports={attributes:o3(),supplyDefaults:sy(),calc:st(),plot:sc().plot,style:sh(),colorbar:sf(),hoverPoints:sp(),moduleType:"trace",name:"contour",basePlotModule:iH(),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}}}),sx=ed({"lib/contour.js"(e,t){t.exports=sv()}}),s_=ed({"src/traces/scatterternary/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=tS(),a=nZ(),o=nW(),s=eq(),l=rp(),c=tA().dash,u=ej().extendFlat,h=o.marker,f=o.line,p=h.line;t.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:n({editType:"plot"},{keys:["a","b","c","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:u({},o.hovertext,{}),line:{color:f.color,width:f.width,dash:c,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:o.connectgaps,cliponaxis:o.cliponaxis,fill:u({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:a(),marker:u({symbol:h.symbol,opacity:h.opacity,angle:h.angle,angleref:h.angleref,standoff:h.standoff,maxdisplayed:h.maxdisplayed,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,line:u({width:p.width,dash:p.dash,editType:"calc"},l("marker.line")),gradient:h.gradient,editType:"calc"},l("marker")),textfont:o.textfont,textposition:o.textposition,selected:o.selected,unselected:o.unselected,hoverinfo:u({},s.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:o.hoveron,hovertemplate:r(),hovertemplatefallback:i()}}}),sb=ed({"src/traces/scatterternary/defaults.js"(e,t){var r=tQ(),n=nG(),i=rC(),a=il(),o=ic(),s=iu(),l=ih(),c=ip(),u=s_();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}var d,m=p("a"),g=p("b"),y=p("c");if(m?(d=m.length,g?(d=Math.min(d,g.length),y&&(d=Math.min(d,y.length))):d=y?Math.min(d,y.length):0):g&&y&&(d=Math.min(g.length,y.length)),!d){t.visible=!1;return}t._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==t.hoveron&&(p("hovertemplate"),p("hovertemplatefallback")),p("mode",d"),o.hovertemplate=f.hovertemplate,a}function x(e,t){y.push(e._hovertitle+": "+t)}}}}),sM=ed({"src/traces/scatterternary/event_data.js"(e,t){t.exports=function(e,t,r,n,i){if(t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),n[i]){var a=n[i];e.a=a.a,e.b=a.b,e.c=a.c}else e.a=t.a,e.b=t.b,e.c=t.c;return e}}}),sS=ed({"src/plots/ternary/ternary.js"(e,t){var r=eb(),n=eF(),i=tO(),a=tQ(),o=a.strTranslate,s=a._,l=eZ(),c=rO(),u=rR(),h=ej().extendFlat,f=ra(),p=rB(),d=rW(),m=na(),g=no(),y=g.freeMode,v=g.rectMode,x=rD(),_=nK().prepSelect,b=nK().selectOnClick,w=nK().clearOutline,T=nK().clearSelectionsCache,k=t9();function A(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=A;var M=A.prototype;M.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}},M.plot=function(e,t){var r=t[this.id],n=t._size;this._hasClipOnAxisFalse=!1;for(var i=0;iS*_?i=(a=_)*S:a=(i=x)/S,s=y*i/x,f=v*a/_,r=t.l+t.w*m-i/2,n=t.t+t.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=b,p.xaxis={type:"linear",range:[w+2*k-b,b-w-2*T],domain:[m-s/2,m+s/2],_id:"x"},u(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(e){return e.a>=p.aaxis.range[0]&&e.a<=p.aaxis.range[1]&&e.b>=p.baxis.range[1]&&e.b<=p.baxis.range[0]&&e.c>=p.caxis.range[1]&&e.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,b-T-k],domain:[g-f/2,g+f/2],_id:"y"},u(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},e.aaxis,{range:[w,b-T-k],side:"left",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+f*S],anchor:"free",position:0,_id:"y",_length:i});u(M,p.graphDiv._fullLayout),M.setScale();var E=p.baxis=h({},e.baxis,{range:[b-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});u(E,p.graphDiv._fullLayout),E.setScale();var C=p.caxis=h({},e.caxis,{range:[b-w-T,k],side:"right",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+f*S],anchor:"free",position:0,_id:"y",_length:i});u(C,p.graphDiv._fullLayout),C.setScale();var L="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",L),p.layers.plotbg.select("path").attr("d",L);var I="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",I);var P=o(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var z=o(r-E._offset,n+a);p.layers.baxis.attr("transform",z),p.layers.bgrid.attr("transform",z);var O=o(r+i/2,n)+"rotate(30)"+o(0,-M._offset);p.layers.aaxis.attr("transform",O),p.layers.agrid.attr("transform",O);var D=o(r+i/2,n)+"rotate(-30)"+o(0,-C._offset);p.layers.caxis.attr("transform",D),p.layers.cgrid.attr("transform",D),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",E.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(l.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(l.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},M.drawAxes=function(e){var t=this.graphDiv,r=this.id.slice(7)+"title",n=this.layers,i=this.aaxis,a=this.baxis,o=this.caxis;if(this.drawAx(i),this.drawAx(a),this.drawAx(o),e){var l=Math.max(i.showticklabels?i.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(a.showticklabels?a.tickfont.size:0)+("outside"===a.ticks?a.ticklen:0)+3;n["a-title"]=x.draw(t,"a"+r,{propContainer:i,propName:this.id+".aaxis.title.text",placeholder:s(t,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-i.title.font.size/3-l,"text-anchor":"middle"}}),n["b-title"]=x.draw(t,"b"+r,{propContainer:a,propName:this.id+".baxis.title.text",placeholder:s(t,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*a.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=x.draw(t,"c"+r,{propContainer:o,propName:this.id+".caxis.title.text",placeholder:s(t,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},M.drawAx=function(e){var t=this.graphDiv,r=e._name,n=r.charAt(0),i=e._id,o=this.layers[r],s=n+"tickLayout",l=e.ticks+String(e.ticklen)+String(e.showticklabels);this[s]!==l&&(o.selectAll("."+i+"tick").remove(),this[s]=l),e.setScale();var c=p.calcTicks(e),u=p.clipEnds(e,c),h=p.makeTransTickFn(e),f=p.getTickSigns(e)[2],d=a.deg2rad(30),m=f*(e.linewidth||1)/2,g=f*e.ticklen,y=this.w,v=this.h;p.drawTicks(t,e,{vals:"inside"===e.ticks?u:c,layer:o,path:"b"===n?"M0,"+m+"l"+Math.sin(d)*g+","+Math.cos(d)*g:"M"+m+",0l"+Math.cos(d)*g+","+-Math.sin(d)*g,transFn:h,crisp:!1}),p.drawGrid(t,e,{vals:u,layer:this.layers[n+"grid"],path:{a:"M0,0l"+v+",-"+y/2,b:"M0,0l-"+y/2+",-"+v,c:"M0,0l-"+v+","+y/2}[n],transFn:h,crisp:!1}),p.drawLabels(t,e,{vals:c,layer:o,transFn:h,labelFns:p.makeLabelFns(e,0,30)})};var E=k.MINZOOM/2+.87,C="m-0.87,.5h"+E+"v3h-"+(E+5.2)+"l"+(E/2+2.6)+",-"+(.87*E+4.5)+"l2.6,1.5l-"+E/2+","+.87*E+"Z",L="m0.87,.5h-"+E+"v3h"+(E+5.2)+"l-"+(E/2+2.6)+",-"+(.87*E+4.5)+"l-2.6,1.5l"+E/2+","+.87*E+"Z",I="m0,1l"+E/2+","+.87*E+"l2.6,-1.5l-"+(E/2+2.6)+",-"+(.87*E+4.5)+"l-"+(E/2+2.6)+","+(.87*E+4.5)+"l2.6,1.5l"+E/2+",-"+.87*E+"Z",P=!0;function z(e){r.select(e).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}M.clearOutline=function(){T(this.dragOptions),w(this.dragOptions.gd)},M.initInteractions=function(){var e,t,r,u,h,f,p,g,x,w,T,A,M=this,E=M.layers.plotbg.select("path").node(),O=M.graphDiv,D=O._fullLayout._zoomlayer;function R(e){var t={};return t[M.id+".aaxis.min"]=e.a,t[M.id+".baxis.min"]=e.b,t[M.id+".caxis.min"]=e.c,t}function F(e,t){var r=O._fullLayout.clickmode;z(O),2===e&&(O.emit("plotly_doubleclick",null),i.call("_guiRelayout",O,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===e&&b(t,O,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&m.click(O,t,M.id)}function j(e,t){return 1-(e+(M.h-t)/Math.sqrt(3))/M.w}function B(e,t){return(e-(M.h-t)/Math.sqrt(3))/M.w}function N(n,i){var a=r+n*e,o=u+i*t,s=Math.max(0,Math.min(1,1-u/M.h,1-o/M.h)),l=Math.max(0,Math.min(1,j(r,u),j(a,o))),c=Math.max(0,Math.min(1,B(r,u),B(a,o))),d=(s/2+c)*M.w,m=(1-s/2-l)*M.w,y=(d+m)/2,v=m-d,_=(1-s)*M.h,b=_-v/S;v.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),A.transition().style("opacity",1).duration(200),w=!0),O.emit("plotly_relayouting",R(p))}function U(){z(O),p!==h&&(i.call("_guiRelayout",O,R(p)),P&&O.data&&O._context.showTips&&(a.notifier(s(O,"Double-click to zoom back out"),"long",O),P=!1))}function V(e,t){var r=e/M.xaxis._m,n=t/M.yaxis._m,i=[(p={a:h.a-n,b:h.b+(r+n)/2,c:h.c-(r-n)/2}).a,p.b,p.c].sort(a.sorterAsc),s={a:i.indexOf(p.a),b:i.indexOf(p.b),c:i.indexOf(p.c)};i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[s.a],b:i[s.b],c:i[s.c]},t=(h.a-p.a)*M.yaxis._m,e=(h.c-p.c-h.b+p.b)*M.xaxis._m);var l=o(M.x0+e,M.y0+t);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",l);var u=o(-e,-t);M.clipDefRelative.select("path").attr("transform",u),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),O.emit("plotly_relayouting",R(p))}function q(){i.call("_guiRelayout",O,R(p))}this.dragOptions={element:E,gd:O,plotinfo:{id:M.id,domain:O._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(i,s,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],e=O._fullLayout._invScaleX,t=O._fullLayout._invScaleY;var d,m,b,k=M.dragOptions.dragmode=O._fullLayout.dragmode;y(k)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===k?(M.dragOptions.moveFn=N,M.dragOptions.clickFn=F,M.dragOptions.doneFn=U,r=s-(d=E.getBoundingClientRect()).left,u=c-d.top,O._fullLayout._calcInverseTransform(O),m=O._fullLayout._invTransform,r=(b=a.apply3DTransform(m)(r,u))[0],u=b[1],p=h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},f=M.aaxis.range[1]-h.a,g=n(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),x="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",w=!1,T=D.append("path").attr("class","zoombox").attr("transform",o(M.x0,M.y0)).style({fill:g>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",x),A=D.append("path").attr("class","zoombox-corners").attr("transform",o(M.x0,M.y0)).style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(O)):"pan"===k?(M.dragOptions.moveFn=V,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,p=h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},M.clearOutline(O)):(v(k)||y(k))&&_(i,s,c,M.dragOptions,k)}},E.onmousemove=function(e){m.hover(O,e,M.id),O._fullLayout._lasthover=E,O._fullLayout._hoversubplot=M.id},E.onmouseout=function(e){O._dragging||d.unhover(O,e)},d.init(this.dragOptions)}}}),sE=ed({"src/plots/ternary/layout_attributes.js"(e,t){var r=eG(),n=aI().attributes,i=rh(),a=tk().overrideAll,o=ej().extendFlat,s={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.minor.tickmode,nticks:o({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,ticklabelstep:i.ticklabelstep,showticklabels:i.showticklabels,labelalias:i.labelalias,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash,layer:i.layer,min:{valType:"number",dflt:0,min:0}},l=t.exports=a({domain:n({name:"ternary"}),bgcolor:{valType:"color",dflt:r.background},sum:{valType:"number",dflt:1,min:0},aaxis:s,baxis:s,caxis:s},"plot","from-root");l.uirevision={valType:"any",editType:"none"},l.aaxis.uirevision=l.baxis.uirevision=l.caxis.uirevision={valType:"any",editType:"none"}}}),sC=ed({"src/plots/subplot_defaults.js"(e,t){var r=tQ(),n=t7(),i=aI().defaults;t.exports=function(e,t,a,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,f=o.partition||"x",p=t._subplots[c],d=p.length,m=d&&p[0].replace(/\d+$/,"");function g(e,t){return r.coerce(s,l,u,e,t)}for(var y=0;y=v&&(_.min=0,b.min=0,w.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}t.exports=function(e,t,r){a(e,t,r,{type:"ternary",attributes:h,handleDefaults:p,font:t.font,paper_bgcolor:t.paper_bgcolor})}}}),sI=ed({"src/plots/ternary/index.js"(e){var t=sS(),r=rn().getSubplotCalcData,n=tQ().counterRegex,i="ternary";e.name=i;var a=e.attr="subplot";e.idRoot=i,e.idRegex=e.attrRegex=n(i),(e.attributes={})[a]={valType:"subplotid",dflt:"ternary",editType:"calc"},e.layoutAttributes=sE(),e.supplyLayoutDefaults=sL(),e.plot=function(e){for(var n=e._fullLayout,a=e.calcdata,o=n._subplots[i],s=0;s0){var v,x,_,b,w,T,k,A=e.xa,M=e.ya;"h"===f.orientation?(k=t,_="y",w=M,b="x",T=A):(k=s,_="x",w=A,b="y",T=M);var S=h[e.index];if(k>=S.span[0]&&k<=S.span[1]){var E=n.extendFlat({},e),C=T.c2p(k,!0),L=o.getKdeValue(S,f,k),I=o.getPositionOnKdePath(S,f,C),P=w._offset,z=w._length;E[_+"0"]=I[0],E[_+"1"]=I[1],E[b+"0"]=E[b+"1"]=C,E[b+"Label"]=b+": "+i.hoverLabelText(T,k,f[b+"hoverformat"])+", "+h[0].t.labels.kde+" "+L.toFixed(3);for(var O=0,D=0;D path").each(function(e){if(!e.isBlank){var t=s.marker;r.select(this).call(i.fill,e.mc||t.color).call(i.stroke,e.mlc||t.line.color).call(n.dashLine,t.line.dash,e.mlw||t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}}),l(o,s,e),o.selectAll(".regions").each(function(){r.select(this).selectAll("path").style("stroke-width",0).call(i.fill,s.connector.fillcolor)}),o.selectAll(".lines").each(function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)})})}}}}),s2=ed({"src/traces/funnel/hover.js"(e,t){var r=eZ().opacity,n=a7().hoverOnBars,i=tQ().formatPercent;t.exports=function(e,t,a,o,s){var l=n(e,t,a,o,s);if(l){var c,u,h,f,p=l.cd,d=p[0].trace,m="h"===d.orientation,g=p[l.index];l[(m?"x":"y")+"LabelVal"]=g.s,l.percentInitial=g.begR,l.percentInitialLabel=i(g.begR,1),l.percentPrevious=g.difR,l.percentPreviousLabel=i(g.difR,1),l.percentTotal=g.sumR,l.percentTotalLabel=i(g.sumR,1);var y=g.hi||d.hoverinfo,v=[];if(y&&"none"!==y&&"skip"!==y){var x="all"===y,_=y.split("+"),b=function(e){return x||-1!==_.indexOf(e)};b("percent initial")&&v.push(l.percentInitialLabel+" of initial"),b("percent previous")&&v.push(l.percentPreviousLabel+" of previous"),b("percent total")&&v.push(l.percentTotalLabel+" of total")}return l.extraText=v.join("
"),l.color=(c=d.marker,u=g.mc||c.color,h=g.mlc||c.line.color,f=g.mlw||c.line.width,r(u)?u:r(h)&&f?h:void 0),[l]}}}}),s3=ed({"src/traces/funnel/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"percentInitial"in t&&(e.percentInitial=t.percentInitial),"percentPrevious"in t&&(e.percentPrevious=t.percentPrevious),"percentTotal"in t&&(e.percentTotal=t.percentTotal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),s5=ed({"src/traces/funnel/index.js"(e,t){t.exports={attributes:sW(),layoutAttributes:sY(),supplyDefaults:sX().supplyDefaults,crossTraceDefaults:sX().crossTraceDefaults,supplyLayoutDefaults:s$(),calc:sK(),crossTraceCalc:sQ(),plot:s0(),style:s1().style,hoverPoints:s2(),eventData:s3(),selectPoints:oe(),moduleType:"trace",name:"funnel",basePlotModule:iH(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),s4=ed({"lib/funnel.js"(e,t){t.exports=s5()}}),s6=ed({"src/traces/waterfall/constants.js"(e,t){t.exports={eventDataKeys:["initial","delta","final"]}}}),s8=ed({"src/traces/waterfall/attributes.js"(e,t){var r=aJ(),n=nW().line,i=eq(),a=ru().axisHoverFormat,{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=tS(),c=s6(),u=ej().extendFlat,h=eZ();function f(e){return{marker:{color:u({},r.marker.color,{arrayOk:!1,editType:"style"}),line:{color:u({},r.marker.line.color,{arrayOk:!1,editType:"style"}),width:u({},r.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}t.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:r.x,x0:r.x0,dx:r.dx,y:r.y,y0:r.y0,dy:r.dy,xperiod:r.xperiod,yperiod:r.yperiod,xperiod0:r.xperiod0,yperiod0:r.yperiod0,xperiodalignment:r.xperiodalignment,yperiodalignment:r.yperiodalignment,xhoverformat:a("x"),yhoverformat:a("y"),hovertext:r.hovertext,hovertemplate:o({},{keys:c.eventDataKeys}),hovertemplatefallback:l(),hoverinfo:u({},i.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:c.eventDataKeys.concat(["label"])}),texttemplatefallback:l({editType:"plot"}),text:r.text,textposition:r.textposition,insidetextanchor:r.insidetextanchor,textangle:r.textangle,textfont:r.textfont,insidetextfont:r.insidetextfont,outsidetextfont:r.outsidetextfont,constraintext:r.constraintext,cliponaxis:r.cliponaxis,orientation:r.orientation,offset:r.offset,width:r.width,increasing:f("increasing"),decreasing:f("decreasing"),totals:f("intermediate sums and total"),connector:{line:{color:u({},n.color,{dflt:h.defaultLine}),width:u({},n.width,{editType:"plot"}),dash:n.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:r.offsetgroup,alignmentgroup:r.alignmentgroup,zorder:r.zorder}}}),s7=ed({"src/traces/waterfall/layout_attributes.js"(e,t){t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}}}),s9=ed({"src/constants/delta.js"(e,t){t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}}}),le=ed({"src/traces/waterfall/defaults.js"(e,t){var r=tQ(),n=im(),i=a0().handleText,a=ia(),o=io(),s=s8(),l=eZ(),c=s9(),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR;function f(e,t,r){e(t+".marker.color",r),e(t+".marker.line.color",l.defaultLine),e(t+".marker.line.width")}t.exports={supplyDefaults:function(e,t,n,l){function c(n,i){return r.coerce(e,t,s,n,i)}if(!a(e,t,l,c)){t.visible=!1;return}o(e,t,l,c),c("xhoverformat"),c("yhoverformat"),c("measure"),c("orientation",t.x&&!t.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate"),c("hovertemplatefallback");var p=c("textposition");i(e,t,l,c,p,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"===t.textposition||(c("texttemplate"),c("texttemplatefallback"),t.texttemplate||c("textinfo")),f(c,"increasing",u),f(c,"decreasing",h),f(c,"totals","#4499FF"),c("connector.visible")&&(c("connector.mode"),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash"))),c("zorder")},crossTraceDefaults:function(e,t){var i;function a(e){return r.coerce(i._input,i,s,e)}if("group"===t.waterfallmode)for(var o=0;o0&&(f?_+="M"+v[0]+","+x[1]+"V"+x[0]:_+="M"+v[1]+","+x[0]+"H"+v[0]),"between"!==p&&(o.isSum||s path").each(function(e){if(!e.isBlank){var t=s[e.dir].marker;r.select(this).call(i.fill,t.color).call(i.stroke,t.line.color).call(n.dashLine,t.line.dash,t.line.width).style("opacity",s.selectedpoints&&!e.selected?a:1)}}),l(o,s,e),o.selectAll(".lines").each(function(){var e=s.connector.line;n.lineGroupStyle(r.select(this).selectAll("path"),e.width,e.color,e.dash)})})}}}}),lo=ed({"src/traces/waterfall/hover.js"(e,t){var r=rB().hoverLabelText,n=eZ().opacity,i=a7().hoverOnBars,a=s9(),o={increasing:a.INCREASING.SYMBOL,decreasing:a.DECREASING.SYMBOL};t.exports=function(e,t,a,s,l){var c=i(e,t,a,s,l);if(c){var u,h,f,p,d=c.cd,m=d[0].trace,g="h"===m.orientation,y=g?"x":"y",v=g?e.xa:e.ya,x=d[c.index],_=x.isSum?x.b+x.s:x.rawS;c.initial=x.b+x.s-_,c.delta=_,c.final=c.initial+c.delta;var b=S(Math.abs(c.delta));c.deltaLabel=_<0?"("+b+")":b,c.finalLabel=S(c.final),c.initialLabel=S(c.initial);var w=x.hi||m.hoverinfo,T=[];if(w&&"none"!==w&&"skip"!==w){var k="all"===w,A=w.split("+"),M=function(e){return k||-1!==A.indexOf(e)};!x.isSum&&(!M("final")||M(g?"x":"y")||T.push(c.finalLabel),M("delta")&&(_<0?T.push(c.deltaLabel+" "+o.decreasing):T.push(c.deltaLabel+" "+o.increasing)),M("initial")&&T.push("Initial: "+c.initialLabel))}return T.length&&(c.extraText=T.join("
")),c.color=(h=(u=m[x.dir].marker).color,f=u.line.color,p=u.line.width,n(h)?h:n(f)&&p?f:void 0),[c]}function S(e){return r(v,e,m[y+"hoverformat"])}}}}),ls=ed({"src/traces/waterfall/event_data.js"(e,t){t.exports=function(e,t){return e.x="xVal"in t?t.xVal:t.x,e.y="yVal"in t?t.yVal:t.y,"initial"in t&&(e.initial=t.initial),"delta"in t&&(e.delta=t.delta),"final"in t&&(e.final=t.final),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e}}}),ll=ed({"src/traces/waterfall/index.js"(e,t){t.exports={attributes:s8(),layoutAttributes:s7(),supplyDefaults:le().supplyDefaults,crossTraceDefaults:le().crossTraceDefaults,supplyLayoutDefaults:lt(),calc:lr(),crossTraceCalc:ln(),plot:li(),style:la().style,hoverPoints:lo(),eventData:ls(),selectPoints:oe(),moduleType:"trace",name:"waterfall",basePlotModule:iH(),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}}}),lc=ed({"lib/waterfall.js"(e,t){t.exports=ll()}}),lu=ed({"src/traces/image/constants.js"(e,t){t.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:["","","",""]},rgba256:{colormodel:"rgba",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xb0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+"%",t[2]=t[2]+"%",t},suffix:["\xb0","%","%",""]}}}}}),lh=ed({"src/traces/image/attributes.js"(e,t){var r,n,i=eq(),a=nW().zorder,{hovertemplateAttrs:o,templatefallbackAttrs:s}=tS(),l=ej().extendFlat,c=lu().colormodel,u=["rgb","rgba","rgba256","hsl","hsla"],h=[],f=[];for(n=0;n0?o-4:o;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===l&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===l&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},e.fromByteArray=function(e){for(var t,r=e.length,i=r%3,a=[],o=0,s=r-i;o>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}(e,o,o+16383>s?s:o+16383));return 1===i?a.push(n[(t=e[r-1])>>2]+n[t<<4&63]+"=="):2===i&&a.push(n[(t=(e[r-2]<<8)+e[r-1])>>10]+n[t>>4&63]+n[t<<2&63]+"="),a.join("")};var t,r,n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(t=0,r=o.length;t0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63}}),lg=ed({"node_modules/ieee754/index.js"(e){e.read=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?5960464477539062e-23:0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+h>=1?t+=f/l:t+=f*Math.pow(2,1-h),t*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m}}}),ly=ed({"node_modules/buffer/index.js"(e){var t=lm(),r=lg(),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function i(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,a.prototype),t}function a(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return l(e)}return o(e,t,r)}function o(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!a.isEncoding(t))throw TypeError("Unknown encoding: "+t);let r=0|f(e,t),n=i(r),o=n.write(e,t);return o!==r&&(n=n.slice(0,o)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(D(e,Uint8Array)){let t=new Uint8Array(e);return u(t.buffer,t.byteOffset,t.byteLength)}return c(e)}(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(D(e,ArrayBuffer)||e&&D(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(D(e,SharedArrayBuffer)||e&&D(e.buffer,SharedArrayBuffer)))return u(e,t,r);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return a.from(n,t,r);let o=function(e){if(a.isBuffer(e)){let t=0|h(e.length),r=i(t);return 0===r.length||e.copy(r,0,0,t),r}if(void 0!==e.length){var t;return"number"!=typeof e.length||(t=e.length)!=t?i(0):c(e)}if("Buffer"===e.type&&Array.isArray(e.data))return c(e.data)}(e);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return a.from(e[Symbol.toPrimitive]("string"),t,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function s(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function l(e){return s(e),i(e<0?0:0|h(e))}function c(e){let t=e.length<0?0:0|h(e.length),r=i(t);for(let n=0;n=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function f(e,t){if(a.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||D(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return P(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(e).length;default:if(i)return n?-1:P(e).length;t=(""+t).toLowerCase(),i=!0}}function p(e,r,n){let i=!1;if((void 0===r||r<0)&&(r=0),r>this.length||((void 0===n||n>this.length)&&(n=this.length),n<=0||(n>>>=0)<=(r>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i="";for(let n=t;n2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(o=r=+r)!=o&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return -1;r=e.length-1}else if(r<0){if(!i)return -1;r=0}if("string"==typeof t&&(t=a.from(t,n)),a.isBuffer(t))return 0===t.length?-1:g(e,t,r,n,i);if("number"==typeof t)return(t&=255,"function"==typeof Uint8Array.prototype.indexOf)?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):g(e,[t],r,n,i);throw TypeError("val must be string, number or Buffer")}function g(e,t,r,n,i){let a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return -1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){let n=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){let r=!0;for(let n=0;n239?4:t>223?3:t>191?2:1;if(i+o<=r){let r,n,s,l;switch(o){case 1:t<128&&(a=t);break;case 2:(192&(r=e[i+1]))==128&&(l=(31&t)<<6|63&r)>127&&(a=l);break;case 3:r=e[i+1],n=e[i+2],(192&r)==128&&(192&n)==128&&(l=(15&t)<<12|(63&r)<<6|63&n)>2047&&(l<55296||l>57343)&&(a=l);break;case 4:r=e[i+1],n=e[i+2],s=e[i+3],(192&r)==128&&(192&n)==128&&(192&s)==128&&(l=(15&t)<<18|(63&r)<<12|(63&n)<<6|63&s)>65535&&l<1114112&&(a=l)}}null===a?(a=65533,o=1):a>65535&&(a-=65536,n.push(a>>>10&1023|55296),a=56320|1023&a),n.push(a),i+=o}return function(e){let t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);let r="",n=0;for(;nr)throw RangeError("Trying to access beyond buffer length")}function x(e,t,r,n,i,o){if(!a.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw RangeError("Index out of range")}function _(e,t,r,n,i){E(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a,a>>=8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,o>>=8,e[r++]=o,r}function b(e,t,r,n,i){E(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a>>=8,e[r+6]=a,a>>=8,e[r+5]=a,a>>=8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o>>=8,e[r+2]=o,o>>=8,e[r+1]=o,o>>=8,e[r]=o,r+8}function w(e,t,r,n,i,a){if(r+n>e.length||r<0)throw RangeError("Index out of range")}function T(e,t,n,i,a){return t=+t,n>>>=0,a||w(e,t,n,4,34028234663852886e22,-34028234663852886e22),r.write(e,t,n,i,23,4),n+4}function k(e,t,n,i,a){return t=+t,n>>>=0,a||w(e,t,n,8,17976931348623157e292,-17976931348623157e292),r.write(e,t,n,i,52,8),n+8}e.Buffer=a,e.SlowBuffer=function(e){return+e!=e&&(e=0),a.alloc(+e)},e.INSPECT_MAX_BYTES=50,e.kMaxLength=2147483647,a.TYPED_ARRAY_SUPPORT=function(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),a.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}}),a.poolSize=8192,a.from=function(e,t,r){return o(e,t,r)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array),a.alloc=function(e,t,r){return(s(e),e<=0)?i(e):void 0!==t?"string"==typeof r?i(e).fill(t,r):i(e).fill(t):i(e)},a.allocUnsafe=function(e){return l(e)},a.allocUnsafeSlow=function(e){return l(e)},a.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==a.prototype},a.compare=function(e,t){if(D(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),D(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(e)||!a.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;let r=e.length,n=t.length;for(let i=0,a=Math.min(r,n);in.length?(a.isBuffer(t)||(t=a.from(t)),t.copy(n,i)):Uint8Array.prototype.set.call(n,t,i);else if(a.isBuffer(t))t.copy(n,i);else throw TypeError('"list" argument must be an Array of Buffers');i+=t.length}return n},a.byteLength=f,a.prototype._isBuffer=!0,a.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;tr&&(t+=" ... "),""},n&&(a.prototype[n]=a.prototype.inspect),a.prototype.compare=function(e,t,r,n,i){if(D(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;let o=i-n,s=r-t,l=Math.min(o,s),c=this.slice(n,i),u=e.slice(t,r);for(let e=0;e>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let p=!1;for(;;)switch(n){case"hex":return function(e,t,r,n){let i;r=Number(r)||0;let a=e.length-r;n?(n=Number(n))>a&&(n=a):n=a;let o=t.length;for(n>o/2&&(n=o/2),i=0;i>8,i.push(r%256),i.push(n);return i}(e,this.length-u),this,u,h);default:if(p)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),p=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},a.prototype.slice=function(e,t){let r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||v(e,t,this.length);let n=this[e],i=1,a=0;for(;++a>>=0,t>>>=0,r||v(e,t,this.length);let n=this[e+--t],i=1;for(;t>0&&(i*=256);)n+=this[e+--t]*i;return n},a.prototype.readUint8=a.prototype.readUInt8=function(e,t){return e>>>=0,t||v(e,1,this.length),this[e]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readBigUInt64LE=F(function(e){C(e>>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&L(e,this.length-8);let n=t+256*this[++e]+65536*this[++e]+16777216*this[++e],i=this[++e]+256*this[++e]+65536*this[++e]+16777216*r;return BigInt(n)+(BigInt(i)<>>=0,"offset");let t=this[e],r=this[e+7];(void 0===t||void 0===r)&&L(e,this.length-8);let n=16777216*t+65536*this[++e]+256*this[++e]+this[++e],i=16777216*this[++e]+65536*this[++e]+256*this[++e]+r;return(BigInt(n)<>>=0,t>>>=0,r||v(e,t,this.length);let n=this[e],i=1,a=0;for(;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},a.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);let n=t,i=1,a=this[e+--n];for(;n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},a.prototype.readInt8=function(e,t){return(e>>>=0,t||v(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},a.prototype.readInt16LE=function(e,t){e>>>=0,t||v(e,2,this.length);let r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(e,t){e>>>=0,t||v(e,2,this.length);let r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readBigInt64LE=F(function(e){C(e>>>=0,"offset");let t=this[e],r=this[e+7];return(void 0===t||void 0===r)&&L(e,this.length-8),(BigInt(this[e+4]+256*this[e+5]+65536*this[e+6]+(r<<24))<>>=0,"offset");let t=this[e],r=this[e+7];return(void 0===t||void 0===r)&&L(e,this.length-8),(BigInt((t<<24)+65536*this[++e]+256*this[++e]+this[++e])<>>=0,t||v(e,4,this.length),r.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return e>>>=0,t||v(e,4,this.length),r.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return e>>>=0,t||v(e,8,this.length),r.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return e>>>=0,t||v(e,8,this.length),r.read(this,e,!1,52,8)},a.prototype.writeUintLE=a.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;x(this,e,t,r,n,0)}let i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,!n){let n=Math.pow(2,8*r)-1;x(this,e,t,r,n,0)}let i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},a.prototype.writeUint8=a.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,1,255,0),this[t]=255&e,t+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeBigUInt64LE=F(function(e,t=0){return _(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=F(function(e,t=0){return b(this,e,t,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){let n=Math.pow(2,8*r-1);x(this,e,t,r,n-1,-n)}let i=0,a=1,o=0;for(this[t]=255&e;++i>0)-o&255;return t+r},a.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){let n=Math.pow(2,8*r-1);x(this,e,t,r,n-1,-n)}let i=r-1,a=1,o=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===o&&0!==this[t+i+1]&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+r},a.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},a.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},a.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},a.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},a.prototype.writeBigInt64LE=F(function(e,t=0){return _(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=F(function(e,t=0){return b(this,e,t,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeFloatLE=function(e,t,r){return T(this,e,t,!0,r)},a.prototype.writeFloatBE=function(e,t,r){return T(this,e,t,!1,r)},a.prototype.writeDoubleLE=function(e,t,r){return k(this,e,t,!0,r)},a.prototype.writeDoubleBE=function(e,t,r){return k(this,e,t,!1,r)},a.prototype.copy=function(e,t,r,n){if(!a.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function E(e,t,r,n,i,a){if(e>r||e3?0===t||t===BigInt(0)?`>= 0${i} and < 2${i} ** ${(a+1)*8}${i}`:`>= -(2${i} ** ${(a+1)*8-1}${i}) and < 2 ** ${(a+1)*8-1}${i}`:`>= ${t}${i} and <= ${r}${i}`,new A.ERR_OUT_OF_RANGE("value",n,e)}C(i,"offset"),(void 0===n[i]||void 0===n[i+a])&&L(i,n.length-(a+1))}function C(e,t){if("number"!=typeof e)throw new A.ERR_INVALID_ARG_TYPE(t,"number",e)}function L(e,t,r){if(Math.floor(e)!==e)throw C(e,r),new A.ERR_OUT_OF_RANGE(r||"offset","an integer",e);if(t<0)throw new A.ERR_BUFFER_OUT_OF_BOUNDS;throw new A.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}M("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),M("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),M("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>4294967296?i=S(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=S(i)),i+="n"),n+=` It must be ${t}. Received ${i}`},RangeError);var I=/[^+/0-9A-Za-z-_]/g;function P(e,t){let r;t=t||1/0;let n=e.length,i=null,a=[];for(let o=0;o55295&&r<57344){if(!i){if(r>56319||o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function z(e){return t.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(I,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function O(e,t,r,n){let i;for(i=0;i=t.length)&&!(i>=e.length);++i)t[i+r]=e[i];return i}function D(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var R=function(){let e="0123456789abcdef",t=Array(256);for(let r=0;r<16;++r){let n=16*r;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function F(e){return"undefined"==typeof BigInt?j:e}function j(){throw Error("BigInt not supported")}}}),lv=ed({"node_modules/has-symbols/shams.js"(e,t){t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(var n in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}}}),lx=ed({"node_modules/has-tostringtag/shams.js"(e,t){var r=lv();t.exports=function(){return r()&&!!Symbol.toStringTag}}}),l_=ed({"node_modules/es-object-atoms/index.js"(e,t){t.exports=Object}}),lb=ed({"node_modules/es-errors/index.js"(e,t){t.exports=Error}}),lw=ed({"node_modules/es-errors/eval.js"(e,t){t.exports=EvalError}}),lT=ed({"node_modules/es-errors/range.js"(e,t){t.exports=RangeError}}),lk=ed({"node_modules/es-errors/ref.js"(e,t){t.exports=ReferenceError}}),lA=ed({"node_modules/es-errors/syntax.js"(e,t){t.exports=SyntaxError}}),lM=ed({"node_modules/es-errors/type.js"(e,t){t.exports=TypeError}}),lS=ed({"node_modules/es-errors/uri.js"(e,t){t.exports=URIError}}),lE=ed({"node_modules/math-intrinsics/abs.js"(e,t){t.exports=Math.abs}}),lC=ed({"node_modules/math-intrinsics/floor.js"(e,t){t.exports=Math.floor}}),lL=ed({"node_modules/math-intrinsics/max.js"(e,t){t.exports=Math.max}}),lI=ed({"node_modules/math-intrinsics/min.js"(e,t){t.exports=Math.min}}),lP=ed({"node_modules/math-intrinsics/pow.js"(e,t){t.exports=Math.pow}}),lz=ed({"node_modules/math-intrinsics/round.js"(e,t){t.exports=Math.round}}),lO=ed({"node_modules/math-intrinsics/isNaN.js"(e,t){t.exports=Number.isNaN||function(e){return e!=e}}}),lD=ed({"node_modules/math-intrinsics/sign.js"(e,t){var r=lO();t.exports=function(e){return r(e)||0===e?e:e<0?-1:1}}}),lR=ed({"node_modules/gopd/gOPD.js"(e,t){t.exports=Object.getOwnPropertyDescriptor}}),lF=ed({"node_modules/gopd/index.js"(e,t){var r=lR();if(r)try{r([],"length")}catch(e){r=null}t.exports=r}}),lj=ed({"node_modules/es-define-property/index.js"(e,t){var r=Object.defineProperty||!1;if(r)try{r({},"a",{value:1})}catch(e){r=!1}t.exports=r}}),lB=ed({"node_modules/has-symbols/index.js"(e,t){var r="undefined"!=typeof Symbol&&Symbol,n=lv();t.exports=function(){return"function"==typeof r&&"function"==typeof Symbol&&"symbol"==typeof r("foo")&&"symbol"==typeof Symbol("bar")&&n()}}}),lN=ed({"node_modules/get-proto/Reflect.getPrototypeOf.js"(e,t){t.exports="undefined"!=typeof Reflect&&Reflect.getPrototypeOf||null}}),lU=ed({"node_modules/get-proto/Object.getPrototypeOf.js"(e,t){var r=l_();t.exports=r.getPrototypeOf||null}}),lV=ed({"node_modules/function-bind/implementation.js"(e,t){var r=Object.prototype.toString,n=Math.max,i=function(e,t){for(var r=[],n=0;n1&&"boolean"!=typeof t)throw new u('"allowMissing" argument must be a boolean');if(null===V(/^%?[^%]*%?$/,e))throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=G(e),n=r.length>0?r[0]:"",i=Z("%"+n+"%",t),a=i.name,o=i.value,s=!1,l=i.alias;l&&(n=l[0],B(r,j([0,1],l)));for(var h=1,f=!0;h=r.length){var g=b(o,p);o=(f=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[p]}else f=F(o,p),o=o[p];f&&!s&&(z[a]=o)}}return o}}}),lQ=ed({"node_modules/define-data-property/index.js"(e,t){var r=lj(),n=lA(),i=lM(),a=lF();t.exports=function(e,t,o){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new i("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!a&&a(e,t);if(r)r(e,t,{configurable:null===c&&h?h.configurable:!c,enumerable:null===s&&h?h.enumerable:!s,value:o,writable:null===l&&h?h.writable:!l});else if(!u&&(s||l||c))throw new n("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");else e[t]=o}}}),l0=ed({"node_modules/has-property-descriptors/index.js"(e,t){var r=lj(),n=function(){return!!r};n.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},t.exports=n}}),l1=ed({"node_modules/set-function-length/index.js"(e,t){var r=lK(),n=lQ(),i=l0()(),a=lF(),o=lM(),s=r("%Math.floor%");t.exports=function(e,t){if("function"!=typeof e)throw new o("`fn` is not a function");if("number"!=typeof t||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],l=!0,c=!0;if("length"in e&&a){var u=a(e,"length");u&&!u.configurable&&(l=!1),u&&!u.writable&&(c=!1)}return(l||c||!r)&&(i?n(e,"length",t,!0,!0):n(e,"length",t)),e}}}),l2=ed({"node_modules/call-bind/index.js"(e,t){var r=lq(),n=lK(),i=l1(),a=lM(),o=n("%Function.prototype.apply%"),s=n("%Function.prototype.call%"),l=n("%Reflect.apply%",!0)||r.call(s,o),c=lj(),u=n("%Math.max%");t.exports=function(e){if("function"!=typeof e)throw new a("a function is required");var t=l(r,s,arguments);return i(t,1+u(0,e.length-(arguments.length-1)),!0)};var h=function(){return l(r,o,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h}}),l3=ed({"node_modules/call-bind/callBound.js"(e,t){var r=lK(),n=l2(),i=n(r("String.prototype.indexOf"));t.exports=function(e,t){var a=r(e,!!t);return"function"==typeof a&&i(e,".prototype.")>-1?n(a):a}}}),l5=ed({"node_modules/is-arguments/index.js"(e,t){var r=lx()(),n=l3()("Object.prototype.toString"),i=function(e){return(!r||!e||"object"!=typeof e||!(Symbol.toStringTag in e))&&"[object Arguments]"===n(e)},a=function(e){return!!i(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==n(e)&&"[object Function]"===n(e.callee)},o=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=o?i:a}}),l4=ed({"node_modules/is-generator-function/index.js"(e,t){var r,n=Object.prototype.toString,i=Function.prototype.toString,a=/^\s*(?:function)?\*/,o=lx()(),s=Object.getPrototypeOf,l=function(){if(!o)return!1;try{return Function("return function*() {}")()}catch(e){}};t.exports=function(e){if("function"!=typeof e)return!1;if(a.test(i.call(e)))return!0;if(!o)return"[object GeneratorFunction]"===n.call(e);if(!s)return!1;if(void 0===r){var t=l();r=!!t&&s(t)}return s(e)===r}}}),l6=ed({"node_modules/is-callable/index.js"(e,t){var r,n,i,a=Function.prototype.toString,o="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof o&&"function"==typeof Object.defineProperty)try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},o(function(){throw 42},null,r)}catch(e){e!==n&&(o=null)}else o=null;var s=/^\s*class\b/,l=function(e){try{var t=a.call(e);return s.test(t)}catch(e){return!1}},c=function(e){try{if(l(e))return!1;return a.call(e),!0}catch(e){return!1}},u=Object.prototype.toString,h="function"==typeof Symbol&&!!Symbol.toStringTag,f=!(0 in[,]),p=function(){return!1};"object"==typeof document&&(i=document.all,u.call(i)===u.call(document.all)&&(p=function(e){if((f||!e)&&(void 0===e||"object"==typeof e))try{var t=u.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})),t.exports=o?function(e){if(p(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;try{o(e,null,r)}catch(e){if(e!==n)return!1}return!l(e)&&c(e)}:function(e){if(p(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;if(h)return c(e);if(l(e))return!1;var t=u.call(e);return!!("[object Function]"===t||"[object GeneratorFunction]"===t||/^\[object HTML/.test(t))&&c(e)}}}),l8=ed({"node_modules/for-each/index.js"(e,t){var r=l6(),n=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(e,t,r){for(var n=0,a=e.length;n=3&&(l=i),"[object Array]"===n.call(e)?a(e,t,l):"string"==typeof e?o(e,t,l):s(e,t,l)}}}),l7=ed({"node_modules/available-typed-arrays/index.js"(e,t){var r=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],n="undefined"==typeof globalThis?window:globalThis;t.exports=function(){for(var e=[],t=0;t-1?t:"Object"===t&&g(e)}return o?m(e):null}}}),ce=ed({"node_modules/is-typed-array/index.js"(e,t){var r=l8(),n=l7(),i=l3(),a=i("Object.prototype.toString"),o=lx()(),s=lF(),l="undefined"==typeof globalThis?window:globalThis,c=n(),u=i("Array.prototype.indexOf",!0)||function(e,t){for(var r=0;r-1)}}}),ct=ed({"node_modules/util/support/types.js"(e){var t,r,n=l5(),i=l4(),a=l9(),o=ce();function s(e){return e.call.bind(e)}var l="undefined"!=typeof BigInt,c="undefined"!=typeof Symbol,u=s(Object.prototype.toString),h=s(Number.prototype.valueOf),f=s(String.prototype.valueOf),p=s(Boolean.prototype.valueOf);function d(e,t){if("object"!=typeof e)return!1;try{return t(e),!0}catch(e){return!1}}function m(e){return"[object Map]"===u(e)}function g(e){return"[object Set]"===u(e)}function y(e){return"[object WeakMap]"===u(e)}function v(e){return"[object WeakSet]"===u(e)}function x(e){return"[object ArrayBuffer]"===u(e)}function _(e){return"undefined"!=typeof ArrayBuffer&&(x.working?x(e):e instanceof ArrayBuffer)}function b(e){return"[object DataView]"===u(e)}function w(e){return"undefined"!=typeof DataView&&(b.working?b(e):e instanceof DataView)}l&&(t=s(BigInt.prototype.valueOf)),c&&(r=s(Symbol.prototype.valueOf)),e.isArgumentsObject=n,e.isGeneratorFunction=i,e.isTypedArray=o,e.isPromise=function(e){return"undefined"!=typeof Promise&&e instanceof Promise||null!==e&&"object"==typeof e&&"function"==typeof e.then&&"function"==typeof e.catch},e.isArrayBufferView=function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):o(e)||w(e)},e.isUint8Array=function(e){return"Uint8Array"===a(e)},e.isUint8ClampedArray=function(e){return"Uint8ClampedArray"===a(e)},e.isUint16Array=function(e){return"Uint16Array"===a(e)},e.isUint32Array=function(e){return"Uint32Array"===a(e)},e.isInt8Array=function(e){return"Int8Array"===a(e)},e.isInt16Array=function(e){return"Int16Array"===a(e)},e.isInt32Array=function(e){return"Int32Array"===a(e)},e.isFloat32Array=function(e){return"Float32Array"===a(e)},e.isFloat64Array=function(e){return"Float64Array"===a(e)},e.isBigInt64Array=function(e){return"BigInt64Array"===a(e)},e.isBigUint64Array=function(e){return"BigUint64Array"===a(e)},m.working="undefined"!=typeof Map&&m(new Map),e.isMap=function(e){return"undefined"!=typeof Map&&(m.working?m(e):e instanceof Map)},g.working="undefined"!=typeof Set&&g(new Set),e.isSet=function(e){return"undefined"!=typeof Set&&(g.working?g(e):e instanceof Set)},y.working="undefined"!=typeof WeakMap&&y(new WeakMap),e.isWeakMap=function(e){return"undefined"!=typeof WeakMap&&(y.working?y(e):e instanceof WeakMap)},v.working="undefined"!=typeof WeakSet&&v(new WeakSet),e.isWeakSet=function(e){return v(e)},x.working="undefined"!=typeof ArrayBuffer&&x(new ArrayBuffer),e.isArrayBuffer=_,b.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&b(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=w;var T="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function k(e){return"[object SharedArrayBuffer]"===u(e)}function A(e){return void 0!==T&&(void 0===k.working&&(k.working=k(new T)),k.working?k(e):e instanceof T)}function M(e){return d(e,h)}function S(e){return d(e,f)}function E(e){return d(e,p)}function C(e){return l&&d(e,t)}function L(e){return c&&d(e,r)}e.isSharedArrayBuffer=A,e.isAsyncFunction=function(e){return"[object AsyncFunction]"===u(e)},e.isMapIterator=function(e){return"[object Map Iterator]"===u(e)},e.isSetIterator=function(e){return"[object Set Iterator]"===u(e)},e.isGeneratorObject=function(e){return"[object Generator]"===u(e)},e.isWebAssemblyCompiledModule=function(e){return"[object WebAssembly.Module]"===u(e)},e.isNumberObject=M,e.isStringObject=S,e.isBooleanObject=E,e.isBigIntObject=C,e.isSymbolObject=L,e.isBoxedPrimitive=function(e){return M(e)||S(e)||E(e)||C(e)||L(e)},e.isAnyArrayBuffer=function(e){return"undefined"!=typeof Uint8Array&&(_(e)||A(e))},["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw Error(t+" is not supported in userland")}})})}}),cr=ed({"node_modules/util/support/isBufferBrowser.js"(e,t){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}}}),cn=ed({"(disabled):node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(e){return"[Circular]"}default:return e}}),l=i[n];n=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),p(r)?n.showHidden=r:r&&e._extend(n,r),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),c(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"\x1b["+o.colors[r][0]+"m"+e+"\x1b["+o.colors[r][1]+"m":e}function l(e,t){return e}function c(t,r,n){if(t.customInspect&&r&&w(r.inspect)&&r.inspect!==e.inspect&&!(r.constructor&&r.constructor.prototype===r)){var i,a,o,s,l,x=r.inspect(n,t);return g(x)||(x=c(t,x,n)),x}var T=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(g(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):d(t)?e.stylize("null","null"):void 0}(t,r);if(T)return T;var k=Object.keys(r),A=(s={},k.forEach(function(e,t){s[e]=!0}),s);if(t.showHidden&&(k=Object.getOwnPropertyNames(r)),b(r)&&(k.indexOf("message")>=0||k.indexOf("description")>=0))return u(r);if(0===k.length){if(w(r)){var S=r.name?": "+r.name:"";return t.stylize("[Function"+S+"]","special")}if(v(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return t.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var E="",C=!1,L=["{","}"];return(f(r)&&(C=!0,L=["[","]"]),w(r)&&(E=" [Function"+(r.name?": "+r.name:"")+"]"),v(r)&&(E=" "+RegExp.prototype.toString.call(r)),_(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==k.length||C&&0!=r.length)?n<0?v(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),l=C?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o=0&&o++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?a[0]+(""===i?"":i+"\n ")+" "+l.join(",\n ")+" "+a[1]:a[0]+i+" "+l.join(", ")+" "+a[1]):L[0]+E+L[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),M(n,i)||(o="["+i+"]"),!s&&(0>e.seen.indexOf(l.value)?(s=d(r)?c(e,l.value,null):c(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(e){return" "+e}).join("\n").slice(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n")):s=e.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function f(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function d(e){return null===e}function m(e){return"number"==typeof e}function g(e){return"string"==typeof e}function y(e){return void 0===e}function v(e){return x(e)&&"[object RegExp]"===T(e)}function x(e){return"object"==typeof e&&null!==e}function _(e){return x(e)&&"[object Date]"===T(e)}function b(e){return x(e)&&("[object Error]"===T(e)||e instanceof Error)}function w(e){return"function"==typeof e}function T(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}i=RegExp("^"+"false".replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase()+"$","i"),e.debuglog=function(t){if(!n[t=t.toUpperCase()]){if(i.test(t)){var r=a.pid;n[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else n[t]=function(){}}return n[t]},e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=ct(),e.isArray=f,e.isBoolean=p,e.isNull=d,e.isNullOrUndefined=function(e){return null==e},e.isNumber=m,e.isString=g,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=y,e.isRegExp=v,e.types.isRegExp=v,e.isObject=x,e.isDate=_,e.types.isDate=_,e.isError=b,e.types.isNativeError=b,e.isFunction=w,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},e.isBuffer=cr();var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[k((t=new Date).getHours()),k(t.getMinutes()),k(t.getSeconds())].join(":"),[t.getDate(),A[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=lp(),e._extend=function(e,t){if(!t||!x(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var S="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function E(e,t){if(!e){var r=Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw TypeError('The "original" argument must be of type Function');if(S&&e[S]){var r=e[S];if("function"!=typeof r)throw TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,S,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise(function(e,n){t=e,r=n}),i=[],a=0;a0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return n.alloc(0);for(var t,r,i=n.allocUnsafe(e>>>0),a=this.head,o=0;a;)t=a.data,r=o,n.prototype.copy.call(t,i,r),o+=a.data.length,a=a.next;return i}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=n.allocUnsafe(e),r=this.head,i=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(a.copy(t,t.length-e,0,o),0==(e-=o)){o===a.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=a.slice(o));break}++i}return this.length-=i,t}},{key:a,value:function(e,t){return i(this,function(e){for(var t=1;t2)?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}n("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),n("ERR_INVALID_ARG_TYPE",function(e,t,r){if("string"==typeof t&&(n="not ",t.substr(0,n.length)===n)?(l="must not be",t=t.replace(/^not /,"")):l="must be",a=" argument",(void 0===o||o>e.length)&&(o=e.length),e.substring(o-a.length,o)===a)c="The ".concat(e," ").concat(l," ").concat(i(t,"type"));else{var n,a,o,s,l,c,u=("number"!=typeof s&&(s=0),s+1>e.length||-1===e.indexOf(".",s))?"argument":"property";c='The "'.concat(e,'" ').concat(u," ").concat(l," ").concat(i(t,"type"))}return c+". Received type ".concat(typeof r)},TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=r}}),cs=ed({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js"(e,t){var r=co().codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,i){var a=null!=t.highWaterMark?t.highWaterMark:i?t[n]:null;if(null!=a){if(!(isFinite(a)&&Math.floor(a)===a)||a<0)throw new r(i?n:"highWaterMark",a);return Math.floor(a)}return e.objectMode?16:16384}}}}),cl=ed({"node_modules/util-deprecate/browser.js"(e,t){t.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}};function r(e){try{if(!window.localStorage)return!1}catch(e){return!1}var t=window.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}}}),cc=ed({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js"(e,t){function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){(function(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(void 0),n=n.next}t.corkedRequestsFree.next=e})(t,e)}}t.exports=k,k.WritableState=T;var n,i,o={deprecate:cl()},s=ld(),l=ly().Buffer,c=window.Uint8Array||function(){},u=ca(),h=cs().getHighWaterMark,f=co().codes,p=f.ERR_INVALID_ARG_TYPE,d=f.ERR_METHOD_NOT_IMPLEMENTED,m=f.ERR_MULTIPLE_CALLBACK,g=f.ERR_STREAM_CANNOT_PIPE,y=f.ERR_STREAM_DESTROYED,v=f.ERR_STREAM_NULL_VALUES,x=f.ERR_STREAM_WRITE_AFTER_END,_=f.ERR_UNKNOWN_ENCODING,b=u.errorOrDestroy;function w(){}function T(e,t,i){n=n||cu(),e=e||{},"boolean"!=typeof i&&(i=t instanceof n),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=h(this,e,"writableHighWaterMark",i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){(function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if("function"!=typeof i)throw new m;if(r.writing=!1,r.writecb=null,r.length-=r.writelen,r.writelen=0,t)--r.pendingcb,n?(a.nextTick(i,t),a.nextTick(L,e,r),e._writableState.errorEmitted=!0,b(e,t)):(i(t),e._writableState.errorEmitted=!0,b(e,t),L(e,r));else{var o=E(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||S(e,r),n?a.nextTick(M,e,r,o,i):M(e,r,o,i)}})(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function k(e){var t=this instanceof(n=n||cu());if(!t&&!i.call(k,this))return new k(e);this._writableState=new T(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),s.call(this)}function A(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new y("write")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function M(e,t,r,n){r||0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain")),t.pendingcb--,n(),L(e,t)}function S(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=Array(t.bufferedRequestCount),a=t.corkedRequestsFree;a.entry=n;for(var o=0,s=!0;n;)i[o]=n,n.isBuf||(s=!1),n=n.next,o+=1;i.allBuffers=s,A(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;n;){var l=n.chunk,c=n.encoding,u=n.callback,h=t.objectMode?1:l.length;if(A(e,t,!1,h,l,c,u),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function C(e,t){e._final(function(r){t.pendingcb--,r&&b(e,r),t.prefinished=!0,e.emit("prefinish"),L(e,t)})}function L(e,t){var r=E(t);if(r&&(t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,a.nextTick(C,e,t))),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}lp()(k,s),T.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(T.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(i=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!i.call(this,e)||this===k&&e&&e._writableState instanceof T}})):i=function(e){return e instanceof this},k.prototype.pipe=function(){b(this,new g)},k.prototype.write=function(e,t,r){var n,i,o,s,u,h,f,d=this._writableState,m=!1,g=!d.objectMode&&(n=e,l.isBuffer(n)||n instanceof c);return g&&!l.isBuffer(e)&&(i=e,e=l.from(i)),("function"==typeof t&&(r=t,t=null),g?t="buffer":t||(t=d.defaultEncoding),"function"!=typeof r&&(r=w),d.ending)?(o=r,b(this,s=new x),a.nextTick(o,s)):(g||(u=e,h=r,null===u?f=new v:"string"==typeof u||d.objectMode||(f=new p("chunk",["string","Buffer"],u)),!f||(b(this,f),a.nextTick(h,f),0)))&&(d.pendingcb++,m=function(e,t,r,n,i,a){if(!r){var o,s,c=(o=n,s=i,t.objectMode||!1===t.decodeStrings||"string"!=typeof o||(o=l.from(o,s)),o);n!==c&&(r=!0,i="buffer",n=c)}var u=t.objectMode?1:n.length;t.length+=u;var h=t.length-1))throw new _(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,r){r(new d("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,t,r){var n,i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||(n=r,i.ending=!0,L(this,i),n&&(i.finished?a.nextTick(n):this.once("finish",n)),i.ended=!0,this.writable=!1),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=u.destroy,k.prototype._undestroy=u.undestroy,k.prototype._destroy=function(e,t){t(e)}}}),cu=ed({"node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js"(e,t){var r,n,i,o=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};t.exports=c;var s=cg(),l=cc();for(lp()(c,s),r=o(l.prototype),i=0;i>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if((192&t[0])!=128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((192&t[1])!=128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(192&t[2])!=128)return e.lastNeed=2,"�"}}(this,e,0);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length)}function o(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function s(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function l(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function u(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}e.StringDecoder=n,n.prototype.write=function(e){var t,r;if(0===e.length)return"";if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(a>0&&(e.lastNeed=a-1),a):--n=0?(a>0&&(e.lastNeed=a-2),a):--n=0?(a>0&&(2===a?a=0:e.lastNeed=a-3),a):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},n.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}}}),cp=ed({"node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(e,t){var r=co().codes.ERR_STREAM_PREMATURE_CLOSE;function n(){}t.exports=function e(t,i,a){if("function"==typeof i)return e(t,null,i);i||(i={}),o=a||n,s=!1,a=function(){if(!s){s=!0;for(var e=arguments.length,t=Array(e),r=0;r0){if("string"==typeof t||p.objectMode||Object.getPrototypeOf(t)===u.prototype||(c=t,t=u.from(c)),i)p.endEmitted?b(e,new _):M(e,p,t,!0);else if(p.ended)b(e,new v);else{if(p.destroyed)return!1;p.reading=!1,p.decoder&&!r?(t=p.decoder.write(t),p.objectMode||0!==t.length?M(e,p,t,!1):L(e,p)):M(e,p,t,!1)}}else i||(p.reading=!1,L(e,p))}return!p.ended&&(p.lengtht.highWaterMark){var r;t.highWaterMark=((r=e)>=1073741824?r=1073741824:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r)}return e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0)}function E(e){var t=e._readableState;n("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(n("emitReadable",t.flowing),t.emittedReadable=!0,a.nextTick(C,e))}function C(e){var t=e._readableState;n("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,D(e)}function L(e,t){t.readingMore||(t.readingMore=!0,a.nextTick(I,e,t))}function I(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function z(e){n("readable nexttick read 0"),e.read(0)}function O(e,t){n("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),D(e),t.flowing&&!t.reading&&e.read(0)}function D(e){var t=e._readableState;for(n("flow",t.flowing);t.flowing&&null!==e.read(););}function R(e,t){var r;return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r)}function F(e){var t=e._readableState;n("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,a.nextTick(j,t,e))}function j(e,t){if(n("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function B(e,t){for(var r=0,n=e.length;r=r.highWaterMark:r.length>0)||r.ended))return n("read: emitReadable",r.length,r.ended),0===r.length&&r.ended?F(this):E(this),null;if(0===(e=S(e,r))&&r.ended)return 0===r.length&&F(this),null;var a=r.needReadable;return n("need readable",a),(0===r.length||r.length-e0?R(e,r):null)?(r.needReadable=r.length<=r.highWaterMark,e=0):(r.length-=e,r.awaitDrain=0),0===r.length&&(r.ended||(r.needReadable=!0),i!==e&&r.ended&&F(this)),null!==t&&this.emit("data",t),t},k.prototype._read=function(e){b(this,new x("_read()"))},k.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,n("pipe count=%d opts=%j",i.pipesCount,t);var o=t&&!1===t.end||e===a.stdout||e===a.stderr?m:s;function s(){n("onend"),e.end()}i.endEmitted?a.nextTick(o):r.once("end",o),e.on("unpipe",function t(a,o){n("onunpipe"),a===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,n("cleanup"),e.removeListener("close",p),e.removeListener("finish",d),e.removeListener("drain",c),e.removeListener("error",f),e.removeListener("unpipe",t),r.removeListener("end",s),r.removeListener("end",m),r.removeListener("data",h),u=!0,i.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c())});var c=function(){var e=r._readableState;n("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&l(r,"data")&&(e.flowing=!0,D(r))};e.on("drain",c);var u=!1;function h(t){n("ondata");var a=e.write(t);n("dest.write",a),!1===a&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==B(i.pipes,e))&&!u&&(n("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(t){n("onerror",t),m(),e.removeListener("error",f),0===l(e,"error")&&b(e,t)}function p(){e.removeListener("finish",d),m()}function d(){n("onfinish"),e.removeListener("close",p),m()}function m(){n("unpipe"),r.unpipe(e)}return r.on("data",h),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",f),e.once("close",p),e.once("finish",d),e.emit("pipe",r),i.flowing||(n("pipe resume"),r.resume()),e},k.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,!1!==i.flowing&&this.resume()):"readable"!==e||i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,n("on readable",i.length,i.reading),i.length?E(this):i.reading||a.nextTick(z,this)),r},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(e,t){var r=c.prototype.removeListener.call(this,e,t);return"readable"===e&&a.nextTick(P,this),r},k.prototype.removeAllListeners=function(e){var t=c.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&a.nextTick(P,this),t},k.prototype.resume=function(){var e=this._readableState;return e.flowing||(n("resume"),e.flowing=!e.readableListening,e.resumeScheduled||(e.resumeScheduled=!0,a.nextTick(O,this,e))),e.paused=!1,this},k.prototype.pause=function(){return n("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(n("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(e){var t=this,r=this._readableState,i=!1;for(var a in e.on("end",function(){if(n("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(a){n("wrapped data"),r.decoder&&(a=r.decoder.write(a)),(!r.objectMode||null!=a)&&(r.objectMode||a&&a.length)&&(t.push(a)||(i=!0,e.pause()))}),e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));for(var o=0;o0,l=o=function(e){t||(t=e),e&&f.forEach(s),m||(f.forEach(s),h(t))},u=!1,o=function(){u||(u=!0,l.apply(void 0,arguments))},p=!1,e.on("close",function(){p=!0}),void 0===r&&(r=cp()),r(e,{readable:m,writable:i},function(e){if(e)return o(e);p=!0,o()}),d=!1,function(t){if(!p&&!d){if(d=!0,e.setHeader&&"function"==typeof e.abort)return e.abort();if("function"==typeof e.destroy)return e.destroy();o(t||new a("pipe"))}}});return c.reduce(l)}}}),c_=ed({"node_modules/stream-browserify/index.js"(e,t){t.exports=n;var r=t3().EventEmitter;function n(){r.call(this)}lp()(n,r),n.Readable=cg(),n.Writable=cc(),n.Duplex=cu(),n.Transform=cy(),n.PassThrough=cv(),n.finished=cp(),n.pipeline=cx(),n.Stream=n,n.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",a),e._isStdio||t&&!1===t.end||(n.on("end",s),n.on("close",l));var o=!1;function s(){o||(o=!0,e.end())}function l(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function c(e){if(u(),0===r.listenerCount(this,"error"))throw e}function u(){n.removeListener("data",i),e.removeListener("drain",a),n.removeListener("end",s),n.removeListener("close",l),n.removeListener("error",c),e.removeListener("error",c),n.removeListener("end",u),n.removeListener("close",u),e.removeListener("close",u)}return n.on("error",c),e.on("error",c),n.on("end",u),n.on("close",u),e.on("close",u),e.emit("pipe",n),e}}}),cb=ed({"node_modules/util/util.js"(e){var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(e){return"[Circular]"}default:return e}}),l=i[n];n=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),p(r)?n.showHidden=r:r&&e._extend(n,r),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),c(n,t,n.depth)}function s(e,t){var r=o.styles[t];return r?"\x1b["+o.colors[r][0]+"m"+e+"\x1b["+o.colors[r][1]+"m":e}function l(e,t){return e}function c(t,r,n){if(t.customInspect&&r&&w(r.inspect)&&r.inspect!==e.inspect&&!(r.constructor&&r.constructor.prototype===r)){var i,a,o,s,l,x=r.inspect(n,t);return g(x)||(x=c(t,x,n)),x}var T=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(g(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return m(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):d(t)?e.stylize("null","null"):void 0}(t,r);if(T)return T;var k=Object.keys(r),A=(s={},k.forEach(function(e,t){s[e]=!0}),s);if(t.showHidden&&(k=Object.getOwnPropertyNames(r)),b(r)&&(k.indexOf("message")>=0||k.indexOf("description")>=0))return u(r);if(0===k.length){if(w(r)){var S=r.name?": "+r.name:"";return t.stylize("[Function"+S+"]","special")}if(v(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return t.stylize(Date.prototype.toString.call(r),"date");if(b(r))return u(r)}var E="",C=!1,L=["{","}"];return(f(r)&&(C=!0,L=["[","]"]),w(r)&&(E=" [Function"+(r.name?": "+r.name:"")+"]"),v(r)&&(E=" "+RegExp.prototype.toString.call(r)),_(r)&&(E=" "+Date.prototype.toUTCString.call(r)),b(r)&&(E=" "+u(r)),0!==k.length||C&&0!=r.length)?n<0?v(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),l=C?function(e,t,r,n,i){for(var a=[],o=0,s=t.length;o=0&&o++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?a[0]+(""===i?"":i+"\n ")+" "+l.join(",\n ")+" "+a[1]:a[0]+i+" "+l.join(", ")+" "+a[1]):L[0]+E+L[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),M(n,i)||(o="["+i+"]"),!s&&(0>e.seen.indexOf(l.value)?(s=d(r)?c(e,l.value,null):c(e,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(e){return" "+e}).join("\n").slice(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n")):s=e.stylize("[Circular]","special")),y(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function f(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function d(e){return null===e}function m(e){return"number"==typeof e}function g(e){return"string"==typeof e}function y(e){return void 0===e}function v(e){return x(e)&&"[object RegExp]"===T(e)}function x(e){return"object"==typeof e&&null!==e}function _(e){return x(e)&&"[object Date]"===T(e)}function b(e){return x(e)&&("[object Error]"===T(e)||e instanceof Error)}function w(e){return"function"==typeof e}function T(e){return Object.prototype.toString.call(e)}function k(e){return e<10?"0"+e.toString(10):e.toString(10)}i=RegExp("^"+"false".replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase()+"$","i"),e.debuglog=function(t){if(!n[t=t.toUpperCase()]){if(i.test(t)){var r=a.pid;n[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else n[t]=function(){}}return n[t]},e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=ct(),e.isArray=f,e.isBoolean=p,e.isNull=d,e.isNullOrUndefined=function(e){return null==e},e.isNumber=m,e.isString=g,e.isSymbol=function(e){return"symbol"==typeof e},e.isUndefined=y,e.isRegExp=v,e.types.isRegExp=v,e.isObject=x,e.isDate=_,e.types.isDate=_,e.isError=b,e.types.isNativeError=b,e.isFunction=w,e.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},e.isBuffer=cr();var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.log=function(){var t,r;console.log("%s - %s",(r=[k((t=new Date).getHours()),k(t.getMinutes()),k(t.getSeconds())].join(":"),[t.getDate(),A[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=lp(),e._extend=function(e,t){if(!t||!x(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var S="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function E(e,t){if(!e){var r=Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.promisify=function(e){if("function"!=typeof e)throw TypeError('The "original" argument must be of type Function');if(S&&e[S]){var r=e[S];if("function"!=typeof r)throw TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(r,S,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var t,r,n=new Promise(function(e,n){t=e,r=n}),i=[],a=0;a2)?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}l("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),l("ERR_INVALID_ARG_TYPE",function(e,t,n){if((void 0===a&&(a=cB()),a("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(i="not ",t.substr(0,i.length)===i))?(u="must not be",t=t.replace(/^not /,"")):u="must be",o=" argument",(void 0===s||s>e.length)&&(s=e.length),e.substring(s-o.length,s)===o)h="The ".concat(e," ").concat(u," ").concat(c(t,"type"));else{var i,o,s,l,u,h,f=("number"!=typeof l&&(l=0),l+1>e.length||-1===e.indexOf(".",l))?"argument":"property";h='The "'.concat(e,'" ').concat(f," ").concat(u," ").concat(c(t,"type"))}return h+". Received type ".concat(r(n))},TypeError),l("ERR_INVALID_ARG_VALUE",function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===o&&(o=cb());var n=o.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)},TypeError,RangeError),l("ERR_INVALID_RETURN_VALUE",function(e,t,n){var i;return i=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")},TypeError),l("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map(function(e){return'"'.concat(e,'"')}),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", ")+", and ".concat(t[i-1]," arguments")}return"".concat(n," must be specified")},TypeError),t.exports.codes=s}}),cT=ed({"node_modules/assert/build/internal/assert/assertion_error.js"(e,t){function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function n(e){for(var t=1;te.length)&&(r=e.length),e.substring(r-t.length,r)===t}var y="",v="",x="",_="",b={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(t){r[t]=e[t]}),Object.defineProperty(r,"message",{value:e.message}),r}function T(e){return d(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var k=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(k,e);var r,l,c=(r=u(),function(){var e,t=f(k);return e=r?Reflect.construct(t,arguments,f(this).constructor):t.apply(this,arguments),o(this,e)});function k(e){if(function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,k),"object"!==p(e)||null===e)throw new m("options","Object",e);var t,r=e.message,n=e.operator,i=e.stackStartFn,l=e.actual,u=e.expected,h=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=r)t=c.call(this,String(r));else if(a.stderr&&a.stderr.isTTY&&(a.stderr&&a.stderr.getColorDepth&&1!==a.stderr.getColorDepth()?(y="\x1b[34m",v="\x1b[32m",_="\x1b[39m",x="\x1b[31m"):(y="",v="",_="",x="")),"object"===p(l)&&null!==l&&"object"===p(u)&&null!==u&&"stack"in l&&l instanceof Error&&"stack"in u&&u instanceof Error&&(l=w(l),u=w(u)),"deepStrictEqual"===n||"strictEqual"===n)t=c.call(this,function(e,t,r){var n="",i="",o=0,s="",l=!1,c=T(e),u=c.split("\n"),h=T(t).split("\n"),f=0,d="";if("strictEqual"===r&&"object"===p(e)&&"object"===p(t)&&null!==e&&null!==t&&(r="strictEqualObject"),1===u.length&&1===h.length&&u[0]!==h[0]){var m=u[0].length+h[0].length;if(m<=10){if(("object"!==p(e)||null===e)&&("object"!==p(t)||null===t)&&(0!==e||0!==t))return"".concat(b[r],"\n\n")+"".concat(u[0]," !== ").concat(h[0],"\n")}else if("strictEqualObject"!==r&&m<(a.stderr&&a.stderr.isTTY?a.stderr.columns:80)){for(;u[0][f]===h[0][f];)f++;f>2&&(d="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,r-e.length)}(" ",f),"^"),f=0)}}for(var w=u[u.length-1],k=h[h.length-1];w===k&&(f++<2?s="\n ".concat(w).concat(s):n=w,u.pop(),h.pop(),0!==u.length&&0!==h.length);)w=u[u.length-1],k=h[h.length-1];var A=Math.max(u.length,h.length);if(0===A){var M=c.split("\n");if(M.length>30)for(M[26]="".concat(y,"...").concat(_);M.length>27;)M.pop();return"".concat(b.notIdentical,"\n\n").concat(M.join("\n"),"\n")}f>3&&(s="\n".concat(y,"...").concat(_).concat(s),l=!0),""!==n&&(s="\n ".concat(n).concat(s),n="");var S=0,E=b[r]+"\n".concat(v,"+ actual").concat(_," ").concat(x,"- expected").concat(_),C=" ".concat(y,"...").concat(_," Lines skipped");for(f=0;f1&&f>2&&(L>4?(i+="\n".concat(y,"...").concat(_),l=!0):L>3&&(i+="\n ".concat(h[f-2]),S++),i+="\n ".concat(h[f-1]),S++),o=f,n+="\n".concat(x,"-").concat(_," ").concat(h[f]),S++;else if(h.length1&&f>2&&(L>4?(i+="\n".concat(y,"...").concat(_),l=!0):L>3&&(i+="\n ".concat(u[f-2]),S++),i+="\n ".concat(u[f-1]),S++),o=f,i+="\n".concat(v,"+").concat(_," ").concat(u[f]),S++;else{var I=h[f],P=u[f],z=P!==I&&(!g(P,",")||P.slice(0,-1)!==I);z&&g(I,",")&&I.slice(0,-1)===P&&(z=!1,P+=","),z?(L>1&&f>2&&(L>4?(i+="\n".concat(y,"...").concat(_),l=!0):L>3&&(i+="\n ".concat(u[f-2]),S++),i+="\n ".concat(u[f-1]),S++),o=f,i+="\n".concat(v,"+").concat(_," ").concat(P),n+="\n".concat(x,"-").concat(_," ").concat(I),S+=2):(i+=n,n="",(1===L||0===f)&&(i+="\n ".concat(P),S++))}if(S>20&&f30)for(d[26]="".concat(y,"...").concat(_);d.length>27;)d.pop();t=1===d.length?c.call(this,"".concat(f," ").concat(d[0])):c.call(this,"".concat(f,"\n\n").concat(d.join("\n"),"\n"))}else{var A=T(l),M="",S=b[n];"notDeepEqual"===n||"notEqual"===n?(A="".concat(b[n],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(T(u)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===n||"equal"===n?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(n," ").concat(M)),t=c.call(this,"".concat(A).concat(M))}return Error.stackTraceLimit=h,t.generatedMessage=!r,Object.defineProperty(s(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=l,t.expected=u,t.operator=n,Error.captureStackTrace&&Error.captureStackTrace(s(t),i),t.stack,t.name="AssertionError",o(t)}return l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return d(this,n(n({},t),{},{customInspect:!1,depth:0}))}}],function(e,t){for(var r=0;r=0&&"[object Function]"===r.call(e.callee)),n}}}),cA=ed({"node_modules/object-keys/implementation.js"(e,t){var r,n,i,a,o,s,l,c,u,h,f,p;Object.keys||(n=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=ck(),s=!(o=Object.prototype.propertyIsEnumerable).call({toString:null},"toString"),l=o.call(function(){},"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(e){var t=e.constructor;return t&&t.prototype===e},h={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},f=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!h["$"+e]&&n.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{u(window[e])}catch(e){return!0}}catch(e){return!0}return!1}(),p=function(e){if("undefined"==typeof window||!f)return u(e);try{return u(e)}catch(e){return!1}},r=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===i.call(e),o=a(e),u=t&&"[object String]"===i.call(e),h=[];if(!t&&!r&&!o)throw TypeError("Object.keys called on a non-object");var f=l&&r;if(u&&e.length>0&&!n.call(e,0))for(var d=0;d0)for(var m=0;m2?arguments[2]:{},o=r(t);n&&(o=a.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;se.length)&&(t=e.length);for(var r=0,n=Array(t);r10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=4294967296}function P(e){return Object.keys(e).filter(I).concat(c(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function z(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i0)return function(e){if(!((e=String(e)).length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*r;case"days":case"day":case"d":return 864e5*r;case"hours":case"hour":case"hrs":case"hr":case"h":return 36e5*r;case"minutes":case"minute":case"mins":case"min":case"m":return 6e4*r;case"seconds":case"second":case"secs":case"sec":case"s":return 1e3*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}(e);if("number"===n&&!1===isNaN(e))return t.long?r(e,864e5,"day")||r(e,36e5,"hour")||r(e,6e4,"minute")||r(e,1e3,"second")||e+" ms":e>=864e5?Math.round(e/864e5)+"d":e>=36e5?Math.round(e/36e5)+"h":e>=6e4?Math.round(e/6e4)+"m":e>=1e3?Math.round(e/1e3)+"s":e+"ms";throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}}}),cU=ed({"node_modules/stream-parser/node_modules/debug/src/debug.js"(e,t){var r;function n(t){function n(){if(n.enabled){var t=+new Date,i=t-(r||t);n.diff=i,n.prev=r,n.curr=t,r=t;for(var a=Array(arguments.length),o=0;o=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},e.enable(r())}}),cq=ed({"node_modules/stream-parser/index.js"(e,t){var r=cB(),n=cV()("stream-parser");function i(e){n("initializing parser stream"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=-1,e._parserCallback=null,"function"==typeof e.push&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function a(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got "'+e+'"'),this._parserInit||i(this),n("buffering %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=0}function s(e,t){r(!this._parserCallback,'there is already a "callback" set!'),r(e>0,'can only skip > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("skipping %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=1}function l(e,t){r(!this._parserCallback,'There is already a "callback" set!'),r(e>0,'can only pass through > 0 bytes, got "'+e+'"'),this._parserInit||i(this),n("passing through %o bytes",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=2}function c(e,t,r){this._parserInit||i(this),n("write(%o bytes)",e.length),"function"==typeof t&&(r=t),f(this,e,null,r)}function u(e,t,r){this._parserInit||i(this),n("transform(%o bytes)",e.length),"function"!=typeof t&&(t=this._parserOutput),f(this,e,t,r)}function h(e,t,r,i){if(e._parserBytesLeft-=t.length,n("%o bytes left for stream piece",e._parserBytesLeft),0===e._parserState?(e._parserBuffers.push(t),e._parserBuffered+=t.length):2===e._parserState&&r(t),0!==e._parserBytesLeft)return i;var a=e._parserCallback;if(a&&0===e._parserState&&e._parserBuffers.length>1&&(t=o.concat(e._parserBuffers,e._parserBuffered)),0!==e._parserState&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=-1,e._parserBuffers.splice(0),a){var s=[];t&&s.push(t),r&&s.push(r);var l=a.length>s.length;l&&s.push(p(i));var c=a.apply(e,s);if(!l||i===c)return i}}t.exports=function(e){var t=e&&"function"==typeof e._transform,r=e&&"function"==typeof e._write;if(!t&&!r)throw Error("must pass a Writable or Transform stream in");n("extending Parser into stream"),e._bytes=a,e._skipBytes=s,t&&(e._passthrough=l),t?e._transform=u:e._write=c};var f=p(function e(t,r,n,i){return t._parserBytesLeft<=0?i(Error("got data but not currently parsing anything")):r.length<=t._parserBytesLeft?function(){return h(t,r,n,i)}:function(){var a=r.slice(0,t._parserBytesLeft);return h(t,a,n,function(o){return o?i(o):r.length>a.length?function(){return e(t,r.slice(a.length),n,i)}:void 0})}});function p(e){return function(){for(var t=e.apply(this,arguments);"function"==typeof t;)t=t();return t}}}}),cH=ed({"node_modules/probe-image-size/lib/common.js"(e){var t=c_().Transform,r=cq();function n(){t.call(this,{readableObjectMode:!0})}function i(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||"",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}n.prototype=Object.create(t.prototype),n.prototype.constructor=n,r(n.prototype),e.ParserStream=n,e.sliceEq=function(e,t,r){for(var n=t,i=0;i>4&15,i=15&e[4],o=e[5]>>4&15,s=r(e,6),l=8,c=0;ct.width||e.width===t.width&&e.height>t.height?e:t}),l=o.reduce(function(e,t){return e.height>t.height||e.height===t.height&&e.width>t.width?e:t}),s.width>l.height||s.width===l.height&&s.height>l.width?s:l),u=1;t.transforms.forEach(function(e){var t={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===e.type&&(0===e.value?u=r[u]:(u=t[u=r[u]],u=t[u])),"irot"===e.type)for(var n=0;n0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}},n.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?256*t[e]+t[e+1]:t[e]+256*t[e+1]},n.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw r("unexpected EOF","EBADDATA");return this.big_endian?16777216*t[e]+65536*t[e+1]+256*t[e+2]+t[e+3]:t[e]+256*t[e+1]+65536*t[e+2]+16777216*t[e+3]},n.prototype.is_subifd_link=function(e,t){return 0===e&&34665===t||0===e&&34853===t||34665===e&&40965===t},n.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return this.input[t];case 6:return(r=this.input[t])|(128&r)*33554430;case 3:return this.read_uint16(t);case 8:return(r=this.read_uint16(t))|(32768&r)*131070;case 4:return this.read_uint32(t);case 9:return 0|(r=this.read_uint32(t));default:return null}},n.prototype.scan_ifd=function(e,t,n){var i=this.read_uint16(t);t+=2;for(var a=0;athis.input.length)throw r("unexpected EOF","EBADDATA");for(var p=[],d=h,m=0;m0&&(this.ifds_to_read.push({id:o,offset:p[0]}),f=!0),!1===n({is_big_endian:this.big_endian,ifd:e,tag:o,format:s,count:l,entry_offset:t+this.start,data_length:u,data_offset:h+this.start,value:p,is_subifd_link:f})){this.aborted=!0;return}t+=12}0===e&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})},t.exports.ExifParser=n,t.exports.get_orientation=function(e){var t=0;try{return new n(e,0,e.length).each(function(e){if(0===e.ifd&&274===e.tag&&Array.isArray(e.value))return t=e.value[0],!1}),t}catch(e){return -1}}}}),cW=ed({"node_modules/probe-image-size/lib/parse_sync/avif.js"(e,t){var r=cH().str2arr,n=cH().sliceEq,i=cH().readUInt32BE,a=cG(),o=cZ(),s=r("ftyp");t.exports=function(e){if(n(e,4,s)){var t=a.unbox(e,0);if(t){var r=a.getMimeType(t.data);if(r){for(var l,c=t.end;;){var u=a.unbox(e,c);if(!u)break;if(c=u.end,"mdat"===u.boxtype)return;if("meta"===u.boxtype){l=u.data;break}}if(l){var h=a.readSizeFromMeta(l);if(h){var f={width:h.width,height:h.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(h.variants.length>1&&(f.variants=h.variants),h.orientation&&(f.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=e.length){var p=i(e,h.exif_location.offset),d=e.slice(h.exif_location.offset+p+4,h.exif_location.offset+h.exif_location.length),m=o.get_orientation(d);m>0&&(f.orientation=m)}return f}}}}}}}}),cY=ed({"node_modules/probe-image-size/lib/parse_sync/bmp.js"(e,t){var r=cH().str2arr,n=cH().sliceEq,i=cH().readUInt16LE,a=r("BM");t.exports=function(e){if(!(e.length<26)&&n(e,0,a))return{width:i(e,18),height:i(e,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}}}),cX=ed({"node_modules/probe-image-size/lib/parse_sync/gif.js"(e,t){var r=cH().str2arr,n=cH().sliceEq,i=cH().readUInt16LE,a=r("GIF87a"),o=r("GIF89a");t.exports=function(e){if(!(e.length<10)&&(n(e,0,a)||n(e,0,o)))return{width:i(e,6),height:i(e,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}}}),c$=ed({"node_modules/probe-image-size/lib/parse_sync/ico.js"(e,t){var r=cH().readUInt16LE;t.exports=function(e){var t=r(e,0),n=r(e,2),i=r(e,4);if(0===t&&1===n&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}}}),cJ=ed({"node_modules/probe-image-size/lib/parse_sync/jpeg.js"(e,t){var r=cH().readUInt16BE,n=cH().str2arr,i=cH().sliceEq,a=cZ(),o=n("Exif\0\0");t.exports=function(e){if(!(e.length<2)&&255===e[0]&&216===e[1]&&255===e[2])for(var t=2;;){for(;;){if(e.length-t<2)return;if(255===e[t++])break}for(var n,s,l=e[t++];255===l;)l=e[t++];if(208<=l&&l<=217||1===l)n=0;else{if(!(192<=l)||!(l<=254)||e.length-t<2)return;n=r(e,t)-2,t+=2}if(217===l||218===l)return;if(225===l&&n>=10&&i(e,t,o)&&(s=a.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(e.length-t0&&(c.orientation=s),c}t+=n}}}}),cK=ed({"node_modules/probe-image-size/lib/parse_sync/png.js"(e,t){var r=cH().str2arr,n=cH().sliceEq,i=cH().readUInt32BE,a=r("\x89PNG\r\n\x1a\n"),o=r("IHDR");t.exports=function(e){if(!(e.length<24)&&n(e,0,a)&&n(e,12,o))return{width:i(e,16),height:i(e,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}}}),cQ=ed({"node_modules/probe-image-size/lib/parse_sync/psd.js"(e,t){var r=cH().str2arr,n=cH().sliceEq,i=cH().readUInt32BE,a=r("8BPS\0\x01");t.exports=function(e){if(!(e.length<22)&&n(e,0,a))return{width:i(e,18),height:i(e,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}}}),c0=ed({"node_modules/probe-image-size/lib/parse_sync/svg.js"(e,t){function r(e){return"number"==typeof e&&isFinite(e)&&e>0}var n=/<[-_.:a-zA-Z0-9][^>]*>/,i=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,a=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,o=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,s=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,l=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function c(e){return l.test(e)?e.match(l)[0]:"px"}t.exports=function(e){if(function(e){var t,r=0,n=e.length;for(239===e[0]&&187===e[1]&&191===e[2]&&(r=3);re.length)){for(;t+8=10?r=r||function(e,t){if(157===e[t+3]&&1===e[t+4]&&42===e[t+5])return{width:16383&i(e,t+6),height:16383&i(e,t+8),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}(e,t+8):"VP8L"===f&&p>=9?r=r||function(e,t){if(47===e[t]){var r=a(e,t+1);return{width:(16383&r)+1,height:(r>>14&16383)+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}(e,t+8):"VP8X"===f&&p>=10?r=r||{width:(e[(h=t+8)+6]<<16|e[h+5]<<8|e[h+4])+1,height:(e[h+9]<0&&(r.orientation=c),r}}}}}),c3=ed({"node_modules/probe-image-size/lib/parsers_sync.js"(e,t){t.exports={avif:cW(),bmp:cY(),gif:cX(),ico:c$(),jpeg:cJ(),png:cK(),psd:cQ(),svg:c0(),tiff:c1(),webp:c2()}}}),c5=ed({"node_modules/probe-image-size/sync.js"(e,t){var r=c3();t.exports=function(e){return function(e){for(var t=Object.keys(r),n=0;n0;)c=h.c2p(w+g*M),g--;for(g=0;void 0===d&&g0;)m=f.c2p(T+g*S),g--;cO[0];if(D||R){var F=s+E/2,j=d+C/2;P+="transform:"+i(F+"px",j+"px")+"scale("+(D?-1:1)+","+(R?-1:1)+")"+i(-F+"px",-j+"px")+";"}}I.attr("style",P);var B=new Promise(function(e){if(x._hasZ)e();else if(x._hasSource){if(x._canvas&&x._canvas.el.width===k&&x._canvas.el.height===A&&x._canvas.source===x.source)e();else{var t=document.createElement("canvas");t.width=k,t.height=A;var r=t.getContext("2d",{willReadFrequently:!0});x._image=x._image||new Image;var n=x._image;n.onload=function(){r.drawImage(n,0,0),x._canvas={el:t,source:x.source},e()},n.setAttribute("src",x.source)}}}).then(function(){var e;if(x._hasZ)e=L(function(e,t){var r=b[t][e];return n.isTypedArray(r)&&(r=Array.from(r)),r}).toDataURL("image/png");else if(x._hasSource){if(_)e=x.source;else{var t=x._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=L(function(e,r){var n=4*(r*k+e);return[t[n],t[n+1],t[n+2],t[n+3]]}).toDataURL("image/png")}}I.attr({"xlink:href":e,height:C,width:E,x:s,y:d})});e._promises.push(B)})}}}),c7=ed({"src/traces/image/style.js"(e,t){var r=eb();t.exports=function(e){r.select(e).selectAll(".im image").style("opacity",function(e){return e[0].trace.opacity})}}}),c9=ed({"src/traces/image/hover.js"(e,t){var r=na(),n=tQ(),i=n.isArrayOrTypedArray,a=lu();t.exports=function(e,t,o){var s,l,c,u=e.cd[0],h=u.trace,f=e.xa,p=e.ya;if(!(r.inbox(t-u.x0,t-(u.x0+u.w*h.dx),0)>0||r.inbox(o-u.y0,o-(u.y0+u.h*h.dy),0)>0)){var d=Math.floor((t-u.x0)/h.dx),m=Math.floor(Math.abs(o-u.y0)/h.dy);if(h._hasZ?s=u.z[m][d]:h._hasSource&&(s=h._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(d,m,1,1).data),s){var g=u.hi||h.hoverinfo;if(g){var y=g.split("+");-1!==y.indexOf("all")&&(y=["color"]),-1!==y.indexOf("color")&&(l=!0)}var v=a.colormodel[h.colormodel],x=v.colormodel||h.colormodel,_=x.length,b=h._scaler(s),w=v.suffix,T=[];(h.hovertemplate||l)&&(T.push("["+[b[0]+w[0],b[1]+w[1],b[2]+w[2]].join(", ")),4===_&&T.push(", "+b[3]+w[3]),T.push("]"),T=T.join(""),e.extraText=x.toUpperCase()+": "+T),i(h.hovertext)&&i(h.hovertext[m])?c=h.hovertext[m][d]:i(h.text)&&i(h.text[m])&&(c=h.text[m][d]);var k=p.c2p(u.y0+(m+.5)*h.dy),A=u.x0+(d+.5)*h.dx,M=u.y0+(m+.5)*h.dy,S="["+s.slice(0,h.colormodel.length).join(", ")+"]";return[n.extendFlat(e,{index:[m,d],x0:f.c2p(u.x0+d*h.dx),x1:f.c2p(u.x0+(d+1)*h.dx),y0:k,y1:k,color:b,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:c,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":b[0]+w[0],"color[1]Label":b[1]+w[1],"color[2]Label":b[2]+w[2],"color[3]Label":b[3]+w[3]}})]}}}}}),ue=ed({"src/traces/image/event_data.js"(e,t){t.exports=function(e,t){return"xVal"in t&&(e.x=t.xVal),"yVal"in t&&(e.y=t.yVal),t.xa&&(e.xaxis=t.xa),t.ya&&(e.yaxis=t.ya),e.color=t.color,e.colormodel=t.trace.colormodel,e.z||(e.z=t.color),e}}}),ut=ed({"src/traces/image/index.js"(e,t){t.exports={attributes:lh(),supplyDefaults:lf(),calc:c6(),plot:c8(),style:c7(),hoverPoints:c9(),eventData:ue(),moduleType:"trace",name:"image",basePlotModule:iH(),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}}}),ur=ed({"lib/image.js"(e,t){t.exports=ut()}}),un=ed({"src/traces/pie/attributes.js"(e,t){var r=eq(),n=aI().attributes,i=eB(),a=eG(),{hovertemplateAttrs:o,texttemplateAttrs:s,templatefallbackAttrs:l}=tS(),c=ej().extendFlat,u=tA().pattern,h=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:u,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},r.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","percent","text"]}),hovertemplatefallback:l(),texttemplate:s({editType:"plot"},{keys:["label","color","value","percent","text"]}),texttemplatefallback:l({editType:"plot"}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},h,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},h,{}),outsidetextfont:c({},h,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:c({},r.showlegend,{arrayOk:!0}),legend:c({},r.legend,{arrayOk:!0}),legendrank:c({},r.legendrank,{arrayOk:!0}),title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},h,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:n({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"}}}}),ui=ed({"src/traces/pie/defaults.js"(e,t){var r=eM(),n=tQ(),i=un(),a=aI().defaults,o=a0().handleText,s=tQ().coercePattern;function l(e,t){var i,a=n.isArrayOrTypedArray(e),o=n.isArrayOrTypedArray(t),s=Math.min(a?e.length:1/0,o?t.length:1/0);if(isFinite(s)||(s=0),s&&o){for(var l=0;l0){i=!0;break}}i||(s=0)}return{hasLabels:a,hasValues:o,len:s}}function c(e,t,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");s(n,"marker.pattern",a),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:l,handleMarkerDefaults:c,supplyDefaults:function(e,t,r,s){function u(r,a){return n.coerce(e,t,i,r,a)}var h,f=l(u("labels"),u("values")),p=f.len;if(t._hasLabels=f.hasLabels,t._hasValues=f.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),!p){t.visible=!1;return}t._length=p,c(e,t,s,u,!0),u("scalegroup");var d=u("text"),m=u("texttemplate");if(u("texttemplatefallback"),m||(h=u("textinfo",n.isArrayOrTypedArray(d)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),m||h&&"none"!==h){var g=u("textposition");o(e,t,s,u,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&u("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&u("insidetextorientation")}else"none"===h&&u("textposition","none");a(t,s,u);var y=u("hole");if(u("title.text")){var v=u("title.position",y?"middle center":"top center");y||"middle center"!==v||(t.title.position="top center"),n.coerceFont(u,"title.font",s.font)}u("sort"),u("direction"),u("rotation"),u("pull")}}}}),ua=ed({"src/traces/pie/layout_attributes.js"(e,t){t.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),uo=ed({"src/traces/pie/layout_defaults.js"(e,t){var r=tQ(),n=ua();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("piecolorway",t.colorway),i("extendpiecolors")}}}),us=ed({"src/traces/pie/calc.js"(e,t){var r=eM(),n=eF(),i=eZ(),a={};function o(e){return function(t,r){return!!(t&&(t=n(t)).isValid())&&(t=i.addOpacity(t,t.getAlpha()),e[r]||(e[r]=t),t)}}function s(e,t){var r,i=JSON.stringify(e),a=t[i];if(!a){for(r=0,a=e.slice();r=0}),("funnelarea"===t.type?m:t.sort)&&n.sort(function(e,t){return t.v-e.v}),n[0]&&(n[0].vTotal=d),n},crossTraceCalc:function(e,t){var r=(t||{}).type;r||(r="pie");var n=e._fullLayout,i=e.calcdata,o=n[r+"colorway"],l=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(o=s(o,a));for(var c=0,u=0;u"),name:h.hovertemplate||-1!==f.indexOf("name")?h.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:m.castOption(b.bgcolor,e.pts)||e.color,borderColor:m.castOption(b.bordercolor,e.pts),fontFamily:m.castOption(w.family,e.pts),fontSize:m.castOption(w.size,e.pts),fontColor:m.castOption(w.color,e.pts),nameLength:m.castOption(b.namelength,e.pts),textAlign:m.castOption(b.align,e.pts),hovertemplate:m.castOption(h.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[g(e,h)]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,inOut_bbox:T}),e.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,t.emit("plotly_hover",{points:[g(e,h)],event:r.event})}}),e.on("mouseout",function(e){var n=t._fullLayout,a=t._fullData[c.index],o=r.select(this).datum();c._hasHoverEvent&&(e.originalEvent=r.event,t.emit("plotly_unhover",{points:[g(o,a)],event:r.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(i.loneUnhover(n._hoverlayer.node()),c._hasHoverLabel=!1)}),e.on("click",function(e){var n=t._fullLayout,a=t._fullData[c.index];t._dragging||!1===n.hovermode||(t._hoverdata=[g(e,a)],i.click(t,r.event))})}function x(e,t,r){var n=m.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=m.castOption(e._input.textfont.color,t.pts));var i=m.castOption(e.insidetextfont.family,t.pts)||m.castOption(e.textfont.family,t.pts)||r.family,o=m.castOption(e.insidetextfont.size,t.pts)||m.castOption(e.textfont.size,t.pts)||r.size,s=m.castOption(e.insidetextfont.weight,t.pts)||m.castOption(e.textfont.weight,t.pts)||r.weight,l=m.castOption(e.insidetextfont.style,t.pts)||m.castOption(e.textfont.style,t.pts)||r.style,c=m.castOption(e.insidetextfont.variant,t.pts)||m.castOption(e.textfont.variant,t.pts)||r.variant,u=m.castOption(e.insidetextfont.textcase,t.pts)||m.castOption(e.textfont.textcase,t.pts)||r.textcase,h=m.castOption(e.insidetextfont.lineposition,t.pts)||m.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=m.castOption(e.insidetextfont.shadow,t.pts)||m.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||a.contrast(t.color),family:i,size:o,weight:s,style:l,variant:c,textcase:u,lineposition:h,shadow:f}}function _(e,t){for(var r,n,i=0;ir&&r>s||o=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(u||f){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(o||p||u){if((m={scale:i*n*2/Math.sqrt(e.width*e.width+e.height*e.height),rCenter:1-i,rotate:0}).textPosAngle=(t.startangle+t.stopangle)/2,m.scale>=1)return m;d.push(m)}(p||f)&&((m=w(e,n,a,s,l)).textPosAngle=(t.startangle+t.stopangle)/2,d.push(m)),(p||h)&&((m=T(e,n,a,s,l)).textPosAngle=(t.startangle+t.stopangle)/2,d.push(m));for(var v=0,x=0,_=0;_=1)break}return d[v]}function w(e,t,r,n,i){t=Math.max(0,t-2*d);var a=e.width/e.height,o=M(a,n,t,r);return{scale:2*o/e.height,rCenter:k(a,o/t),rotate:A(i)}}function T(e,t,r,n,i){t=Math.max(0,t-2*d);var a=e.height/e.width,o=M(a,n,t,r);return{scale:2*o/e.width,rCenter:k(a,o/t),rotate:A(i+Math.PI/2)}}function k(e,t){return Math.cos(t)-e*t}function A(e){return(180/Math.PI*e+720)%180-90}function M(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function S(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function E(e,t){var r,n,i=1,a=1,o=e.trace,s={x:e.cx,y:e.cy},l={tx:0,ty:0};l.ty+=o.title.font.size,n=L(o),-1!==o.title.position.indexOf("top")?(s.y-=(1+n)*e.r,l.ty-=e.titleBox.height):-1!==o.title.position.indexOf("bottom")&&(s.y+=(1+n)*e.r);var c=e.r/(void 0===(r=e.trace.aspectratio)?1:r),u=t.w*(o.domain.x[1]-o.domain.x[0])/2;return -1!==o.title.position.indexOf("left")?(u+=c,s.x-=(1+n)*c,l.tx+=e.titleBox.width/2):-1!==o.title.position.indexOf("center")?u*=2:-1!==o.title.position.indexOf("right")&&(u+=c,s.x+=(1+n)*c,l.tx-=e.titleBox.width/2),i=u/e.titleBox.width,a=C(e,t)/e.titleBox.height,{x:s.x,y:s.y,scale:Math.min(i,a),tx:l.tx,ty:l.ty}}function C(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function L(e){var t,r=e.pull;if(!r)return 0;if(s.isArrayOrTypedArray(r))for(t=0,r=0;tr&&(r=e.pull[t]);return r}function I(e,t){for(var r=[],n=0;n1?l=(s=r.r)/i.aspectratio:s=(l=r.r)*i.aspectratio,s*=(1+i.baseratio)/2,o=s*l),c=Math.min(c,o/r.vTotal));for(n=0;n")}if(a){var x=s.castOption(i,t.i,"texttemplate");if(x){var _={label:t.label,value:t.v,valueLabel:m.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:m.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:s.castOption(i,t.i,"customdata")},b=m.getFirstFilled(i.text,t.pts);(y(b)||""===b)&&(_.text=b),t.text=s.texttemplateString({data:[_,i._meta],fallback:i.texttemplatefallback,labels:_,locale:e._fullLayout._d3locale,template:x})}else t.text=""}}function O(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}t.exports={plot:function(e,t){var i=e._context.staticPlot,h=e._fullLayout,d=h._size;p("pie",h),_(t,e),I(t,d);var g=s.makeTraceGroups(h._pielayer,t,"trace").each(function(t){var p=r.select(this),g=t[0],y=g.trace;(function(e){var t,r,n,i=e[0],a=i.r,o=i.trace,s=m.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(t=0;ti.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=r.v!==i.vTotal||i.trace.hole?Math.min(1/(1+1/Math.sin(r.halfangle)),r.ring/2):1)})(t),p.attr("stroke-linejoin","round"),p.each(function(){var _=r.select(this).selectAll("g.slice").data(t);_.enter().append("g").classed("slice",!0),_.exit().remove();var w=[[[],[]],[[],[]]],T=!1;_.each(function(n,a){if(n.hidden){r.select(this).selectAll("path,g").remove();return}n.pointNumber=n.i,n.curveNumber=y.index,w[n.pxmid[1]<0?0:1][n.pxmid[0]<0?0:1].push(n);var l=g.cx,c=g.cy,p=r.select(this),d=p.selectAll("path.surface").data([n]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":i?"none":"all"}),p.call(v,e,t),y.pull){var _=+m.castOption(y.pull,n.pts)||0;_>0&&(l+=_*n.pxmid[0],c+=_*n.pxmid[1])}function k(e,t,r,i){var a=i*(t[0]-e[0]),o=i*(t[1]-e[1]);return"a"+i*g.r+","+i*g.r+" 0 "+n.largeArc+(r?" 1 ":" 0 ")+a+","+o}n.cxFinal=l,n.cyFinal=c;var A=y.hole;if(n.v===g.vTotal){var M="M"+(l+n.px0[0])+","+(c+n.px0[1])+k(n.px0,n.pxmid,!0,1)+k(n.pxmid,n.px0,!0,1)+"Z";A?d.attr("d","M"+(l+A*n.px0[0])+","+(c+A*n.px0[1])+k(n.px0,n.pxmid,!1,A)+k(n.pxmid,n.px0,!1,A)+"Z"+M):d.attr("d",M)}else{var E=k(n.px0,n.px1,!0,1);if(A){var C=1-A;d.attr("d","M"+(l+A*n.px1[0])+","+(c+A*n.px1[1])+k(n.px1,n.px0,!1,A)+"l"+C*n.px0[0]+","+C*n.px0[1]+E+"Z")}else d.attr("d","M"+l+","+c+"l"+n.px0[0]+","+n.px0[1]+E+"Z")}z(e,n,g);var L=m.castOption(y.textposition,n.pts),I=p.selectAll("g.slicetext").data(n.text&&"none"!==L?[0]:[]);I.enter().append("g").classed("slicetext",!0),I.exit().remove(),I.each(function(){var i,p,d,v,_,w,k,A=s.ensureSingle(r.select(this),"text","",function(e){e.attr("data-notex",1)}),M=s.ensureUniformFontSize(e,"outside"===L?(i=h.font,p=m.castOption(y.outsidetextfont.color,n.pts)||m.castOption(y.textfont.color,n.pts)||i.color,d=m.castOption(y.outsidetextfont.family,n.pts)||m.castOption(y.textfont.family,n.pts)||i.family,v=m.castOption(y.outsidetextfont.size,n.pts)||m.castOption(y.textfont.size,n.pts)||i.size,_=m.castOption(y.outsidetextfont.weight,n.pts)||m.castOption(y.textfont.weight,n.pts)||i.weight,w=m.castOption(y.outsidetextfont.style,n.pts)||m.castOption(y.textfont.style,n.pts)||i.style,{color:p,family:d,size:v,weight:_,style:w,variant:m.castOption(y.outsidetextfont.variant,n.pts)||m.castOption(y.textfont.variant,n.pts)||i.variant,textcase:m.castOption(y.outsidetextfont.textcase,n.pts)||m.castOption(y.textfont.textcase,n.pts)||i.textcase,lineposition:m.castOption(y.outsidetextfont.lineposition,n.pts)||m.castOption(y.textfont.lineposition,n.pts)||i.lineposition,shadow:m.castOption(y.outsidetextfont.shadow,n.pts)||m.castOption(y.textfont.shadow,n.pts)||i.shadow}):x(y,n,h.font));A.text(n.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,M).call(u.convertToTspans,e);var E=o.bBox(A.node());if("outside"===L)k=S(E,n);else if(k=b(E,n,g),"auto"===L&&k.scale<1){var C=s.ensureUniformFontSize(e,y.outsidetextfont);A.call(o.font,C),k=S(E=o.bBox(A.node()),n)}var I=k.textPosAngle,z=void 0===I?n.pxmid:P(g.r,I);if(k.targetX=l+z[0]*k.rCenter+(k.x||0),k.targetY=c+z[1]*k.rCenter+(k.y||0),O(k,E),k.outside){var D=k.targetY;n.yLabelMin=D-E.height/2,n.yLabelMid=D,n.yLabelMax=D+E.height/2,n.labelExtraX=0,n.labelExtraY=0,T=!0}k.fontSize=M.size,f(y.type,k,h),t[a].transform=k,s.setTransormAndDisplay(A,k)})});var k=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each(function(){var t,n,i=s.ensureSingle(r.select(this),"text","",function(e){e.attr("data-notex",1)}),a=y.title.text;y._meta&&(a=s.templateString(a,y._meta)),i.text(a).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(o.font,y.title.font).call(u.convertToTspans,e),n="middle center"===y.title.position?(t=Math.sqrt(g.titleBox.width*g.titleBox.width+g.titleBox.height*g.titleBox.height),{x:g.cx,y:g.cy,scale:g.trace.hole*g.r*2/t,tx:0,ty:-g.titleBox.height/2+g.trace.title.font.size}):E(g,d),i.attr("transform",c(n.x,n.y)+l(Math.min(1,n.scale))+c(n.tx,n.ty))}),T&&function(e,t){var r,n,i,a,o,l,c,u,h,f,p,d,g;function y(e,t){return e.pxmid[1]-t.pxmid[1]}function v(e,t){return t.pxmid[1]-e.pxmid[1]}for(n=0;n<2;n++)for(r=0,i=n?y:v,o=n?Math.max:Math.min,c=n?1:-1;r<2;r++){for(a=r?Math.max:Math.min,l=r?1:-1,(u=e[n][r]).sort(i),f=(h=e[1-n][r]).concat(u),d=[],p=0;p0&&(e.labelExtraY=x),s.isArrayOrTypedArray(t.pull))for(u=0;u=(m.castOption(t.pull,h.pts)||0))&&((e.pxmid[1]-h.pxmid[1])*c>0?(x=h.cyFinal+o(h.px0[1],h.px1[1])-g-e.labelExtraY)*c>0&&(e.labelExtraY+=x):(y+e.labelExtraY-v)*c>0&&(i=3*l*Math.abs(u-f.indexOf(e)),(p=h.cxFinal+a(h.px0[0],h.px1[0])+i-(e.cxFinal+e.pxmid[0])-e.labelExtraX)*l>0&&(e.labelExtraX+=p)))}(d[p],x)}}}(w,y),function(e,t){e.each(function(e){var n=r.select(this);if(!e.labelExtraX&&!e.labelExtraY){n.select("path.textline").remove();return}var i=n.select("g.slicetext text");e.transform.targetX+=e.labelExtraX,e.transform.targetY+=e.labelExtraY,s.setTransormAndDisplay(i,e.transform);var o=e.cxFinal+e.pxmid[0],l="M"+o+","+(e.cyFinal+e.pxmid[1]),c=(e.yLabelMax-e.yLabelMin)*(e.pxmid[0]<0?-1:1)/4;if(e.labelExtraX){var u=e.labelExtraX*e.pxmid[1]/e.pxmid[0],h=e.yLabelMid+e.labelExtraY-(e.cyFinal+e.pxmid[1]);Math.abs(u)>Math.abs(h)?l+="l"+h*e.pxmid[0]/e.pxmid[1]+","+h+"H"+(o+e.labelExtraX+c):l+="l"+e.labelExtraX+","+u+"v"+(h-u)+"h"+c}else l+="V"+(e.yLabelMid+e.labelExtraY)+"h"+c;s.ensureSingle(n,"path","textline").call(a.stroke,t.outsidetextfont.color).attr({"stroke-width":Math.min(2,t.outsidetextfont.size/8),d:l,fill:"none"})})}(_,y),T&&y.automargin){var A=o.bBox(p.node()),M=y.domain,C=d.w*(M.x[1]-M.x[0]),L=d.h*(M.y[1]-M.y[0]),I=(.5*C-g.r)/d.w,D=(.5*L-g.r)/d.h;n.autoMargin(e,"pie."+y.uid+".automargin",{xl:M.x[0]-I,xr:M.x[1]+I,yb:M.y[0]-D,yt:M.y[1]+D,l:Math.max(g.cx-g.r-A.left,0),r:Math.max(A.right-(g.cx+g.r),0),b:Math.max(A.bottom-(g.cy+g.r),0),t:Math.max(g.cy-g.r-A.top,0),pad:5})}})});setTimeout(function(){g.selectAll("tspan").each(function(){var e=r.select(this);e.attr("dy")&&e.attr("dy",e.attr("dy"))})},0)},formatSliceLabel:z,transformInsideText:b,determineInsideTextFont:x,positionTitleOutside:E,prerenderTitles:_,layoutAreas:I,attachFxHandlers:v,computeTransform:O}}}),uu=ed({"src/traces/pie/style.js"(e,t){var r=eb(),n=r5(),i=a5().resizeText;t.exports=function(e){var t=e._fullLayout._pielayer.selectAll(".trace");i(e,t,"pie"),t.each(function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each(function(t){r.select(this).call(n,t,i,e)})})}}}),uh=ed({"src/traces/pie/base_plot.js"(e){var t=ra();e.name="pie",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),uf=ed({"src/traces/pie/index.js"(e,t){t.exports={attributes:un(),supplyDefaults:ui().supplyDefaults,supplyLayoutDefaults:uo(),layoutAttributes:ua(),calc:us().calc,crossTraceCalc:us().crossTraceCalc,plot:uc().plot,style:uu(),styleOne:r5(),moduleType:"trace",name:"pie",basePlotModule:uh(),categories:["pie-like","pie","showLegend"],meta:{}}}}),up=ed({"lib/pie.js"(e,t){t.exports=uf()}}),ud=ed({"src/traces/sunburst/base_plot.js"(e){var t=ra();e.name="sunburst",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),um=ed({"src/traces/sunburst/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}}}),ug=ed({"src/traces/sunburst/attributes.js"(e,t){var r=eq(),{hovertemplateAttrs:n,texttemplateAttrs:i,templatefallbackAttrs:a}=tS(),o=rp(),s=aI().attributes,l=un(),c=um(),u=ej().extendFlat,h=tA().pattern;t.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},pattern:h,editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:a({editType:"plot"}),hovertext:l.hovertext,hoverinfo:u({},r.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:n({},{keys:c.eventDataKeys}),hovertemplatefallback:a(),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:u({},l.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:l.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:s({name:"sunburst",trace:!0,editType:"calc"})}}}),uy=ed({"src/traces/sunburst/layout_attributes.js"(e,t){t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),uv=ed({"src/traces/sunburst/defaults.js"(e,t){var r=tQ(),n=ug(),i=aI().defaults,a=a0().handleText,o=ui().handleMarkerDefaults,s=rE(),l=s.hasColorscale,c=s.handleDefaults;t.exports=function(e,t,s,u){function h(i,a){return r.coerce(e,t,n,i,a)}var f=h("labels"),p=h("parents");if(!f||!f.length||!p||!p.length){t.visible=!1;return}var d=h("values");h(d&&d.length?"branchvalues":"count"),h("level"),h("maxdepth"),o(e,t,u,h);var m=t._hasColorscale=l(e,"marker","colors")||(e.marker||{}).coloraxis;m&&c(e,t,u,h,{prefix:"marker.",cLetter:"c"}),h("leaf.opacity",m?1:.7);var g=h("text");h("texttemplate"),h("texttemplatefallback"),t.texttemplate||h("textinfo",r.isArrayOrTypedArray(g)?"text+label":"label"),h("hovertext"),h("hovertemplate"),h("hovertemplatefallback"),a(e,t,u,h,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("insidetextorientation"),h("sort"),h("rotation"),h("root.color"),i(t,u,h),t._length=null}}}),ux=ed({"src/traces/sunburst/layout_defaults.js"(e,t){var r=tQ(),n=uy();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("sunburstcolorway",t.colorway),i("extendsunburstcolors")}}}),u_=ed({"node_modules/d3-hierarchy/dist/d3-hierarchy.js"(e,t){var r;r=e,function(e){function t(e,t){return e.parent===t.parent?1:2}function r(e,t){return e+t.x}function n(e,t){return Math.max(e,t.y)}function i(e){var t=0,r=e.children,n=r&&r.length;if(n)for(;--n>=0;)t+=r[n].value;else t=1;e.value=t}function a(e,t){var r,n,i,a,s,u=new c(e),h=+e.value&&(u.value=e.value),f=[u];for(null==t&&(t=o);r=f.pop();)if(h&&(r.value=+r.data.value),(i=t(r.data))&&(s=i.length))for(r.children=Array(s),a=s-1;a>=0;--a)f.push(n=r.children[a]=new c(i[a])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(e){return e.children}function s(e){e.data=e.data.data}function l(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function c(e){this.data=e,this.depth=this.height=0,this.parent=null}c.prototype=a.prototype={constructor:c,count:function(){return this.eachAfter(i)},each:function(e){var t,r,n,i,a=this,o=[a];do for(t=o.reverse(),o=[];a=t.pop();)if(e(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(t[r]);return this},sum:function(e){return this.eachAfter(function(t){for(var r=+e(t.data)||0,n=t.children,i=n&&n.length;--i>=0;)r+=n[i].value;t.value=r})},sort:function(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function(e){for(var t=this,r=function(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),i=null;for(e=r.pop(),t=n.pop();e===t;)i=e,e=r.pop(),t=n.pop();return i}(t,e),n=[t];t!==r;)n.push(t=t.parent);for(var i=n.length;e!==r;)n.splice(i,0,e),e=e.parent;return n},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){var e=[];return this.each(function(t){e.push(t)}),e},leaves:function(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function(){var e=this,t=[];return e.each(function(r){r!==e&&t.push({source:r.parent,target:r})}),t},copy:function(){return a(this).eachBefore(s)}};var u=Array.prototype.slice;function h(e){for(var t,r,n=0,i=(e=function(e){for(var t,r,n=e.length;n;)r=Math.random()*n--|0,t=e[n],e[n]=e[r],e[r]=t;return e}(u.call(e))).length,a=[];n0&&r*r>n*n+i*i}function d(e,t){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=e.x-n*s-a*l,r.y=e.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=t.x+n*s-a*l,r.y=t.y+n*l+a*s)):(r.x=t.x+r.r,r.y=t.y)}function v(e,t){var r=e.r+t.r-1e-6,n=t.x-e.x,i=t.y-e.y;return r>0&&r*r>n*n+i*i}function x(e){var t=e._,r=e.next._,n=t.r+r.r,i=(t.x*r.r+r.x*t.r)/n,a=(t.y*r.r+r.y*t.r)/n;return i*i+a*a}function _(e){this._=e,this.next=null,this.previous=null}function b(e){var t,r,n,i,a,o,s,l,c,u,f;if(!(i=e.length))return 0;if((t=e[0]).x=0,t.y=0,!(i>1))return t.r;if(r=e[1],t.x=-r.r,r.x=t.r,r.y=0,!(i>2))return t.r+r.r;y(r,t,n=e[2]),t=new _(t),r=new _(r),n=new _(n),t.next=n.previous=r,r.next=t.previous=n,n.next=r.previous=t;r:for(s=3;sf&&(f=s),(p=Math.max(f/(g=u*u*m),g/h))>d){u-=s;break}d=p}y.push(o={value:u,dice:l1?t:1)},r}(N),q=function e(t){function r(e,r,n,i,a){if((o=e._squarify)&&o.ratio===t)for(var o,s,l,c,u,h=-1,f=o.length,p=e.value;++h1?t:1)},r}(N);e.cluster=function(){var e=t,i=1,a=1,o=!1;function s(t){var s,l=0;t.eachAfter(function(t){var i=t.children;i?(t.x=i.reduce(r,0)/i.length,t.y=1+i.reduce(n,0)):(t.x=s?l+=e(t,s):0,t.y=0,s=t)});var c=function(e){for(var t;t=e.children;)e=t[0];return e}(t),u=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(t),h=c.x-e(c,u)/2,f=u.x+e(u,c)/2;return t.eachAfter(o?function(e){e.x=(e.x-t.x)*i,e.y=(t.y-e.y)*a}:function(e){e.x=(e.x-h)/(f-h)*i,e.y=(1-(t.y?e.y/t.y:1))*a})}return s.separation=function(t){return arguments.length?(e=t,s):e},s.size=function(e){return arguments.length?(o=!1,i=+e[0],a=+e[1],s):o?null:[i,a]},s.nodeSize=function(e){return arguments.length?(o=!0,i=+e[0],a=+e[1],s):o?[i,a]:null},s},e.hierarchy=a,e.pack=function(){var e=null,t=1,r=1,n=T;function i(i){return i.x=t/2,i.y=r/2,e?i.eachBefore(M(e)).eachAfter(S(n,.5)).eachBefore(E(1)):i.eachBefore(M(A)).eachAfter(S(T,1)).eachAfter(S(n,i.r/Math.min(t,r))).eachBefore(E(Math.min(t,r)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=null==t?null:w(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],r=+e[1],i):[t,r]},i.padding=function(e){return arguments.length?(n="function"==typeof e?e:k(+e),i):n},i},e.packEnclose=h,e.packSiblings=function(e){return b(e),e},e.partition=function(){var e=1,t=1,r=0,n=!1;function i(i){var a,o=i.height+1;return i.x0=i.y0=r,i.x1=e,i.y1=t/o,i.eachBefore((a=t,function(e){e.children&&L(e,e.x0,a*(e.depth+1)/o,e.x1,a*(e.depth+2)/o);var t=e.x0,n=e.y0,i=e.x1-r,s=e.y1-r;i0)throw Error("cycle");return a}return r.id=function(t){return arguments.length?(e=w(t),r):e},r.parentId=function(e){return arguments.length?(t=w(e),r):t},r},e.tree=function(){var e=D,t=1,r=1,n=null;function i(i){var l=function(e){for(var t,r,n,i,a,o=new j(e,0),s=[o];t=s.pop();)if(n=t._.children)for(t.children=Array(a=n.length),i=a-1;i>=0;--i)s.push(r=t.children[i]=new j(n[i],i)),r.parent=t;return(o.parent=new j(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,h=i;i.eachBefore(function(e){e.xu.x&&(u=e),e.depth>h.depth&&(h=e)});var f=c===u?1:e(c,u)/2,p=f-c.x,d=t/(u.x+f+p),m=r/(h.depth||1);i.eachBefore(function(e){e.x=(e.x+p)*d,e.y=e.depth*m})}return i}function a(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r){!function(e){for(var t,r=0,n=0,i=e.children,a=i.length;--a>=0;)t=i[a],t.z+=r,t.m+=r,r+=t.s+(n+=t.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a,o,s=t,l=t,c=r,u=s.parent.children[0],h=s.m,f=l.m,p=c.m,d=u.m;c=F(c),s=R(s),c&&s;)u=R(u),(l=F(l)).a=t,(o=c.z+p-s.z-h+e(c._,s._))>0&&(function(e,t,r){var n=r/(t.i-e.i);t.c-=n,t.s+=r,e.c+=n,t.z+=r,t.m+=r}((i=c,a=n,i.a.parent===t.parent?i.a:a),t,o),h+=o,f+=o),p+=c.m,h+=s.m,d+=u.m,f+=l.m;c&&!F(l)&&(l.t=c,l.m+=p-f),s&&!R(u)&&(u.t=s,u.m+=h-d,n=t)}return n}(t,i,t.parent.A||n[0])}function o(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(e){e.x*=t,e.y=e.depth*r}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(n=!1,t=+e[0],r=+e[1],i):n?null:[t,r]},i.nodeSize=function(e){return arguments.length?(n=!0,t=+e[0],r=+e[1],i):n?[t,r]:null},i},e.treemap=function(){var e=V,t=!1,r=1,n=1,i=[0],a=T,o=T,s=T,l=T,c=T;function u(e){return e.x0=e.y0=0,e.x1=r,e.y1=n,e.eachBefore(h),i=[0],t&&e.eachBefore(C),e}function h(t){var r=i[t.depth],n=t.x0+r,u=t.y0+r,h=t.x1-r,f=t.y1-r;h=r-1){var u=s[t];u.x0=i,u.y0=a,u.x1=o,u.y1=l;return}for(var h=c[t],f=n/2+h,p=t+1,d=r-1;p>>1;c[m]l-a){var v=(i*y+o*g)/n;e(t,p,g,i,a,v,l),e(p,r,y,v,a,o,l)}else{var x=(a*y+l*g)/n;e(t,p,g,i,a,o,x),e(p,r,y,i,x,o,l)}})(0,l,e.value,t,r,n,i)},e.treemapDice=L,e.treemapResquarify=q,e.treemapSlice=B,e.treemapSliceDice=function(e,t,r,n,i){(1&e.depth?B:L)(e,t,r,n,i)},e.treemapSquarify=V,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&void 0!==t?e:(r=r||self).d3=r.d3||{})}}),ub=ed({"src/traces/sunburst/calc.js"(e){var t=u_(),r=eM(),n=tQ(),i=rE().makeColorScaleFuncFromTrace,a=us().makePullColorFn,o=us().generateExtendedColors,s=rE().calc,l=eS().ALMOST_EQUAL,c={},u={},h={};e.calc=function(e,o){var c,u,h,f=e._fullLayout,p=o.ids,d=n.isArrayOrTypedArray(p),m=o.labels,g=o.parents,y=o.values,v=n.isArrayOrTypedArray(y),x=[],_={},b={},w=function(e){return e||"number"==typeof e},T=function(e){return!v||r(y[e])&&y[e]>=0};d?(L=Math.min(p.length,g.length),I=function(e){return w(p[e])&&T(e)},P=function(e){return String(p[e])}):(L=Math.min(m.length,g.length),I=function(e){return w(m[e])&&T(e)},P=function(e){return String(m[e])}),v&&(L=Math.min(L,y.length));for(var k=0;k1){for(var E=n.randstr(),C=0;C>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?uP(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?uP(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=l.exec(e))?new uD(t[1],t[2],t[3],1):(t=c.exec(e))?new uD(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=u.exec(e))?uP(t[1],t[2],t[3],t[4]):(t=h.exec(e))?uP(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=f.exec(e))?uV(t[1],t[2]/100,t[3]/100,1):(t=p.exec(e))?uV(t[1],t[2]/100,t[3]/100,t[4]):d.hasOwnProperty(e)?uI(d[e]):"transparent"===e?new uD(NaN,NaN,NaN,0):null}function uI(e){return new uD(e>>16&255,e>>8&255,255&e,1)}function uP(e,t,r,n){return n<=0&&(e=t=r=NaN),new uD(e,t,r,n)}function uz(e){return(e instanceof uA||(e=uL(e)),e)?new uD((e=e.rgb()).r,e.g,e.b,e.opacity):new uD}function uO(e,t,r,n){return 1==arguments.length?uz(e):new uD(e,t,r,null==n?1:n)}function uD(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function uR(){return`#${uU(this.r)}${uU(this.g)}${uU(this.b)}`}function uF(){return`#${uU(this.r)}${uU(this.g)}${uU(this.b)}${uU((isNaN(this.opacity)?1:this.opacity)*255)}`}function uj(){let e=uB(this.opacity);return`${1===e?"rgb(":"rgba("}${uN(this.r)}, ${uN(this.g)}, ${uN(this.b)}${1===e?")":`, ${e})`}`}function uB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function uN(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function uU(e){return((e=uN(e))<16?"0":"")+e.toString(16)}function uV(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new uG(e,t,r,n)}function uq(e){if(e instanceof uG)return new uG(e.h,e.s,e.l,e.opacity);if(e instanceof uA||(e=uL(e)),!e)return new uG;if(e instanceof uG)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(o=t===a?(r-n)/s+(r0&&l<1?0:o,new uG(o,s,l,e.opacity)}function uH(e,t,r,n){return 1==arguments.length?uq(e):new uG(e,t,r,null==n?1:n)}function uG(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function uZ(e){return(e=(e||0)%360)<0?e+360:e}function uW(e){return Math.max(0,Math.min(1,e||0))}function uY(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var uX=ep({"node_modules/d3-color/src/color.js"(){uk(),t=1/(e=.7),r="\\s*([+-]?\\d+)\\s*",n="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",i="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3,8})$/,l=RegExp(`^rgb\\(${r},${r},${r}\\)$`),c=RegExp(`^rgb\\(${i},${i},${i}\\)$`),u=RegExp(`^rgba\\(${r},${r},${r},${n}\\)$`),h=RegExp(`^rgba\\(${i},${i},${i},${n}\\)$`),f=RegExp(`^hsl\\(${n},${i},${i}\\)$`),p=RegExp(`^hsla\\(${n},${i},${i},${n}\\)$`),d={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},uw(uA,uL,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:uM,formatHex:uM,formatHex8:uS,formatHsl:uE,formatRgb:uC,toString:uC}),uw(uD,uO,uT(uA,{brighter(e){return e=null==e?t:Math.pow(t,e),new uD(this.r*e,this.g*e,this.b*e,this.opacity)},darker(t){return t=null==t?e:Math.pow(e,t),new uD(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new uD(uN(this.r),uN(this.g),uN(this.b),uB(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:uR,formatHex:uR,formatHex8:uF,formatRgb:uj,toString:uj})),uw(uG,uH,uT(uA,{brighter(e){return e=null==e?t:Math.pow(t,e),new uG(this.h,this.s,this.l*e,this.opacity)},darker(t){return t=null==t?e:Math.pow(e,t),new uG(this.h,this.s,this.l*t,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new uD(uY(e>=240?e-240:e+120,i,n),uY(e,i,n),uY(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new uG(uZ(this.h),uW(this.s),uW(this.l),uB(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=uB(this.opacity);return`${1===e?"hsl(":"hsla("}${uZ(this.h)}, ${100*uW(this.s)}%, ${100*uW(this.l)}%${1===e?")":`, ${e})`}`}}))}}),u$=ep({"node_modules/d3-color/src/math.js"(){m=Math.PI/180,g=180/Math.PI}});function uJ(e){if(e instanceof uQ)return new uQ(e.l,e.a,e.b,e.opacity);if(e instanceof u4)return u6(e);e instanceof uD||(e=uz(e));var t,r,n=u3(e.r),i=u3(e.g),a=u3(e.b),o=u0((.2225045*n+.7168786*i+.0606169*a)/v);return n===i&&i===a?t=r=o:(t=u0((.4360747*n+.3850649*i+.1430804*a)/y),r=u0((.0139322*n+.0971045*i+.7141733*a)/x)),new uQ(116*o-16,500*(t-o),200*(o-r),e.opacity)}function uK(e,t,r,n){return 1==arguments.length?uJ(e):new uQ(e,t,r,null==n?1:n)}function uQ(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function u0(e){return e>T?Math.pow(e,1/3):e/w+_}function u1(e){return e>b?e*e*e:w*(e-_)}function u2(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function u3(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function u5(e,t,r,n){return 1==arguments.length?function(e){if(e instanceof u4)return new u4(e.h,e.c,e.l,e.opacity);if(e instanceof uQ||(e=uJ(e)),0===e.a&&0===e.b)return new u4(NaN,0=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n()=>e}});function hl(e,t){return function(r){return e+r*t}}function hc(e,t){var r=t-e;return r?hl(e,r>180||r<-180?r-360*Math.round(r/360):r):L(isNaN(e)?t:e)}function hu(e,t){var r=t-e;return r?hl(e,r):L(isNaN(e)?t:e)}var hh=ep({"node_modules/d3-interpolate/src/color.js"(){hs()}});function hf(e){return function(t){var r,n,i=t.length,a=Array(i),o=Array(i),s=Array(i);for(r=0;rs&&(o=t.slice(s,o),c[l]?c[l]+=o:c[++l]=o),(i=i[0])===(a=a[0])?c[l]?c[l]+=a:c[++l]=a:(c[++l]=null,u.push({i:l,x:hw(i,a)})),s=D.lastIndex;return s180?l+=360:l-s>180&&(s+=360),f.push({i:h.push(i(h)+"rotate(",null,n)-2,x:hw(s,l)})):l&&h.push(i(h)+"rotate("+l+n),(c=a.skewX)!==(u=o.skewX)?f.push({i:h.push(i(h)+"skewX(",null,n)-2,x:hw(c,u)}):u&&h.push(i(h)+"skewX("+u+n),function(e,t,r,n,a,o){if(e!==r||t!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:hw(e,r)},{i:s-2,x:hw(t,n)})}else(1!==r||1!==n)&&a.push(i(a)+"scale("+r+","+n+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,h,f),a=o=null,function(e){for(var t,r=-1,n=f.length;++rhE,interpolateArray:()=>hy,interpolateBasis:()=>hn,interpolateBasisClosed:()=>ha,interpolateCubehelix:()=>Z,interpolateCubehelixLong:()=>W,interpolateDate:()=>h_,interpolateDiscrete:()=>hL,interpolateHcl:()=>H,interpolateHclLong:()=>G,interpolateHsl:()=>V,interpolateHslLong:()=>q,interpolateHue:()=>hP,interpolateLab:()=>hW,interpolateNumber:()=>hw,interpolateNumberArray:()=>hd,interpolateObject:()=>hk,interpolateRgb:()=>I,interpolateRgbBasis:()=>P,interpolateRgbBasisClosed:()=>z,interpolateRound:()=>hO,interpolateString:()=>hM,interpolateTransformCss:()=>B,interpolateTransformSvg:()=>N,interpolateZoom:()=>U,piecewise:()=>hQ,quantize:()=>h1});var h5=ep({"node_modules/d3-interpolate/src/index.js"(){hC(),hx(),hi(),ho(),hb(),hI(),hz(),hT(),hg(),hA(),hD(),hS(),hV(),hH(),hp(),hZ(),hY(),h$(),hK(),h0(),h2()}}),h4=ed({"src/traces/sunburst/fill_one.js"(e,t){var r=rO(),n=eZ();t.exports=function(e,t,i,a,o){var s=t.data.data,l=s.i,c=o||s.color;if(l>=0){t.i=s.i;var u=i.marker;u.pattern&&u.colors&&u.pattern.shape||(u.color=c,t.color=c),r.pointStyle(e,i,a,t)}else n.fill(e,c)}}}),h6=ed({"src/traces/sunburst/style.js"(e,t){var r=eb(),n=eZ(),i=tQ(),a=a5().resizeText,o=h4();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._sunburstlayer.selectAll(".trace");a(e,t,"sunburst"),t.each(function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each(function(t){r.select(this).call(s,t,i,e)})})},styleOne:s}}}),h8=ed({"src/traces/sunburst/helpers.js"(e){var t=tQ(),r=eZ(),n=rY(),i=r2();function a(e){return e.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter(function(t){if(e.getPtId(t)===r)return n=t.copy()}),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter(function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,a(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=i.formatPieValue,e.formatPercent=function(e,r){var n=t.formatPercent(e,0);return"0%"===n&&(n=i.formatPiePercent(e,r)),n}}}),h7=ed({"src/traces/sunburst/fx.js"(e,t){var r=eb(),n=tO(),i=rI().appendArrayPointValue,a=na(),o=tQ(),s=t5(),l=h8(),c=r2().formatPieValue;function u(e,t,r){for(var n=e.data.data,a={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},o=0;o"),name:k||O("name")?h.name:void 0,color:T("hoverlabel.bgcolor")||v.color,borderColor:T("hoverlabel.bordercolor"),fontFamily:T("hoverlabel.font.family"),fontSize:T("hoverlabel.font.size"),fontColor:T("hoverlabel.font.color"),fontWeight:T("hoverlabel.font.weight"),fontStyle:T("hoverlabel.font.style"),fontVariant:T("hoverlabel.font.variant"),nameLength:T("hoverlabel.namelength"),textAlign:T("hoverlabel.align"),hovertemplate:k,hovertemplateLabels:I,eventData:S};g&&(F.x0=E-n.rInscribed*n.rpx1,F.x1=E+n.rInscribed*n.rpx1,F.idealAlign=n.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var j=[];a.loneHover(F,{container:s._hoverlayer.node(),outerContainer:s._paper.node(),gd:i,inOut_bbox:j}),S[0].bbox=j[0],d._hasHoverLabel=!0}if(y){var B=e.select("path.surface");f.styleOne(B,n,h,i,{hovered:!0})}d._hasHoverEvent=!0,i.emit("plotly_hover",{points:S||[u(n,h,f.eventDataKeys)],event:r.event})}}),e.on("mouseout",function(t){var n=i._fullLayout,o=i._fullData[d.index],s=r.select(this).datum();if(d._hasHoverEvent&&(t.originalEvent=r.event,i.emit("plotly_unhover",{points:[u(s,o,f.eventDataKeys)],event:r.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(a.loneUnhover(n._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=e.select("path.surface");f.styleOne(l,s,o,i,{hovered:!1})}}),e.on("click",function(e){var t=i._fullLayout,o=i._fullData[d.index],c=g&&(l.isHierarchyRoot(e)||l.isLeaf(e)),h=l.getPtId(e),p=l.isEntry(e)?l.findEntryWithChild(m,h):l.findEntryWithLevel(m,h),y=l.getPtId(p),v={points:[u(e,o,f.eventDataKeys)],event:r.event};c||(v.nextLevel=y);var x=s.triggerHandler(i,"plotly_"+d.type+"click",v);if(!1!==x&&t.hovermode&&(i._hoverdata=[u(e,o,f.eventDataKeys)],a.click(i,r.event)),!c&&!1!==x&&!i._dragging&&!i._transitioning){n.call("_storeDirectGUIEdit",o,t._tracePreGUI[o.uid],{level:o.level});var _={data:[{level:y}],traces:[d.index]},b={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};a.loneUnhover(t._hoverlayer.node()),n.call("animate",i,_,b)}})}}}),h9=ed({"src/traces/sunburst/plot.js"(e){var t=eb(),r=u_(),n=(h5(),ev(h3)).interpolate,i=rO(),a=tQ(),o=rl(),s=a5(),l=s.recordMinTextSize,c=s.clearMinTextSize,u=uc(),h=r2().getRotationAngle,f=u.computeTransform,p=u.transformInsideText,d=h6().styleOne,m=a6().resizeText,g=h7(),y=um(),v=h8();function x(s,c,u,m){var x=s._context.staticPlot,b=s._fullLayout,w=!b.uniformtext.mode&&v.hasTransition(m),T=t.select(u).selectAll("g.slice"),k=c[0],A=k.trace,M=k.hierarchy,S=v.findEntryWithLevel(M,A.level),E=v.getMaxDepth(A),C=b._size,L=A.domain,I=C.w*(L.x[1]-L.x[0]),P=C.h*(L.y[1]-L.y[0]),z=.5*Math.min(I,P),O=k.cx=C.l+C.w*(L.x[1]+L.x[0])/2,D=k.cy=C.t+C.h*(1-L.y[0])-P/2;if(!S)return T.remove();var R=null,F={};w&&T.each(function(e){F[v.getPtId(e)]={rpx0:e.rpx0,rpx1:e.rpx1,x0:e.x0,x1:e.x1,transform:e.transform},!R&&v.isEntry(e)&&(R=e)});var j=r.partition().size([2*Math.PI,S.height+1])(S).descendants(),B=S.height+1,N=0,U=E;k.hasMultipleRoots&&v.isHierarchyRoot(S)&&(j=j.slice(1),B-=1,N=1,U+=1),j=j.filter(function(e){return e.y1<=U});var V=h(A.rotation);V&&j.forEach(function(e){e.x0+=V,e.x1+=V});var q=Math.min(B,E),H=function(e){return(e-N)/q*z},G=function(e,t){return[e*Math.cos(t),-e*Math.sin(t)]},Z=function(e){return a.pathAnnulus(e.rpx0,e.rpx1,e.x0,e.x1,O,D)},W=function(e){return O+_(e)[0]*(e.transform.rCenter||0)+(e.transform.x||0)},Y=function(e){return D+_(e)[1]*(e.transform.rCenter||0)+(e.transform.y||0)};(T=T.data(j,v.getPtId)).enter().append("g").classed("slice",!0),w?T.exit().transition().each(function(){var e=t.select(this);e.select("path.surface").transition().attrTween("d",function(e){var t=function(e){var t=v.getPtId(e),r=F[t],i=F[v.getPtId(S)];if(i){var a=(e.x1>i.x1?2*Math.PI:0)+V;o=e.rpx1X?2*Math.PI:0)+V;t={x0:o,x1:o}}else t={rpx0:z,rpx1:z},a.extendFlat(t,K(e))}else t={rpx0:0,rpx1:0}}else t={x0:V,x1:V};return n(t,i)}(e);return function(e){return Z(t(e))}}):h.attr("d",Z),u.call(g,S,s,c,{eventDataKeys:y.eventDataKeys,transitionTime:y.CLICK_TRANSITION_TIME,transitionEasing:y.CLICK_TRANSITION_EASING}).call(v.setSliceCursor,s,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:s._transitioning}),h.call(d,r,A,s);var m=a.ensureSingle(u,"g","slicetext"),_=a.ensureSingle(m,"text","",function(e){e.attr("data-notex",1)}),T=a.ensureUniformFontSize(s,v.determineTextFont(A,r,b.font));_.text(e.formatSliceLabel(r,S,A,c,b)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,T).call(o.convertToTspans,s);var M=i.bBox(_.node());r.transform=p(M,r,k),r.transform.targetX=W(r),r.transform.targetY=Y(r);var E=function(e,t){var r=e.transform;return f(r,t),r.fontSize=T.size,l(A.type,r,b),a.getTextTransform(r)};w?_.transition().attrTween("transform",function(e){var t=function(e){var t,r=F[v.getPtId(e)],i=e.transform;if(r)t=r;else if(t={rpx1:e.rpx1,transform:{textPosAngle:i.textPosAngle,scale:0,rotate:i.rotate,rCenter:i.rCenter,x:i.x,y:i.y}},R){if(e.parent){if(X){var o=e.x1>X?2*Math.PI:0;t.x0=t.x1=o}else a.extendFlat(t,K(e))}else t.x0=t.x1=V}else t.x0=t.x1=V;var s=n(t.transform.textPosAngle,e.transform.textPosAngle),c=n(t.rpx1,e.rpx1),u=n(t.x0,e.x0),h=n(t.x1,e.x1),f=n(t.transform.scale,i.scale),p=n(t.transform.rotate,i.rotate),d=0===i.rCenter?3:0===t.transform.rCenter?1/3:1,m=n(t.transform.rCenter,i.rCenter);return function(e){var t=c(e),r=u(e),n=h(e),a=m(Math.pow(e,d)),o={pxmid:G(t,(r+n)/2),rpx1:t,transform:{textPosAngle:s(e),rCenter:a,x:i.x,y:i.y}};return l(A.type,i,b),{transform:{targetX:W(o),targetY:Y(o),scale:f(e),rotate:p(e),rCenter:a}}}}(e);return function(e){return E(t(e),M)}}):_.attr("transform",E(r,M))})}function _(e){var t,r;return[(t=e.rpx1)*Math.sin(r=e.transform.textPosAngle),-t*Math.cos(r)]}e.plot=function(e,r,n,i){var a,o,s=e._fullLayout,l=s._sunburstlayer,u=!n,h=!s.uniformtext.mode&&v.hasTransition(n);c("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(r,function(e){return e[0].trace.uid})).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),h?(i&&(o=i()),t.transition().duration(n.duration).ease(n.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()}).each(function(){l.selectAll("g.trace").each(function(t){x(e,t,this,n)})})):(a.each(function(t){x(e,t,this,n)}),s.uniformtext.mode&&m(e,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(e,t,r,n,i){var o=r.texttemplate,s=r.textinfo;if(!o&&(!s||"none"===s))return"";var l=i.separators,c=n[0],u=e.data.data,h=c.hierarchy,f=v.isHierarchyRoot(e),p=v.getParent(h,e),d=v.getValue(e);if(!o){var m=s.split("+"),g=function(e){return -1!==m.indexOf(e)},y=[];if(g("label")&&u.label&&y.push(u.label),u.hasOwnProperty("v")&&g("value")&&y.push(v.formatValue(u.v,l)),!f){g("current path")&&y.push(v.getPath(e.data));var x=0;g("percent parent")&&x++,g("percent entry")&&x++,g("percent root")&&x++;var _=x>1;if(x){var b,w,T=function(e){b=v.formatPercent(w,l),_&&(b+=" of "+e),y.push(b)};g("percent parent")&&!f&&(w=d/v.getValue(p),T("parent")),g("percent entry")&&(w=d/v.getValue(t),T("entry")),g("percent root")&&(w=d/v.getValue(h),T("root"))}}return g("text")&&(b=a.castOption(r,u.i,"text"),a.isValidTextValue(b)&&y.push(b)),y.join("
")}var k=a.castOption(r,u.i,"texttemplate");if(!k)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=v.formatValue(u.v,l)),A.currentPath=v.getPath(e.data),f||(A.percentParent=d/v.getValue(p),A.percentParentLabel=v.formatPercent(A.percentParent,l),A.parent=v.getPtLabel(p)),A.percentEntry=d/v.getValue(t),A.percentEntryLabel=v.formatPercent(A.percentEntry,l),A.entry=v.getPtLabel(t),A.percentRoot=d/v.getValue(h),A.percentRootLabel=v.formatPercent(A.percentRoot,l),A.root=v.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=a.castOption(r,u.i,"text");return(a.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=a.castOption(r,u.i,"customdata"),a.texttemplateString({data:[A,r._meta],fallback:r.texttemplatefallback,labels:A,locale:i._d3locale,template:k})}}}),fe=ed({"src/traces/sunburst/index.js"(e,t){t.exports={moduleType:"trace",name:"sunburst",basePlotModule:ud(),categories:[],animatable:!0,attributes:ug(),layoutAttributes:uy(),supplyDefaults:uv(),supplyLayoutDefaults:ux(),calc:ub().calc,crossTraceCalc:ub().crossTraceCalc,plot:h9().plot,style:h6().style,colorbar:iL(),meta:{}}}}),ft=ed({"lib/sunburst.js"(e,t){t.exports=fe()}}),fr=ed({"src/traces/treemap/base_plot.js"(e){var t=ra();e.name="treemap",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),fn=ed({"src/traces/treemap/constants.js"(e,t){t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}}}),fi=ed({"src/traces/treemap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=tS(),a=rp(),o=aI().attributes,s=un(),l=ug(),c=fn(),u=ej().extendFlat,h=tA().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,pattern:h,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:c.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}}}),fa=ed({"src/traces/treemap/layout_attributes.js"(e,t){t.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),fo=ed({"src/traces/treemap/defaults.js"(e,t){var r=tQ(),n=fi(),i=eZ(),a=aI().defaults,o=a0().handleText,s=ik().TEXTPAD,l=ui().handleMarkerDefaults,c=rE(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,f){function p(i,a){return r.coerce(e,t,n,i,a)}var d=p("labels"),m=p("parents");if(!d||!d.length||!m||!m.length){t.visible=!1;return}var g=p("values");p(g&&g.length?"branchvalues":"count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),p("texttemplatefallback"),t.texttemplate||p("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var v=p("pathbar.visible");o(e,t,f,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==t.textposition.indexOf("bottom");l(e,t,f,p),(t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis)?h(e,t,f,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(t.marker.colors||[]).length);var _=2*t.textfont.size;p("marker.pad.t",x?_/4:_),p("marker.pad.l",_/4),p("marker.pad.r",_/4),p("marker.pad.b",x?_:_/4),p("marker.cornerradius"),t._hovered={marker:{line:{width:2,color:i.contrast(f.paper_bgcolor)}}},v&&(p("pathbar.thickness",t.pathbar.textfont.size+2*s),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),a(t,f,p),t._length=null}}}),fs=ed({"src/traces/treemap/layout_defaults.js"(e,t){var r=tQ(),n=fa();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("treemapcolorway",t.colorway),i("extendtreemapcolors")}}}),fl=ed({"src/traces/treemap/calc.js"(e){var t=ub();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("treemap",e)}}}),fc=ed({"src/traces/treemap/flip_tree.js"(e,t){t.exports=function e(t,r,n){n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var i,a=t.children;if(a)for(var o=0;o0)for(var _=0;_").join(" ")||"";var d=n.ensureSingle(f,"g","slicetext"),T=n.ensureSingle(d,"text","",function(e){e.attr("data-notex",1)}),C=n.ensureUniformFontSize(e,c.determineTextFont(L,o,E.font,{onPathbar:!0}));T.text(o._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,C).call(a.convertToTspans,e),o.textBB=i.bBox(T.node()),o.transform=_(o,{fontSize:C.size,onPathbar:!0}),o.transform.fontSize=C.size,w?T.transition().attrTween("transform",function(e){var t=A(e,!0,M,[m,g]);return function(e){return b(t(e))}}):T.attr("transform",b(o))})}}}),fp=ed({"src/traces/treemap/plot_one.js"(e,t){var r=eb(),n=(h5(),ev(h3)).interpolate,i=h8(),a=tQ(),o=ik().TEXTPAD,s=a8().toMoveInsideBar,l=a5().recordMinTextSize,c=fn(),u=ff();function h(e){return i.isHierarchyRoot(e)?"":i.getPtId(e)}t.exports=function(e,t,f,p,d){var m=e._fullLayout,g=t[0],y=g.trace,v="icicle"===y.type,x=g.hierarchy,_=i.findEntryWithLevel(x,y.level),b=r.select(f),w=b.selectAll("g.pathbar"),T=b.selectAll("g.slice");if(!_){w.remove(),T.remove();return}var k=i.isHierarchyRoot(_),A=!m.uniformtext.mode&&i.hasTransition(p),M=i.getMaxDepth(y),S=m._size,E=y.domain,C=S.w*(E.x[1]-E.x[0]),L=S.h*(E.y[1]-E.y[0]),I=y.pathbar.thickness,P=y.marker.line.width+c.gapWithPathbar,z=y.pathbar.visible?y.pathbar.side.indexOf("bottom")>-1?L+P:-(I+P):0,O={x0:C,x1:C,y0:z,y1:z+I},D=function(e,t,r){var n=y.tiling.pad,i=function(e){return e-n<=t.x0},a=function(e){return e+n>=t.x1},o=function(e){return e-n<=t.y0},s=function(e){return e+n>=t.y1};return e.x0===t.x0&&e.x1===t.x1&&e.y0===t.y0&&e.y1===t.y1?{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1}:{x0:i(e.x0-n)?0:a(e.x0-n)?r[0]:e.x0,x1:i(e.x1+n)?0:a(e.x1+n)?r[0]:e.x1,y0:o(e.y0-n)?0:s(e.y0-n)?r[1]:e.y0,y1:o(e.y1+n)?0:s(e.y1+n)?r[1]:e.y1}},R=null,F={},j={},B=null,N=function(e,t){return t?F[h(e)]:j[h(e)]},U=function(e,t,r,n){if(t)return F[h(x)]||O;var i=j[y.level]||r;return e.data.depth-_.data.depth=(n-=(v?Q:Q.r)-o)){var p,d=(r+n)/2;r=d,n=d}ei?i<(p=a-(v?Q:Q.b))&&p"===K?(l.x-=a,c.x-=a,u.x-=a,h.x-=a):"/"===K?(u.x-=a,h.x-=a,o.x-=a/2,s.x-=a/2):"\\"===K?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===K&&(o.x-=a,s.x-=a),J(l),J(h),J(o),J(c),J(u),J(s),"M"+l.x+","+l.y+"L"+c.x+","+c.y+"L"+s.x+","+s.y+"L"+u.x+","+u.y+"L"+h.x+","+h.y+"L"+o.x+","+o.y+"Z"},toMoveInsideSlice:ea,makeUpdateSliceInterpolator:el,makeUpdateTextInterpolator:ec,handleSlicesExit:eu,hasTransition:A,strTransform:eh}):w.remove()}}}),fd=ed({"src/traces/treemap/draw.js"(e,t){var r=eb(),n=h8(),i=a5().clearMinTextSize,a=a6().resizeText,o=fp();t.exports=function(e,t,s,l,c){var u,h,f=c.type,p=c.drawDescendants,d=e._fullLayout,m=d["_"+f+"layer"],g=!s;i(f,d),(u=m.selectAll("g.trace."+f).data(t,function(e){return e[0].trace.uid})).enter().append("g").classed("trace",!0).classed(f,!0),u.order(),!d.uniformtext.mode&&n.hasTransition(s)?(l&&(h=l()),r.transition().duration(s.duration).ease(s.easing).each("end",function(){h&&h()}).each("interrupt",function(){h&&h()}).each(function(){m.selectAll("g.trace").each(function(t){o(e,t,this,s,p)})})):(u.each(function(t){o(e,t,this,s,p)}),d.uniformtext.mode&&a(e,m.selectAll(".trace"),f)),g&&u.exit().remove()}}}),fm=ed({"src/traces/treemap/draw_descendants.js"(e,t){var r=eb(),n=tQ(),i=rO(),a=rl(),o=fu(),s=fh().styleOne,l=fn(),c=h8(),u=h7(),h=h9().formatSliceLabel;t.exports=function(e,t,f,p,d){var m=d.width,g=d.height,y=d.viewX,v=d.viewY,x=d.pathSlice,_=d.toMoveInsideSlice,b=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=e._context.staticPlot,E=e._fullLayout,C=t[0].trace,L=-1!==C.textposition.indexOf("left"),I=-1!==C.textposition.indexOf("right"),P=-1!==C.textposition.indexOf("bottom"),z=!P&&!C.marker.pad.t||P&&!C.marker.pad.b,O=o(f,[m,g],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),D=1/0,R=-1/0;O.forEach(function(e){var t=e.depth;t>=C._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(D=Math.min(D,t),R=Math.max(R,t))}),p=p.data(O,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-D+1:0,p.enter().append("g").classed("slice",!0),T(p,!1,{},[m,g],x),p.order();var F=null;if(w&&M){var j=c.getPtId(M);p.each(function(e){null===F&&c.getPtId(e)===j&&(F={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})})}var B=function(){return F||{x0:0,x1:m,y0:0,y1:g}},N=p;return w&&(N=N.transition().each("end",function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(o){var p=c.isHeader(o,C);o._x0=y(o.x0),o._x1=y(o.x1),o._y0=v(o.y0),o._y1=v(o.y1),o._hoverX=y(o.x1-C.marker.pad.r),o._hoverY=P?v(o.y1-C.marker.pad.b/2):v(o.y0+C.marker.pad.t/2);var d=r.select(this),T=n.ensureSingle(d,"path","surface",function(e){e.style("pointer-events",S?"none":"all")});w?T.transition().attrTween("d",function(e){var t=k(e,!1,B(),[m,g]);return function(e){return x(t(e))}}):T.attr("d",x),d.call(u,f,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),T.call(s,o,C,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":p?o._text=z?"":c.getPtLabel(o)||"":o._text=h(o,f,C,t,E)||"";var M=n.ensureSingle(d,"g","slicetext"),O=n.ensureSingle(M,"text","",function(e){e.attr("data-notex",1)}),D=n.ensureUniformFontSize(e,c.determineTextFont(C,o,E.font)),R=o._text||" ",F=p&&-1===R.indexOf("
");O.text(R).classed("slicetext",!0).attr("text-anchor",I?"end":L||F?"start":"middle").call(i.font,D).call(a.convertToTspans,e),o.textBB=i.bBox(O.node()),o.transform=_(o,{fontSize:D.size,isHeader:p}),o.transform.fontSize=D.size,w?O.transition().attrTween("transform",function(e){var t=A(e,!1,B(),[m,g]);return function(e){return b(t(e))}}):O.attr("transform",b(o))}),F}}}),fg=ed({"src/traces/treemap/plot.js"(e,t){var r=fd(),n=fm();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"treemap",drawDescendants:n})}}}),fy=ed({"src/traces/treemap/index.js"(e,t){t.exports={moduleType:"trace",name:"treemap",basePlotModule:fr(),categories:[],animatable:!0,attributes:fi(),layoutAttributes:fa(),supplyDefaults:fo(),supplyLayoutDefaults:fs(),calc:fl().calc,crossTraceCalc:fl().crossTraceCalc,plot:fg(),style:fh().style,colorbar:iL(),meta:{}}}}),fv=ed({"lib/treemap.js"(e,t){t.exports=fy()}}),fx=ed({"src/traces/icicle/base_plot.js"(e){var t=ra();e.name="icicle",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),f_=ed({"src/traces/icicle/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=tS(),a=rp(),o=aI().attributes,s=un(),l=ug(),c=fi(),u=fn(),h=ej().extendFlat,f=tA().pattern;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:c.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:h({colors:l.marker.colors,line:l.marker.line,pattern:f,editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),leaf:l.leaf,pathbar:c.pathbar,text:s.text,textinfo:l.textinfo,texttemplate:n({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),texttemplatefallback:i({editType:"plot"}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:r({},{keys:u.eventDataKeys}),hovertemplatefallback:i(),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c.outsidetextfont,textposition:c.textposition,sort:s.sort,root:l.root,domain:o({name:"icicle",trace:!0,editType:"calc"})}}}),fb=ed({"src/traces/icicle/layout_attributes.js"(e,t){t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),fw=ed({"src/traces/icicle/defaults.js"(e,t){var r=tQ(),n=f_(),i=eZ(),a=aI().defaults,o=a0().handleText,s=ik().TEXTPAD,l=ui().handleMarkerDefaults,c=rE(),u=c.hasColorscale,h=c.handleDefaults;t.exports=function(e,t,c,f){function p(i,a){return r.coerce(e,t,n,i,a)}var d=p("labels"),m=p("parents");if(!d||!d.length||!m||!m.length){t.visible=!1;return}var g=p("values");p(g&&g.length?"branchvalues":"count"),p("level"),p("maxdepth"),p("tiling.orientation"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),p("texttemplatefallback"),t.texttemplate||p("textinfo",r.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate"),p("hovertemplatefallback");var v=p("pathbar.visible");o(e,t,f,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition"),l(e,t,f,p);var x=t._hasColorscale=u(e,"marker","colors")||(e.marker||{}).coloraxis;x&&h(e,t,f,p,{prefix:"marker.",cLetter:"c"}),p("leaf.opacity",x?1:.7),t._hovered={marker:{line:{width:2,color:i.contrast(f.paper_bgcolor)}}},v&&(p("pathbar.thickness",t.pathbar.textfont.size+2*s),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),a(t,f,p),t._length=null}}}),fT=ed({"src/traces/icicle/layout_defaults.js"(e,t){var r=tQ(),n=fb();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("iciclecolorway",t.colorway),i("extendiciclecolors")}}}),fk=ed({"src/traces/icicle/calc.js"(e){var t=ub();e.calc=function(e,r){return t.calc(e,r)},e.crossTraceCalc=function(e){return t._runCrossTraceCalc("icicle",e)}}}),fA=ed({"src/traces/icicle/partition.js"(e,t){var r=u_(),n=fc();t.exports=function(e,t,i){var a=i.flipX,o=i.flipY,s="h"===i.orientation,l=i.maxDepth,c=t[0],u=t[1];l&&(c=(e.height+1)*t[0]/Math.min(e.height+1,l),u=(e.height+1)*t[1]/Math.min(e.height+1,l));var h=r.partition().padding(i.pad.inner).size(s?[t[1],c]:[t[0],u])(e);return(s||a||o)&&n(h,t,{swapXY:s,flipX:a,flipY:o}),h}}}),fM=ed({"src/traces/icicle/style.js"(e,t){var r=eb(),n=eZ(),i=tQ(),a=a5().resizeText,o=h4();function s(e,t,r,a){var s=t.data.data,l=!t.children,c=s.i,u=i.castOption(r,c,"marker.line.color")||n.defaultLine,h=i.castOption(r,c,"marker.line.width")||0;e.call(o,t,r,a).style("stroke-width",h).call(n.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(e){var t=e._fullLayout._iciclelayer.selectAll(".trace");a(e,t,"icicle"),t.each(function(t){var n=r.select(this),i=t[0].trace;n.style("opacity",i.opacity),n.selectAll("path.surface").each(function(t){r.select(this).call(s,t,i,e)})})},styleOne:s}}}),fS=ed({"src/traces/icicle/draw_descendants.js"(e,t){var r=eb(),n=tQ(),i=rO(),a=rl(),o=fA(),s=fM().styleOne,l=fn(),c=h8(),u=h7(),h=h9().formatSliceLabel;t.exports=function(e,t,f,p,d){var m=d.width,g=d.height,y=d.viewX,v=d.viewY,x=d.pathSlice,_=d.toMoveInsideSlice,b=d.strTransform,w=d.hasTransition,T=d.handleSlicesExit,k=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=e._context.staticPlot,E=e._fullLayout,C=t[0].trace,L=-1!==C.textposition.indexOf("left"),I=-1!==C.textposition.indexOf("right"),P=-1!==C.textposition.indexOf("bottom"),z=o(f,[m,g],{flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),O=1/0,D=-1/0;z.forEach(function(e){var t=e.depth;t>=C._maxDepth?(e.x0=e.x1=(e.x0+e.x1)/2,e.y0=e.y1=(e.y0+e.y1)/2):(O=Math.min(O,t),D=Math.max(D,t))}),p=p.data(z,c.getPtId),C._maxVisibleLayers=isFinite(D)?D-O+1:0,p.enter().append("g").classed("slice",!0),T(p,!1,{},[m,g],x),p.order();var R=null;if(w&&M){var F=c.getPtId(M);p.each(function(e){null===R&&c.getPtId(e)===F&&(R={x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1})})}var j=function(){return R||{x0:0,x1:m,y0:0,y1:g}},B=p;return w&&(B=B.transition().each("end",function(){var t=r.select(this);c.setSliceCursor(t,e,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),B.each(function(o){o._x0=y(o.x0),o._x1=y(o.x1),o._y0=v(o.y0),o._y1=v(o.y1),o._hoverX=y(o.x1-C.tiling.pad),o._hoverY=P?v(o.y1-C.tiling.pad/2):v(o.y0+C.tiling.pad/2);var p=r.select(this),d=n.ensureSingle(p,"path","surface",function(e){e.style("pointer-events",S?"none":"all")});w?d.transition().attrTween("d",function(e){var t=k(e,!1,j(),[m,g],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(e){return x(t(e))}}):d.attr("d",x),p.call(u,f,e,t,{styleOne:s,eventDataKeys:l.eventDataKeys,transitionTime:l.CLICK_TRANSITION_TIME,transitionEasing:l.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,e,{isTransitioning:e._transitioning}),d.call(s,o,C,e,{hovered:!1}),o.x0===o.x1||o.y0===o.y1?o._text="":o._text=h(o,f,C,t,E)||"";var T=n.ensureSingle(p,"g","slicetext"),M=n.ensureSingle(T,"text","",function(e){e.attr("data-notex",1)}),z=n.ensureUniformFontSize(e,c.determineTextFont(C,o,E.font));M.text(o._text||" ").classed("slicetext",!0).attr("text-anchor",I?"end":L?"start":"middle").call(i.font,z).call(a.convertToTspans,e),o.textBB=i.bBox(M.node()),o.transform=_(o,{fontSize:z.size}),o.transform.fontSize=z.size,w?M.transition().attrTween("transform",function(e){var t=A(e,!1,j(),[m,g]);return function(e){return b(t(e))}}):M.attr("transform",b(o))}),R}}}),fE=ed({"src/traces/icicle/plot.js"(e,t){var r=fd(),n=fS();t.exports=function(e,t,i,a){return r(e,t,i,a,{type:"icicle",drawDescendants:n})}}}),fC=ed({"src/traces/icicle/index.js"(e,t){t.exports={moduleType:"trace",name:"icicle",basePlotModule:fx(),categories:[],animatable:!0,attributes:f_(),layoutAttributes:fb(),supplyDefaults:fw(),supplyLayoutDefaults:fT(),calc:fk().calc,crossTraceCalc:fk().crossTraceCalc,plot:fE(),style:fM().style,colorbar:iL(),meta:{}}}}),fL=ed({"lib/icicle.js"(e,t){t.exports=fC()}}),fI=ed({"src/traces/funnelarea/base_plot.js"(e){var t=ra();e.name="funnelarea",e.plot=function(r,n,i,a){t.plotBasePlot(e.name,r,n,i,a)},e.clean=function(r,n,i,a){t.cleanBasePlot(e.name,r,n,i,a)}}}),fP=ed({"src/traces/funnelarea/attributes.js"(e,t){var r=un(),n=eq(),i=aI().attributes,{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=tS(),l=ej().extendFlat;t.exports={labels:r.labels,label0:r.label0,dlabel:r.dlabel,values:r.values,marker:{colors:r.marker.colors,line:{color:l({},r.marker.line.color,{dflt:null}),width:l({},r.marker.line.width,{dflt:1}),editType:"calc"},pattern:r.marker.pattern,editType:"calc"},text:r.text,hovertext:r.hovertext,scalegroup:l({},r.scalegroup,{}),textinfo:l({},r.textinfo,{flags:["label","text","value","percent"]}),texttemplate:o({editType:"plot"},{keys:["label","color","value","text","percent"]}),texttemplatefallback:s({editType:"plot"}),hoverinfo:l({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:a({},{keys:["label","color","value","text","percent"]}),hovertemplatefallback:s(),textposition:l({},r.textposition,{values:["inside","none"],dflt:"inside"}),textfont:r.textfont,insidetextfont:r.insidetextfont,title:{text:r.title.text,font:r.title.font,position:l({},r.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}}}),fz=ed({"src/traces/funnelarea/layout_attributes.js"(e,t){var r=ua().hiddenlabels;t.exports={hiddenlabels:r,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}}}),fO=ed({"src/traces/funnelarea/defaults.js"(e,t){var r=tQ(),n=fP(),i=aI().defaults,a=a0().handleText,o=ui().handleLabelsAndValues,s=ui().handleMarkerDefaults;t.exports=function(e,t,l,c){function u(i,a){return r.coerce(e,t,n,i,a)}var h,f=o(u("labels"),u("values")),p=f.len;if(t._hasLabels=f.hasLabels,t._hasValues=f.hasValues,!t._hasLabels&&t._hasValues&&(u("label0"),u("dlabel")),!p){t.visible=!1;return}t._length=p,s(e,t,c,u),u("scalegroup");var d=u("text"),m=u("texttemplate");if(u("texttemplatefallback"),m||(h=u("textinfo",Array.isArray(d)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),u("hovertemplatefallback"),m||h&&"none"!==h){var g=u("textposition");a(e,t,c,u,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===h&&u("textposition","none");i(t,c,u),u("title.text")&&(u("title.position"),r.coerceFont(u,"title.font",c.font)),u("aspectratio"),u("baseratio")}}}),fD=ed({"src/traces/funnelarea/layout_defaults.js"(e,t){var r=tQ(),n=fz();t.exports=function(e,t){function i(i,a){return r.coerce(e,t,n,i,a)}i("hiddenlabels"),i("funnelareacolorway",t.colorway),i("extendfunnelareacolors")}}}),fR=ed({"src/traces/funnelarea/calc.js"(e,t){var r=us();t.exports={calc:function(e,t){return r.calc(e,t)},crossTraceCalc:function(e){r.crossTraceCalc(e,{type:"funnelarea"})}}}}),fF=ed({"src/traces/funnelarea/plot.js"(e,t){var r=eb(),n=rO(),i=tQ(),a=i.strScale,o=i.strTranslate,s=rl(),l=a8().toMoveInsideBar,c=a5(),u=c.recordMinTextSize,h=c.clearMinTextSize,f=r2(),p=uc(),d=p.attachFxHandlers,m=p.determineInsideTextFont,g=p.layoutAreas,y=p.prerenderTitles,v=p.positionTitleOutside,x=p.formatSliceLabel;function _(e,t){return"l"+(t[0]-e[0])+","+(t[1]-e[1])}t.exports=function(e,t){var c=e._context.staticPlot,p=e._fullLayout;h("funnelarea",p),y(t,e),g(t,p._size),i.makeTraceGroups(p._funnelarealayer,t,"trace").each(function(t){var h=r.select(this),g=t[0],y=g.trace;(function(e){if(e.length){var t,r,n,i=e[0],a=i.trace,o=a.aspectratio,s=a.baseratio;s>.999&&(s=.999);var l=Math.pow(s,2),c=i.vTotal,u=c*l/(1-l)/c,h=[];for(h.push(S()),r=e.length-1;r>-1;r--)if(!(n=e[r]).hidden){var f=n.v/c;u+=f,h.push(S())}var p=1/0,d=-1/0;for(r=0;r-1;r--)if(!(n=e[r]).hidden){var T,k,A=h[w+=1][0],M=h[w][1];n.TL=[-A,M],n.TR=[A,M],n.BL=_,n.BR=b,n.pxmid=(T=n.TR,k=n.BR,[.5*(T[0]+k[0]),.5*(T[1]+k[1])]),_=n.TL,b=n.TR}}function S(){var e,t={x:e=Math.sqrt(u),y:-e};return[t.x,t.y]}})(t),h.each(function(){var h=r.select(this).selectAll("g.slice").data(t);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each(function(a,o){if(a.hidden){r.select(this).selectAll("path,g").remove();return}a.pointNumber=a.i,a.curveNumber=y.index;var h=g.cx,v=g.cy,b=r.select(this),w=b.selectAll("path.surface").data([a]);w.enter().append("path").classed("surface",!0).style({"pointer-events":c?"none":"all"}),b.call(d,e,t);var T="M"+(h+a.TR[0])+","+(v+a.TR[1])+_(a.TR,a.BR)+_(a.BR,a.BL)+_(a.BL,a.TL)+"Z";w.attr("d",T),x(e,a,g);var k=f.castOption(y.textposition,a.pts),A=b.selectAll("g.slicetext").data(a.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each(function(){var c,f=i.ensureSingle(r.select(this),"text","",function(e){e.attr("data-notex",1)}),d=i.ensureUniformFontSize(e,m(y,a,p.font));f.text(a.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(n.font,d).call(s.convertToTspans,e);var g=n.bBox(f.node()),x=Math.min(a.BL[1],a.BR[1])+v,_=Math.max(a.TL[1],a.TR[1])+v;(c=l(Math.max(a.TL[0],a.BL[0])+h,Math.min(a.TR[0],a.BR[0])+h,x,_,g,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=d.size,u(y.type,c,p),t[o].transform=c,i.setTransormAndDisplay(f,c)})});var b=r.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);b.enter().append("g").classed("titletext",!0),b.exit().remove(),b.each(function(){var t=i.ensureSingle(r.select(this),"text","",function(e){e.attr("data-notex",1)}),l=y.title.text;y._meta&&(l=i.templateString(l,y._meta)),t.text(l).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(n.font,y.title.font).call(s.convertToTspans,e);var c=v(g,p._size);t.attr("transform",o(c.x,c.y)+a(Math.min(1,c.scale))+o(c.tx,c.ty))})})})}}}),fj=ed({"src/traces/funnelarea/style.js"(e,t){var r=eb(),n=r5(),i=a5().resizeText;t.exports=function(e){var t=e._fullLayout._funnelarealayer.selectAll(".trace");i(e,t,"funnelarea"),t.each(function(t){var i=t[0].trace,a=r.select(this);a.style({opacity:i.opacity}),a.selectAll("path.surface").each(function(t){r.select(this).call(n,t,i,e)})})}}}),fB=ed({"src/traces/funnelarea/index.js"(e,t){t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:fI(),categories:["pie-like","funnelarea","showLegend"],attributes:fP(),layoutAttributes:fz(),supplyDefaults:fO(),supplyLayoutDefaults:fD(),calc:fR().calc,crossTraceCalc:fR().crossTraceCalc,plot:fF(),style:fj(),styleOne:r5(),meta:{}}}}),fN=ed({"lib/funnelarea.js"(e,t){t.exports=fB()}}),fU=ed({"stackgl_modules/index.js"(e,t){!function(){var e={1964:function(e,t,r){e.exports={alpha_shape:r(3502),convex_hull:r(7352),delaunay_triangulate:r(7642),gl_cone3d:r(6405),gl_error3d:r(9165),gl_line3d:r(5714),gl_mesh3d:r(7201),gl_plot3d:r(4100),gl_scatter3d:r(8418),gl_streamtube3d:r(7815),gl_surface3d:r(9499),ndarray:r(9618),ndarray_linear_interpolate:r(4317)}},4793:function(e,t,r){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=r(7507),a=r(3778),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function s(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return h(e)}return c(e,t,r)}function c(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!l.isEncoding(t))throw TypeError("Unknown encoding: "+t);var r=0|m(e,t),n=s(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(L(e,Uint8Array)){var t=new Uint8Array(e);return p(t.buffer,t.byteOffset,t.byteLength)}return f(e)}(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+n(e));if(L(e,ArrayBuffer)||e&&L(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(L(e,SharedArrayBuffer)||e&&L(e.buffer,SharedArrayBuffer)))return p(e,t,r);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,r);var a=function(e){if(l.isBuffer(e)){var t,r=0|d(e.length),n=s(r);return 0===n.length||e.copy(n,0,0,r),n}return void 0!==e.length?"number"!=typeof e.length||(t=e.length)!=t?s(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(a)return a;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+n(e))}function u(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function h(e){return u(e),s(e<0?0:0|d(e))}function f(e){for(var t=e.length<0?0:0|d(e.length),r=s(t),n=0;n=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function m(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||L(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+n(e));var r=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var a=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return S(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return E(e).length;default:if(a)return i?-1:S(e).length;t=(""+t).toLowerCase(),a=!0}}function g(e,t,r){var n,a,o=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(a=r=+r)!=a&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return -1;r=e.length-1}else if(r<0){if(!i)return -1;r=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:x(e,t,r,n,i);if("number"==typeof t)return(t&=255,"function"==typeof Uint8Array.prototype.indexOf)?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):x(e,[t],r,n,i);throw TypeError("val must be string, number or Buffer")}function x(e,t,r,n,i){var a,o=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return -1;o=2,s/=2,l/=2,r/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;f239?4:c>223?3:c>191?2:1;if(i+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:(192&(a=e[i+1]))==128&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],(192&a)==128&&(192&o)==128&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],(192&a)==128&&(192&o)==128&&(192&s)==128&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var r="",n=0;nr)throw RangeError("Trying to access beyond buffer length")}function w(e,t,r,n,i,a){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw RangeError("Index out of range")}function T(e,t,r,n,i,a){if(r+n>e.length||r<0)throw RangeError("Index out of range")}function k(e,t,r,n,i){return t=+t,r>>>=0,i||T(e,t,r,4,34028234663852886e22,-34028234663852886e22),a.write(e,t,r,n,23,4),r+4}function A(e,t,r,n,i){return t=+t,r>>>=0,i||T(e,t,r,8,17976931348623157e292,-17976931348623157e292),a.write(e,t,r,n,52,8),r+8}t.hp=l,t.IS=50,l.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),l.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),l.poolSize=8192,l.from=function(e,t,r){return c(e,t,r)},Object.setPrototypeOf(l.prototype,Uint8Array.prototype),Object.setPrototypeOf(l,Uint8Array),l.alloc=function(e,t,r){return(u(e),e<=0)?s(e):void 0!==t?"string"==typeof r?s(e).fill(t,r):s(e).fill(t):s(e)},l.allocUnsafe=function(e){return h(e)},l.allocUnsafeSlow=function(e){return h(e)},l.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==l.prototype},l.compare=function(e,t){if(L(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),L(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(e)||!l.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);in.length?l.from(a).copy(n,i):Uint8Array.prototype.set.call(n,a,i);else if(l.isBuffer(a))a.copy(n,i);else throw TypeError('"list" argument must be an Array of Buffers');i+=a.length}return n},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tr&&(e+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(e,t,r,i,a){if(L(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+n(e));if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===a&&(a=this.length),t<0||r>e.length||i<0||a>this.length)throw RangeError("out of range index");if(i>=a&&t>=r)return 0;if(i>=a)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,i>>>=0,a>>>=0,this===e)return 0;for(var o=a-i,s=r-t,c=Math.min(o,s),u=this.slice(i,a),h=e.slice(t,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i,a,o,s,l,c,u,h,f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var p=!1;;)switch(n){case"hex":return function(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;n>a/2&&(n=a/2);for(var o=0;o>8,i.push(r%256),i.push(n);return i}(e,this.length-u),this,u,h);default:if(p)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||b(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||b(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||b(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||b(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||b(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||b(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||b(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||b(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||b(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return(e>>>=0,t||b(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||b(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){e>>>=0,t||b(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||b(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||b(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||b(e,4,this.length),a.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||b(e,4,this.length),a.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||b(e,8,this.length),a.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||b(e,8,this.length),a.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;w(this,e,t,r,i,0)}var a=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;w(this,e,t,r,i,0)}var a=r-1,o=1;for(this[t+a]=255&e;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+r},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);w(this,e,t,r,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);w(this,e,t,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||w(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return k(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return k(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return A(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return A(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(!l.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!i){if(r>56319||o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function E(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(M,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function C(e,t,r,n){for(var i=0;i=t.length)&&!(i>=e.length);++i)t[i+r]=e[i];return i}function L(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var I=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()},9216:function(e){e.exports=i,e.exports.isMobile=i,e.exports.default=i;var t=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(e){e||(e={});var i=e.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=t.test(i)&&!r.test(i)||!!e.tablet&&n.test(i);return!a&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(e,t,r){e.exports=function(e){var t=(e=e||{}).eye||[0,0,1],r=e.center||[0,0,0],s=e.up||[0,1,0],l=e.distanceLimits||[0,1/0],c=e.mode||"turntable",u=n(),h=i(),f=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,t,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,t,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,t,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=r(7261),i=r(9977),a=r(1811);function o(e,t){this._controllerNames=Object.keys(e),this._controllerList=this._controllerNames.map(function(t){return e[t]}),this._mode=t,this._active=e[t],this._active||(this._mode="turntable",this._active=e.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(e){for(var t=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,c[u++]=t>>8&255,c[u++]=255&t;return 2===s&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,c[u++]=255&t),1===s&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,c[u++]=t>>8&255,c[u++]=255&t),c},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=0,s=n-i;o>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}(e,o,o+16383>s?s:o+16383));return 1===i?a.push(r[(t=e[n-1])>>2]+r[t<<4&63]+"=="):2===i&&a.push(r[(t=(e[n-2]<<8)+e[n-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[1]).add(t[0].mul(e[1])),e[1].mul(t[1]))}},1318:function(e){e.exports=function(e,t){return e[0].mul(t[1]).cmp(t[0].mul(e[1]))}},8697:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[1]),e[1].mul(t[0]))}},7842:function(e,t,r){var n=r(6330),i=r(1533),a=r(2651),o=r(6768),s=r(869),l=r(8697);e.exports=function e(t,r){if(n(t))return r?l(t,e(r)):[t[0].clone(),t[1].clone()];var c,u,h=0;if(i(t))c=t.clone();else if("string"==typeof t)c=o(t);else if(0===t)return[a(0),a(1)];else if(t===Math.floor(t))c=a(t);else{for(;t!==Math.floor(t);)t*=1157920892373162e62,h-=256;c=a(t)}if(n(r))c.mul(r[1]),u=r[0].clone();else if(i(r))u=r.clone();else if("string"==typeof r)u=o(r);else if(r){if(r===Math.floor(r))u=a(r);else{for(;r!==Math.floor(r);)r*=1157920892373162e62,h+=256;u=a(r)}}else u=a(1);return h>0?c=c.ushln(h):h<0&&(u=u.ushln(-h)),s(c,u)}},6330:function(e,t,r){var n=r(1533);e.exports=function(e){return Array.isArray(e)&&2===e.length&&n(e[0])&&n(e[1])}},5716:function(e,t,r){var n=r(6859);e.exports=function(e){return e.cmp(new n(0))}},1369:function(e,t,r){var n=r(5716);e.exports=function(e){var t=e.length,r=e.words,i=0;if(1===t)i=r[0];else if(2===t)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(e,t,r){r(6859),e.exports=function(e){return e&&"object"==typeof e&&!!e.words}},2651:function(e,t,r){var n=r(6859),i=r(2361);e.exports=function(e){var t=i.exponent(e);return t<52?new n(e):new n(e*Math.pow(2,52-t)).ushln(t-52)}},869:function(e,t,r){var n=r(2651),i=r(5716);e.exports=function(e,t){var r=i(e),a=i(t);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(e=e.neg(),t=t.neg());var o=e.gcd(t);return o.cmpn(1)?[e.div(o),t.div(o)]:[e,t]}},6768:function(e,t,r){var n=r(6859);e.exports=function(e){return new n(e)}},6504:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[0]),e[1].mul(t[1]))}},7721:function(e,t,r){var n=r(5716);e.exports=function(e){return n(e[0])*n(e[1])}},5572:function(e,t,r){var n=r(869);e.exports=function(e,t){return n(e[0].mul(t[1]).sub(e[1].mul(t[0])),e[1].mul(t[1]))}},946:function(e,t,r){var n=r(1369),i=r(4025);e.exports=function(e){var t=e[0],r=e[1];if(0===t.cmpn(0))return 0;var a=t.abs().divmod(r.abs()),o=n(a.div),s=a.mod,l=t.negative!==r.negative?-1:1;if(0===s.cmpn(0))return l*o;if(o){var c=i(o)+4,u=n(s.ushln(c).divRound(r));return l*(o+u*Math.pow(2,-c))}var h=r.bitLength()-s.bitLength()+53,u=n(s.ushln(h).divRound(r));return h<1023?l*u*Math.pow(2,-h):l*(u*=11125369292536007e-324)*Math.pow(2,1023-h)}},2478:function(e){function t(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function r(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return -1}function o(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}e.exports={ge:function(e,r,n,i,a){return o(e,r,n,i,a,t)},gt:function(e,t,n,i,a){return o(e,t,n,i,a,r)},lt:function(e,t,r,i,a){return o(e,t,r,i,a,n)},le:function(e,t,r,n,a){return o(e,t,r,n,a,i)},eq:function(e,t,r,n,i){return o(e,t,r,n,i,a)}}},8828:function(e,t){function r(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}t.INT_BITS=32,t.INT_MAX=2147483647,t.INT_MIN=-2147483648,t.sign=function(e){return(e>0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,(t|=r)|e>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return e-=e>>>1&1431655765,((e=(858993459&e)+(e>>>2&858993459))+(e>>>4)&252645135)*16843009>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)+1},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return e&=65535,t&=65535,(e=((e=((e=((e=(e|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)|(t=((t=((t=((t=(t|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)<<1},t.deinterleave2=function(e,t){return(e=((e=((e=((e=((e=e>>>t&1431655765)|e>>>1)&858993459)|e>>>2)&252645135)|e>>>4)&16711935)|e>>>16)&65535)<<16>>16},t.interleave3=function(e,t,r){return e&=1023,t&=1023,r&=1023,r=((r=((r=((r=(r|r<<16)&4278190335)|r<<8)&251719695)|r<<4)&3272356035)|r<<2)&1227133513,(e=((e=((e=((e=(e|e<<16)&4278190335)|e<<8)&251719695)|e<<4)&3272356035)|e<<2)&1227133513|(t=((t=((t=((t=(t|t<<16)&4278190335)|t<<8)&251719695)|t<<4)&3272356035)|t<<2)&1227133513)<<1)|r<<2},t.deinterleave3=function(e,t){return(e=((e=((e=((e=((e=e>>>t&1227133513)|e>>>2)&3272356035)|e>>>4)&251719695)|e>>>8)&4278190335)|e>>>16)&1023)<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},6859:function(e,t,r){!function(e,t){function n(e,t){if(!e)throw Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(r=t,t=10),this._init(e||0,t||10,r||"be"))}"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{c="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(e){}function o(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function s(e,t,r){var n=o(e,r);return r-1>=t&&(n|=o(e,r-1)<<4),n}function l(e,t,r,n){for(var i=0,a=Math.min(e.length,r),o=t;o=49?i+=s-49+10:s>=17?i+=s-17+10:i+=s}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return 0>e.cmp(t)?e:t},a.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;o-=3)a=e[o]|e[o-1]<<8|e[o-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(o=0,i=0;o>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},a.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var n,i=0;i=t;i-=2)n=s(e,t,i)<=18?(a-=18,o+=1,this.words[o]|=n>>>26):a+=8;else for(i=(e.length-t)%2==0?t+1:t;i=18?(a-=18,o+=1,this.words[o]|=n>>>26):a+=8;this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c,u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,f=Math.min(c,t.length-1),p=Math.max(0,c-e.length+1);p<=f;p++){var d=c-p|0;u+=(o=(i=0|e.words[d])*(a=0|t.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var r,i=0,a=0,o=0;o>>24-i&16777215,(i+=2)>=26&&(i-=26,o--),r=0!==a||o!==this.length-1?u[6-l.length]+l+r:l+r}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var c=h[e],p=f[e];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(e);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return n(void 0!==c),this.toArrayLike(c,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,r){var i,a,o=this.byteLength(),s=r||Math.max(1,o);n(o<=s,"byte array longer than desired length"),n(s>0,"Requested array length <= 0"),this.strip();var l=new e(s),c=this.clone();if("le"===t){for(a=0;!c.isZero();a++)i=c.andln(255),c.iushrn(8),l[a]=i;for(;a=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return(8191&t)==0&&(r+=13,t>>>=13),(127&t)==0&&(r+=7,t>>>=7),(15&t)==0&&(r+=4,t>>>=4),(3&t)==0&&(r+=2,t>>>=2),(1&t)==0&&r++,r},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){this.length>e.length?(t=this,r=e):(t=e,r=this);for(var t,r,n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),t?this.words[r]=this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var t,r,n,i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t,r,n=this.iadd(e);return e.negative=1,n._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(t=this,r=e):(t=e,r=this);for(var a=0,o=0;o>26,this.words[o]=67108863&n;for(;0!==a&&o>26,this.words[o]=67108863&n;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],y=8191&g,v=g>>>13,x=0|o[3],_=8191&x,b=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,I=0|o[7],P=8191&I,z=I>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],j=8191&F,B=F>>>13,N=0|s[0],U=8191&N,V=N>>>13,q=0|s[1],H=8191&q,G=q>>>13,Z=0|s[2],W=8191&Z,Y=Z>>>13,X=0|s[3],$=8191&X,J=X>>>13,K=0|s[4],Q=8191&K,ee=K>>>13,et=0|s[5],er=8191&et,en=et>>>13,ei=0|s[6],ea=8191&ei,eo=ei>>>13,es=0|s[7],el=8191&es,ec=es>>>13,eu=0|s[8],eh=8191&eu,ef=eu>>>13,ep=0|s[9],ed=8191&ep,em=ep>>>13;r.negative=e.negative^t.negative,r.length=19;var eg=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(f,U)|0))<<13)|0;c=((a=Math.imul(f,V))+(i>>>13)|0)+(eg>>>26)|0,eg&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var ey=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(ey>>>26)|0,ey&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(v,U)|0,a=Math.imul(v,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var ev=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(f,W)|0))<<13)|0;c=((a=a+Math.imul(f,Y)|0)+(i>>>13)|0)+(ev>>>26)|0,ev&=67108863,n=Math.imul(_,U),i=(i=Math.imul(_,V))+Math.imul(b,U)|0,a=Math.imul(b,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,Y)|0;var ex=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(f,$)|0))<<13)|0;c=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(ex>>>26)|0,ex&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,G)|0,n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,Y)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,J)|0;var e_=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(f,Q)|0))<<13)|0;c=((a=a+Math.imul(f,ee)|0)+(i>>>13)|0)+(e_>>>26)|0,e_&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(_,W)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(b,W)|0,a=a+Math.imul(b,Y)|0,n=n+Math.imul(y,$)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,ee)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,ee)|0;var eb=(c+(n=n+Math.imul(h,er)|0)|0)+((8191&(i=(i=i+Math.imul(h,en)|0)+Math.imul(f,er)|0))<<13)|0;c=((a=a+Math.imul(f,en)|0)+(i>>>13)|0)+(eb>>>26)|0,eb&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,Y)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,n=n+Math.imul(d,er)|0,i=(i=i+Math.imul(d,en)|0)+Math.imul(m,er)|0,a=a+Math.imul(m,en)|0;var ew=(c+(n=n+Math.imul(h,ea)|0)|0)+((8191&(i=(i=i+Math.imul(h,eo)|0)+Math.imul(f,ea)|0))<<13)|0;c=((a=a+Math.imul(f,eo)|0)+(i>>>13)|0)+(ew>>>26)|0,ew&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(b,Q)|0,a=a+Math.imul(b,ee)|0,n=n+Math.imul(y,er)|0,i=(i=i+Math.imul(y,en)|0)+Math.imul(v,er)|0,a=a+Math.imul(v,en)|0,n=n+Math.imul(d,ea)|0,i=(i=i+Math.imul(d,eo)|0)+Math.imul(m,ea)|0,a=a+Math.imul(m,eo)|0;var eT=(c+(n=n+Math.imul(h,el)|0)|0)+((8191&(i=(i=i+Math.imul(h,ec)|0)+Math.imul(f,el)|0))<<13)|0;c=((a=a+Math.imul(f,ec)|0)+(i>>>13)|0)+(eT>>>26)|0,eT&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,Y)|0)+Math.imul(L,W)|0,a=a+Math.imul(L,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,ee)|0,n=n+Math.imul(_,er)|0,i=(i=i+Math.imul(_,en)|0)+Math.imul(b,er)|0,a=a+Math.imul(b,en)|0,n=n+Math.imul(y,ea)|0,i=(i=i+Math.imul(y,eo)|0)+Math.imul(v,ea)|0,a=a+Math.imul(v,eo)|0,n=n+Math.imul(d,el)|0,i=(i=i+Math.imul(d,ec)|0)+Math.imul(m,el)|0,a=a+Math.imul(m,ec)|0;var ek=(c+(n=n+Math.imul(h,eh)|0)|0)+((8191&(i=(i=i+Math.imul(h,ef)|0)+Math.imul(f,eh)|0))<<13)|0;c=((a=a+Math.imul(f,ef)|0)+(i>>>13)|0)+(ek>>>26)|0,ek&=67108863,n=Math.imul(j,U),i=(i=Math.imul(j,V))+Math.imul(B,U)|0,a=Math.imul(B,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,Y)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,ee)|0,n=n+Math.imul(T,er)|0,i=(i=i+Math.imul(T,en)|0)+Math.imul(k,er)|0,a=a+Math.imul(k,en)|0,n=n+Math.imul(_,ea)|0,i=(i=i+Math.imul(_,eo)|0)+Math.imul(b,ea)|0,a=a+Math.imul(b,eo)|0,n=n+Math.imul(y,el)|0,i=(i=i+Math.imul(y,ec)|0)+Math.imul(v,el)|0,a=a+Math.imul(v,ec)|0,n=n+Math.imul(d,eh)|0,i=(i=i+Math.imul(d,ef)|0)+Math.imul(m,eh)|0,a=a+Math.imul(m,ef)|0;var eA=(c+(n=n+Math.imul(h,ed)|0)|0)+((8191&(i=(i=i+Math.imul(h,em)|0)+Math.imul(f,ed)|0))<<13)|0;c=((a=a+Math.imul(f,em)|0)+(i>>>13)|0)+(eA>>>26)|0,eA&=67108863,n=Math.imul(j,H),i=(i=Math.imul(j,G))+Math.imul(B,H)|0,a=Math.imul(B,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,Y)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,Y)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,ee)|0,n=n+Math.imul(M,er)|0,i=(i=i+Math.imul(M,en)|0)+Math.imul(S,er)|0,a=a+Math.imul(S,en)|0,n=n+Math.imul(T,ea)|0,i=(i=i+Math.imul(T,eo)|0)+Math.imul(k,ea)|0,a=a+Math.imul(k,eo)|0,n=n+Math.imul(_,el)|0,i=(i=i+Math.imul(_,ec)|0)+Math.imul(b,el)|0,a=a+Math.imul(b,ec)|0,n=n+Math.imul(y,eh)|0,i=(i=i+Math.imul(y,ef)|0)+Math.imul(v,eh)|0,a=a+Math.imul(v,ef)|0;var eM=(c+(n=n+Math.imul(d,ed)|0)|0)+((8191&(i=(i=i+Math.imul(d,em)|0)+Math.imul(m,ed)|0))<<13)|0;c=((a=a+Math.imul(m,em)|0)+(i>>>13)|0)+(eM>>>26)|0,eM&=67108863,n=Math.imul(j,W),i=(i=Math.imul(j,Y))+Math.imul(B,W)|0,a=Math.imul(B,Y),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,ee)|0,n=n+Math.imul(C,er)|0,i=(i=i+Math.imul(C,en)|0)+Math.imul(L,er)|0,a=a+Math.imul(L,en)|0,n=n+Math.imul(M,ea)|0,i=(i=i+Math.imul(M,eo)|0)+Math.imul(S,ea)|0,a=a+Math.imul(S,eo)|0,n=n+Math.imul(T,el)|0,i=(i=i+Math.imul(T,ec)|0)+Math.imul(k,el)|0,a=a+Math.imul(k,ec)|0,n=n+Math.imul(_,eh)|0,i=(i=i+Math.imul(_,ef)|0)+Math.imul(b,eh)|0,a=a+Math.imul(b,ef)|0;var eS=(c+(n=n+Math.imul(y,ed)|0)|0)+((8191&(i=(i=i+Math.imul(y,em)|0)+Math.imul(v,ed)|0))<<13)|0;c=((a=a+Math.imul(v,em)|0)+(i>>>13)|0)+(eS>>>26)|0,eS&=67108863,n=Math.imul(j,$),i=(i=Math.imul(j,J))+Math.imul(B,$)|0,a=Math.imul(B,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(P,er)|0,i=(i=i+Math.imul(P,en)|0)+Math.imul(z,er)|0,a=a+Math.imul(z,en)|0,n=n+Math.imul(C,ea)|0,i=(i=i+Math.imul(C,eo)|0)+Math.imul(L,ea)|0,a=a+Math.imul(L,eo)|0,n=n+Math.imul(M,el)|0,i=(i=i+Math.imul(M,ec)|0)+Math.imul(S,el)|0,a=a+Math.imul(S,ec)|0,n=n+Math.imul(T,eh)|0,i=(i=i+Math.imul(T,ef)|0)+Math.imul(k,eh)|0,a=a+Math.imul(k,ef)|0;var eE=(c+(n=n+Math.imul(_,ed)|0)|0)+((8191&(i=(i=i+Math.imul(_,em)|0)+Math.imul(b,ed)|0))<<13)|0;c=((a=a+Math.imul(b,em)|0)+(i>>>13)|0)+(eE>>>26)|0,eE&=67108863,n=Math.imul(j,Q),i=(i=Math.imul(j,ee))+Math.imul(B,Q)|0,a=Math.imul(B,ee),n=n+Math.imul(D,er)|0,i=(i=i+Math.imul(D,en)|0)+Math.imul(R,er)|0,a=a+Math.imul(R,en)|0,n=n+Math.imul(P,ea)|0,i=(i=i+Math.imul(P,eo)|0)+Math.imul(z,ea)|0,a=a+Math.imul(z,eo)|0,n=n+Math.imul(C,el)|0,i=(i=i+Math.imul(C,ec)|0)+Math.imul(L,el)|0,a=a+Math.imul(L,ec)|0,n=n+Math.imul(M,eh)|0,i=(i=i+Math.imul(M,ef)|0)+Math.imul(S,eh)|0,a=a+Math.imul(S,ef)|0;var eC=(c+(n=n+Math.imul(T,ed)|0)|0)+((8191&(i=(i=i+Math.imul(T,em)|0)+Math.imul(k,ed)|0))<<13)|0;c=((a=a+Math.imul(k,em)|0)+(i>>>13)|0)+(eC>>>26)|0,eC&=67108863,n=Math.imul(j,er),i=(i=Math.imul(j,en))+Math.imul(B,er)|0,a=Math.imul(B,en),n=n+Math.imul(D,ea)|0,i=(i=i+Math.imul(D,eo)|0)+Math.imul(R,ea)|0,a=a+Math.imul(R,eo)|0,n=n+Math.imul(P,el)|0,i=(i=i+Math.imul(P,ec)|0)+Math.imul(z,el)|0,a=a+Math.imul(z,ec)|0,n=n+Math.imul(C,eh)|0,i=(i=i+Math.imul(C,ef)|0)+Math.imul(L,eh)|0,a=a+Math.imul(L,ef)|0;var eL=(c+(n=n+Math.imul(M,ed)|0)|0)+((8191&(i=(i=i+Math.imul(M,em)|0)+Math.imul(S,ed)|0))<<13)|0;c=((a=a+Math.imul(S,em)|0)+(i>>>13)|0)+(eL>>>26)|0,eL&=67108863,n=Math.imul(j,ea),i=(i=Math.imul(j,eo))+Math.imul(B,ea)|0,a=Math.imul(B,eo),n=n+Math.imul(D,el)|0,i=(i=i+Math.imul(D,ec)|0)+Math.imul(R,el)|0,a=a+Math.imul(R,ec)|0,n=n+Math.imul(P,eh)|0,i=(i=i+Math.imul(P,ef)|0)+Math.imul(z,eh)|0,a=a+Math.imul(z,ef)|0;var eI=(c+(n=n+Math.imul(C,ed)|0)|0)+((8191&(i=(i=i+Math.imul(C,em)|0)+Math.imul(L,ed)|0))<<13)|0;c=((a=a+Math.imul(L,em)|0)+(i>>>13)|0)+(eI>>>26)|0,eI&=67108863,n=Math.imul(j,el),i=(i=Math.imul(j,ec))+Math.imul(B,el)|0,a=Math.imul(B,ec),n=n+Math.imul(D,eh)|0,i=(i=i+Math.imul(D,ef)|0)+Math.imul(R,eh)|0,a=a+Math.imul(R,ef)|0;var eP=(c+(n=n+Math.imul(P,ed)|0)|0)+((8191&(i=(i=i+Math.imul(P,em)|0)+Math.imul(z,ed)|0))<<13)|0;c=((a=a+Math.imul(z,em)|0)+(i>>>13)|0)+(eP>>>26)|0,eP&=67108863,n=Math.imul(j,eh),i=(i=Math.imul(j,ef))+Math.imul(B,eh)|0,a=Math.imul(B,ef);var ez=(c+(n=n+Math.imul(D,ed)|0)|0)+((8191&(i=(i=i+Math.imul(D,em)|0)+Math.imul(R,ed)|0))<<13)|0;c=((a=a+Math.imul(R,em)|0)+(i>>>13)|0)+(ez>>>26)|0,ez&=67108863;var eO=(c+(n=Math.imul(j,ed))|0)+((8191&(i=(i=Math.imul(j,em))+Math.imul(B,ed)|0))<<13)|0;return c=((a=Math.imul(B,em))+(i>>>13)|0)+(eO>>>26)|0,eO&=67108863,l[0]=eg,l[1]=ey,l[2]=ev,l[3]=ex,l[4]=e_,l[5]=eb,l[6]=ew,l[7]=eT,l[8]=ek,l[9]=eA,l[10]=eM,l[11]=eS,l[12]=eE,l[13]=eC,l[14]=eL,l[15]=eI,l[16]=eP,l[17]=ez,l[18]=eO,0!==c&&(l[19]=c,r.length++),r};function m(e,t,r){return new g().mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=p),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,t):r<63?p(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):m(this,e,t)},g.prototype.makeRBT=function(e){for(var t=Array(e),r=a.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*t;o>=26,t+=(i/67108864|0)+(a>>>26),this.words[r]=67108863&a}return 0!==t&&(this.words[r]=t,this.length++),this.length=0===e?1:this.length,this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(t=0;t>>26-r}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var i,a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,l=0;l=0&&(0!==c||l>=i);l--){var u=0|this.words[l];this.words[l]=c<<26-a|u>>>a,c=u&s}return r&&0!==c&&(r.words[r.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26;return!(this.length<=r)&&!!(this.words[r]&1<=0);var t=e%26,r=(e-t)/26;return(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)?this:(0!==t&&r++,this.length=Math.min(r,this.length),0!==t&&(this.words[this.length-1]&=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r,n=this.length-e.length,i=this.clone(),o=e,s=0|o.words[o.length-1];0!=(n=26-this._countBits(s))&&(o=o.ushln(n),i.iushln(n),s=0|o.words[o.length-1]);var l=i.length-o.length;if("mod"!==t){(r=new a(null)).length=l+1,r.words=Array(r.length);for(var c=0;c=0;h--){var f=(0|i.words[o.length+h])*67108864+(0|i.words[o.length+h-1]);for(f=Math.min(f/s|0,67108863),i._ishlnsubmul(o,f,h);0!==i.negative;)f--,i.negative=0,i._ishlnsubmul(o,1,h),i.isZero()||(i.negative^=1);r&&(r.words[h]=f)}return r&&r.strip(),i.strip(),"div"!==t&&0!==n&&i.iushrn(n),{div:r||null,mod:i}},a.prototype.divmod=function(e,t,r){var i,o,s;return(n(!e.isZero()),this.isZero())?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):(this.negative&e.negative)!=0?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||0>this.cmp(e)?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t)},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=67108864%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=t.clone();!t.isZero();){for(var f=0,p=1;(t.words[0]&p)==0&&f<26;++f,p<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;(r.words[0]&m)==0&&d<26;++d,m<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(s),o.isub(l)):(r.isub(t),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t,r=this,i=e.clone();r=0!==r.negative?r.umod(e):r.clone();for(var o=new a(1),s=new a(0),l=i.clone();r.cmpn(1)>0&&i.cmpn(1)>0;){for(var c=0,u=1;(r.words[0]&u)==0&&c<26;++c,u<<=1);if(c>0)for(r.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;(i.words[0]&f)==0&&h<26;++h,f<<=1);if(h>0)for(i.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);r.cmp(i)>=0?(r.isub(i),o.isub(s)):(i.isub(r),s.isub(o))}return 0>(t=0===r.cmpn(1)?o:s).cmpn(0)&&t.iadd(e),t},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return(1&this.words[0])==0},a.prototype.isOdd=function(){return(1&this.words[0])==1},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return -1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return -1===this.cmpn(e)},a.prototype.lt=function(e){return -1===this.cmp(e)},a.prototype.lten=function(e){return 0>=this.cmpn(e)},a.prototype.lte=function(e){return 0>=this.cmp(e)},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new T(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new a(null);return e.words=Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength();while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},i(x,v),x.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},x.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){var t;if(y[e])return y[e];if("k256"===e)t=new x;else if("p224"===e)t=new _;else if("p192"===e)t=new b;else if("p25519"===e)t=new w;else throw Error("Unknown prime "+e);return y[e]=t,t},T.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},T.prototype._verify2=function(e,t){n((e.negative|t.negative)==0,"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(e,i.addn(1).iushrn(1)),p=this.pow(e,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=t.words[n],u=l-1;u>=0;u--){var h=c>>u&1;if(i!==r[0]&&(i=this.sqr(i)),0===h&&0===o){s=0;continue}o<<=1,o|=h,(4==++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)}l=26}return i},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new k(e)},i(k,T),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):0>i.cmpn(0)&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):0>i.cmpn(0)&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e=r.nmd(e),this)},6204:function(e){e.exports=function(e){var t,r,n,i=e.length,a=0;for(t=0;t>>1;if(!(h<=0)){var f=i.mallocDouble(2*h*c),p=i.mallocInt32(c);if((c=s(e,h,f,p))>0){if(1===h&&n)a.init(c),l=a.sweepComplete(h,r,0,c,f,p,0,c,f,p);else{var d=i.mallocDouble(2*h*u),m=i.mallocInt32(u);(u=s(t,h,d,m))>0&&(a.init(c+u),l=1===h?a.sweepBipartite(h,r,0,c,f,p,0,u,d,m):o(h,r,n,c,f,p,u,d,m),i.free(d),i.free(m))}i.free(f),i.free(p)}return l}}}function c(e,t){n.push([e,t])}},2455:function(e,t){function r(e){return e?function(e,t,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,f=n,p=h*n;fc-l?n?function(e,t,r,n,i,a,o,s,l,c,u){for(var h=2*e,f=n,p=h*n;f0;){var M=6*(k-=1),S=y[M],E=y[M+1],C=y[M+2],L=y[M+3],I=y[M+4],P=y[M+5],z=2*k,O=v[z],D=v[z+1],R=1&P,F=!!(16&P),j=u,B=_,N=w,U=T;if(R&&(j=w,B=T,N=u,U=_),!(2&P&&(C=p(e,S,E,C,j,B,D),E>=C)||4&P&&(E=d(e,S,E,C,j,B,O))>=C)){var V=C-E,q=I-L;if(F){if(e*V*(V+q)<4194304){if(void 0!==(X=l.scanComplete(e,S,t,E,C,j,B,L,I,N,U)))return X;continue}}else{if(e*Math.min(V,q)<128){if(void 0!==(X=o(e,S,t,R,E,C,j,B,L,I,N,U)))return X;continue}if(e*V*q<4194304){if(void 0!==(X=l.scanBipartite(e,S,t,R,E,C,j,B,L,I,N,U)))return X;continue}}var H=h(e,S,E,C,j,B,O,D);if(E=p0)&&!(p1>=hi)"),f=u("lo===p0"),p=u("lo>>1,u=2*e,h=c,f=a[u*c+t];sr&&i[h+t]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d=y?(h=g,f=y):m>=x?(h=d,f=m):(h=v,f=x):y>=x?(h=g,f=y):x>=m?(h=d,f=m):(h=v,f=x);for(var _=u*(l-1),b=u*h,w=0;wh;++h,l+=s)if(i[l+t]===o){if(u===h)u+=1,c+=s;else{for(var f=0;s>f;++f){var p=i[l+f];i[l+f]=i[c],i[c++]=p}var d=a[h];a[h]=a[u],a[u++]=d}}return u},"loh;++h,l+=s)if(i[l+t]f;++f){var p=i[l+f];i[l+f]=i[c],i[c++]=p}var d=a[h];a[h]=a[u],a[u++]=d}}return u},"lo<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,f=r;n>f;++f,l+=s)if(i[l+h]<=o){if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}}return u},"hi<=p0":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,f=r;n>f;++f,l+=s)if(i[l+h]<=o){if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}}return u},"lof;++f,l+=s){var p=i[l+t],d=i[l+h];if(pm;++m){var g=i[l+m];i[l+m]=i[c],i[c++]=g}var y=a[f];a[f]=a[u],a[u++]=y}}}return u},"lo<=p0&&p0<=hi":function(e,t,r,n,i,a,o){for(var s=2*e,l=s*r,c=l,u=r,h=e+t,f=r;n>f;++f,l+=s){var p=i[l+t],d=i[l+h];if(p<=o&&o<=d){if(u===f)u+=1,c+=s;else{for(var m=0;s>m;++m){var g=i[l+m];i[l+m]=i[c],i[c++]=g}var y=a[f];a[f]=a[u],a[u++]=y}}}return u},"!(lo>=p0)&&!(p1>=hi)":function(e,t,r,n,i,a,o,s){for(var l=2*e,c=l*r,u=c,h=r,f=e+t,p=r;n>p;++p,c+=l){var d=i[c+t],m=i[c+f];if(!(d>=o)&&!(s>=m)){if(h===p)h+=1,u+=l;else{for(var g=0;l>g;++g){var y=i[c+g];i[c+g]=i[u],i[u++]=y}var v=a[p];a[p]=a[h],a[h++]=v}}}return h}}},4192:function(e){function t(e,t,r){for(var n=2*(e+1),i=e+1;i<=t;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >e;){var c=r[l-2],u=r[l-1];if(cr[t+1])}function o(e,t,r,n){var i=n[e*=2];return i>1,d=p-u,m=p+u,g=h,y=d,v=p,x=m,_=f,b=s+1,w=l-1,T=0;a(g,y,c)&&(T=g,g=y,y=T),a(x,_,c)&&(T=x,x=_,_=T),a(g,v,c)&&(T=g,g=v,v=T),a(y,v,c)&&(T=y,y=v,v=T),a(g,x,c)&&(T=g,g=x,x=T),a(v,x,c)&&(T=v,v=x,x=T),a(y,_,c)&&(T=y,y=_,_=T),a(y,v,c)&&(T=y,y=v,v=T),a(x,_,c)&&(T=x,x=_,_=T);for(var k=c[2*y],A=c[2*y+1],M=c[2*x],S=c[2*x+1],E=2*g,C=2*v,L=2*_,I=2*h,P=2*p,z=2*f,O=0;O<2;++O){var D=c[E+O],R=c[C+O],F=c[L+O];c[I+O]=D,c[P+O]=R,c[z+O]=F}n(d,s,c),n(m,l,c);for(var j=b;j<=w;++j)if(o(j,k,A,c))j!==b&&r(j,b,c),++b;else if(!o(j,M,S,c))for(;;){if(o(w,M,S,c)){o(w,k,A,c)?(function(e,t,r,n){t*=2,r*=2;var i=n[e*=2],a=n[e+1];n[e]=n[t],n[e+1]=n[t+1],n[t]=n[r],n[t+1]=n[r+1],n[r]=i,n[r+1]=a}(j,b,w,c),++b):r(j,w,c),--w;break}if(--w>>1;a(f,M);for(var S=0,E=0,w=0;w=268435456)C=C-268435456|0,p(l,c,E--,C);else if(C>=0)p(o,s,S--,C);else if(C<=-268435456){C=-C-268435456|0;for(var L=0;L>>1;a(f,E);for(var C=0,L=0,I=0,k=0;k>1==f[2*k+3]>>1&&(z=2,k+=1),P<0){for(var O=-(P>>1)-1,D=0;D>1)-1;0===z?p(o,s,C--,O):1===z?p(l,c,L--,O):2===z&&p(u,h,I--,O)}}},scanBipartite:function(e,t,r,n,i,l,c,u,h,m,g,y){var v=0,x=2*e,_=t+e,b=1,w=1;n?w=268435456:b=268435456;for(var T=i;T>>1;a(f,S);for(var E=0,T=0;T=268435456?(L=!n,k-=268435456):(L=!!n,k-=1),L)d(o,s,E++,k);else{var I=y[k],P=x*k,z=g[P+t+1],O=g[P+t+1+e];i:for(var D=0;D>>1;a(f,b);for(var w=0,y=0;y=268435456)o[w++]=v-268435456;else{var k=p[v-=1],A=m*v,M=h[A+t+1],S=h[A+t+1+e];i:for(var E=0;E=0;--E)if(o[E]===v){for(var P=E+1;Pn(e[i],e[a],e[o],e[s])&&r.push(i,a)}}r(2478),e.exports=function(e,t){for(var r=[],a=e.length,o=t.stars,s=0;sn(e[s],e[u],e[h],e[f])&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],d=1;d=0||(t.flip(s,u),i(e,t,r,h,s,f),i(e,t,r,s,f,h),i(e,t,r,f,u,h),i(e,t,r,u,h,f))}}},5023:function(e,t,r){var n,i=r(2478);function a(e,t,r,n,i,a,o){this.cells=e,this.neighbor=t,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(e,t){return e[0]-t[0]||e[1]-t[1]||e[2]-t[2]}e.exports=function(e,t,r){var n=function(e,t){for(var r=e.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i,u[p];for(var d=0;d<3;++d){var m=f[3*p+d];m>=0&&0===c[m]&&(h[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(e,t,r){for(var n=0,i=0;im[0]&&h.push(new o(m,d,2,f),new o(d,m,1,f))}h.sort(s);for(var g=h[0].a[0]-(1+Math.abs(h[0].a[0]))*2220446049250313e-31,y=[new a([g,1],[g,0],-1,[],[],[],[])],v=[],f=0,x=h.length;f1&&i(r[f[p-2]],r[f[p-1]],a)>0;)e.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);for(var d=h.upperIds,p=d.length;p>1&&0>i(r[d[p-2]],r[d[p-1]],a);)e.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}(v,y,e,_.a,_.idx):2===b?function(e,t,r){var i=n.le(e,r,c),o=e[i],s=o.upperIds,l=s[s.length-1];o.upperIds=[l],e.splice(i+1,0,new a(r.a,r.b,r.idx,[l],s))}(y,0,_):function(e,t,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(e,r,c),o=e[a];e[a-1].upperIds=o.upperIds,e.splice(a,1)}(y,0,_)}return v}},5542:function(e,t,r){var n=r(2478);function i(e,t){this.stars=e,this.edges=t}e.exports=function(e,t){for(var r=Array(e),n=0;n=0}}(),a.removeTriangle=function(e,t,r){var n=this.stars;o(n[e],t,r),o(n[t],r,e),o(n[r],e,t)},a.addTriangle=function(e,t,r){var n=this.stars;n[e].push(t,r),n[t].push(r,e),n[r].push(e,t)},a.opposite=function(e,t){for(var r=this.stars[t],n=1,i=r.length;n=0;--y){var y,v,x,_=n[y],b=t[v=_[0]],w=b[0],T=b[1],k=e[w],A=e[T];if(0>(k[0]-A[0]||k[1]-A[1])){var M=w;w=T,T=M}b[0]=w;var S=b[1]=_[1];for(i&&(x=b[2]);y>0&&n[y-1][0]===v;){var _=n[--y],E=_[1];i?t.push([S,E,x]):t.push([S,E]),S=E}i?t.push([S,T,x]):t.push([S,T])}return a}(e,g,_,w,v),y(g,k=d(e,T,b),v),k||_.length>0||w.length>0;)C=!0;if(r&&C){A.length=0,r.length=0;for(var S=0;St[2]?1:0)}function y(e,t,r){if(0!==e.length){if(t)for(var n=0;np+1)throw Error(h+" map requires nshades to be at least size "+u.length);m=Array.isArray(e.alpha)?2!==e.alpha.length?[1,1]:e.alpha.slice():"number"==typeof e.alpha?[e.alpha,e.alpha]:[1,1],t=u.map(function(e){return Math.round(e.index*p)}),m[0]=Math.min(Math.max(m[0],0),1),m[1]=Math.min(Math.max(m[1],0),1);var t,r,l,c,u,h,f,p,d,m,g,y=u.map(function(e,t){var r=u[t].index,n=u[t].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=m[0]+(m[1]-m[0])*r),n}),d=[];for(g=0;g0?-1:l(e,t,a)?-1:1:0===s?c>0?1:l(e,t,r)?1:-1:i(c-s)}var h=n(e,t,r);return h>0?o>0&&n(e,t,a)>0?1:-1:h<0?o>0||n(e,t,a)>0?1:-1:n(e,t,a)>0?1:l(e,t,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(e,t,r){var n=a(e[0],-t[0]),i=a(e[1],-t[1]),l=a(r[0],-t[0]),c=a(r[1],-t[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},8572:function(e){e.exports=function(e){return e<0?-1:e>0?1:0}},8507:function(e){e.exports=function(e,n){var i=e.length,a=e.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return e[0]-n[0];case 2:return e[0]+e[1]-n[0]-n[1]||t(e[0],e[1])-t(n[0],n[1]);case 3:var o=e[0]+e[1],s=n[0]+n[1];if(a=o+e[2]-(s+n[2]))return a;var l=t(e[0],e[1]),c=t(n[0],n[1]);return t(l,e[2])-t(c,n[2])||t(l+e[2],o)-t(c+n[2],s);case 4:var u=e[0],h=e[1],f=e[2],p=e[3],d=n[0],m=n[1],g=n[2],y=n[3];return u+h+f+p-(d+m+g+y)||t(u,h,f,p)-t(d,m,g,y,d)||t(u+h,u+f,u+p,h+f,h+p,f+p)-t(d+m,d+g,d+y,m+g,m+y,g+y)||t(u+h+f,u+h+p,u+f+p,h+f+p)-t(d+m+g,d+m+y,d+g+y,m+g+y);default:for(var v=e.slice().sort(r),x=n.slice().sort(r),_=0;_e[r][0]&&(r=n);return tr?[[r],[t]]:[[t]]}},4750:function(e,t,r){e.exports=function(e){var t=n(e),r=t.length;if(r<=2)return[];for(var i=Array(r),a=t[r-1],o=0;o=t[l]&&(s+=1);a[o]=s}}return e}(n(function(e,t){for(var r=e.length,n=Array(r),i=0;it.indexOf(i)&&(n[a++]=e[i]);return n}(e,r),!0),r)}};var n=r(8954),i=r(3952)},4769:function(e){e.exports=function(e,t,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,h=s*(3-2*i),f=s*o;if(e.length){a||(a=Array(e.length));for(var p=e.length-1;p>=0;--p)a[p]=c*e[p]+u*t[p]+h*r[p]+f*n[p];return a}return c*e+u*t+h*r+f*n},e.exports.derivative=function(e,t,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(e.length){a||(a=Array(e.length));for(var u=e.length-1;u>=0;--u)a[u]=o*e[u]+s*t[u]+l*r[u]+c*n[u];return a}return o*e+s*t+l*r[u]+c*n}},7642:function(e,t,r){var n=r(8954),i=r(1682);function a(e,t){this.point=e,this.index=t}function o(e,t){for(var r=e.point,n=t.point,i=r.length,a=0;a=2)return!1;e[r]=n}return!0}):b.filter(function(e){for(var t=0;t<=s;++t){var r=y[e[t]];if(r<0)return!1;e[t]=r}return!0}),1&s)for(var u=0;u>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1048576),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}},1338:function(e){e.exports=function(e,t){switch(void 0===t&&(t=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(n=0,r=Array(e);n=r-1)for(var f=l.length-1,d=e-t[r-1],p=0;p=r-1){var u=s.length-1;t[r-1];for(var h=0;h=0;--r)if(e[--t])return!1;return!0},s.jump=function(e){var t=this.lastT(),r=this.dimension;if(!(e0;--h)n.push(a(l[h-1],c[h-1],arguments[h])),i.push(0)}},s.push=function(e){var t=this.lastT(),r=this.dimension;if(!(e1e-6?1/s:0;this._time.push(e);for(var f=r;f>0;--f){var p=a(c[f-1],u[f-1],arguments[f]);n.push(p),i.push((p-n[o++])*h)}}},s.set=function(e){var t=this.dimension;if(!(e0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(e){var t=this.lastT(),r=this.dimension;if(!(e<=t)&&arguments.length===r+1){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=e-t,h=u>1e-6?1/u:0;this._time.push(e);for(var f=r;f>0;--f){var p=arguments[f];n.push(a(l[f-1],c[f-1],n[o++]+p)),i.push(p*h)}}},s.idle=function(e){var t=this.lastT();if(!(e=0;--h)n.push(a(l[h],c[h],n[o]+u*i[o])),i.push(0),o+=1}}},3840:function(e){function t(e,t,r,n,i,a){this._color=e,this.key=t,this.value=r,this.left=n,this.right=i,this._count=a}function r(e){return new t(e._color,e.key,e.value,e.left,e.right,e._count)}function n(e,r){return new t(e,r.key,r.value,r.left,r.right,r._count)}function i(e){e._count=1+(e.left?e.left._count:0)+(e.right?e.right._count:0)}function a(e,t){this._compare=e,this.root=t}e.exports=function(e){return new a(e||u,null)};var o=a.prototype;function s(e,t){this.tree=e,this._stack=t}Object.defineProperty(o,"keys",{get:function(){var e=[];return this.forEach(function(t,r){e.push(t)}),e}}),Object.defineProperty(o,"values",{get:function(){var e=[];return this.forEach(function(t,r){e.push(r)}),e}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(e,r){for(var o=this._compare,s=this.root,l=[],c=[];s;){var u=o(e,s.key);l.push(s),c.push(u),s=u<=0?s.left:s.right}l.push(new t(0,e,r,null,null,1));for(var h=l.length-2;h>=0;--h){var s=l[h];c[h]<=0?l[h]=new t(s._color,s.key,s.value,l[h+1],s.right,s._count+1):l[h]=new t(s._color,s.key,s.value,s.left,l[h+1],s._count+1)}for(var h=l.length-1;h>1;--h){var f=l[h-1],s=l[h];if(1===f._color||1===s._color)break;var p=l[h-2];if(p.left===f){if(f.left===s){var d=p.right;if(d&&0===d._color)f._color=1,p.right=n(1,d),p._color=0,h-=1;else{if(p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3){var m=l[h-3];m.left===p?m.left=f:m.right=f}break}}else{var d=p.right;if(d&&0===d._color)f._color=1,p.right=n(1,d),p._color=0,h-=1;else{if(f.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=f,s.right=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3){var m=l[h-3];m.left===p?m.left=s:m.right=s}break}}}else if(f.right===s){var d=p.left;if(d&&0===d._color)f._color=1,p.left=n(1,d),p._color=0,h-=1;else{if(p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3){var m=l[h-3];m.right===p?m.right=f:m.left=f}break}}else{var d=p.left;if(d&&0===d._color)f._color=1,p.left=n(1,d),p._color=0,h-=1;else{if(f.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=f,s.left=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3){var m=l[h-3];m.right===p?m.right=s:m.left=s}break}}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(e,t,r){if(this.root)switch(arguments.length){case 1:return function e(t,r){if(r.left){var n=e(t,r.left);if(n)return n}var n=t(r.key,r.value);return n||(r.right?e(t,r.right):void 0)}(e,this.root);case 2:return function e(t,r,n,i){if(0>=r(t,i.key)){if(i.left){var a=e(t,r,n,i.left);if(a)return a}var a=n(i.key,i.value);if(a)return a}if(i.right)return e(t,r,n,i.right)}(t,this._compare,e,this.root);case 3:if(this._compare(t,r)>=0)return;return function e(t,r,n,i,a){var o,s=n(t,a.key),l=n(r,a.key);return s<=0&&(a.left&&(o=e(t,r,n,i,a.left))||l>0&&(o=i(a.key,a.value)))?o:l>0&&a.right?e(t,r,n,i,a.right):void 0}(t,r,this._compare,e,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.left;return new s(this,e)}}),Object.defineProperty(o,"end",{get:function(){for(var e=[],t=this.root;t;)e.push(t),t=t.right;return new s(this,e)}}),o.at=function(e){if(e<0)return new s(this,[]);for(var t=this.root,r=[];;){if(r.push(t),t.left){if(e=t.right._count)break;t=t.right}else break}return new s(this,[])},o.ge=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new s(this,n)},o.gt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new s(this,n)},o.lt=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new s(this,n)},o.le=function(e){for(var t=this._compare,r=this.root,n=[],i=0;r;){var a=t(e,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new s(this,n)},o.find=function(e){for(var t=this._compare,r=this.root,n=[];r;){var i=t(e,r.key);if(n.push(r),0===i)return new s(this,n);r=i<=0?r.left:r.right}return new s(this,[])},o.remove=function(e){var t=this.find(e);return t?t.remove():this},o.get=function(e){for(var t=this._compare,r=this.root;r;){var n=t(e,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var l=s.prototype;function c(e,t){e.key=t.key,e.value=t.value,e.left=t.left,e.right=t.right,e._color=t._color,e._count=t._count}function u(e,t){return et?1:0}Object.defineProperty(l,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(l,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),l.clone=function(){return new s(this.tree,this._stack.slice())},l.remove=function(){var e=this._stack;if(0===e.length)return this.tree;var o=Array(e.length),s=e[e.length-1];o[o.length-1]=new t(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=e.length-2;l>=0;--l){var s=e[l];s.left===e[l+1]?o[l]=new t(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count)}if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var h=o[u-1];o.push(new t(s._color,h.key,h.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value;for(var l=o.length-2;l>=u;--l)s=o[l],o[l]=new t(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop();for(var l=0;l=0;--l){if(t=e[l],0===l){t._color=1;return}if((a=e[l-1]).left===t){if((o=a.right).right&&0===o.right._color){if(s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,t._color=1,a._color=1,s._color=1,i(a),i(o),l>1){var c=e[l-2];c.left===a?c.left=o:c.right=o}e[l-1]=o;return}if(o.left&&0===o.left._color){if(s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1){var c=e[l-2];c.left===a?c.left=s:c.right=s}e[l-1]=s;return}if(1===o._color){if(0===a._color){a._color=1,a.right=n(0,o);return}a.right=n(0,o);continue}if(o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1){var c=e[l-2];c.left===a?c.left=o:c.right=o}e[l-1]=o,e[l]=a,l+11){var c=e[l-2];c.right===a?c.right=o:c.left=o}e[l-1]=o;return}if(o.right&&0===o.right._color){if(s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,t._color=1,i(a),i(o),i(s),l>1){var c=e[l-2];c.right===a?c.right=s:c.left=s}e[l-1]=s;return}if(1===o._color){if(0===a._color){a._color=1,a.left=n(0,o);return}a.left=n(0,o);continue}if(o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1){var c=e[l-2];c.right===a?c.right=o:c.left=o}e[l-1]=o,e[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(l,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(l,"index",{get:function(){var e=0,t=this._stack;if(0===t.length){var r=this.tree.root;return r?r._count:0}t[t.length-1].left&&(e=t[t.length-1].left._count);for(var n=t.length-2;n>=0;--n)t[n+1]===t[n].right&&(++e,t[n].left&&(e+=t[n].left._count));return e},enumerable:!0}),l.next=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.right)for(t=t.right;t;)e.push(t),t=t.left;else for(e.pop();e.length>0&&e[e.length-1].right===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(l,"hasNext",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].right)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].left===e[t])return!0;return!1}}),l.update=function(e){var r=this._stack;if(0===r.length)throw Error("Can't update empty node!");var n=Array(r.length),i=r[r.length-1];n[n.length-1]=new t(i._color,i.key,e,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new t(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new t(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},l.prev=function(){var e=this._stack;if(0!==e.length){var t=e[e.length-1];if(t.left)for(t=t.left;t;)e.push(t),t=t.right;else for(e.pop();e.length>0&&e[e.length-1].left===t;)t=e[e.length-1],e.pop()}},Object.defineProperty(l,"hasPrev",{get:function(){var e=this._stack;if(0===e.length)return!1;if(e[e.length-1].left)return!0;for(var t=e.length-1;t>0;--t)if(e[t-1].right===e[t])return!0;return!1}})},3837:function(e,t,r){e.exports=function(e,t){var r=new p(e);return r.update(t),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,u=DataView;function h(e){return Array.isArray(e)||c.isView(e)&&!(e instanceof u)}function f(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function p(e){this.gl=e,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickFontStyle=["normal","normal","normal"],this.tickFontWeight=["normal","normal","normal"],this.tickFontVariant=["normal","normal","normal"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["sans-serif","sans-serif","sans-serif"],this.labelFontStyle=["normal","normal","normal"],this.labelFontWeight=["normal","normal","normal"],this.labelFontVariant=["normal","normal","normal"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(e)}var d=p.prototype;function m(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(e){function t(t,r,n){if(n in e){var i,a=e[n],o=this[n];(t?h(a)&&h(a[0]):h(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}e=e||{};var r,a=t.bind(this,!1,Number),o=t.bind(this,!1,Boolean),l=t.bind(this,!1,String),c=t.bind(this,!0,function(e){if(h(e)){if(3===e.length)return[+e[0],+e[1],+e[2],1];if(4===e.length)return[+e[0],+e[1],+e[2],+e[3]]}return[0,0,0,1]}),u=!1,f=!1;if("bounds"in e)for(var p=e.bounds,d=0;d<2;++d)for(var m=0;m<3;++m)p[d][m]!==this.bounds[d][m]&&(f=!0),this.bounds[d][m]=p[d][m];if("ticks"in e){r=e.ticks,u=!0,this.autoTicks=!1;for(var d=0;d<3;++d)this.tickSpacing[d]=0}else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in e||"tickSpacing"in e||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(var d=0;d<3;++d)r[d].sort(function(e,t){return e.x-t.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),l("tickFontStyle")&&(u=!0),l("tickFontWeight")&&(u=!0),l("tickFontVariant")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor");var y=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],v=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,y,this.ticks,v):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,v),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new m,new m,new m],y=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(e){};var x=[0,0,0],_=[0,0,0],b=[0,0,0];d.draw=function(e){e=e||v;for(var t,r,n,i=this.gl,a=e.model||l,s=e.view||l,c=e.projection||l,u=this.bounds,h=e._ortho||!1,p=o(a,s,c,u,h),d=p.cubeEdges,m=p.axis,w=s[12],T=s[13],k=s[14],A=s[15],M=(h?2:1)*this.pixelRatio*(c[3]*w+c[7]*T+c[11]*k+c[15]*A)/i.drawingBufferHeight,S=0;S<3;++S)this.lastCubeProps.cubeEdges[S]=d[S],this.lastCubeProps.axis[S]=m[S];for(var S=0;S<3;++S)!function(e,t,r,n,i){for(var a=e.primalOffset,o=e.primalMinor,s=e.mirrorOffset,l=e.mirrorMinor,c=n[t],u=0;u<3;++u)if(t!==u){var h=a,f=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}(g[S],S,this.bounds,d,m);for(var i=this.gl,S=0;S<3;++S)this.backgroundEnable[S]?y[S]=m[S]:y[S]=0;this._background.draw(a,s,c,u,y,this.backgroundColor),this._lines.bind(a,s,c,this);for(var S=0;S<3;++S){var E=[0,0,0];m[S]>0?E[S]=u[1][S]:E[S]=u[0][S];for(var C=0;C<2;++C){var L=(S+1+C)%3,I=(S+1+(1^C))%3;this.gridEnable[L]&&this._lines.drawGrid(L,I,this.bounds,E,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(var C=0;C<2;++C){var L=(S+1+C)%3,I=(S+1+(1^C))%3;this.zeroEnable[I]&&0>=Math.min(u[0][I],u[1][I])&&Math.max(u[0][I],u[1][I])>=0&&this._lines.drawZero(L,I,this.bounds,E,this.zeroLineColor[I],this.zeroLineWidth[I]*this.pixelRatio)}}for(var S=0;S<3;++S){this.lineEnable[S]&&this._lines.drawAxisLine(S,this.bounds,g[S].primalOffset,this.lineColor[S],this.lineWidth[S]*this.pixelRatio),this.lineMirror[S]&&this._lines.drawAxisLine(S,this.bounds,g[S].mirrorOffset,this.lineColor[S],this.lineWidth[S]*this.pixelRatio);for(var P=f(x,g[S].primalMinor),z=f(_,g[S].mirrorMinor),O=this.lineTickLength,C=0;C<3;++C){var D=M/a[5*C];P[C]*=O[C]*D,z[C]*=O[C]*D}this.lineTickEnable[S]&&this._lines.drawAxisTicks(S,g[S].primalOffset,P,this.lineTickColor[S],this.lineTickWidth[S]*this.pixelRatio),this.lineTickMirror[S]&&this._lines.drawAxisTicks(S,g[S].mirrorOffset,z,this.lineTickColor[S],this.lineTickWidth[S]*this.pixelRatio)}function R(e){(n=[0,0,0])[e]=1}this._lines.unbind(),this._text.bind(a,s,c,this.pixelRatio);for(var S=0;S<3;++S){for(var F=g[S].primalMinor,j=g[S].mirrorMinor,B=f(b,g[S].primalOffset),C=0;C<3;++C)this.lineTickEnable[S]&&(B[C]+=M*F[C]*Math.max(this.lineTickLength[C],0)/a[5*C]);var N=[0,0,0];if(N[S]=1,this.tickEnable[S]){-3600===this.tickAngle[S]?(this.tickAngle[S]=0,this.tickAlign[S]="auto"):this.tickAlign[S]=-1,r=1,"auto"===(t=[this.tickAlign[S],.5,r])[0]?t[0]=0:t[0]=parseInt(""+t[0]),n=[0,0,0],function(e,t,r){var n=(e+1)%3,i=(e+2)%3,a=t[n],o=t[i],s=r[n],l=r[i];if(a>0&&l>0||a>0&&l<0){R(n);return}a<0&&l>0?R(n):a<0&&l<0?R(n):o>0&&s>0?R(i):o>0&&s<0?R(i):o<0&&s>0?R(i):o<0&&s<0&&R(i)}(S,F,j);for(var C=0;C<3;++C)B[C]+=M*F[C]*this.tickPad[C]/a[5*C];this._text.drawTicks(S,this.tickSize[S],this.tickAngle[S],B,this.tickColor[S],N,n,t)}if(this.labelEnable[S]){r=0,n=[0,0,0],this.labels[S].length>4&&(R(S),r=1),"auto"===(t=[this.labelAlign[S],.5,r])[0]?t[0]=0:t[0]=parseInt(""+t[0]);for(var C=0;C<3;++C)B[C]+=M*F[C]*this.labelPad[C]/a[5*C];B[S]+=.5*(u[0][S]+u[1][S]),this._text.drawLabel(S,this.labelSize[S],this.labelAngle[S],B,this.labelColor[S],[0,0,0],n,t)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(e,t,r){e.exports=function(e){for(var t=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var m=-1;m<=1;m+=2)h[u]=m,t.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var g=c;c=u,u=g}var y=n(e,new Float32Array(t)),v=n(e,new Uint16Array(r),e.ELEMENT_ARRAY_BUFFER),x=i(e,[{buffer:y,type:e.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:e.FLOAT,size:3,offset:12,stride:24}],v),_=a(e);return _.attributes.position.location=0,_.attributes.normal.location=1,new o(e,y,x,_)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(e,t,r,n){this.gl=e,this.buffer=t,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(e,t,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:e,view:t,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(e,t,r){e.exports=function(e,t,r,g,y){i(s,t,e),i(s,r,s);for(var v=0,x=0;x<2;++x){u[2]=g[x][2];for(var _=0;_<2;++_){u[1]=g[_][1];for(var b=0;b<2;++b)u[0]=g[b][0],function(e,t,r){for(var n=0;n<4;++n){e[n]=r[12+n];for(var i=0;i<3;++i)e[n]+=t[i]*r[4*i+n]}}(l[v],u,s),v+=1}}for(var w=-1,x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;y&&(c[x][2]*=-1),T<0&&(w<0?w=x:c[x][2]o(c[I],c[P],c[z],h)||(L?E=1:C=1)}if(E<0||C<0){C>E&&(w|=1<E){w|=1<c[x][1]&&(R=x));for(var F=-1,x=0;x<3;++x){var j=R^1<c[B][0]&&(B=j)}}p[0]=p[1]=p[2]=0,p[n.log2(F^R)]=R&F,p[n.log2(R^B)]=R&B;var N=7^B;N===w||N===D?(N=7^F,p[n.log2(B^N)]=N&B):p[n.log2(F^N)]=N&F;for(var U=w,A=0;A<3;++A)U&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}\n"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);t.Q=function(e){return i(e,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);t.bg=function(e){return i(e,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(e,t,r){e.exports=function(e,t,r,a,o,l){var c=n(e),h=i(e,[{buffer:c,size:3}]),f=s(e);f.attributes.position.location=0;var p=new u(e,f,c,h);return p.update(t,r,a,o,l),p};var n=r(2762),i=r(8116),o=r(4359),s=r(1879).Q,l=window||a.global||{},c=l.__TEXT_CACHE||{};function u(e,t,r,n){this.gl=e,this.shader=t,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var h=u.prototype,f=[0,0];h.bind=function(e,t,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=e,i.view=t,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},h.unbind=function(){this.vao.unbind()},h.update=function(e,t,r,n,i){var a=[];function s(e,t,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),u=c[l];u||(u=c[l]={});var h=u[t];h||(h=u[t]=function(e,t){try{return o(e,t)}catch(t){return console.warn('error vectorizing text:"'+e+'" error:',t),{cells:[],positions:[]}}}(t,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,p=h.positions,d=h.cells,m=0,g=d.length;m=0;--v){var x=p[y[v]];a.push(f*x[0],-f*x[1],e)}}for(var l=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=a.length/3|0,s(.5*(e[0][d]+e[1][d]),t[d],r[d],12,1.25,p),f[d]=(a.length/3|0)-h[d],l[d]=a.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(e*t*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),!i)return u;for(var h=""+c;h.length=e[0][i];--o)a.push({x:o*t[i],text:r(t[i],o)});n.push(a)}return n},t.equal=function(e,t){for(var r=0;r<3;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;nr)throw Error("gl-buffer: If resizing buffer, must not specify offset");return e.bufferSubData(t,a,i),r}function u(e,t){for(var r=n.malloc(e.length,t),i=e.length,a=0;ao.indexOf(s)&&(s="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER&&(s=gl.getExtension("OES_element_index_uint")&&"uint16"!==s?"uint32":"uint16"),s===e.dtype&&function(e,t){for(var r=1,n=t.length-1;n>=0;--n){if(t[n]!==r)return!1;r*=e[n]}return!0}(e.shape,e.stride))0===e.offset&&e.data.length===e.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,e.data,t):this.length=c(this.gl,this.type,this.length,this.usage,e.data.subarray(e.offset,e.shape[0]),t);else{var l=n.malloc(e.size,s),h=a(l,e.shape);i.assign(h,e),t<0?this.length=c(this.gl,this.type,this.length,this.usage,l,t):this.length=c(this.gl,this.type,this.length,this.usage,l.subarray(0,e.size),t),n.free(l)}}else if(Array.isArray(e))r=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(e,"uint16"):u(e,"float32"),t<0?this.length=c(this.gl,this.type,this.length,this.usage,r,t):this.length=c(this.gl,this.type,this.length,this.usage,r.subarray(0,e.length),t),n.free(r);else if("object"==typeof e&&"number"==typeof e.length)this.length=c(this.gl,this.type,this.length,this.usage,e,t);else if("number"==typeof e||void 0===e){if(t>=0)throw Error("gl-buffer: Cannot specify offset when resizing buffer");(e|=0)<=0&&(e=1),this.gl.bufferData(this.type,0|e,this.usage),this.length=e}else throw Error("gl-buffer: Invalid data type")},e.exports=function(e,t,r,n){if(r=r||e.ARRAY_BUFFER,n=n||e.DYNAMIC_DRAW,r!==e.ARRAY_BUFFER&&r!==e.ELEMENT_ARRAY_BUFFER)throw Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==e.DYNAMIC_DRAW&&n!==e.STATIC_DRAW&&n!==e.STREAM_DRAW)throw Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=e.createBuffer(),a=new s(e,r,i,0,n);return a.update(t),a}},6405:function(e,t,r){var n=r(2931);e.exports=function(e,t){var r=e.positions,i=e.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:e.vertexIntensityBounds,vectors:[],cells:[],coneOffset:e.coneOffset,colormap:e.colormap};if(0===e.positions.length)return t&&(t[0]=[0,0,0],t[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,m=[],g=1/0,y=!1,v="raw"===e.coneSizemode,x=0;xo&&(o=n.length(b)),x&&!v){var w=2*n.distance(p,_)/(n.length(d)+n.length(b));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=_,d=b),m.push(b)}var T=[s,c,h],k=[l,u,f];t&&(t[0]=T,t[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=e.coneSize||(v?1:.5);e.absoluteConeSize&&(M=e.absoluteConeSize*A),a.coneScale=M;for(var x=0,S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(e){this.pickId=e},p.update=function(e){e=e||{};var t=this.gl;this.dirty=!0,"lightPosition"in e&&(this.lightPosition=e.lightPosition),"opacity"in e&&(this.opacity=e.opacity),"ambient"in e&&(this.ambientLight=e.ambient),"diffuse"in e&&(this.diffuseLight=e.diffuse),"specular"in e&&(this.specularLight=e.specular),"roughness"in e&&(this.roughness=e.roughness),"fresnel"in e&&(this.fresnel=e.fresnel),void 0!==e.tubeScale&&(this.tubeScale=e.tubeScale),void 0!==e.vectorScale&&(this.vectorScale=e.vectorScale),void 0!==e.coneScale&&(this.coneScale=e.coneScale),void 0!==e.coneOffset&&(this.coneOffset=e.coneOffset),e.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=t.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=t.LINEAR,this.texture.setPixels(function(e){for(var t=u({colormap:e,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=t[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(e.colormap)),this.texture.generateMipmap());var r=e.cells,n=e.positions,i=e.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=i;var f=e.meshColor||[1,1,1,1],p=e.vertexIntensity,d=1/0,m=-1/0;if(p){if(e.vertexIntensityBounds)d=+e.vertexIntensityBounds[0],m=+e.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.uniforms=c,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||h,n=e.view||h,i=e.projection||h,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(e){if(!e||e.id!==this.pickId)return null;var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=t),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(e,t,r){var s,l,u=r.shaders;1==arguments.length&&(e=(t=e).gl);var h=((s=n(e,u.meshShader.vertex,u.meshShader.fragment,null,u.meshShader.attributes)).attributes.position.location=0,s.attributes.color.location=2,s.attributes.uv.location=3,s.attributes.vector.location=4,s),p=((l=n(e,u.pickShader.vertex,u.pickShader.fragment,null,u.pickShader.attributes)).attributes.position.location=0,l.attributes.id.location=1,l.attributes.vector.location=4,l),d=o(e,c(new Uint8Array([255,255,255,255]),[1,1,4]));d.generateMipmap(),d.minFilter=e.LINEAR_MIPMAP_LINEAR,d.magFilter=e.LINEAR;var m=i(e),g=i(e),y=i(e),v=i(e),x=i(e),_=a(e,[{buffer:m,type:e.FLOAT,size:4},{buffer:x,type:e.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:y,type:e.FLOAT,size:4},{buffer:v,type:e.FLOAT,size:2},{buffer:g,type:e.FLOAT,size:4}]),b=new f(e,d,h,p,m,g,x,y,v,_,r.traceType||"cone");return b.update(t),b}},614:function(e,t,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(e){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(e,t,r){var n=r(737);e.exports=function(e){return n[e]}},9165:function(e,t,r){e.exports=function(e){var t=e.gl,r=n(t),o=i(t,[{buffer:r,type:t.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:t.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:t.FLOAT,size:3,offset:28,stride:40}]),l=a(t);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(t,r,o,l);return c.update(e),c};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(e,t,r,n){this.gl=e,this.shader=n,this.buffer=t,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(e,t){for(var r=0;r<3;++r)e[0][r]=Math.min(e[0][r],t[r]),e[1][r]=Math.max(e[1][r],t[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(e){var t=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=e.view||o,i=r.projection=e.projection||o;r.model=e.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(e._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/t.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)t.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&t.drawArrays(t.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var e=[,,,],t=0;t<3;++t){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+t)%3]=i,r.push(a)}e[t]=r}return e}();function h(e,t,r,n){for(var i=u[n],a=0;a0){var m=u.slice();m[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,m[0],m[1],m[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,m),o+=2+h(i,m,d,s)}}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(e,t,r){var n,i,a,o,s=r(7766);e.exports=function(e,t,r,s){n||(n=e.FRAMEBUFFER_UNSUPPORTED,i=e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,a=e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,o=e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=e.getExtension("WEBGL_draw_buffers");if(!l&&c&&function(e,t){var r=e.getParameter(t.MAX_COLOR_ATTACHMENTS_WEBGL);l=Array(r+1);for(var n=0;n<=r;++n){for(var i=Array(r),a=0;au||r<0||r>u)throw Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(s=s||{})){if((h=Math.max(0|s.color,0))<0)throw Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(c){if(h>e.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw Error("gl-fbo: Context does not support "+h+" draw buffers")}else throw Error("gl-fbo: Multiple draw buffer extension not supported")}}var f=e.UNSIGNED_BYTE,p=e.getExtension("OES_texture_float");if(s.float&&h>0){if(!p)throw Error("gl-fbo: Context does not support floating point textures");f=e.FLOAT}else s.preferFloat&&h>0&&p&&(f=e.FLOAT);var m=!0;"depth"in s&&(m=!!s.depth);var g=!1;return"stencil"in s&&(g=!!s.stencil),new d(e,t,r,f,h,m,g,c)};var l=null;function c(e){return[e.getParameter(e.FRAMEBUFFER_BINDING),e.getParameter(e.RENDERBUFFER_BINDING),e.getParameter(e.TEXTURE_BINDING_2D)]}function u(e,t){e.bindFramebuffer(e.FRAMEBUFFER,t[0]),e.bindRenderbuffer(e.RENDERBUFFER,t[1]),e.bindTexture(e.TEXTURE_2D,t[2])}function h(e){switch(e){case n:throw Error("gl-fbo: Framebuffer unsupported");case i:throw Error("gl-fbo: Framebuffer incomplete attachment");case a:throw Error("gl-fbo: Framebuffer incomplete dimensions");case o:throw Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(e,t,r,n,i,a){if(!n)return null;var o=s(e,t,r,i,n);return o.magFilter=e.NEAREST,o.minFilter=e.NEAREST,o.mipSamples=1,o.bind(),e.framebufferTexture2D(e.FRAMEBUFFER,a,e.TEXTURE_2D,o.handle,0),o}function p(e,t,r,n,i){var a=e.createRenderbuffer();return e.bindRenderbuffer(e.RENDERBUFFER,a),e.renderbufferStorage(e.RENDERBUFFER,n,t,r),e.framebufferRenderbuffer(e.FRAMEBUFFER,i,e.RENDERBUFFER,a),a}function d(e,t,r,n,i,a,o,s){this.gl=e,this._shape=[0|t,0|r],this._destroyed=!1,this._ext=s,this.color=Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var v=r.getExtension("WEBGL_depth_texture");v?d?e.depth=f(r,i,a,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(e.depth=f(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?e._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?e._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(e._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){e._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(e.handle),e.handle=null,e.depth&&(e.depth.dispose(),e.depth=null),e._depth_rb&&(r.deleteRenderbuffer(e._depth_rb),e._depth_rb=null);for(var y=0;yi||r<0||r>i)throw Error("gl-fbo: Can't resize FBO, invalid dimensions");e._shape[0]=t,e._shape[1]=r;for(var a=c(n),o=0;o max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];t.createShader=function(e){return i(e,a,o,null,l)},t.createPickShader=function(e){return i(e,a,s,null,l)}},5714:function(e,t,r){e.exports=function(e){var t=e.gl||e.scene&&e.scene.gl,r=h(t);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(t);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(t),l=i(t,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(t,u);d.wrap=t.REPEAT;var m=new g(t,r,o,s,l,d);return m.update(e),m};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),c=r(9618),u=r(7319),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(e){for(var t=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)t[0][r]=Math.max(e[0][r],t[0][r]),t[1][r]=Math.min(e[1][r],t[1][r]);return t}function m(e,t,r,n){this.arcLength=e,this.position=t,this.index=r,this.dataCoordinate=n}function g(e,t,r,n,i,a){this.gl=e,this.shader=t,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=g.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(e){this.pickId=e},y.drawTransparent=y.draw=function(e){if(this.vertexCount){var t=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(e){if(this.vertexCount){var t=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:e.model||p,view:e.view||p,projection:e.projection||p,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[t.drawingBufferWidth,t.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(t.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(e){this.dirty=!0;var t=!!e.connectGaps;"dashScale"in e&&(this.dashScale=e.dashScale),this.hasAlpha=!1,"opacity"in e&&(this.opacity=+e.opacity,this.opacity<1&&(this.hasAlpha=!0));var r=[],n=[],i=[],a=0,o=0,s=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],u=e.position||e.positions;if(u){var h=e.color||e.colors||[0,0,0,1],f=e.lineWidth||1,p=!1;o:for(d=1;d0){for(var b=0;b<24;++b)r.push(r[r.length-12]);o+=2,p=!0}continue o}s[0][m]=Math.min(s[0][m],x[m],_[m]),s[1][m]=Math.max(s[1][m],x[m],_[m])}Array.isArray(h[0])?(g=h.length>d-1?h[d-1]:h.length>0?h[h.length-1]:[0,0,0,1],y=h.length>d?h[d]:h.length>0?h[h.length-1]:[0,0,0,1]):g=y=h,3===g.length&&(g=[g[0],g[1],g[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&g[3]<1&&(this.hasAlpha=!0),v=Array.isArray(f)?f.length>d-1?f[d-1]:f.length>0?f[f.length-1]:[0,0,0,1]:f;var w=a;if(a+=function(e,t){for(var r=0,n=0;n<3;++n){var i=e[n]-t[n];r+=i*i}return Math.sqrt(r)}(x,_),p){for(m=0;m<2;++m)r.push(x[0],x[1],x[2],_[0],_[1],_[2],w,v,g[0],g[1],g[2],g[3]);o+=2,p=!1}r.push(x[0],x[1],x[2],_[0],_[1],_[2],w,v,g[0],g[1],g[2],g[3],x[0],x[1],x[2],_[0],_[1],_[2],w,-v,g[0],g[1],g[2],g[3],_[0],_[1],_[2],x[0],x[1],x[2],a,-v,y[0],y[1],y[2],y[3],_[0],_[1],_[2],x[0],x[1],x[2],a,v,y[0],y[1],y[2],y[3]),o+=4}}if(this.buffer.update(r),n.push(a),i.push(u[u.length-1].slice()),this.bounds=s,this.vertexCount=o,this.points=i,this.arcLength=n,"dashes"in e){var T=e.dashes.slice();for(T.unshift(0),d=1;dMath.abs(m-b)&&1e-6>Math.abs(g-w)&&1e-6>Math.abs(y-T)?n(e):(d=1/Math.sqrt((h=m-b)*h+(f=g-w)*f+(p=y-T)*p),h*=d,f*=d,p*=d,(d=Math.sqrt((a=x*p-_*f)*a+(o=_*h-v*p)*o+(s=v*f-x*h)*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),(d=Math.sqrt((l=f*s-p*o)*l+(c=p*a-h*s)*c+(u=h*o-f*a)*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0),e[0]=a,e[1]=l,e[2]=h,e[3]=0,e[4]=o,e[5]=c,e[6]=f,e[7]=0,e[8]=s,e[9]=u,e[10]=p,e[11]=0,e[12]=-(a*m+o*g+s*y),e[13]=-(l*m+c*g+u*y),e[14]=-(h*m+f*g+p*y),e[15]=1,e)}},6760:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],y=t[14],v=t[15],x=r[0],_=r[1],b=r[2],w=r[3];return e[0]=x*n+_*s+b*h+w*m,e[1]=x*i+_*l+b*f+w*g,e[2]=x*a+_*c+b*p+w*y,e[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],e[4]=x*n+_*s+b*h+w*m,e[5]=x*i+_*l+b*f+w*g,e[6]=x*a+_*c+b*p+w*y,e[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],e[8]=x*n+_*s+b*h+w*m,e[9]=x*i+_*l+b*f+w*g,e[10]=x*a+_*c+b*p+w*y,e[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],e[12]=x*n+_*s+b*h+w*m,e[13]=x*i+_*l+b*f+w*g,e[14]=x*a+_*c+b*p+w*y,e[15]=x*o+_*u+b*d+w*v,e}},4040:function(e){e.exports=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*c,e[15]=1,e}},4772:function(e){e.exports=function(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}},6079:function(e){e.exports=function(e,t,r,n){var i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=n[0],C=n[1],L=n[2],I=Math.sqrt(E*E+C*C+L*L);return 1e-6>Math.abs(I)?null:(E*=I=1/I,C*=I,L*=I,i=Math.sin(r),o=1-(a=Math.cos(r)),s=t[0],l=t[1],c=t[2],u=t[3],h=t[4],f=t[5],p=t[6],d=t[7],m=t[8],g=t[9],y=t[10],v=t[11],x=E*E*o+a,_=C*E*o+L*i,b=L*E*o-C*i,w=E*C*o-L*i,T=C*C*o+a,k=L*C*o+E*i,A=E*L*o+C*i,M=C*L*o-E*i,S=L*L*o+a,e[0]=s*x+h*_+m*b,e[1]=l*x+f*_+g*b,e[2]=c*x+p*_+y*b,e[3]=u*x+d*_+v*b,e[4]=s*w+h*T+m*k,e[5]=l*w+f*T+g*k,e[6]=c*w+p*T+y*k,e[7]=u*w+d*T+v*k,e[8]=s*A+h*M+m*S,e[9]=l*A+f*M+g*S,e[10]=c*A+p*M+y*S,e[11]=u*A+d*M+v*S,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}},5567:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+u*n,e[6]=s*i+h*n,e[7]=l*i+f*n,e[8]=c*i-a*n,e[9]=u*i-o*n,e[10]=h*i-s*n,e[11]=f*i-l*n,e}},2408:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[8],u=t[9],h=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-u*n,e[2]=s*i-h*n,e[3]=l*i-f*n,e[8]=a*n+c*i,e[9]=o*n+u*i,e[10]=s*n+h*i,e[11]=l*n+f*i,e}},7089:function(e){e.exports=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[4],u=t[5],h=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+u*n,e[2]=s*i+h*n,e[3]=l*i+f*n,e[4]=c*i-a*n,e[5]=u*i-o*n,e[6]=h*i-s*n,e[7]=f*i-l*n,e}},2504:function(e){e.exports=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},7656:function(e){e.exports=function(e,t,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*g+t[8]*y+t[12],e[13]=t[1]*m+t[5]*g+t[9]*y+t[13],e[14]=t[2]*m+t[6]*g+t[10]*y+t[14],e[15]=t[3]*m+t[7]*g+t[11]*y+t[15]):(n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=h,e[9]=f,e[10]=p,e[11]=d,e[12]=n*m+s*g+h*y+t[12],e[13]=i*m+l*g+f*y+t[13],e[14]=a*m+c*g+p*y+t[14],e[15]=o*m+u*g+d*y+t[15]),e}},5665:function(e){e.exports=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}},7626:function(e,t,r){var n=r(2642),i=r(9346);function a(e,t){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}e.exports=function(e,t,r,o,s,l){if(1===e.length)return[0,e[0].slice()];for(var c=Array(e.length),u=0;u1.0001)return null;g+=m[u]}return Math.abs(g-1)>.001?null:[h,function(e,t){for(var r=[0,0,0],n=0;n max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},t.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},t.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},t.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},t.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(e,t,r){var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),c=r(7608),u=r(9618),h=r(6729),f=r(7765),p=r(1888),d=r(840),m=r(7626),g=d.meshShader,y=d.wireShader,v=d.pointShader,x=d.pickShader,_=d.pointPickShader,b=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,T,k,A,M,S){this.gl=e,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=t,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=m,this.edgeVAO=v,this.edgeCount=0,this.pointPositions=x,this.pointColors=b,this.pointUVs=T,this.pointSizes=k,this.pointIds=_,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(e){this.pickId=e},k.highlight=function(e){if(!e||!this.contourEnable){this.contourCount=0;return}for(var t=f(this.cells,this.intensity,e.intensity),r=t.cells,n=t.vertexIds,i=t.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0){var d=this.triShader;d.bind(),d.uniforms=s,this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var d=this.lineShader;d.bind(),d.uniforms=s,this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()}if(this.pointCount>0){var d=this.pointShader;d.bind(),d.uniforms=s,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var d=this.contourShader;d.bind(),d.uniforms=s,this.contourVAO.bind(),t.drawArrays(t.LINES,0,this.contourCount),this.contourVAO.unbind()}},k.drawPick=function(e){e=e||{};for(var t=this.gl,r=e.model||w,n=e.view||w,i=e.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[t.drawingBufferWidth,t.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255},l=this.pickShader;if(l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),t.drawArrays(t.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),t.lineWidth(this.lineWidth*this.pixelRatio),t.drawArrays(t.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0){var l=this.pointPickShader;l.bind(),l.uniforms=s,this.pointVAO.bind(),t.drawArrays(t.POINTS,0,this.pointCount),this.pointVAO.unbind()}},k.pick=function(e){if(!e||e.id!==this.pickId)return null;for(var t=e.value[0]+256*e.value[1]+65536*e.value[2],r=this.cells[t],n=this.positions,i=Array(r.length),a=0;aMath.abs(t))c.rotate(a,0,0,-e*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*t/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,h*(Math.exp(o)-1))}}},!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(e,t,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(e){return i(e,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(e,t,r){var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),c=r(7169),u=r(351),h=r(4772),f=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function m(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(e){return"boolean"!=typeof e||e}e.exports={createScene:function(e){(e=e||{}).camera=e.camera||{};var t=e.canvas;t||(t=document.createElement("canvas"),e.container?e.container.appendChild(t):document.body.appendChild(t));var r=e.gl;if(r||(e.glOptions&&(d=!!e.glOptions.preserveDrawingBuffer),r=function(e,t){var r=null;try{(r=e.getContext("webgl",t))||(r=e.getContext("experimental-webgl",t))}catch(e){return null}return r}(t,e.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw Error("webgl not supported");var y=e.bounds||[[-10,-10,-10],[10,10,10]],v=new m,x=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),b=e.cameraObject&&!0===e.cameraObject._ortho||e.camera.projection&&"orthographic"===e.camera.projection.type||!1,w={eye:e.camera.eye||[2,0,0],center:e.camera.center||[0,0,0],up:e.camera.up||[0,1,0],zoomMin:e.camera.zoomMax||.1,zoomMax:e.camera.zoomMin||100,mode:e.camera.mode||"turntable",_ortho:b},T=e.axes||{},k=i(r,T);k.enable=!T.disable;var A=e.spikes||{},M=o(r,A),S=[],E=[],C=[],L=[],I=!0,P=!0,z={view:null,projection:Array(16),model:Array(16),_ortho:!1},P=!0,O=[r.drawingBufferWidth,r.drawingBufferHeight],D=e.cameraObject||n(t,w),R={gl:r,contextLost:!1,pixelRatio:e.pixelRatio||1,canvas:t,selection:v,camera:D,axes:k,axesPixels:null,spikes:M,bounds:y,objects:S,shape:O,aspect:e.aspectRatio||[1,1,1],pickRadius:e.pickRadius||10,zNear:e.zNear||.01,zFar:e.zFar||1e3,fovy:e.fovy||Math.PI/4,clearColor:e.clearColor||[0,0,0,0],autoResize:g(e.autoResize),autoBounds:g(e.autoBounds),autoScale:!!e.autoScale,autoCenter:g(e.autoCenter),clipToBounds:g(e.clipToBounds),snapToData:!!e.snapToData,onselect:e.onselect||null,onrender:e.onrender||null,onclick:e.onclick||null,cameraParams:z,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(e){this.aspect[0]=e.x,this.aspect[1]=e.y,this.aspect[2]=e.z,P=!0},setBounds:function(e,t){this.bounds[0][e]=t.min,this.bounds[1][e]=t.max},setClearColor:function(e){this.clearColor=e},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},F=[r.drawingBufferWidth/R.pixelRatio|0,r.drawingBufferHeight/R.pixelRatio|0];function j(){if(!R._stopped&&R.autoResize){var e=t.parentNode,r=1,n=1;e&&e!==document.body?(r=e.clientWidth,n=e.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*R.pixelRatio),a=0|Math.ceil(n*R.pixelRatio);if(i!==t.width||a!==t.height){t.width=i,t.height=a;var o=t.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",I=!0}}}function B(){for(var e=S.length,t=L.length,n=0;n0&&0===C[t-1];)C.pop(),L.pop().dispose()}function N(){if(R.contextLost)return!0;r.isContextLost()&&(R.contextLost=!0,R.mouseListener.enabled=!1,R.selection.object=null,R.oncontextloss&&R.oncontextloss())}R.autoResize&&j(),window.addEventListener("resize",j),R.update=function(e){R._stopped||(e=e||{},I=!0,P=!0)},R.add=function(e){R._stopped||(e.axes=k,S.push(e),E.push(-1),I=!0,P=!0,B())},R.remove=function(e){if(!R._stopped){var t=S.indexOf(e);t<0||(S.splice(t,1),E.pop(),I=!0,P=!0,B())}},R.dispose=function(){if(!R._stopped&&(R._stopped=!0,window.removeEventListener("resize",j),t.removeEventListener("webglcontextlost",N),R.mouseListener.enabled=!1,!R.contextLost)){k.dispose(),M.dispose();for(var e=0;ev.distance)continue;for(var c=0;c0){var r=Math.round(Math.pow(10,t));return Math.ceil(e/r)*r}return Math.ceil(e)}((m[1][o]-m[0][o])/10);k.autoTicks?k.update({bounds:m,tickSpacing:w}):k.update({bounds:m})}var T=r.drawingBufferWidth,A=r.drawingBufferHeight;O[0]=T,O[1]=A,F[0]=0|Math.max(T/R.pixelRatio,1),F[1]=0|Math.max(A/R.pixelRatio,1),function(e,t){var r=e.bounds,n=e.cameraParams,i=n.projection,a=n.model,o=e.gl.drawingBufferWidth,s=e.gl.drawingBufferHeight,l=e.zNear,c=e.zFar,u=e.fovy,p=o/s;t?(f(i,-p,p,-1,1,l,c),n._ortho=!0):(h(i,u,p,l,c),n._ortho=!1);for(var d=0;d<16;++d)a[d]=0;a[15]=1;for(var m=0,d=0;d<3;++d)m=Math.max(m,r[1][d]-r[0][d]);for(var d=0;d<3;++d)e.autoScale?a[5*d]=e.aspect[d]/(r[1][d]-r[0][d]):a[5*d]=1/m,e.autoCenter&&(a[12+d]=-(.5*a[5*d])*(r[0][d]+r[1][d]))}(R,b);for(var o=0;o1e-6?(o=Math.sin(i=Math.acos(a)),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),e[0]=s*c+l*p,e[1]=s*u+l*d,e[2]=s*h+l*m,e[3]=s*f+l*g,e}},5964:function(e){e.exports=function(e){return e||0===e?e.toString():""}},9366:function(e,t,r){var n=r(4359);e.exports=function(e,t,r){var a,o,s=[t.style,t.weight,t.variant,t.family].join("_"),l=i[s];if(l||(l=i[s]={}),e in l)return l[e];var c={textAlign:"center",textBaseline:"middle",lineHeight:1,font:t.family,fontStyle:t.style,fontWeight:t.weight,fontVariant:t.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};c.triangles=!0;var u=n(e,c);c.triangles=!1;var h=n(e,c);if(r&&1!==r){for(a=0;a max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),c=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:a,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function y(e,t){var r=n(e,t),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}t.createPerspective=function(e){return y(e,h)},t.createOrtho=function(e){return y(e,f)},t.createProject=function(e){return y(e,p)},t.createPickPerspective=function(e){return y(e,d)},t.createPickOrtho=function(e){return y(e,m)},t.createPickProject=function(e){return y(e,g)}},8418:function(e,t,r){var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),c=r(9366),u=r(5964),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],f=ArrayBuffer,p=DataView;function d(e){return Array.isArray(e)||f.isView(e)&&!(e instanceof p)}function m(e,t){var r=e[0],n=e[1],i=e[2],a=e[3];return e[0]=t[0]*r+t[4]*n+t[8]*i+t[12]*a,e[1]=t[1]*r+t[5]*n+t[9]*i+t[13]*a,e[2]=t[2]*r+t[6]*n+t[10]*i+t[14]*a,e[3]=t[3]*r+t[7]*n+t[11]*i+t[15]*a,e}function g(e,t,r,n){return m(n,n,r),m(n,n,t),m(n,n,e)}function y(e,t){this.index=e,this.dataCoordinate=this.position=t}function v(e){return!0===e||e>1?1:e}function x(e,t,r,n,i,a,o,s,l,c,u,h){this.gl=e,this.pixelRatio=1,this.shader=t,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(e){var t=e.gl,r=l.createPerspective(t),n=l.createOrtho(t),o=l.createProject(t),s=l.createPickPerspective(t),c=l.createPickOrtho(t),u=l.createPickProject(t),h=i(t),f=i(t),p=i(t),d=i(t),m=a(t,[{buffer:h,size:3,type:t.FLOAT},{buffer:f,size:4,type:t.FLOAT},{buffer:p,size:2,type:t.FLOAT},{buffer:d,size:4,type:t.UNSIGNED_BYTE,normalized:!0}]),g=new x(t,r,n,o,h,f,p,d,m,s,c,u);return g.update(e),g};var _=x.prototype;_.pickSlots=1,_.setPickBase=function(e){this.pickId=e},_.isTransparent=function(){if(this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&this.projectHasAlpha)return!0;return!1},_.isOpaque=function(){if(!this.hasAlpha)return!0;for(var e=0;e<3;++e)if(this.axesProject[e]&&!this.projectHasAlpha)return!0;return!1};var b=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=h.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function C(e){return e[0]=e[1]=e[2]=0,e}function L(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=1,e}function I(e,t,r,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[r]=n,e}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(e,t,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(e,t,r,n){var i,a=t.axesProject,o=t.gl,l=e.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,p=t.axesBounds,d=function(e){for(var t=0;t<2;++t)for(var r=0;r<3;++r)E[t][r]=Math.max(Math.min(e[t][r],1e8),-1e8);return E}(t.clipBounds);i=t.axes&&t.axes.lastCubeProps?t.axes.lastCubeProps.axis:[1,1,1],b[0]=2/o.drawingBufferWidth,b[1]=2/o.drawingBufferHeight,e.bind(),l.view=u,l.projection=f,l.screenSize=b,l.highlightId=t.highlightId,l.highlightScale=t.highlightScale,l.clipBounds=d,l.pickGroup=t.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=t.projectScale[m],l.opacity=t.projectOpacity[m];for(var y=0;y<16;++y)M[y]=0;for(var y=0;y<4;++y)M[5*y]=1;M[5*m]=0,i[m]<0?M[12+m]=p[0][m]:M[12+m]=p[1][m],s(M,c,M),l.model=M;var v=(m+1)%3,x=(m+2)%3,_=C(w),P=C(T);_[v]=1,P[x]=1;var z=g(f,u,c,L(k,_)),O=g(f,u,c,L(A,P));if(Math.abs(z[1])>Math.abs(O[1])){var D=z;z=O,O=D,D=_,_=P,P=D;var R=v;v=x,x=R}z[0]<0&&(_[v]=-1),O[1]>0&&(P[x]=-1);for(var F=0,j=0,y=0;y<4;++y)F+=Math.pow(c[4*v+y],2),j+=Math.pow(c[4*x+y],2);_[v]/=Math.sqrt(F),P[x]/=Math.sqrt(j),l.axes[0]=_,l.axes[1]=P,l.fragClipBounds[0]=I(S,d[0],m,-1e8),l.fragClipBounds[1]=I(S,d[1],m,1e8),t.vao.bind(),t.vao.draw(o.TRIANGLES,t.vertexCount),t.lineWidth>0&&(o.lineWidth(t.lineWidth*n),t.vao.draw(o.LINES,t.lineVertexCount,t.vertexCount)),t.vao.unbind()}}(t,r,n,i),a===r.hasAlpha||o){e.bind();var c=e.uniforms;c.model=n.model||h,c.view=n.view||h,c.projection=n.projection||h,b[0]=2/l.drawingBufferWidth,b[1]=2/l.drawingBufferHeight,c.screenSize=b,c.highlightId=r.highlightId,c.highlightScale=r.highlightScale,c.fragClipBounds=P,c.clipBounds=r.axes.bounds,c.opacity=r.opacity,c.pickGroup=r.pickId/255,c.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(e,t,r,i){a=u(a=d(e)?t=this.pointCount||t<0)return null;var r=this.points[t],n=this._selectResult;n.index=t;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(e){if(e){var t=e.index;this.highlightId=[(255&t)/255,(t>>8&255)/255,(t>>16&255)/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(e){if("perspective"in(e=e||{})&&(this.useOrtho=!e.perspective),"orthographic"in e&&(this.useOrtho=!!e.orthographic),"lineWidth"in e&&(this.lineWidth=e.lineWidth),"project"in e){if(d(e.project))this.axesProject=e.project;else{var t=!!e.project;this.axesProject=[t,t,t]}}if("projectScale"in e){if(d(e.projectScale))this.projectScale=e.projectScale.slice();else{var r=+e.projectScale;this.projectScale=[r,r,r]}}if(this.projectHasAlpha=!1,"projectOpacity"in e){if(d(e.projectOpacity))this.projectOpacity=e.projectOpacity.slice();else{var r=+e.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in e&&(this.opacity=v(e.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i=e.position,a={family:e.font||"normal",style:e.fontStyle||"normal",weight:e.fontWeight||"normal",variant:e.fontVariant||"normal"},s=e.alignment||[0,0];if(2===s.length)B=s[0],N=s[1];else{B=[],N=[];for(var n=0;n0){var P=0,z=y,D=[0,0,0,1],R=[0,0,0,1],F=d(h)&&d(h[0]),j=d(m)&&d(m[0]);o:for(var n=0;n<_;++n){g+=1;for(var B,N,U,b=i[n],w=0;w<3;++w){if(isNaN(b[w])||!isFinite(b[w]))continue o;c[w]=Math.max(c[w],b[w]),l[w]=Math.min(l[w],b[w])}var T=O(u,n,a,this.pixelRatio),k=T.mesh,A=T.lines,M=T.bounds,V=T.visible;if(V){if(d(h)){if(3===(U=F?n0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1;for(var X=[Y,W],$=k.cells||[],J=k.positions||[],w=0;w<$.length;++w)for(var K=$[w],Q=0;Q<3;++Q){for(var ee=0;ee<3;++ee)E[3*P+ee]=b[ee];for(var ee=0;ee<4;++ee)C[4*P+ee]=D[ee];I[P]=g;var et=J[K[Q]];L[2*P]=q*(G*et[0]-Z*et[1]+X[0]),L[2*P+1]=q*(Z*et[0]+G*et[1]+X[1]),P+=1}for(var $=A.edges,J=A.positions,w=0;w<$.length;++w)for(var K=$[w],Q=0;Q<2;++Q){for(var ee=0;ee<3;++ee)E[3*z+ee]=b[ee];for(var ee=0;ee<4;++ee)C[4*z+ee]=R[ee];I[z]=g;var et=J[K[Q]];L[2*z]=q*(G*et[0]-Z*et[1]+X[0]),L[2*z+1]=q*(Z*et[0]+G*et[1]+X[1]),z+=1}}}this.bounds=[l,c],this.points=i,this.pointCount=i.length,this.vertexCount=y,this.lineVertexCount=x,this.pointBuffer.update(E),this.colorBuffer.update(C),this.glyphBuffer.update(L),this.idBuffer.update(I),o.free(E),o.free(C),o.free(L),o.free(I)},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},3589:function(e,t,r){e.exports=function(e,t){var r=t[0],a=t[1],o=n(e,r,a,{});return new c(e,o,i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2,s=function(e,t,r){for(var n=1e8,i=-1,a=-1,o=e.shape[0],s=e.shape[1],l=0;lthis.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*t*4)),a=0;ar)for(e=r;et)for(e=t;e=0){for(var T=0|w.type.charAt(w.type.length-1),k=Array(T),A=0;A=0;)M+=1;b[u]=M}var S=Array(r.length);function E(){p.program=o.program(d,p._vref,p._fref,_,b);for(var e=0;e=0){var p=h.charCodeAt(h.length-1)-48;if(p<2||p>4)throw new n("","Invalid data type for attribute "+u+": "+h);s(e,t,f[0],i,p,a,u)}else if(h.indexOf("mat")>=0){var p=h.charCodeAt(h.length-1)-48;if(p<2||p>4)throw new n("","Invalid data type for attribute "+u+": "+h);!function(e,t,r,n,i,a,o){for(var l=Array(i),c=Array(i),u=0;u4)throw new i("","Invalid data type");switch(y.charAt(0)){case"b":case"i":e["uniform"+h+"iv"](s[u],f);break;case"v":e["uniform"+h+"fv"](s[u],f);break;default:throw new i("","Unrecognized data type for vector "+name+": "+y)}}else if(0===y.indexOf("mat")&&4===y.length){if((h=y.charCodeAt(y.length-1)-48)<2||h>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+y);e["uniformMatrix"+h+"fv"](s[u],!1,f);break}else throw new i("","Unknown uniform data type for "+name+": "+y)}}}}}function c(e,t,n){"object"==typeof n?Object.defineProperty(e,t,{get:a(u(n)),set:l(n),enumerable:!0,configurable:!1}):s[n]?Object.defineProperty(e,t,{get:function(e,t,r){return e.getUniform(t.program,r[n])},set:l(n),enumerable:!0,configurable:!1}):e[t]=function(e){switch(e){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var t=e.indexOf("vec");if(0<=t&&t<=1&&e.length===4+t){var r=e.charCodeAt(e.length-1)-48;if(r<2||r>4)throw new i("","Invalid data type");if("b"===e.charAt(0))return o(r,!1);return o(r,0)}if(0===e.indexOf("mat")&&4===e.length){var r=e.charCodeAt(e.length-1)-48;if(r<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+e);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+e)}}(r[n].type)}function u(e){var t;if(Array.isArray(e)){t=Array(e.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);t.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},t.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(e,t,r){var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(e,t,r,a){for(var o=e.points,s=e.velocities,l=e.divergences,c=[],u=[],h=[],f=[],p=[],d=[],m=0,g=0,y=i.create(),v=i.create(),x=0;x0)for(var T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(v,y,y,y,v,v),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=v;v=y,y=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}},s=function(e,t,r,i){for(var a=0,s=0;st)return r-1}return r},c=function(e,t,r){return er?r:e},u=function(e,t,r){var i,a,o,s,u,h,f=t.vectors,p=t.meshgrid,d=e[0],m=e[1],g=e[2],y=p[0].length,v=p[1].length,x=p[2].length,_=l(p[0],d),b=l(p[1],m),w=l(p[2],g),T=_+1,k=b+1,A=w+1;if(_=c(_,0,y-1),T=c(T,0,y-1),b=c(b,0,v-1),k=c(k,0,v-1),w=c(w,0,x-1),A=c(A,0,x-1),_<0||b<0||w<0||T>y-1||k>v-1||A>x-1)return n.create();var M=p[0][_],S=p[0][T],E=p[1][b],C=p[1][k],L=p[2][w],I=p[2][A],P=(d-M)/(S-M),z=(m-E)/(C-E),O=(g-L)/(I-L);switch(isFinite(P)||(P=.5),isFinite(z)||(z=.5),isFinite(O)||(O=.5),r.reversedX&&(_=y-1-_,T=y-1-T),r.reversedY&&(b=v-1-b,k=v-1-k),r.reversedZ&&(w=x-1-w,A=x-1-A),r.filled){case 5:u=w,h=A,o=b*x,s=k*x,i=_*x*v,a=T*x*v;break;case 4:u=w,h=A,i=_*x,a=T*x,o=b*x*y,s=k*x*y;break;case 3:o=b,s=k,u=w*v,h=A*v,i=_*v*x,a=T*v*x;break;case 2:o=b,s=k,i=_*v,a=T*v,u=w*v*y,h=A*v*y;break;case 1:i=_,a=T,u=w*y,h=A*y,o=b*y*x,s=k*y*x;break;default:i=_,a=T,o=b*y,s=k*y,u=w*y*v,h=A*y*v}var D=f[i+o+u],R=f[i+o+h],F=f[i+s+u],j=f[i+s+h],B=f[a+o+u],N=f[a+o+h],U=f[a+s+u],V=f[a+s+h],q=n.create(),H=n.create(),G=n.create(),Z=n.create();n.lerp(q,D,B,P),n.lerp(H,R,N,P),n.lerp(G,F,U,P),n.lerp(Z,j,V,P);var W=n.create(),Y=n.create();n.lerp(W,q,G,z),n.lerp(Y,H,Z,z);var X=n.create();return n.lerp(X,W,Y,O),X},h=function(e){var t=1/0;e.sort(function(e,t){return e-t});for(var r=e.length,n=1;n1&&(k=f(r));for(var S=0;SA&&(A=D),z.push(D),m.push({points:C,velocities:L,divergences:z});for(var R=0;R<100*i&&C.lengthx||r_||nb)}(E);){R++;var F=n.clone(I),j=n.squaredLength(F);if(0===j)break;if(j>T&&n.scale(F,F,w/Math.sqrt(j)),n.add(F,F,E),I=p(F),n.squaredDistance(P,F)-T>-.0001*T){C.push(F),P=F,L.push(I);var O=d(F,I),D=n.length(O);isFinite(D)&&D>A&&(A=D),z.push(D)}E=F}}var B=s(m,e.colormap,A,k);return l?B.tubeScale=l:(0===A&&(A=1),B.tubeScale=.5*o*k/A),B};var p=r(6740),d=r(6405).createMesh;e.exports.createTubeMesh=function(e,t){return d(e,t,{shaders:p,traceType:"streamtube"})}},990:function(e,t,r){var n=r(9405),i=r(3236),a=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0);\n vec4 clipPosition = projection * (view * worldPosition);\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * (view * worldPosition);\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);t.createShader=function(e){var t=n(e,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createPickShader=function(e){var t=n(e,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t.attributes.normal.location=2,t},t.createContourShader=function(e){var t=n(e,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t},t.createPickContourShader=function(e){var t=n(e,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return t.attributes.uv.location=0,t.attributes.f.location=1,t}},9499:function(e,t,r){e.exports=function(e){var t=e.gl,r=v(t),n=_(t),s=x(t),l=b(t),c=i(t),u=a(t,[{buffer:c,size:4,stride:40,offset:0},{buffer:c,size:3,stride:40,offset:16},{buffer:c,size:3,stride:40,offset:28}]),h=i(t),f=a(t,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=i(t),d=a(t,[{buffer:p,size:2,type:t.FLOAT}]),m=o(t,1,256,t.RGBA,t.UNSIGNED_BYTE);m.minFilter=t.LINEAR,m.magFilter=t.LINEAR;var g=new M(t,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,h,f,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var w in e)y[w]=e[w];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),c=r(5298),u=r(9994),h=r(9618),f=r(3711),p=r(6760),d=r(7608),m=r(2478),g=r(6199),y=r(990),v=y.createShader,x=y.createContourShader,_=y.createPickShader,b=y.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(e,t,r,n,i){this.position=e,this.index=t,this.uv=r,this.level=n,this.dataCoordinate=i}function M(e,t,r,n,i,a,o,l,c,u,f,p,d,m,g){this.gl=e,this.shape=t,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}!function(){for(var e=0;e<3;++e){var t=k[e],r=(e+1)%3,n=(e+2)%3;t[r+0]=1,t[n+3]=1,t[e+6]=1}}();var S=M.prototype;S.genColormap=function(e,t){var r=!1,n=u([l({colormap:e,nshades:256,format:"rgba"}).map(function(e,n){var i=t?function(e,t){if(!t||!t.length)return 1;for(var r=0;re&&r>0){var n=(t[r][0]-e)/(t[r][0]-t[r-1][0]);return t[r][1]*(1-n)+n*t[r-1][1]}}return 1}(n/255,t):e[3];return i<1&&(r=!0),[e[0],e[1],e[2],255*i]})]);return c.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(e){this.pickId=e};var E=[0,0,0],C={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function L(e,t){var r,n,i,a=t.axes&&t.axes.lastCubeProps.axis||E,o=t.showSurface,s=t.showContour;for(r=0;r<3;++r)for(n=0,o=o||t.surfaceProject[r];n<3;++n)s=s||t.contourProject[r][n];for(r=0;r<3;++r){var l=C.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=t.axesBounds[+(a[r]>0)][r],p(l,e.model,l);var c=C.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=e.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return C.showSurface=o,C.showContour=s,C}var I={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-.0001,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},P=w.slice(),z=[1,0,0,0,1,0,0,0,1];function O(e,t){e=e||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0),I.model=e.model||w,I.view=e.view||w,I.projection=e.projection||w,I.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],I.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],I.objectOffset=this.objectOffset,I.contourColor=this.contourColor[0],I.inverseModel=d(I.inverseModel,I.model);for(var n=0;n<2;++n)for(var i=I.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);for(I.kambient=this.ambientLight,I.kdiffuse=this.diffuseLight,I.kspecular=this.specularLight,I.roughness=this.roughness,I.fresnel=this.fresnel,I.opacity=this.opacity,I.height=0,I.permutation=z,I.vertexColor=this.vertexColor,p(P,I.view,I.model),p(P,I.projection,P),d(P,P),n=0;n<3;++n)I.eyePosition[n]=P[12+n]/P[15];var o=P[15];for(n=0;n<3;++n)o+=this.lightPosition[n]*P[4*n+3];for(n=0;n<3;++n){var s=P[12+n];for(a=0;a<3;++a)s+=P[4*a+n]*this.lightPosition[a];I.lightPosition[n]=s/o}var l=L(I,this);if(l.showSurface){for(this._shader.bind(),this._shader.uniforms=I,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&this.vertexCount&&(this._shader.uniforms.model=l.projections[n],this._shader.uniforms.clipBounds=l.clipBounds[n],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(l.showContour){var c=this._contourShader;I.kambient=1,I.kdiffuse=0,I.kspecular=0,I.opacity=1,c.bind(),c.uniforms=I;var u=this._contourVAO;for(u.bind(),n=0;n<3;++n)for(c.uniforms.permutation=k[n],r.lineWidth(this.contourWidth[n]*this.pixelRatio),a=0;a>4)/16)/255,i=Math.floor(n),a=n-i,o=t[1]*(e.value[1]+(15&e.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?a:1-a,f=0;f<2;++f)for(var p=f?l:1-l,d=i+u,g=s+f,y=h*p,v=0;v<3;++v)c[v]+=this._field[v].get(d,g)*y;for(var x=this._pickResult.level,_=0;_<3;++_)if(x[_]=m.le(this.contourLevels[_],c[_]),x[_]<0)this.contourLevels[_].length>0&&(x[_]=0);else if(x[_]Math.abs(w-c[_])&&(x[_]+=1)}for(v=0,r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/t[0],r.uv[1]=o/t[1];v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},S.padField=function(e,t){var r=t.shape.slice(),n=e.shape.slice();c.assign(e.lo(1,1).hi(r[0],r[1]),t),c.assign(e.lo(1).hi(r[0],1),t.hi(r[0],1)),c.assign(e.lo(1,n[1]-1).hi(r[0],1),t.lo(0,r[1]-1).hi(r[0],1)),c.assign(e.lo(0,1).hi(1,r[1]),t.hi(1)),c.assign(e.lo(n[0]-1,1).hi(1,r[1]),t.lo(r[0]-1)),e.set(0,0,t.get(0,0)),e.set(0,n[1]-1,t.get(0,r[1]-1)),e.set(n[0]-1,0,t.get(r[0]-1,0)),e.set(n[0]-1,n[1]-1,t.get(r[0]-1,r[1]-1))},S.update=function(e){e=e||{},this.objectOffset=e.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in e&&(this.contourWidth=R(e.contourWidth,Number)),"showContour"in e&&(this.showContour=R(e.showContour,Boolean)),"showSurface"in e&&(this.showSurface=!!e.showSurface),"contourTint"in e&&(this.contourTint=R(e.contourTint,Boolean)),"contourColor"in e&&(this.contourColor=j(e.contourColor)),"contourProject"in e&&(this.contourProject=R(e.contourProject,function(e){return R(e,Boolean)})),"surfaceProject"in e&&(this.surfaceProject=e.surfaceProject),"dynamicColor"in e&&(this.dynamicColor=j(e.dynamicColor)),"dynamicTint"in e&&(this.dynamicTint=R(e.dynamicTint,Number)),"dynamicWidth"in e&&(this.dynamicWidth=R(e.dynamicWidth,Number)),"opacity"in e&&(this.opacity=e.opacity),"opacityscale"in e&&(this.opacityscale=e.opacityscale),"colorBounds"in e&&(this.colorBounds=e.colorBounds),"vertexColor"in e&&(this.vertexColor=e.vertexColor?1:0),"colormap"in e&&this._colorMap.setPixels(this.genColormap(e.colormap,this.opacityscale));var t=e.field||e.coords&&e.coords[2]||null,r=!1;if(t||(t=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in e||"coords"in e){var i=(t.shape[0]+2)*(t.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=h(this._field[2].data,[t.shape[0]+2,t.shape[1]+2]),this.padField(this._field[2],t),this.shape=t.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2]);if(e.coords){var l=e.coords;if(!Array.isArray(l)||3!==l.length)throw Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(e.ticks){var u=e.ticks;if(!Array.isArray(u)||2!==u.length)throw Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=h(p)),p.shape[0]!==a[o])throw Error("gl-surface: invalid tick length");var d=h(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var ex=0;ex<5;++ex)K.pop();U-=1}continue h}K.push(en[0],en[1],eo[0],eo[1],en[2]),U+=1}}er.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=er}var e_=s.mallocFloat(K.length);for(o=0;oc||l[1]<0||l[1]>c)throw Error("gl-texture2d: Invalid texture size");var h=d(l,t.stride.slice()),p=0;"float32"===s?p=e.FLOAT:"float64"===s?(p=e.FLOAT,h=!1,s="float32"):"uint8"===s?p=e.UNSIGNED_BYTE:(p=e.UNSIGNED_BYTE,h=!1,s="uint8");var g=0;if(2===l.length)g=e.LUMINANCE,l=[l[0],l[1],1],t=n(t.data,l,[t.stride[0],t.stride[1],1],t.offset);else if(3===l.length){if(1===l[2])g=e.ALPHA;else if(2===l[2])g=e.LUMINANCE_ALPHA;else if(3===l[2])g=e.RGB;else if(4===l[2])g=e.RGBA;else throw Error("gl-texture2d: Invalid shape for pixel coords")}else throw Error("gl-texture2d: Invalid shape for texture");p!==e.FLOAT||e.getExtension("OES_texture_float")||(p=e.UNSIGNED_BYTE,h=!1);var y=t.size;if(h)r=0===t.offset&&t.data.length===y?t.data:t.data.subarray(t.offset,t.offset+y);else{var v=[l[2],l[2]*l[0],1],x=n(o=a.malloc(y,s),l,v,0);("float32"===s||"float64"===s)&&p===e.UNSIGNED_BYTE?u(x,t):i.assign(x,t),r=o.subarray(0,y)}var _=m(e);return e.texImage2D(e.TEXTURE_2D,0,g,l[0],l[1],0,g,p,r),h||a.free(o),new f(e,_,l[0],l[1],g,p)}(e,v)}throw Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(e){return"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&e instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&e instanceof ImageData}var u=function(e,t){i.muls(e,t,255)};function h(e,t,r){var n=e.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(t<0||t>i||r<0||r>i)throw Error("gl-texture2d: Invalid texture size");return e._shape=[t,r],e.bind(),n.texImage2D(n.TEXTURE_2D,0,e.format,t,r,0,e.format,e.type,null),e._mipLevels=[0],e}function f(e,t,r,n,i,a){this.gl=e,this.handle=t,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=e.NEAREST,this._minFilter=e.NEAREST,this._wrapS=e.CLAMP_TO_EDGE,this._wrapT=e.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(e){return o.wrapS=e}},{get:function(){return o._wrapT},set:function(e){return o.wrapT=e}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(e){return o.width=e}},{get:function(){return o._shape[1]},set:function(e){return o.height=e}}]),this._shapeVector=l}var p=f.prototype;function d(e,t){return 3===e.length?1===t[2]&&t[1]===e[0]*e[2]&&t[0]===e[2]:1===t[0]&&t[1]===e[0]}function m(e){var t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),t}function g(e,t,r,n,i){var a=e.getParameter(e.MAX_TEXTURE_SIZE);if(t<0||t>a||r<0||r>a)throw Error("gl-texture2d: Invalid texture shape");if(i===e.FLOAT&&!e.getExtension("OES_texture_float"))throw Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(e);return e.texImage2D(e.TEXTURE_2D,0,n,t,r,0,n,i,null),new f(e,o,t,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&!t.getExtension("OES_texture_float_linear")&&(e=t.NEAREST),0>s.indexOf(e))throw Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),this._minFilter=e}},magFilter:{get:function(){return this._magFilter},set:function(e){this.bind();var t=this.gl;if(this.type===t.FLOAT&&o.indexOf(e)>=0&&!t.getExtension("OES_texture_float_linear")&&(e=t.NEAREST),0>s.indexOf(e))throw Error("gl-texture2d: Unknown filter mode "+e);return t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),this._magFilter=e}},mipSamples:{get:function(){return this._anisoSamples},set:function(e){var t=this._anisoSamples;if(this._anisoSamples=0|Math.max(e,1),t!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(e){if(this.bind(),0>l.indexOf(e))throw Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,e),this._wrapS=e}},wrapT:{get:function(){return this._wrapT},set:function(e){if(this.bind(),0>l.indexOf(e))throw Error("gl-texture2d: Unknown wrap mode "+e);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,e),this._wrapT=e}},wrap:{get:function(){return this._wrapVector},set:function(e){if(Array.isArray(e)||(e=[e,e]),2!==e.length)throw Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var t=0;t<2;++t)if(0>l.indexOf(e[t]))throw Error("gl-texture2d: Unknown wrap mode "+e);this._wrapS=e[0],this._wrapT=e[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),e}},shape:{get:function(){return this._shapeVector},set:function(e){if(Array.isArray(e)){if(2!==e.length)throw Error("gl-texture2d: Invalid texture shape")}else e=[0|e,0|e];return h(this,0|e[0],0|e[1]),[0|e[0],0|e[1]]}},width:{get:function(){return this._shape[0]},set:function(e){return h(this,e|=0,this._shape[1]),e}},height:{get:function(){return this._shape[1]},set:function(e){return e|=0,h(this,this._shape[0],e),e}}}),p.bind=function(e){var t=this.gl;return(void 0!==e&&t.activeTexture(t.TEXTURE0+(0|e)),t.bindTexture(t.TEXTURE_2D,this.handle),void 0!==e)?0|e:t.getParameter(t.ACTIVE_TEXTURE)-t.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var e=Math.min(this._shape[0],this._shape[1]),t=0;e>0;++t,e>>>=1)0>this._mipLevels.indexOf(t)&&this._mipLevels.push(t)},p.setPixels=function(e,t,r,o){var s=this.gl;this.bind(),Array.isArray(t)?(o=r,r=0|t[1],t=0|t[0]):(t=t||0,r=r||0),o=o||0;var l=c(e)?e:e.raw;if(l)0>this._mipLevels.indexOf(o)?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,t,r,this.format,this.type,l);else if(e.shape&&e.stride&&e.data){if(e.shape.length<2||t+e.shape[1]>this._shape[1]>>>o||r+e.shape[0]>this._shape[0]>>>o||t<0||r<0)throw Error("gl-texture2d: Texture dimensions are out of bounds");(function(e,t,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var m=0,g=0,y=d(p,h.stride.slice());if("float32"===f?m=e.FLOAT:"float64"===f?(m=e.FLOAT,y=!1,f="float32"):"uint8"===f?m=e.UNSIGNED_BYTE:(m=e.UNSIGNED_BYTE,y=!1,f="uint8"),2===p.length)g=e.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else if(3===p.length){if(1===p[2])g=e.ALPHA;else if(2===p[2])g=e.LUMINANCE_ALPHA;else if(3===p[2])g=e.RGB;else if(4===p[2])g=e.RGBA;else throw Error("gl-texture2d: Invalid shape for pixel coords");p[2]}else throw Error("gl-texture2d: Invalid shape for texture");if((g===e.LUMINANCE||g===e.ALPHA)&&(s===e.LUMINANCE||s===e.ALPHA)&&(g=s),g!==s)throw Error("gl-texture2d: Incompatible texture format for setPixels");var v=h.size,x=0>c.indexOf(o);if(x&&c.push(o),m===l&&y)0===h.offset&&h.data.length===v?x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,h.data):x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+v));else{var _,b=n(_=l===e.FLOAT?a.mallocFloat32(v):a.mallocUint8(v),p,[p[2],p[2]*p[0],1]);m===e.FLOAT&&l===e.UNSIGNED_BYTE?u(b,h):i.assign(b,h),x?e.texImage2D(e.TEXTURE_2D,o,s,p[0],p[1],0,s,l,_.subarray(0,v)):e.texSubImage2D(e.TEXTURE_2D,o,t,r,p[0],p[1],s,l,_.subarray(0,v)),l===e.FLOAT?a.freeFloat32(_):a.freeUint8(_)}})(s,t,r,o,this.format,this.type,this._mipLevels,e)}else throw Error("gl-texture2d: Unsupported data type")}},1433:function(e){e.exports=function(e,t,r){t?t.bind():e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null);var n=0|e.getParameter(e.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(e){e.exports=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e}},3126:function(e){e.exports=function(e){var t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},3990:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},1091:function(e){e.exports=function(){var e=new Float32Array(3);return e[0]=0,e[1]=0,e[2]=0,e}},5911:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e}},5455:function(e,t,r){e.exports=r(7056)},7056:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(e,t,r){e.exports=r(6690)},6690:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e}},244:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}},2613:function(e){e.exports=1e-6},9922:function(e,t,r){e.exports=function(e,t){var r=e[0],i=e[1],a=e[2],o=t[0],s=t[1],l=t[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(e){e.exports=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}},2681:function(e){e.exports=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e}},5137:function(e,t,r){e.exports=function(e,t,r,i,a,o){var s,l;for(t||(t=3),r||(r=0),l=i?Math.min(i*t+r,e.length):e.length,s=r;s0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e}},7636:function(e){e.exports=function(e,t){var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*(t=t||1);return e[0]=Math.cos(r)*i,e[1]=Math.sin(r)*i,e[2]=n*t,e}},6894:function(e){e.exports=function(e,t,r,n){var i=r[1],a=r[2],o=t[1]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=t[0],e[1]=i+o*c-s*l,e[2]=a+o*l+s*c,e}},109:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[2],o=t[0]-i,s=t[2]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+s*l+o*c,e[1]=t[1],e[2]=a+s*c-o*l,e}},8692:function(e){e.exports=function(e,t,r,n){var i=r[0],a=r[1],o=t[0]-i,s=t[1]-a,l=Math.sin(n),c=Math.cos(n);return e[0]=i+o*c-s*l,e[1]=a+o*l+s*c,e[2]=t[2],e}},2447:function(e){e.exports=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e}},6621:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e}},8489:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e}},1463:function(e){e.exports=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e}},6141:function(e,t,r){e.exports=r(2953)},5486:function(e,t,r){e.exports=r(3066)},2953:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i}},3066:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n}},2229:function(e,t,r){e.exports=r(6843)},6843:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e}},492:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e}},5673:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e}},264:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=u*c+-(p*o)+-(h*l)- -(f*s),e[1]=h*c+-(p*s)+-(f*o)- -(u*l),e[2]=f*c+-(p*l)+-(u*s)- -(h*o),e}},4361:function(e){e.exports=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e}},2335:function(e){e.exports=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},2933:function(e){e.exports=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},7536:function(e){e.exports=function(){var e=new Float32Array(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e}},4691:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(e){e.exports=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e}},3750:function(e){e.exports=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}},3390:function(e){e.exports=function(e,t,r,n){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=r,i[3]=n,i}},9970:function(e,t,r){e.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(e){e.exports=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e[3]=1/t[3],e}},6808:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)}},2573:function(e){e.exports=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e}},160:function(e){e.exports=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e}},2334:function(e){e.exports=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e}},3576:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e}},1498:function(e){e.exports=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e}},5177:function(e){e.exports=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=r*o,e[1]=n*o,e[2]=i*o,e[3]=a*o),e}},9131:function(e,t,r){var n=r(5177),i=r(9288);e.exports=function(e,t){return t=t||1,e[0]=Math.random(),e[1]=Math.random(),e[2]=Math.random(),e[3]=Math.random(),n(e,e),i(e,e,t),e}},9288:function(e){e.exports=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e}},4844:function(e){e.exports=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e}},4578:function(e){e.exports=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}},7960:function(e){e.exports=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a}},483:function(e){e.exports=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i}},6860:function(e){e.exports=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e}},5352:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}},4041:function(e){e.exports=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return e[0]=u*c+-(p*o)+-(h*l)- -(f*s),e[1]=h*c+-(p*s)+-(f*o)- -(u*l),e[2]=f*c+-(p*l)+-(u*s)- -(h*o),e[3]=t[3],e}},1848:function(e,t,r){var n=r(4905),i=r(6468);e.exports=function(e){for(var t=Array.isArray(e)?e:n(e),r=0;r0)continue;r=e.slice(0,1).join("")}return A(r),y+=r.length,(p=p.slice(r.length)).length}}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(e,t,r){var n=r(6852);n=n.slice().filter(function(e){return!/^(gl\_|texture)/.test(e)}),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(e){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(e,t,r){var n=r(620);e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(e){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(e){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(e,t,r){var n=r(5874);e.exports=function(e,t){var r=n(t),i=[];return(i=i.concat(r(e))).concat(r(null))}},3236:function(e){e.exports=function(e){"string"==typeof e&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?5960464477539062e-23:0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+h>=1?t+=f/l:t+=f*Math.pow(2,1-h),t*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m}},8954:function(e,t,r){e.exports=function(e,t){var r=e.length;if(0===r)throw Error("Must have at least d+1 points");var i=e[0].length;if(r<=i)throw Error("Must input at least d+1 points");var o=e.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw Error("Input not in general position");for(var l=Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var h=new a(l,Array(i+1),!1),f=h.adjacent,p=Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),m=0;m<=i;++m)m===u&&(d[m]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,Array(i+1),!0);f[u]=y,p[u]=y}p[i+1]=h;for(var u=0;u<=i;++u)for(var d=f[u].vertices,v=f[u].adjacent,m=0;m<=i;++m){var x=d[m];if(x<0){v[m]=h;continue}for(var _=0;_<=i;++_)0>f[_].vertices.indexOf(x)&&(v[m]=f[_])}for(var b=new c(i,o,p),w=!!t,u=i+1;u0;)for(var s=(e=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];f<0?i[h]=t:i[h]=a[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=t?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];p:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(var u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=a[u];a[u]=e;var p=this.orient();if(a[u]=f,p<0){s=h;continue p}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(e,t){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[t];t.lastVisited=r,t.vertices[t.vertices.indexOf(-1)]=r,t.boundary=!1,c.push(t);for(var f=[];h.length>0;){var t=h.pop(),p=t.vertices,d=t.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g){if(g!==m){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var v=y.vertices;if(y.lastVisited!==-r){for(var x=0,_=0;_<=n;++_)v[_]<0?(x=_,l[_]=e):l[_]=i[v[_]];if(this.orient()>0){v[x]=r,y.boundary=!1,c.push(y),h.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var b=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=b.indexOf(t);if(!(A<0)){b[A]=k,T[m]=y,w[g]=-1,T[g]=t,d[g]=k,k.flip();for(var _=0;_<=n;++_){var M=w[_];if(!(M<0)&&M!==r){for(var S=Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===_||(S[E++]=L)}f.push(new o(S,k,_))}}}}}}}f.sort(s);for(var g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&e)){var h=o[0];o[0]=o[1],o[1]=h}t.push(o)}}return t}},3352:function(e,t,r){var n=r(2478);function i(e,t,r,n,i){this.mid=e,this.left=t,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(t?t.count:0)+(r?r.count:0)+n.length}e.exports=function(e){return new y(e&&0!==e.length?g(e):null)};var a=i.prototype;function o(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function s(e,t){var r=g(t);e.mid=r.mid,e.left=r.left,e.right=r.right,e.leftPoints=r.leftPoints,e.rightPoints=r.rightPoints,e.count=r.count}function l(e,t){var r=e.intervals([]);r.push(t),s(e,r)}function c(e,t){var r=e.intervals([]),n=r.indexOf(t);return n<0?0:(r.splice(n,1),s(e,r),1)}function u(e,t,r){for(var n=0;n=0&&e[n][1]>=t;--n){var i=r(e[n]);if(i)return i}}function f(e,t){for(var r=0;r>1],a=[],o=[],s=[],r=0;r3*(t+1)?l(this,e):this.left.insert(e):this.left=g([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?l(this,e):this.right.insert(e):this.right=g([e]);else{var r=n.ge(this.leftPoints,e,d),i=n.ge(this.rightPoints,e,m);this.leftPoints.splice(r,0,e),this.rightPoints.splice(i,0,e)}},a.remove=function(e){var t=this.count-this.leftPoints;if(e[1]3*(t-1))return c(this,e);var r=this.left.remove(e);return 2===r?(this.left=null,this.count-=1,1):(1===r&&(this.count-=1),r)}if(e[0]>this.mid){if(!this.right)return 0;if(4*(this.left?this.left.count:0)>3*(t-1))return c(this,e);var r=this.right.remove(e);return 2===r?(this.right=null,this.count-=1,1):(1===r&&(this.count-=1),r)}if(1===this.count)return this.leftPoints[0]===e?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===e){if(this.left&&this.right){for(var i=this,a=this.left;a.right;)i=a,a=a.right;if(i===this)a.right=this.right;else{var s=this.left,r=this.right;i.count-=a.count,i.right=a.left,a.left=s,a.right=r}o(this,a),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(var s=n.ge(this.leftPoints,e,d);sthis.mid))return f(this.leftPoints,t);if(this.right){var r=this.right.queryPoint(e,t);if(r)return r}return h(this.rightPoints,e,t)},a.queryInterval=function(e,t,r){if(ethis.mid&&this.right){var n=this.right.queryInterval(e,t,r);if(n)return n}return tthis.mid?h(this.rightPoints,e,r):f(this.leftPoints,r)};var v=y.prototype;v.insert=function(e){this.root?this.root.insert(e):this.root=new i(e[0],null,null,[e],[e])},v.remove=function(e){if(this.root){var t=this.root.remove(e);return 2===t&&(this.root=null),0!==t}return!1},v.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)},v.queryInterval=function(e,t,r){if(e<=t&&this.root)return this.root.queryInterval(e,t,r)},Object.defineProperty(v,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(v,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9507:function(e){e.exports=!0},7163:function(e){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))||!!e._isBuffer)}},5219:function(e){e.exports=function(e){for(var t,r=e.length,n=0;n13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},395:function(e){e.exports=function(e,t,r){return e*(1-r)+t*r}},2652:function(e,t,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),c={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},u=i(),h=i(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(e,t,r,n,i){e[0]=t[0]*n+r[0]*i,e[1]=t[1]*n+r[1]*i,e[2]=t[2]*n+r[2]*i}e.exports=function(e,t,r,i,g,y){if(t||(t=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(u,e)||(a(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(1e-8>o(h))))return!1;var v,x,_,b,w,T=u[3],k=u[7],A=u[11],M=u[12],S=u[13],E=u[14],C=u[15];if(0!==T||0!==k||0!==A){if(f[0]=T,f[1]=k,f[2]=A,f[3]=C,!s(h,h))return!1;l(h,h),v=g,x=f[0],_=f[1],b=f[2],w=f[3],v[0]=h[0]*x+h[4]*_+h[8]*b+h[12]*w,v[1]=h[1]*x+h[5]*_+h[9]*b+h[13]*w,v[2]=h[2]*x+h[6]*_+h[10]*b+h[14]*w,v[3]=h[3]*x+h[7]*_+h[11]*b+h[15]*w}else g[0]=g[1]=g[2]=0,g[3]=1;if(t[0]=M,t[1]=S,t[2]=E,p[0][0]=u[0],p[0][1]=u[1],p[0][2]=u[2],p[1][0]=u[4],p[1][1]=u[5],p[1][2]=u[6],p[2][0]=u[8],p[2][1]=u[9],p[2][2]=u[10],r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),0>c.dot(p[0],d))for(var L=0;L<3;L++)r[L]*=-1,p[L][0]*=-1,p[L][1]*=-1,p[L][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(e){e.exports=function(e,t){var r=t[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)e[i]=t[i]*n;return!0}},7442:function(e,t,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(e){return[e||0,e||0,e||0]}e.exports=function(e,t,r,h){if(0===o(t)||0===o(r))return!1;var f=a(t,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!!f&&!!p&&(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),i(e,u.translate,u.scale,u.skew,u.perspective,u.quaternion),!0)}},7182:function(e,t,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)};n.create();var i=n.create();e.exports=function(e,t,r,a,o,s){return n.identity(e),n.fromRotationTranslation(e,s,t),e[3]=o[0],e[7]=o[1],e[11]=o[2],e[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(e,e,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(e,e,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(e,e,i)),n.scale(e,e,r),e}},1811:function(e,t,r){var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),c=r(6582),u=r(7656);r(2504);var h=r(3536),f=[0,0,0];function p(e){this._components=e.slice(),this._time=[0],this.prevMatrix=e.slice(),this.nextMatrix=e.slice(),this.computedMatrix=e.slice(),this.computedInverse=e.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(e){return new p((e=e||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(e){var t=this._time,r=n.le(t,e),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===t.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{for(var u=t[r+1]-t[r],l=16*r,f=this.prevMatrix,p=!0,c=0;c<16;++c)f[c]=s[l++];for(var d=this.nextMatrix,c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(var c=0;c<16;++c)o[c]=f[c];else i(o,f,d,(e-t[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],h(m,m);var g=this.computedInverse;a(g,o);var y=this.computedEye,v=g[15];y[0]=g[12]/v,y[1]=g[13]/v,y[2]=g[14]/v;for(var x=this.computedCenter,_=Math.exp(this.computedRadius[0]),c=0;c<3;++c)x[c]=y[c]-o[2+4*c]*_}},d.idle=function(e){if(!(e1&&0>=n(e[o[u-2]],e[o[u-1]],c);)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(e[s[u-2]],e[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=Array(s.length+o.length-2),h=0,i=0,f=o.length;i0;--p)r[h++]=s[p];return r};var n=r(3250)[3]},351:function(e,t,r){e.exports=function(e,t){t||(t=e,e=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(e){var t=!1;return"altKey"in e&&(t=t||e.altKey!==o.alt,o.alt=!!e.altKey),"shiftKey"in e&&(t=t||e.shiftKey!==o.shift,o.shift=!!e.shiftKey),"ctrlKey"in e&&(t=t||e.ctrlKey!==o.control,o.control=!!e.ctrlKey),"metaKey"in e&&(t=t||e.metaKey!==o.meta,o.meta=!!e.metaKey),t}function c(e,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(e=0|s.buttons),(e!==r||c!==i||u!==a||l(s))&&(r=0|e,i=c||0,a=u||0,t&&t(r,i,a,o))}function u(e){c(0,e)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,t&&t(0,0,0,o))}function f(e){l(e)&&t&&t(r,i,a,o)}function p(e){0===n.buttons(e)?c(0,e):c(r,e)}function d(e){c(r|n.buttons(e),e)}function m(e){c(r&~n.buttons(e),e)}function g(){s||(s=!0,e.addEventListener("mousemove",p),e.addEventListener("mousedown",d),e.addEventListener("mouseup",m),e.addEventListener("mouseleave",u),e.addEventListener("mouseenter",u),e.addEventListener("mouseout",u),e.addEventListener("mouseover",u),e.addEventListener("blur",h),e.addEventListener("keyup",f),e.addEventListener("keydown",f),e.addEventListener("keypress",f),e!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}g();var y={element:e};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(t){t?g():s&&(s=!1,e.removeEventListener("mousemove",p),e.removeEventListener("mousedown",d),e.removeEventListener("mouseup",m),e.removeEventListener("mouseleave",u),e.removeEventListener("mouseenter",u),e.removeEventListener("mouseout",u),e.removeEventListener("mouseover",u),e.removeEventListener("blur",h),e.removeEventListener("keyup",f),e.removeEventListener("keydown",f),e.removeEventListener("keypress",f),e!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(e){var t={left:0,top:0};e.exports=function(e,r,n){r=r||e.currentTarget||e.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=e.clientX||0,o=e.clientY||0,s=(i=r)===window||i===document||i===document.body?t:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(e,t){function r(e){return e.target||e.srcElement||window}t.buttons=function(e){if("object"==typeof e){if("buttons"in e)return e.buttons;if("which"in e){var t=e.which;if(2===t)return 4;if(3===t)return 2;if(t>0)return 1<=0)return 1<(e.scalarArguments||0)&&t("Scalar arg count must be > 0"),"function"!=typeof e.vertex&&t("Must specify vertex creation function"),"function"!=typeof e.cell&&t("Must specify cell creation function"),"function"!=typeof e.phase&&t("Must specify phase function");for(var c=e.getters||[],u=Array(l),h=0;h=0?u[h]=!0:u[h]=!1;return r=e.vertex,a=e.cell,o=e.phase,(0,i[[u,s].join(",")])(r,a,o,n.mallocUint32,n.freeUint32)};var i={"false,0,1":function(e,t,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],h=0|a.shape[1],f=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,y=0|-d,v=0,x=0|-m,_=0,b=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,C=n(E),L=n(E),I=0,P=0,z=-1,O=-1,D=0,R=0|-u,F=0|u,j=0,B=-u-1|0,N=u-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,C[I++]=r(f[g],o,s,l),g+=T,u>0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],j=C[I+R],U=C[I+B],(P!==D||P!==j||P!==U)&&(e(A,M,c,v=f[g+y],_=f[g+x],w=f[g+b],P,D,j,U,o,s,l),V=L[I]=S++),I+=1,g+=T,A=2;A0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],j=C[I+R],U=C[I+B],(P!==D||P!==j||P!==U)&&(e(A,M,c,v=f[g+y],_=f[g+x],w=f[g+b],P,D,j,U,o,s,l),V=L[I]=S++,U!==j&&t(L[I+R],V,_,w,j,U,o,s,l)),I+=1,g+=T,A=2;A0){if(A=1,C[I++]=r(f[g],o,s,l),g+=T,h>0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),j=C[I+R],D=C[I+z],U=C[I+B],(P!==j||P!==D||P!==U)&&(e(A,M,c,v=f[g+y],_=f[g+x],w=f[g+b],P,j,D,U,o,s,l),V=L[I]=S++),I+=1,g+=T,M=2;M0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),j=C[I+R],D=C[I+z],U=C[I+B],(P!==j||P!==D||P!==U)&&(e(A,M,c,v=f[g+y],_=f[g+x],w=f[g+b],P,j,D,U,o,s,l),V=L[I]=S++,U!==j&&t(L[I+R],V,w,v,U,j,o,s,l)),I+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),e.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),e.pick(0,-1,1).lo(1).hi(a[1]-2)),t(e.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),e.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),t(e.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),e.pick(-1,0,0).lo(1).hi(a[0]-2)),t(e.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),e.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),t(e.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),e.set(0,0,0,0),e.set(0,0,1,0),e.set(a[0]-1,0,0,0),e.set(a[0]-1,0,1,0),e.set(0,a[1]-1,0,0),e.set(0,a[1]-1,1,0),e.set(a[0]-1,a[1]-1,0,0),e.set(a[0]-1,a[1]-1,1,0),e}}e.exports=function(e,t,r){return(Array.isArray(r)||(r="string"==typeof r?n(t.dimension,r):n(t.dimension,"clamp")),0===t.size)?e:0===t.dimension?(e.set(0),e):(function(e){var t,r=e.join(),n=c[r];if(n)return n;for(var i=e.length,a=[u,h],o=1;o<=i;++o)a.push((t=o)in l?l[t]:l[t]=s({funcName:"fdTemplate"+t}));var n=f.apply(void 0,a);return c[r]=n,n})(r)(e,t)}},4317:function(e){function t(e,t){var r=Math.floor(t),n=t-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var _=0|e[1];_>0;){_<64?(c=_,_=0):(c=64,_-=64),n=y+x*h+_*f,o=v+x*d+_*m;var b=0,w=0,T=0,k=h-u*p,A=f-l*h,M=d-u*g,S=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|e[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*f+g*h;var y=0,v=0,x=c-l*u,_=h-l*f;for(v=0;v0;){v<64?(c=v,v=0):(c=64,v-=64);for(var x=0|e[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var _=0|e[1];_>0;){_<64?(l=_,_=0):(l=64,_-=64),n=g+v*f+x*u+_*h,o=y+v*m+x*p+_*d;var b=0,w=0,T=0,k=u-c*f,A=h-s*u,M=p-c*m,S=d-s*p;for(T=0;Tr;){for(g=0,y=0,v=m-o;g_)break;v+=h,y+=f}for(g=0,y=m,v=m-o;g>1,H=q-N,G=q+N,Z=U,W=H,Y=q,X=G,$=V,J=i+1,K=a-1,Q=!0,ee=0,et=0,er=0,en=t(h),ei=t(h);for(k=0,A=l*Z,M=l*W,B=s;k0){g=Z,Z=W,W=g;break}if(er<0)break;B+=p}for(k=0,A=l*X,M=l*$,B=s;k0){g=X,X=$,$=g;break}if(er<0)break;B+=p}for(k=0,A=l*Z,M=l*Y,B=s;k0){g=Z,Z=Y,Y=g;break}if(er<0)break;B+=p}for(k=0,A=l*W,M=l*Y,B=s;k0){g=W,W=Y,Y=g;break}if(er<0)break;B+=p}for(k=0,A=l*Z,M=l*X,B=s;k0){g=Z,Z=X,X=g;break}if(er<0)break;B+=p}for(k=0,A=l*Y,M=l*X,B=s;k0){g=Y,Y=X,X=g;break}if(er<0)break;B+=p}for(k=0,A=l*W,M=l*$,B=s;k0){g=W,W=$,$=g;break}if(er<0)break;B+=p}for(k=0,A=l*W,M=l*Y,B=s;k0){g=W,W=Y,Y=g;break}if(er<0)break;B+=p}for(k=0,A=l*X,M=l*$,B=s;k0){g=X,X=$,$=g;break}if(er<0)break;B+=p}for(k=0,A=l*Z,M=l*W,S=l*Y,E=l*X,C=l*$,L=l*U,I=l*q,P=l*V,j=0,B=s;k0)K--;else if(er<0){for(k=0,A=l*_,M=l*J,S=l*K,B=s;k0)for(;;){for(k=0,b=s+K*l,j=0;k0){if(--K<_)break;continue}for(k=0,b=s+K*l,j=0;kV){m:for(;;){for(k=0,b=s+J*l,j=0,B=s;k1&&l?c(h,l[0],l[1]):c(h));return u(h,f)}},446:function(e,t,r){var n=r(7640),i={};e.exports=function(e){var t=e.order,r=e.dtype,a=[t,r].join(":"),o=i[a];return o||(i[a]=o=n(t,r)),o(e),e}},9618:function(e,t,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(e,t){return e[0]-t[0]}function o(){var e,t=this.stride,r=Array(t.length);for(e=0;e=0&&(t+=a*(r=0|e),i-=r),new n(this.data,i,a,t)},i.step=function(e){var t=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof e&&((a=0|e)<0?(i+=r*(t-1),t=o(-t/a)):t=o(t/a),r*=a),new n(this.data,t,r,i)},i.transpose=function(e){e=void 0===e?0:0|e;var t=this.shape,r=this.stride;return new n(this.data,t[e],r[e],this.offset)},i.pick=function(e){var r=[],n=[],i=this.offset;return"number"==typeof e&&e>=0?i=i+this.stride[0]*e|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,t[r.length+1])(this.data,r,n,i)},function(e,t,r,i){return new n(e,t[0],r[0],i)}},2:function(e,t,r){function n(e,t,r,n,i,a){this.data=e,this.shape=[t,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=e,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(t,r,n){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]=n},i.get=function(t,r){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r):this.data[this.offset+this.stride[0]*t+this.stride[1]*r]},i.index=function(e,t){return this.offset+this.stride[0]*e+this.stride[1]*t},i.hi=function(e,t){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,this.stride[0],this.stride[1],this.offset)},i.lo=function(e,t){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof e&&e>=0&&(r+=s*(i=0|e),a-=i),"number"==typeof t&&t>=0&&(r+=l*(i=0|t),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(e,t){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return"number"==typeof e&&((l=0|e)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),"number"==typeof t&&((l=0|t)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(e,t){e=void 0===e?0:0|e,t=void 0===t?1:0|t;var r=this.shape,i=this.stride;return new n(this.data,r[e],r[t],i[e],i[t],this.offset)},i.pick=function(e,r){var n=[],i=[],a=this.offset;return"number"==typeof e&&e>=0?a=a+this.stride[0]*e|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,t[n.length+1])(this.data,n,i,a)},function(e,t,r,i){return new n(e,t[0],t[1],r[0],r[1],i)}},3:function(e,t,r){function n(e,t,r,n,i,a,o,s){this.data=e,this.shape=[t,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=e,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var e=Math.abs(this.stride[0]),t=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return e>t?t>r?[2,1,0]:e>r?[1,2,0]:[1,0,2]:e>r?[2,0,1]:r>t?[0,1,2]:[0,2,1]}}),i.set=function(t,r,n,i){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(t,r,n){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n]},i.index=function(e,t,r){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r},i.hi=function(e,t,r){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(e,t,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],h=this.stride[2];return"number"==typeof e&&e>=0&&(i+=c*(a=0|e),o-=a),"number"==typeof t&&t>=0&&(i+=u*(a=0|t),s-=a),"number"==typeof r&&r>=0&&(i+=h*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,h,i)},i.step=function(e,t,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,h=0,f=Math.ceil;return"number"==typeof e&&((h=0|e)<0?(u+=s*(i-1),i=f(-i/h)):i=f(i/h),s*=h),"number"==typeof t&&((h=0|t)<0?(u+=l*(a-1),a=f(-a/h)):a=f(a/h),l*=h),"number"==typeof r&&((h=0|r)<0?(u+=c*(o-1),o=f(-o/h)):o=f(o/h),c*=h),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(e,t,r){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[e],i[t],i[r],a[e],a[t],a[r],this.offset)},i.pick=function(e,r,n){var i=[],a=[],o=this.offset;return"number"==typeof e&&e>=0?o=o+this.stride[0]*e|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,t[i.length+1])(this.data,i,a,o)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],r[0],r[1],r[2],i)}},4:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c){this.data=e,this.shape=[t,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=e,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(t,r,n,i){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(e,t,r,n){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n},i.hi=function(e,t,r,i){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(e,t,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof e&&e>=0&&(a+=h*(o=0|e),s-=o),"number"==typeof t&&t>=0&&(a+=f*(o=0|t),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,h,f,p,d,a)},i.step=function(e,t,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],h=this.stride[2],f=this.stride[3],p=this.offset,d=0,m=Math.ceil;return"number"==typeof e&&((d=0|e)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),"number"==typeof t&&((d=0|t)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),"number"==typeof r&&((d=0|r)<0?(p+=h*(s-1),s=m(-s/d)):s=m(s/d),h*=d),"number"==typeof i&&((d=0|i)<0?(p+=f*(l-1),l=m(-l/d)):l=m(l/d),f*=d),new n(this.data,a,o,s,l,c,u,h,f,p)},i.transpose=function(e,t,r,i){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[e],a[t],a[r],a[i],o[e],o[t],o[r],o[i],this.offset)},i.pick=function(e,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof e&&e>=0?s=s+this.stride[0]*e|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,t[a.length+1])(this.data,a,o,s)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],r[0],r[1],r[2],r[3],i)}},5:function(e,t,r){function n(e,t,r,n,i,a,o,s,l,c,u,h){this.data=e,this.shape=[t,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|h}var i=n.prototype;return i.dtype=e,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(t,r,n,i,a,o){return"generic"===e?this.data.set(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(t,r,n,i,a){return"generic"===e?this.data.get(this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*t+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(e,t,r,n,i){return this.offset+this.stride[0]*e+this.stride[1]*t+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(e,t,r,i,a){return new n(this.data,"number"!=typeof e||e<0?this.shape[0]:0|e,"number"!=typeof t||t<0?this.shape[1]:0|t,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(e,t,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],h=this.shape[3],f=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof e&&e>=0&&(o+=p*(s=0|e),l-=s),"number"==typeof t&&t>=0&&(o+=d*(s=0|t),c-=s),"number"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),h-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),f-=s),new n(this.data,l,c,u,h,f,p,d,m,g,y,o)},i.step=function(e,t,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,y=0,v=Math.ceil;return"number"==typeof e&&((y=0|e)<0?(g+=h*(o-1),o=v(-o/y)):o=v(o/y),h*=y),"number"==typeof t&&((y=0|t)<0?(g+=f*(s-1),s=v(-s/y)):s=v(s/y),f*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=v(-l/y)):l=v(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(c-1),c=v(-c/y)):c=v(c/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=m*(u-1),u=v(-u/y)):u=v(u/y),m*=y),new n(this.data,o,s,l,c,u,h,f,p,d,m,g)},i.transpose=function(e,t,r,i,a){e=void 0===e?0:0|e,t=void 0===t?1:0|t,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[e],o[t],o[r],o[i],o[a],s[e],s[t],s[r],s[i],s[a],this.offset)},i.pick=function(e,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof e&&e>=0?l=l+this.stride[0]*e|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,t[o.length+1])(this.data,o,s,l)},function(e,t,r,i){return new n(e,t[0],t[1],t[2],t[3],t[4],r[0],r[1],r[2],r[3],r[4],i)}}},l={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};e.exports=function(e,t,r,a){if(void 0===e){var c=l.array[0];return c([])}"number"==typeof e&&(e=[e]),void 0===t&&(t=[e.length]);var u=t.length;if(void 0===r){r=Array(u);for(var h=u-1,f=1;h>=0;--h)r[h]=f,f*=t[h]}if(void 0===a){a=0;for(var h=0;he==e>0?4294967295===i?(r+=1,i=0):i+=1:0===i?(i=4294967295,r-=1):i-=1,n.pack(i,r)}},8406:function(e,t){t.vertexNormals=function(e,t,r){for(var n=t.length,i=Array(n),a=void 0===r?1e-6:r,o=0;oa)for(var _=i[c],b=1/Math.sqrt(g*v),x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;_[x]+=b*(y[w]*m[T]-y[T]*m[w])}}for(var o=0;oa)for(var b=1/Math.sqrt(k),x=0;x<3;++x)_[x]*=b;else for(var x=0;x<3;++x)_[x]=0}return i},t.faceNormals=function(e,t,r){for(var n=e.length,i=Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0;for(var c=0;c<3;++c)f[c]*=p;i[o]=f}return i}},4081:function(e){e.exports=function(e,t,r,n,i,a,o,s,l,c){var u=t+a+c;if(h>0){var h=Math.sqrt(u+1);e[0]=.5*(o-l)/h,e[1]=.5*(s-n)/h,e[2]=.5*(r-a)/h,e[3]=.5*h}else{var f=Math.max(t,a,c),h=Math.sqrt(2*f-u+1);t>=f?(e[0]=.5*h,e[1]=.5*(i+r)/h,e[2]=.5*(s+n)/h,e[3]=.5*(o-l)/h):a>=f?(e[0]=.5*(r+i)/h,e[1]=.5*h,e[2]=.5*(l+o)/h,e[3]=.5*(s-n)/h):(e[0]=.5*(n+s)/h,e[1]=.5*(o+l)/h,e[2]=.5*h,e[3]=.5*(r-i)/h)}return e}},9977:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.rotation||[0,0,0,1],n=e.radius||1;t=[].slice.call(t,0,3),u(r=[].slice.call(r,0,4),r);var i=new h(r,t,Math.log(n));return i.setDistanceLimits(e.zoomMin,e.zoomMax),("eye"in e||"up"in e)&&i.lookAt(0,e.eye,e.center,e.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function c(e,t,r,n){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2)+Math.pow(n,2))}function u(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=c(r,n,i,a);o>1e-6?(e[0]=r/o,e[1]=n/o,e[2]=i/o,e[3]=a/o):(e[0]=e[1]=e[2]=0,e[3]=1)}function h(e,t,r){this.radius=n([r]),this.center=n(t),this.rotation=n(e),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(e){this.radius.curve(e),this.center.curve(e),this.rotation.curve(e);var t=this.computedRotation;u(t,t);var r=this.computedMatrix;a(r,t);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*i[h];r[12+l]=-c}},f.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r},f.idle=function(e){this.center.idle(e),this.radius.idle(e),this.rotation.idle(e)},f.flush=function(e){this.center.flush(e),this.radius.flush(e),this.rotation.flush(e)},f.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=l(u-=a*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var m=i[2],g=i[6],y=i[10],v=m*a+g*o+y*s,x=m*u+g*h+y*f,_=l(m-=v*a+x*u,g-=v*o+x*h,y-=v*s+x*f);m/=_,g/=_,y/=_;var b=u*t+a*r,w=h*t+o*r,T=f*t+s*r;this.center.move(e,b,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(e,Math.log(k))},f.rotate=function(e,t,r,n){this.recalcMatrix(e),t=t||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],h=i[5],f=i[9],p=i[2],d=i[6],m=i[10],g=t*a+r*u,y=t*o+r*h,v=t*s+r*f,x=-(d*v-m*y),_=-(m*g-p*v),b=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(_,2)-Math.pow(b,2))),T=c(x,_,b,w);T>1e-6?(x/=T,_/=T,b/=T,w/=T):(x=_=b=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*b-S*_,L=M*w+E*_+S*x-A*b,I=S*w+E*b+A*_-M*x,P=E*w-A*x-M*_-S*b;if(n){var z=Math.sin(n)/l(x=p,_=d,b=m);x*=z,_*=z,b*=z,C=C*(w=Math.cos(t))+P*x+L*b-I*_,L=L*w+P*_+I*x-C*b,I=I*w+P*b+C*_-L*x,P=P*w-C*x-L*_-I*b}var O=c(C,L,I,P);O>1e-6?(C/=O,L/=O,I/=O,P/=O):(C=L=I=0,P=1),this.rotation.set(e,C,L,I,P)},f.lookAt=function(e,t,r,n){this.recalcMatrix(e),r=r||this.computedCenter,t=t||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,t,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(e,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-t[c],2);this.radius.set(e,.5*Math.log(Math.max(l,1e-6))),this.center.set(e,r[0],r[1],r[2])},f.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},f.setMatrix=function(e,t){var r=this.computedRotation;s(r,t[0],t[1],t[2],t[4],t[5],t[6],t[8],t[9],t[10]),u(r,r),this.rotation.set(e,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,t);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(e);var h=Math.exp(this.computedRadius[0]);this.center.set(e,a-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(e)}else this.center.idle(e),this.radius.idle(e)},f.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},f.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=Math.max(t=t>0?Math.log(t):1/0,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},f.getDistanceLimits=function(e){var t=this.radius.bounds;return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(e){var t=this.lastT(),r=e.center;r&&this.center.set(t,r[0],r[1],r[2]);var n=e.rotation;n&&this.rotation.set(t,n[0],n[1],n[2],n[3]);var i=e.distance;i&&i>0&&this.radius.set(t,Math.log(i)),this.setDistanceLimits(e.zoomMin,e.zoomMax)}},1371:function(e,t,r){var n=r(3233);e.exports=function(e,t,r){return n(r=void 0!==r?r+"":" ",t)+e}},3202:function(e){e.exports=function(e,t){t||(t=[0,""]);var r=parseFloat(e=String(e),10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}},3088:function(e,t,r){e.exports=function(e,t){for(var r=0|t.length,i=e.length,a=[Array(r),Array(r)],o=0;o0){o=a[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=a[h][r],p=0;p0&&(o=d,s=m,l=h)}return i||o&&c(o,l),s}for(var o=0;o0;){a[0][o].length;var p=function(e,r){var i=a[r][e][0],o=[e];c(i,r);for(var s=i[1^r];;){for(;s!==e;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][e].length+a[1][e].length===0)break;var l=o[o.length-1],h=o[1],f=u(l,e,!0);if(0>n(t[l],t[e],t[h],t[f]))break;o.push(e),s=u(l,e)}return o}(o,h);p[1]===p[p.length-1]?f.push.apply(f,p):(f.length>0&&l.push(f),f=p)}f.length>0&&l.push(f)}return l};var n=r(3140)},5609:function(e,t,r){e.exports=function(e,t){for(var r=n(e,t.length),i=Array(t.length),a=Array(t.length),o=[],s=0;s0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s0})).length,g=Array(m),y=Array(m),p=0;p0;){var j,B=R.pop(),N=E[B];l(N,function(e,t){return e-t});var U=N.length,V=F[B];if(0===V){var w=d[B];j=[w]}for(var p=0;p=0)&&(F[q]=1^V,R.push(q),0===V)){var w=d[q];D(w)||(w.reverse(),j.push(w))}}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),c=r(5609);function u(e,t){for(var r=Array(e),n=0;n0)||a[t]!==e[0])return 1;i=r[t-1]}for(var s=1;i;){var l=i.key,c=n(e,l[0],l[1]);if(l[0][0]0))return 0;s=-1,i=i.right}}else if(c>0)i=i.left;else{if(!(c<0))return 0;s=1,i=i.right}}return s});return 0===f.length?b:(s=l(f),function(e){return s(e[0],e[1])?0:b(e)})};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(e){for(var t={},r=0;r=d?(k=1,l=d+2*y+x):(k=-y/d,l=y*k+x)):(k=0,v>=0?(A=0,l=x):-v>=g?(A=1,l=g+2*v+x):(A=-v/g,l=v*A+x));else if(A<0)A=0,y>=0?(k=0,l=x):-y>=d?(k=1,l=d+2*y+x):(k=-y/d,l=y*k+x);else{var M=1/T;k*=M,A*=M,l=k*(d*k+m*A+2*y)+A*(m*k+g*A+2*v)+x}}else k<0?(c=m+y,(u=g+v)>c?(h=u-c)>=(f=d-2*m+g)?(k=1,A=0,l=d+2*y+x):(A=1-(k=h/f),l=k*(d*k+m*A+2*y)+A*(m*k+g*A+2*v)+x):(k=0,u<=0?(A=1,l=g+2*v+x):v>=0?(A=0,l=x):(A=-v/g,l=v*A+x))):A<0?(c=m+v,(u=d+y)>c?(h=u-c)>=(f=d-2*m+g)?(A=1,k=0,l=g+2*v+x):l=(k=1-(A=h/f))*(d*k+m*A+2*y)+A*(m*k+g*A+2*v)+x:(A=0,u<=0?(k=1,l=d+2*y+x):y>=0?(k=0,l=x):(k=-y/d,l=y*k+x))):(h=g+v-m-y)<=0?(k=0,A=1,l=g+2*v+x):h>=(f=d-2*m+g)?(k=1,A=0,l=d+2*y+x):(A=1-(k=h/f),l=k*(d*k+m*A+2*y)+A*(m*k+g*A+2*v)+x);for(var S=1-k-A,p=0;p0){var c=e[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}e[r++]=s}}return e.length=r,e}},3233:function(e){var t,r="";e.exports=function(e,n){if("string"!=typeof e)throw TypeError("expected a string");if(1===n)return e;if(2===n)return e+e;var i=e.length*n;if(t!==e||void 0===t)t=e,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=e),n>>=1,e+=e;return r+=e,r=r.substr(0,i)}},3025:function(e,t,r){e.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(e){e.exports=function(e){for(var t=e.length,r=e[e.length-1],n=t,i=t-2;i>=0;--i){var a=r,o=e[i],s=(r=a+o)-a,l=o-s;l&&(e[--n]=r,r=l)}for(var c=0,i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0)||a>=0)return o;n=-(i+a)}var l=s*n;return o>=l||o<=-l?o:u(e,t,r)},function(e,t,r,n){var i=e[0]-n[0],a=t[0]-n[0],o=r[0]-n[0],s=e[1]-n[1],c=t[1]-n[1],u=r[1]-n[1],f=e[2]-n[2],p=t[2]-n[2],d=r[2]-n[2],m=a*u,g=o*c,y=o*s,v=i*u,x=i*c,_=a*s,b=f*(m-g)+p*(y-v)+d*(x-_),w=l*((Math.abs(m)+Math.abs(g))*Math.abs(f)+(Math.abs(y)+Math.abs(v))*Math.abs(p)+(Math.abs(x)+Math.abs(_))*Math.abs(d));return b>w||-b>w?b:h(e,t,r,n)}];function p(e){var t=f[e.length];return t||(t=f[e.length]=c(e.length)),t.apply(void 0,e)}function d(e,t,r,n,i,a,o){return function(t,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(t,r);case 3:return i(t,r,s);case 4:return a(t,r,s,l);case 5:return o(t,r,s,l,c)}for(var u=Array(arguments.length),h=0;h0&&o>0||a<0&&o<0)return!1;var s=n(r,e,t),l=n(i,e,t);return(!(s>0)||!(l>0))&&(!(s<0)||!(l<0))&&(0!==a||0!==o||0!==s||0!==l||function(e,t,r,n){for(var i=0;i<2;++i){var a=e[i],o=t[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],h=Math.min(c,u);if(Math.max(c,u)=d?(s=_,(y+=1)=d?(s=_,(y+=1)>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a>1,c=t[2*l+1];if(c===a)return l;a0)-(e<0)},t.abs=function(e){var t=e>>31;return(e^t)-t},t.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,(t|=r)|e>>1},t.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},t.popCount=function(e){return e-=e>>>1&1431655765,((e=(858993459&e)+(e>>>2&858993459))+(e>>>4)&252645135)*16843009>>>24},t.countTrailingZeros=r,t.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)+1},t.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},t.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var n=Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|n[e>>>16&255]<<8|n[e>>>24&255]},t.interleave2=function(e,t){return e&=65535,t&=65535,(e=((e=((e=((e=(e|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)|(t=((t=((t=((t=(t|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)<<1},t.deinterleave2=function(e,t){return(e=((e=((e=((e=((e=e>>>t&1431655765)|e>>>1)&858993459)|e>>>2)&252645135)|e>>>4)&16711935)|e>>>16)&65535)<<16>>16},t.interleave3=function(e,t,r){return e&=1023,t&=1023,r&=1023,r=((r=((r=((r=(r|r<<16)&4278190335)|r<<8)&251719695)|r<<4)&3272356035)|r<<2)&1227133513,(e=((e=((e=((e=(e|e<<16)&4278190335)|e<<8)&251719695)|e<<4)&3272356035)|e<<2)&1227133513|(t=((t=((t=((t=(t|t<<16)&4278190335)|t<<8)&251719695)|t<<4)&3272356035)|t<<2)&1227133513)<<1)|r<<2},t.deinterleave3=function(e,t){return(e=((e=((e=((e=((e=e>>>t&1227133513)|e>>>2)&3272356035)|e>>>4)&251719695)|e>>>8)&4278190335)|e>>>16)&1023)<<22>>22},t.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>r(e)+1}},2014:function(e,t,r){var n=r(3105),i=r(4623);function a(e,t){var r=e.length,n=e.length-t.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return e[0]-t[0];case 2:var a=e[0]+e[1]-t[0]-t[1];if(a)return a;return i(e[0],e[1])-i(t[0],t[1]);case 3:var o=e[0]+e[1],s=t[0]+t[1];if(a=o+e[2]-(s+t[2]))return a;var l=i(e[0],e[1]),c=i(t[0],t[1]),a=i(l,e[2])-i(c,t[2]);if(a)return a;return i(l+e[2],o)-i(c+t[2],s);default:var u=e.slice(0);u.sort();var h=t.slice(0);h.sort();for(var f=0;f>1,s=a(e[o],t);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(e,t){for(var r=Array(e.length),i=0,o=r.length;i=e.length)&&0===a(e[g],s););}return r}function h(e,t){if(t<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);t.push(c)}return s(t)},t.skeleton=h,t.boundary=function(e){for(var t=[],r=0,n=e.length;r0;){var r,n=1&(r=e)?r-1>>1:(r>>1)-1;if(n>=0&&t0){var e=w[0];return g(0,k-1),k-=1,v(0),e}return -1}function b(e,t){var r=w[e];return c[r]===t?e:(c[r]=-1/0,x(e),_(),c[r]=t,x((k+=1)-1))}for(var w=[],T=Array(a),h=0;h>1;h>=0;--h)v(h);for(;;){var A=_();if(A<0||c[A]>r)break;!function(e){if(!u[e]){u[e]=!0;var t=s[e],r=l[e];s[r]>=0&&(s[r]=t),l[t]>=0&&(l[t]=r),T[t]>=0&&b(T[t],m(t)),T[r]>=0&&b(T[r],m(r))}}(A)}for(var M=[],h=0;h=0&&r>=0&&t!==r){var n=T[t],i=T[r];n!==i&&E.push([n,i])}}),i.unique(i.normalize(E)),{positions:M,edges:E}};var n=r(3250),i=r(2014)},1303:function(e,t,r){e.exports=function(e,t){if(t[0][0]t[1][0]))return i(t,e);r=t[1],a=t[0]}if(e[0][0]e[1][0]))return-i(e,t);o=e[1],s=e[0]}var r,a,o,s,l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=r(3250);function i(e,t){if(t[0][0]t[1][0])r=t[1],i=t[0];else{var r,i,a,o,s=Math.min(e[0][1],e[1][1]),l=Math.max(e[0][1],e[1][1]),c=Math.min(t[0][1],t[1][1]),u=Math.max(t[0][1],t[1][1]);return lu?s-u:l-u}e[0][1]0){if(t[0]!==o[1][0])r=e,e=e.right;else{var l=c(e.right,t);if(l)return l;e=e.left}}else{if(t[0]!==o[1][0])return e;var l=c(e.right,t);if(l)return l;e=e.left}}return r}function u(e,t,r,n){this.y=e,this.index=t,this.start=r,this.closed=n}function h(e,t,r,n){this.x=e,this.segment=t,this.create=r,this.index=n}s.prototype.castUp=function(e){var t=n.le(this.coordinates,e[0]);if(t<0)return -1;this.slabs[t];var r=c(this.slabs[t],e),i=-1;if(r&&(i=r.value),this.coordinates[t]===e[0]){var s=null;if(r&&(s=r.key),t>0){var u=c(this.slabs[t-1],e);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var h=this.horizontal[t];if(h.length>0){var f=n.ge(h,e[1],l);if(f=h.length)return i;p=h[f]}}if(p.start){if(s){var d=a(s[0],s[1],[e[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index}else p.y!==e[1]&&(i=p.index)}}}return i}},5202:function(e,t,r){var n=r(1944),i=r(8210);function a(e,t){var r=i(n(e,t),[t[t.length-1]]);return r[r.length-1]}function o(e,t,r,n){var i=-t/(n-t);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=e.length,s=Array(o),l=0;l0||i>0&&u<0){var h=o(s,u,l,i);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(e,t){for(var r=[],n=a(e[e.length-1],t),i=e[e.length-1],s=e[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},3387:function(e,t,r){var n;!function(){var i={not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(e){return function(e,t){var r,n,o,s,l,c,u,h,f,p=1,d=e.length,m="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?m+=r:(i.number.test(s.type)&&(!h||s.sign)?(f=h?"+":"-",r=r.toString().replace(i.sign,"")):f="",c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",m+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return m}(function(e){if(s[e])return s[e];for(var t,r=e,n=[],a=0;r;){if(null!==(t=i.text.exec(r)))n.push(t[0]);else if(null!==(t=i.modulo.exec(r)))n.push("%");else if(null!==(t=i.placeholder.exec(r))){if(t[2]){a|=1;var o=[],l=t[2],c=[];if(null!==(c=i.key.exec(l)))for(o.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=i.key_access.exec(l)))o.push(c[1]);else if(null!==(c=i.index_access.exec(l)))o.push(c[1]);else throw SyntaxError("[sprintf] failed to parse named argument key");else throw SyntaxError("[sprintf] failed to parse named argument key");t[2]=o}else a|=2;if(3===a)throw Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}else throw SyntaxError("[sprintf] unexpected placeholder");r=r.substring(t[0].length)}return s[e]=n}(e),arguments)}function o(e,t){return a.apply(null,[e].concat(t||[]))}var s=Object.create(null);t.sprintf=a,t.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0!==(n=(function(){return{sprintf:a,vsprintf:o}}).call(t,r,t,e))&&(e.exports=n))}()},3711:function(e,t,r){e.exports=function(e,t){if(e.dimension<=0)return{positions:[],cells:[]};if(1===e.dimension)return function(e,t){for(var r=i(e,t),n=r.length,a=Array(n),o=Array(n),s=0;sn|0},vertex:function(e,t,r,n,i,a,o,s,l,c,u,h,f){var p=(o<<0)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:u.push([e-.5,t-.5]);break;case 1:u.push([e-.25-.25*(n+r-2*f)/(r-n),t-.25-.25*(i+r-2*f)/(r-i)]);break;case 2:u.push([e-.75-.25*(-n-r+2*f)/(n-r),t-.25-.25*(a+n-2*f)/(n-a)]);break;case 3:u.push([e-.5,t-.5-.5*(i+r+a+n-4*f)/(r-i+n-a)]);break;case 4:u.push([e-.25-.25*(a+i-2*f)/(i-a),t-.75-.25*(-i-r+2*f)/(i-r)]);break;case 5:u.push([e-.5-.5*(n+r+a+i-4*f)/(r-n+i-a),t-.5]);break;case 6:u.push([e-.5-.25*(-n-r+a+i)/(n-r+i-a),t-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([e-.75-.25*(a+i-2*f)/(i-a),t-.75-.25*(a+n-2*f)/(n-a)]);break;case 8:u.push([e-.75-.25*(-a-i+2*f)/(a-i),t-.75-.25*(-a-n+2*f)/(a-n)]);break;case 9:u.push([e-.5-.25*(n+r+-a-i)/(r-n+a-i),t-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([e-.5-.5*(-n-r+-a-i+4*f)/(n-r+a-i),t-.5]);break;case 11:u.push([e-.25-.25*(-a-i+2*f)/(a-i),t-.75-.25*(i+r-2*f)/(r-i)]);break;case 12:u.push([e-.5,t-.5-.5*(-i-r+-a-n+4*f)/(i-r+a-n)]);break;case 13:u.push([e-.75-.25*(n+r-2*f)/(r-n),t-.25-.25*(-a-n+2*f)/(a-n)]);break;case 14:u.push([e-.25-.25*(-n-r+2*f)/(n-r),t-.25-.25*(-i-r+2*f)/(i-r)])}},cell:function(e,t,r,n,i,a,o,s,l){i?s.push([e,t]):s.push([t,e])}});return function(e,t){var r=[],i=[];return n(e,r,i,t),{positions:r,cells:i}}}},o={}},665:function(e,t,r){var n=r(3202);function i(e,t){var r=n(getComputedStyle(e).getPropertyValue(t));return r[0]*a(r[1],e)}function a(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":var r,n,a,o;return r=e,n=t,(a=document.createElement("div")).style["font-size"]="128"+r,n.appendChild(a),o=i(a,"font-size")/128,n.removeChild(a),o;case"em":return i(t,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}e.exports=a},7261:function(e,t,r){e.exports=function(e){var t=(e=e||{}).center||[0,0,0],r=e.up||[0,1,0],n=e.right||h(r),i=e.radius||1,a=e.theta||0,u=e.phi||0;if(t=[].slice.call(t,0,3),s(r=[].slice.call(r,0,3),r),s(n=[].slice.call(n,0,3),n),"eye"in e){var p=e.eye,d=[p[0]-t[0],p[1]-t[1],p[2]-t[2]];o(n,d,r),1e-6>c(n[0],n[1],n[2])?n=h(r):s(n,n),i=c(d[0],d[1],d[2]);var m=l(r,d)/i,g=l(n,d)/i;u=Math.acos(m),a=Math.acos(g)}return i=Math.log(i),new f(e.zoomMin,e.zoomMax,t,r,n,i,a,u)};var n=r(9215),i=r(7608),a=r(6079),o=r(5911),s=r(3536),l=r(244);function c(e,t,r){return Math.sqrt(Math.pow(e,2)+Math.pow(t,2)+Math.pow(r,2))}function u(e){return Math.min(1,Math.max(-1,e))}function h(e){var t=Math.abs(e[0]),r=Math.abs(e[1]),n=Math.abs(e[2]),i=[0,0,0];t>Math.max(r,n)?i[2]=1:r>Math.max(t,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=e[l]*e[l],o+=i[l]*e[l];for(var l=0;l<3;++l)i[l]-=o/a*e[l];return s(i,i),i}function f(e,t,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(e,t),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(e,t){e=e>0?Math.log(e):-1/0,t=Math.max(t=t>0?Math.log(t):1/0,e),this.radius.bounds[0][0]=e,this.radius.bounds[1][0]=t},p.getDistanceLimits=function(e){var t=this.radius.bounds[0];return e?(e[0]=Math.exp(t[0][0]),e[1]=Math.exp(t[1][0]),e):[Math.exp(t[0][0]),Math.exp(t[1][0])]},p.recalcMatrix=function(e){this.center.curve(e),this.up.curve(e),this.right.curve(e),this.radius.curve(e),this.angle.curve(e);for(var t=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=t[a]*r[a],n+=t[a]*t[a];for(var l=Math.sqrt(n),u=0,a=0;a<3;++a)r[a]-=t[a]*i/n,u+=r[a]*r[a],t[a]/=l;for(var h=Math.sqrt(u),a=0;a<3;++a)r[a]/=h;var f=this.computedToward;o(f,t,r),s(f,f);for(var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),v=Math.cos(m),x=Math.sin(m),_=this.computedCenter,b=g*v,w=y*v,T=-g*x,k=-y*x,A=this.computedEye,M=this.computedMatrix,a=0;a<3;++a){var S=b*r[a]+w*f[a]+x*t[a];M[4*a+1]=T*r[a]+k*f[a]+v*t[a],M[4*a+2]=S,M[4*a+3]=0}var E=M[1],C=M[5],L=M[9],I=M[2],P=M[6],z=M[10],O=C*z-L*P,D=L*I-E*z,R=E*P-C*I,F=c(O,D,R);O/=F,D/=F,R/=F,M[0]=O,M[4]=D,M[8]=R;for(var a=0;a<3;++a)A[a]=_[a]+M[2+4*a]*p;for(var a=0;a<3;++a){for(var u=0,j=0;j<3;++j)u+=M[a+4*j]*A[j];M[12+a]=-u}M[15]=1},p.getMatrix=function(e,t){this.recalcMatrix(e);var r=this.computedMatrix;if(t){for(var n=0;n<16;++n)t[n]=r[n];return t}return r};var d=[0,0,0];p.rotate=function(e,t,r,n){if(this.angle.move(e,t,r),n){this.recalcMatrix(e);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(var c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(e,o[0],o[1],o[2]),this.right.set(e,s[0],s[1],s[2])}},p.pan=function(e,t,r,n){t=t||0,r=r||0,n=n||0,this.recalcMatrix(e);var i=this.computedMatrix;this.computedRadius[0];var a=i[1],o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=c(u-=a*p,h-=o*p,f-=s*p),m=(u/=d)*t+a*r,g=(h/=d)*t+o*r,y=(f/=d)*t+s*r;this.center.move(e,m,g,y);var v=Math.exp(this.computedRadius[0]);v=Math.max(1e-4,v+n),this.radius.set(e,Math.log(v))},p.translate=function(e,t,r,n){this.center.move(e,t||0,r||0,n||0)},p.setMatrix=function(e,t,r,n){var a,o,s=1;"number"==typeof r&&(s=0|r),(s<0||s>3)&&(s=1);var l=(s+2)%3;t||(this.recalcMatrix(e),t=this.computedMatrix);var h=t[s],f=t[s+4],p=t[s+8];if(n){var d=Math.abs(h),m=Math.abs(p),g=Math.max(d,Math.abs(f),m);d===g?(h=h<0?-1:1,f=p=0):m===g?(p=p<0?-1:1,h=f=0):(f=f<0?-1:1,h=p=0)}else{var y=c(h,f,p);h/=y,f/=y,p/=y}var v=t[l],x=t[l+4],_=t[l+8],b=v*h+x*f+_*p,w=c(v-=h*b,x-=f*b,_-=p*b);v/=w,x/=w;var T=f*(_/=w)-p*x,k=p*v-h*_,A=h*x-f*v,M=c(T,k,A);if(T/=M,k/=M,A/=M,this.center.jump(e,q,H,G),this.radius.idle(e),this.up.jump(e,h,f,p),this.right.jump(e,v,x,_),2===s){var S=t[1],E=t[5],C=t[9],L=S*v+E*x+C*_,I=S*T+E*k+C*A;a=D<0?-Math.PI/2:Math.PI/2,o=Math.atan2(I,L)}else{var P=t[2],z=t[6],O=t[10],D=P*h+z*f+O*p,R=P*v+z*x+O*_,F=P*T+z*k+O*A;a=Math.asin(u(D)),o=Math.atan2(F,R)}this.angle.jump(e,o,a),this.recalcMatrix(e);var j=t[2],B=t[6],N=t[10],U=this.computedMatrix;i(U,t);var V=U[15],q=U[12]/V,H=U[13]/V,G=U[14]/V,Z=Math.exp(this.computedRadius[0]);this.center.jump(e,q-j*Z,H-B*Z,G-N*Z)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(e){this.center.idle(e),this.up.idle(e),this.right.idle(e),this.radius.idle(e),this.angle.idle(e)},p.flush=function(e){this.center.flush(e),this.up.flush(e),this.right.flush(e),this.radius.flush(e),this.angle.flush(e)},p.setDistance=function(e,t){t>0&&this.radius.set(e,Math.log(t))},p.lookAt=function(e,t,r,n){this.recalcMatrix(e),t=t||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=t[0]-r[0],h=t[1]-r[1],f=t[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,m=d[0],g=d[1],y=d[2],v=i*m+a*g+o*y,x=c(m-=v*i,g-=v*a,y-=v*o);if(!(x<.01&&(x=c(m=a*f-o*h,g=o*l-i*f,y=i*h-a*l))<1e-6)){m/=x,g/=x,y/=x,this.up.set(e,i,a,o),this.right.set(e,m,g,y),this.center.set(e,r[0],r[1],r[2]),this.radius.set(e,Math.log(p));var _=a*y-o*g,b=o*m-i*y,w=i*g-a*m,T=c(_,b,w),k=i*l+a*h+o*f,A=m*l+g*h+y*f,M=(_/=T)*l+(b/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,L=C[C.length-1],I=C[C.length-2],P=Math.abs((L%=2*Math.PI)+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);P0?t.pop():new ArrayBuffer(e)}function d(e){return new Uint8Array(p(e),0,e)}function m(e){return new Uint16Array(p(2*e),0,e)}function g(e){return new Uint32Array(p(4*e),0,e)}function y(e){return new Int8Array(p(e),0,e)}function v(e){return new Int16Array(p(2*e),0,e)}function x(e){return new Int32Array(p(4*e),0,e)}function _(e){return new Float32Array(p(4*e),0,e)}function b(e){return new Float64Array(p(8*e),0,e)}function w(e){return o?new Uint8ClampedArray(p(e),0,e):d(e)}function T(e){return s?new BigUint64Array(p(8*e),0,e):null}function k(e){return l?new BigInt64Array(p(8*e),0,e):null}function A(e){return new DataView(p(e),0,e)}function M(e){e=n.nextPow2(e);var t=h[n.log2(e)];return t.length>0?t.pop():new a(e)}t.free=function(e){if(a.isBuffer(e))h[n.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var t=e.length||e.byteLength;u[0|n.log2(t)].push(e)}},t.freeUint8=t.freeUint16=t.freeUint32=t.freeBigUint64=t.freeInt8=t.freeInt16=t.freeInt32=t.freeBigInt64=t.freeFloat32=t.freeFloat=t.freeFloat64=t.freeDouble=t.freeUint8Clamped=t.freeDataView=function(e){f(e.buffer)},t.freeArrayBuffer=f,t.freeBuffer=function(e){h[n.log2(e.length)].push(e)},t.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return p(e);switch(t){case"uint8":return d(e);case"uint16":return m(e);case"uint32":return g(e);case"int8":return y(e);case"int16":return v(e);case"int32":return x(e);case"float":case"float32":return _(e);case"double":case"float64":return b(e);case"uint8_clamped":return w(e);case"bigint64":return k(e);case"biguint64":return T(e);case"buffer":return M(e);case"data":case"dataview":return A(e)}return null},t.mallocArrayBuffer=p,t.mallocUint8=d,t.mallocUint16=m,t.mallocUint32=g,t.mallocInt8=y,t.mallocInt16=v,t.mallocInt32=x,t.mallocFloat32=t.mallocFloat=_,t.mallocFloat64=t.mallocDouble=b,t.mallocUint8Clamped=w,t.mallocBigUint64=T,t.mallocBigInt64=k,t.mallocDataView=A,t.mallocBuffer=M,t.clearCache=function(){for(var e=0;e<32;++e)c.UINT8[e].length=0,c.UINT16[e].length=0,c.UINT32[e].length=0,c.INT8[e].length=0,c.INT16[e].length=0,c.INT32[e].length=0,c.FLOAT[e].length=0,c.DOUBLE[e].length=0,c.BIGUINT64[e].length=0,c.BIGINT64[e].length=0,c.UINT8C[e].length=0,u[e].length=0,h[e].length=0}},1755:function(e){function t(e){this.roots=Array(e),this.ranks=Array(e);for(var t=0;t0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter(function(e){return e}).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",h(function(e,t,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s,l,u,h,f,p="",d=[];for(l=0;l-1?parseInt(e[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(M(),"?px "),f*=Math.pow(.75,l-s),n=n.replace("?px ",M())),h+=.25*x*(l-s)}if(!0===o.superscripts){var c=e.indexOf("+"),u=r.indexOf("+"),p=c>-1?parseInt(e[1+c]):0,d=u>-1?parseInt(r[1+u]):0;p!==d&&(n=n.replace(M(),"?px "),f*=Math.pow(.75,d-p),n=n.replace("?px ",M())),h-=.25*x*(d-p)}if(!0===o.bolds){var m=e.indexOf("b|")>-1,g=r.indexOf("b|")>-1;!m&&g&&(n=y?n.replace("italic ","italic bold "):"bold "+n),m&&!g&&(n=n.replace("bold ",""))}if(!0===o.italics){var y=e.indexOf("i|")>-1,v=r.indexOf("i|")>-1;!y&&v&&(n="italic "+n),y&&!v&&(n=n.replace("italic ",""))}t.font=n}(p,E),p=E))}A(),T+=S.length;var C=0|Math.round(u+2*n);b",a="",o=i.length,s=a.length,l="+"===t[0]||"-"===t[0],c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(t[0]);-1===f?n[h]+=t:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,d=r.substr(p,u-p).indexOf(i);c=-1!==d?d:u+s}return n}function u(e,t,r,i){var c,u=(c=n(e,128),i?a(c.cells,c.positions,.25):{edges:c.cells,positions:c.positions}),h=function(e,t,r){for(var n=t.textAlign||"start",i=t.textBaseline||"alphabetic",a=[1073741824,1073741824],o=[0,0],s=e.length,l=0;l=0?t[a]:i})},has___:{value:b(function(t){var n=_(t);return n?r in n:e.indexOf(t)>=0})},set___:{value:b(function(n,i){var a,o=_(n);return o?o[r]=i:(a=e.indexOf(n))>=0?t[a]=i:(t[a=e.length]=i,e[a]=n),this})},delete___:{value:b(function(n){var i,a,o=_(n);return o?r in o&&delete o[r]:!((i=e.indexOf(n))<0)&&(a=e.length-1,e[i]=void 0,t[i]=t[a],e[i]=e[a],e.length=a,t.length=a,!0)})}})};y.prototype=Object.create(Object.prototype,{get:{value:function(e,t){return this.get___(e,t)},writable:!0,configurable:!0},has:{value:function(e){return this.has___(e)},writable:!0,configurable:!0},set:{value:function(e,t){return this.set___(e,t)},writable:!0,configurable:!0},delete:{value:function(e){return this.delete___(e)},writable:!0,configurable:!0}}),"function"==typeof a?function(){function t(){this instanceof y||w();var e,t=new a,r=void 0,n=!1;return e=i?function(e,n){return t.set(e,n),t.has(e)||(r||(r=new y),r.set(e,n)),this}:function(e,i){if(n)try{t.set(e,i)}catch(t){r||(r=new y),r.set___(e,i)}else t.set(e,i);return this},Object.create(y.prototype,{get___:{value:b(function(e,n){return r?t.has(e)?t.get(e):r.get___(e,n):t.get(e,n)})},has___:{value:b(function(e){return t.has(e)||!!r&&r.has___(e)})},set___:{value:b(e)},delete___:{value:b(function(e){var n=!!t.delete(e);return r&&r.delete___(e)||n})},permitHostObjects___:{value:b(function(e){if(e===v)n=!0;else throw Error("bogus call to permitHostObjects___")})}})}i&&"undefined"!=typeof Proxy&&(Proxy=void 0),t.prototype=y.prototype,e.exports=t,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=y)}function v(e){e.permitHostObjects___&&e.permitHostObjects___(v)}function x(e){return!(e.substr(0,h.length)==h&&"___"===e.substr(e.length-3))}function _(e){if(e!==Object(e))throw TypeError("Not an object: "+e);var t=e[f];if(t&&t.key===e)return t;if(u(e)){t={key:e};try{return c(e,f,{value:t,writable:!1,enumerable:!1,configurable:!1}),t}catch(e){return}}}function b(e){return e.prototype=null,Object.freeze(e)}function w(){m||"undefined"==typeof console||(m=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(e,t,r){var n=r(8284);e.exports=function(){var e={};return function(t){if(("object"!=typeof t||null===t)&&"function"!=typeof t)throw Error("Weakmap-shim: Key must be object");var r=t.valueOf(e);return r&&r.identity===e?r:n(t,e)}}},8284:function(e){e.exports=function(e,t){var r={identity:t},n=e.valueOf;return Object.defineProperty(e,"valueOf",{value:function(e){return e!==t?n.apply(this,arguments):r},writable:!0}),r}},606:function(e,t,r){var n=r(236);e.exports=function(){var e=n();return{get:function(t,r){var n=e(t);return n.hasOwnProperty("value")?n.value:r},set:function(t,r){return e(t).value=r,this},has:function(t){return"value"in e(t)},delete:function(t){return delete e(t).value}}}},3349:function(e){var t,r;e.exports=(t=(function(){return function(e,t,r,n,i,a){var o=e[0],s=r[0],l=[0];n|=0;var c=0;for(c=0;c=0!=h>=0&&i.push(l[0]+.5+.5*(u+h)/(u-h)),n+=s,++l[0]}}}).bind(void 0,{funcName:"zeroCrossings"}),r={},function(e,n,i){var a=e.dtype,o=e.order,s=[a,o.join()].join(),l=r[s];return l||(r[s]=l=t([a,o])),l(e.shape.slice(0),e.data,e.stride,0|e.offset,n,i)})},781:function(e,t,r){e.exports=function(e,t){var r=[];return t=+t||0,n(e.hi(e.shape[0]-1),r,t),r};var n=r(3349)},7790:function(){}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var i=n(1964);t.exports=i}()}}),fV=ed({"node_modules/color-name/index.js"(e,t){t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}}),fq=ed({"node_modules/color-normalize/node_modules/color-parse/index.js"(e,t){var r=fV();t.exports=function(e){var t,i,a=[],o=1;if("string"==typeof e){if(r[e=e.toLowerCase()])a=r[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var s=e.slice(1),l=s.length;o=1,l<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i="rgb"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var c=t[1],s=c.replace(/a$/,"");i=s;var l="cmyk"===s?4:"gray"===s?1:3;a=t[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(e,t){if(/%$/.test(e)){if(t===l)return parseFloat(e)/100;if("rgb"===s)return 255*parseFloat(e)/100}else if("h"===s[t]){if(/deg$/.test(e));else if(void 0!==n[e])return n[e]}return parseFloat(e)}),c===s&&a.push(1),o="rgb"===c?1:void 0===a[l]?1:a[l],a=a.slice(0,l)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(a=e.match(/([0-9]+)/g).map(function(e){return parseFloat(e)}),i=e.match(/([a-z])/ig).join("").toLowerCase())}else isNaN(e)?Array.isArray(e)||e.length?(a=[e[0],e[1],e[2]],i="rgb",o=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(i="rgb",a=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i="hsl",a=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),o=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(o/=100)):(i="rgb",a=[e>>>16,(65280&e)>>>8,255&e]);return{space:i,values:a,alpha:o}};var n={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),fH=ed({"node_modules/color-normalize/node_modules/color-rgba/index.js"(e,t){var r=fq();t.exports=function(e){Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var t,n=r(e);if(!n.space)return[];var i="h"===n.space[0]?[360,100,100]:[255,255,255];return(t=[,,,])[0]=Math.min(Math.max(n.values[0],0),i[0]),t[1]=Math.min(Math.max(n.values[1],0),i[1]),t[2]=Math.min(Math.max(n.values[2],0),i[2]),"h"===n.space[0]&&(t=function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(r=l<.5?l*(1+s):l+s-l*s,t=2*l-r,i=[0,0,0];c<3;)(n=o+-(1/3*(c-1)))<0?n++:n>1&&n--,a=6*n<1?t+(r-t)*6*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}(t)),t.push(Math.min(Math.max(n.alpha,0),1)),t}}}),fG=ed({"node_modules/clamp/index.js"(e,t){t.exports=function(e,t,r){return tr?r:e:et?t:e}}}),fZ=ed({"node_modules/dtype/index.js"(e,t){t.exports=function(e){switch(e){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}}}),fW=ed({"node_modules/color-normalize/index.js"(e,t){var r=fH(),n=fG(),i=fZ();t.exports=function(e,t){"float"!==t&&t||(t="array"),"uint"===t&&(t="uint8"),"uint_clamped"===t&&(t="uint8_clamped");var a,o=new(i(t))(4),s="uint8"!==t&&"uint8_clamped"!==t;return(e.length&&"string"!=typeof e||(e=r(e),e[0]/=255,e[1]/=255,e[2]/=255),(a=e)instanceof Uint8Array||a instanceof Uint8ClampedArray||Array.isArray(a)&&(a[0]>1||0===a[0])&&(a[1]>1||0===a[1])&&(a[2]>1||0===a[2])&&(!a[3]||a[3]>1))?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:255,s&&(o[0]/=255,o[1]/=255,o[2]/=255,o[3]/=255)):s?(o[0]=e[0],o[1]=e[1],o[2]=e[2],o[3]=null!=e[3]?e[3]:1):(o[0]=n(Math.floor(255*e[0]),0,255),o[1]=n(Math.floor(255*e[1]),0,255),o[2]=n(Math.floor(255*e[2]),0,255),o[3]=null==e[3]?255:n(Math.floor(255*e[3]),0,255)),o}}}),fY=ed({"src/lib/str2rgbarray.js"(e,t){var r=fW();t.exports=function(e){return e?r(e):[0,0,0,1]}}}),fX=ed({"src/lib/gl_format_color.js"(e,t){var r=eM(),n=eF(),i=fW(),a=rE(),o=eG().defaultLine,s=eL().isArrayOrTypedArray,l=i(o);function c(e){if(r(e))return l;var t=i(e);return t.length?t:l}function u(e){return r(e)?e:1}t.exports={formatColor:function(e,t,r){var n,o,h,f,p,d,m=e.color;m&&m._inputArray&&(m=m._inputArray);var g=s(m),y=s(t),v=a.extractOpts(e),x=[];if(o=void 0!==v.colorscale?a.makeColorScaleFuncFromTrace(e):c,h=g?function(e,t){return void 0===e[t]?l:i(o(e[t]))}:c,f=y?function(e,t){return void 0===e[t]?1:u(e[t])}:u,g||y)for(var _=0;_0){var f=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=f),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,f)}}else o[s]=[-l[0]*n,l[1]*n]}return o}t.exports=function(e,t,r){var i=[n(e.x,e.error_x,t[0],r.xaxis),n(e.y,e.error_y,t[1],r.yaxis),n(e.z,e.error_z,t[2],r.zaxis)],a=function(e){for(var t=0;t-1?-1:e.indexOf("right")>-1?1:0}function x(e){return null==e?0:e.indexOf("top")>-1?-1:e.indexOf("bottom")>-1?1:0}function _(e,t){return t(4*e)}function b(e){return f[e]}function w(e,t,r,n,i){var a=null;if(s.isArrayOrTypedArray(e)){a=[];for(var o=0;o=0){var E=function(e,t,r){var n,i=(r+1)%3,a=(r+2)%3,s=[],l=[];for(n=0;n=0&&h("surfacecolor",g||y);for(var v=["x","y","z"],x=0;x<3;++x){var _="projection."+v[x];h(_+".show")&&(h(_+".opacity"),h(_+".scale"))}var b=r.getComponentMethod("errorbars","supplyDefaults");b(e,t,g||y||c,{axis:"z"}),b(e,t,g||y||c,{axis:"y",inherit:"z"}),b(e,t,g||y||c,{axis:"x",inherit:"z"})}}}),f2=ed({"src/traces/scatter3d/calc.js"(e,t){var r=i_(),n=ix();t.exports=function(e,t){var i=[{x:!1,y:!1,trace:t,t:{}}];return r(i,t),n(e,t),i}}}),f3=ed({"node_modules/get-canvas-context/index.js"(e,t){t.exports=function(e,t){if("string"!=typeof e)throw TypeError("must specify type string");if(t=t||{},"undefined"==typeof document&&!t.canvas)return null;var r,n=t.canvas||document.createElement("canvas");"number"==typeof t.width&&(n.width=t.width),"number"==typeof t.height&&(n.height=t.height);var i=t;try{var a=[e];0===e.indexOf("webgl")&&a.push("experimental-"+e);for(var o=0;o/g," "));l[c]=p,u.tickmode=h}}t.ticks=l;for(var c=0;c<3;++c){a[c]=.5*(e.glplot.bounds[0][c]+e.glplot.bounds[1][c]);for(var d=0;d<2;++d)t.bounds[d][c]=e.glplot.bounds[d][c]}e.contourLevels=function(e){for(var t=[,,,],r=0;r<3;++r){for(var n=e[r],i=Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=e.glplot.getAspectratio();e.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(e)}},!!l&&{passive:!1}),e.glplot.canvas.addEventListener("mousemove",function(){if(!1!==e.fullSceneLayout.dragmode&&0!==e.camera.mouseListener.buttons){var t=n();e.graphDiv.emit("plotly_relayouting",t)}}),e.staticMode||e.glplot.canvas.addEventListener("webglcontextlost",function(r){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:r,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0},T.render=function(){var e=this,t=e.graphDiv,r=e.svgContainer,n=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var i=t._fullLayout._invScaleX,a=t._fullLayout._invScaleY,o=n.width*i,s=n.height*a;r.setAttributeNS(null,"viewBox","0 0 "+o+" "+s),r.setAttributeNS(null,"width",o),r.setAttributeNS(null,"height",s),x(e),e.glplot.axes.update(e.axesOptions);for(var l=Object.keys(e.traces),c=null,h=e.glplot.selection,d=0;d")):"isosurface"===y.type||"volume"===y.type?(k.valueLabel=f.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),y.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),v=E.join("
")):v=h.textLabel;var C={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:w._input,fullData:w,curveNumber:w.index,pointNumber:T};p.appendArrayPointValue(C,w,T),y._module.eventData&&(C=w._module.eventData(C,h,w,{},T));var L={points:[C]};if(e.fullSceneLayout.hovermode){var I=[];p.loneHover({trace:w,x:(.5+.5*_[0]/_[3])*o,y:(.5-.5*_[1]/_[3])*s,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:v,name:c.name,color:p.castHoverOption(w,T,"bgcolor")||c.color,borderColor:p.castHoverOption(w,T,"bordercolor"),fontFamily:p.castHoverOption(w,T,"font.family"),fontSize:p.castHoverOption(w,T,"font.size"),fontColor:p.castHoverOption(w,T,"font.color"),nameLength:p.castHoverOption(w,T,"namelength"),textAlign:p.castHoverOption(w,T,"align"),hovertemplate:u.castOption(w,T,"hovertemplate"),hovertemplateLabels:u.extendFlat({},C,k),eventData:[C]},{container:r,gd:t,inOut_bbox:I}),C.bbox=I[0]}h.distance<5&&(h.buttons||b)?t.emit("plotly_click",L):t.emit("plotly_hover",L),this.oldEventData=L}else p.loneUnhover(r),this.oldEventData&&t.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},T.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){u.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var A=["xaxis","yaxis","zaxis"];T.plot=function(e,t,r){var n;if(this.plotArgs=[e,t,r],!this.glplot.contextLost){var i=t[this.id],a=r[this.id];this.fullLayout=t,this.fullSceneLayout=i,this.axesOptions.merge(t,i),this.spikeOptions.merge(i),this.setViewport(i),this.updateFx(i.dragmode,i.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.setClearColor(d(i.bgcolor)),this.setConvert(v),e?Array.isArray(e)||(e=[e]):e=[];var o=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(g=0;gc[1][g])c[0][g]=-1,c[1][g]=1;else{var I=c[1][g]-c[0][g];c[0][g]-=I/32,c[1][g]+=I/32}if(b=_(b=[c[0][g],c[1][g]],v),c[0][g]=b[0],c[1][g]=b[1],v.isReversed()){var P=c[0][g];c[0][g]=c[1][g],c[1][g]=P}}else b=v.range,c[0][g]=v.r2l(b[0]),c[1][g]=v.r2l(b[1]);c[0][g]===c[1][g]&&(c[0][g]-=1,c[1][g]+=1),h[g]=c[1][g]-c[0][g],v.range=[c[0][g],c[1][g]],v.limitRange(),this.glplot.setBounds(g,{min:v.range[0]*s[g],max:v.range[1]*s[g]})}var z=i.aspectmode;if("cube"===z)n=[1,1,1];else if("manual"===z){var O=i.aspectratio;n=[O.x,O.y,O.z]}else if("auto"===z||"data"===z){var D=[1,1,1];for(g=0;g<3;++g){var R=f[x=(v=i[A[g]]).type];D[g]=Math.pow(R.acc,1/R.count)/s[g]}n="data"===z?D:Math.max.apply(null,D)/Math.min.apply(null,D)<=4?D:[1,1,1]}else throw Error("scene.js aspectRatio was not one of the enumerated types");i.aspectratio.x=a.aspectratio.x=n[0],i.aspectratio.y=a.aspectratio.y=n[1],i.aspectratio.z=a.aspectratio.z=n[2],this.glplot.setAspectratio(i.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:i.aspectratio.x,y:i.aspectratio.y,z:i.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=i.aspectmode);var F=i.domain||null,j=t._size||null;if(F&&j){var B=this.container.style;B.position="absolute",B.left=j.l+F.x[0]*j.w+"px",B.top=j.t+(1-F.y[1])*j.h+"px",B.width=j.w*(F.x[1]-F.x[0])+"px",B.height=j.h*(F.y[1]-F.y[0])+"px"}this.glplot.redraw()}},T.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},T.getCamera=function(){var e;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(e=this.camera).up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:!0===e._ortho?"orthographic":"perspective"}}},T.setViewport=function(e){var t=e.camera;this.camera.lookAt.apply(this,[[t.eye.x,t.eye.y,t.eye.z],[t.center.x,t.center.y,t.center.z],[t.up.x,t.up.y,t.up.z]]),this.glplot.setAspectratio(e.aspectratio),"orthographic"===t.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},T.isCameraChanged=function(e){var t=this.getCamera(),r=u.nestedProperty(e,this.id+".camera").get(),n=!1;if(void 0===r)n=!0;else{for(var i=0;i<3;i++)for(var a=0;a<3;a++)if(!function(e,t,r,n){var i=["up","center","eye"],a=["x","y","z"];return t[i[r]]&&e[i[r]][a[n]]===t[i[r]][a[n]]}(t,r,i,a)){n=!0;break}(!r.projection||t.projection&&t.projection.type!==r.projection.type)&&(n=!0)}return n},T.isAspectChanged=function(e){var t=this.glplot.getAspectratio(),r=u.nestedProperty(e,this.id+".aspectratio").get();return void 0===r||r.x!==t.x||r.y!==t.y||r.z!==t.z},T.saveLayout=function(e){var t,r,n,i,a,o,s=this.fullLayout,l=this.isCameraChanged(e),h=this.isAspectChanged(e),f=l||h;if(f){var p={};l&&(t=this.getCamera(),n=(r=u.nestedProperty(e,this.id+".camera")).get(),p[this.id+".camera"]=n),h&&(i=this.glplot.getAspectratio(),o=(a=u.nestedProperty(e,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",e,s._preGUI,p),l&&(r.set(t),u.nestedProperty(s,this.id+".camera").set(t)),h&&(a.set(i),u.nestedProperty(s,this.id+".aspectratio").set(i),this.glplot.redraw())}return f},T.updateFx=function(e,t){var r=this.camera;if(r){if("orbit"===e)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===e){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,i=n._fullLayout,a=this.fullSceneLayout.camera,o=a.up.x,s=a.up.y,l=a.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var h=this.id+".camera.up",f={x:0,y:0,z:1},p={};p[h]=f;var d=n.layout;c.call("_storeDirectGUIEdit",d,i._preGUI,p),a.up=f,u.nestedProperty(d,h).set(f)}}else r.keyBindingMode=e}this.fullSceneLayout.hovermode=t},T.toImage=function(e){e||(e="png"),this.staticMode&&this.container.appendChild(r),this.glplot.redraw();var t,n=this.glplot.gl,i=n.drawingBufferWidth,a=n.drawingBufferHeight;n.bindFramebuffer(n.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);n.readPixels(0,0,i,a,n.RGBA,n.UNSIGNED_BYTE,o),function(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l=s.getContext("2d",{willReadFrequently:!0}),c=l.createImageData(i,a);switch(c.data.set(o),l.putImageData(c,0,0),e){case"jpeg":t=s.toDataURL("image/jpeg");break;case"webp":t=s.toDataURL("image/webp");break;default:t=s.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(r),t},T.setConvert=function(){for(var e=0;e<3;e++){var t=this.fullSceneLayout[A[e]];f.setConvert(t,this.fullLayout),t.setScale=u.noop}},T.make4thDimension=function(){var e=this.graphDiv._fullLayout;this._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(this._mockAxis,e)},t.exports=w}}),pe=ed({"src/plots/gl3d/layout/attributes.js"(e,t){t.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}}}),pt=ed({"src/plots/gl3d/layout/axis_attributes.js"(e,t){var r=eZ(),n=rh(),i=ej().extendFlat,a=tk().overrideAll;t.exports=a({visible:n.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:r.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:n.color,categoryorder:n.categoryorder,categoryarray:n.categoryarray,title:{text:n.title.text,font:n.title.font},type:i({},n.type,{values:["-","linear","log","date","category"]}),autotypenumbers:n.autotypenumbers,autorange:n.autorange,autorangeoptions:{minallowed:n.autorangeoptions.minallowed,maxallowed:n.autorangeoptions.maxallowed,clipmin:n.autorangeoptions.clipmin,clipmax:n.autorangeoptions.clipmax,include:n.autorangeoptions.include,editType:"plot"},rangemode:n.rangemode,minallowed:n.minallowed,maxallowed:n.maxallowed,range:i({},n.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:n.minor.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:n.ticks,mirror:n.mirror,ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,tickfont:n.tickfont,tickangle:n.tickangle,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,showexponent:n.showexponent,exponentformat:n.exponentformat,minexponent:n.minexponent,separatethousands:n.separatethousands,tickformat:n.tickformat,tickformatstops:n.tickformatstops,hoverformat:n.hoverformat,showline:n.showline,linecolor:n.linecolor,linewidth:n.linewidth,showgrid:n.showgrid,gridcolor:i({},n.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:n.gridwidth,zeroline:n.zeroline,zerolinecolor:n.zerolinecolor,zerolinewidth:n.zerolinewidth},"plot","from-root")}}),pr=ed({"src/plots/gl3d/layout/layout_attributes.js"(e,t){var r=pt(),n=aI().attributes,i=ej().extendFlat,a=tQ().counterRegex;function o(e,t,r){return{x:{valType:"number",dflt:e,editType:"camera"},y:{valType:"number",dflt:t,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[a("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(o(0,0,1),{}),center:i(o(0,0,0),{}),eye:i(o(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:n({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:r,yaxis:r,zaxis:r,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot"}}}),pn=ed({"src/plots/gl3d/layout/axis_defaults.js"(e,t){var r=eF().mix,n=tQ(),i=t7(),a=pt(),o=iF(),s=iN(),l=["xaxis","yaxis","zaxis"];t.exports=function(e,t,c){var u,h;function f(e,t){return n.coerce(u,h,a,e,t)}for(var p=0;p.999&&(g="turntable"):g="turntable")}else g="turntable"}r("dragmode",g),r("hovermode",a.getDfltFromLayout("hovermode"))}t.exports=function(e,t,n){var i=t._basePlotModules.length>1;a(e,t,n,{type:c,attributes:s,handleDefaults:u,fullLayout:t,font:t.font,fullData:n,getDfltFromLayout:function(t){if(!i&&r.validate(e[t],s[t]))return e[t]},autotypenumbersDflt:t.autotypenumbers,paper_bgcolor:t.paper_bgcolor,calendar:t.calendar})}}}),pa=ed({"src/plots/gl3d/index.js"(e){var t=tk().overrideAll,r=eU(),n=f9(),i=rn().getSubplotData,a=tQ(),o=ro(),s="gl3d",l="scene";e.name=s,e.attr=l,e.idRoot=l,e.idRegex=e.attrRegex=a.counterRegex("scene"),e.attributes=pe(),e.layoutAttributes=pr(),e.baseLayoutAttrOverrides=t({hoverlabel:r.hoverlabel},"plot","nested"),e.supplyLayoutDefaults=pi(),e.plot=function(e){for(var t=e._fullLayout,r=e._fullData,a=t._subplots[s],o=0;o720;)r--,r/=function(e){for(var t=d(e),r=e,n=0;n0){r=p[n];break}return r}(r),++r<120&&(r=720);var n=Math.round(r/e);return n>1?n:1},f.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,a=e[0].shape[0],o=e[0].shape[1],s=0|Math.floor(e[0].shape[0]*t+1),l=0|Math.floor(e[0].shape[1]*r+1),c=1+a+1,u=1+o+1,h=n(new Float32Array(c*u),[c,u]),f=[1/t,0,0,0,1/r,0,0,0,1],p=0;p0&&null!==this.contourStart[e]&&null!==this.contourEnd[e]&&this.contourEnd[e]>this.contourStart[e]))for(i[e]=!0,t=this.contourStart[e];tf&&(this.minValues[i]=f),this.maxValues[i]l&&(t.isomin=null,t.isomax=null);var c=o("x"),u=o("y"),h=o("z"),f=o("value");if(!c||!c.length||!u||!u.length||!h||!h.length||!f||!f.length){t.visible=!1;return}n.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],i),o("valuehoverformat"),["x","y","z"].forEach(function(e){o(e+"hoverformat");var t="caps."+e;o(t+".show")&&o(t+".fill");var r="slices."+e;o(r+".show")&&(o(r+".fill"),o(r+".locations"))}),o("spaceframe.show")&&o("spaceframe.fill"),o("surface.show")&&(o("surface.count"),o("surface.fill"),o("surface.pattern")),o("contour.show")&&(o("contour.color"),o("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(e){o(e)}),a(e,t,i,o,{prefix:"",cLetter:"c"}),t._length=null}t.exports={supplyDefaults:function(e,t,n,a){o(e,t,n,a,function(n,a){return r.coerce(e,t,i,n,a)})},supplyIsoDefaults:o}}}),py=ed({"src/traces/streamtube/calc.js"(e,t){var r=tQ(),n=rS();function i(e){var t,n,i,o,s,l,c,u,h,f,p,d,m=e._x,g=e._y,y=e._z,v=e._len,x=-1/0,_=1/0,b=-1/0,w=1/0,T=-1/0,k=1/0,A="";for(v&&(c=m[0],h=g[0],p=y[0]),v>1&&(u=m[v-1],f=g[v-1],d=y[v-1]),t=0;tu?"-":"+")+"x")).replace("y",(h>f?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){v=0,M=[],S=[],E=[]};(!v||v0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function z(l,c,u){r=t;var h=[c],f=[u];if(s>=1)h=[c],f=[u];else if(s>0){var p,d,m,y,v,x,_,b,w,T,k,A,M,S=(p=c,d=u,b=I(x=function(e,t,r){for(var n=[],i=0;i-1?u[D]:function(e,t,s){for(var l=o.length,c=r;c-1?O[D]=N:O[D]=L(R,F,j,null===l?B:l)}C=O[0],P=O[1],z=O[2],e._meshI.push(C),e._meshJ.push(P),e._meshK.push(z),++g}}function O(e,t,r,n){var i=e[3];in&&(i=n);for(var a=(e[3]-i)/(e[3]-t[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*e[s]+a*t[s];return o}function D(e){var t=.001*(E-S);return e>=S-t&&e<=E+t}function R(t){for(var r=[],n=0;n<4;n++){var i=t[n];r.push([e._x[i],e._y[i],e._z[i],e._value[i]])}return r}function F(e,t,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o,s,l,c=!1,u=[(o=t[0][3])>=n&&o<=i,(s=t[1][3])>=n&&s<=i,(l=t[2][3])>=n&&l<=i];if(!u[0]&&!u[1]&&!u[2])return!1;var h=function(e,t,r){return D(t[0][3])&&D(t[1][3])&&D(t[2][3])?(z(e,t,r),!0):a<3&&F(e,t,r,S,E,++a)};if(u[0]&&u[1]&&u[2])return h(e,t,r)||c;var f=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(a){if(u[a[0]]&&u[a[1]]&&!u[a[2]]){var o=t[a[0]],s=t[a[1]],l=t[a[2]],p=O(l,o,n,i),d=O(l,s,n,i);c=h(e,[d,p,o],[-1,-1,r[a[0]]])||c,c=h(e,[o,s,d],[r[a[0]],r[a[1]],-1])||c,f=!0}}),f||[[0,1,2],[1,2,0],[2,0,1]].forEach(function(a){if(u[a[0]]&&!u[a[1]]&&!u[a[2]]){var o=t[a[0]],s=t[a[1]],l=t[a[2]],p=O(s,o,n,i);c=h(e,[O(l,o,n,i),p,o],[-1,-1,r[a[0]]])||c,f=!0}}),c}function j(e,t,r,n){var i,a,o,s,l,c=!1,u=R(t),h=[(i=u[0][3])>=r&&i<=n,(a=u[1][3])>=r&&a<=n,(o=u[2][3])>=r&&o<=n,(s=u[3][3])>=r&&s<=n];if(!h[0]&&!h[1]&&!h[2]&&!h[3])return c;if(h[0]&&h[1]&&h[2]&&h[3])return m&&((l=function(r,n,i){z(e,[u[r],u[n],u[i]],[t[r],t[n],t[i]])})(0,1,2),l(3,0,1),l(2,3,0),l(1,2,3)),c;var f=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(i){if(h[i[0]]&&h[i[1]]&&h[i[2]]&&!h[i[3]]){var a=u[i[0]],o=u[i[1]],s=u[i[2]],l=u[i[3]];c=m?z(e,[a,o,s],[t[i[0]],t[i[1]],t[i[2]]])||c:z(null,[O(l,a,r,n),O(l,o,r,n),O(l,s,r,n)],[-1,-1,-1])||c,f=!0}}),f||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach(function(i){if(h[i[0]]&&h[i[1]]&&!h[i[2]]&&!h[i[3]]){var a,o,s,l=u[i[0]],p=u[i[1]],d=u[i[2]],g=u[i[3]],y=O(d,l,r,n),v=O(d,p,r,n),x=O(g,p,r,n),_=O(g,l,r,n);m?(c=z(e,[l,_,y],[t[i[0]],-1,-1])||c,c=z(e,[p,v,x],[t[i[1]],-1,-1])||c):(a=[y,v,x,_],o=[-1,-1,-1,-1],(s=function(e,t,r){z(null,[a[e],a[t],a[r]],[o[e],o[t],o[r]])})(0,1,2),s(2,3,0)),f=!0}}),f||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(i){if(h[i[0]]&&!h[i[1]]&&!h[i[2]]&&!h[i[3]]){var a=u[i[0]],o=u[i[1]],s=u[i[2]],l=u[i[3]],p=O(o,a,r,n),d=O(s,a,r,n),g=O(l,a,r,n);m?(c=z(e,[a,p,d],[t[i[0]],-1,-1])||c,c=z(e,[a,d,g],[t[i[0]],-1,-1])||c,c=z(e,[a,g,p],[t[i[0]],-1,-1])||c):c=z(null,[p,d,g],[-1,-1,-1])||c,f=!0}})),c}function B(e,t,r,n,i,a,o,s,l,c,u){var h=!1;return d&&(P(e,"A")&&(h=j(null,[t,r,n,a],c,u)||h),P(e,"B")&&(h=j(null,[r,n,i,l],c,u)||h),P(e,"C")&&(h=j(null,[r,a,o,l],c,u)||h),P(e,"D")&&(h=j(null,[n,a,s,l],c,u)||h),P(e,"E")&&(h=j(null,[r,n,a,l],c,u)||h)),m&&(h=j(e,[r,n,a,l],c,u)||h),h}function N(e,t,r,n,i,a,o,s){return[!0===s[0]||F(e,R([t,r,n]),[t,r,n],a,o),!0===s[1]||F(e,R([n,i,t]),[n,i,t],a,o)]}function U(e,t,r,n,i,a,o,s,l){return s?N(e,t,r,i,n,a,o,l):N(e,r,i,n,t,a,o,l)}function V(e,t,r,n,i,a,o){var s,l,c,u,h=!1,f=function(){h=F(e,[s,l,c],[-1,-1,-1],i,a)||h,h=F(e,[c,u,s],[-1,-1,-1],i,a)||h},p=o[0],d=o[1],m=o[2];return p&&(s=I(R([k(t,r-0,n-0)])[0],R([k(t-1,r-0,n-0)])[0],p),l=I(R([k(t,r-0,n-1)])[0],R([k(t-1,r-0,n-1)])[0],p),c=I(R([k(t,r-1,n-1)])[0],R([k(t-1,r-1,n-1)])[0],p),u=I(R([k(t,r-1,n-0)])[0],R([k(t-1,r-1,n-0)])[0],p),f()),d&&(s=I(R([k(t-0,r,n-0)])[0],R([k(t-0,r-1,n-0)])[0],d),l=I(R([k(t-0,r,n-1)])[0],R([k(t-0,r-1,n-1)])[0],d),c=I(R([k(t-1,r,n-1)])[0],R([k(t-1,r-1,n-1)])[0],d),u=I(R([k(t-1,r,n-0)])[0],R([k(t-1,r-1,n-0)])[0],d),f()),m&&(s=I(R([k(t-0,r-0,n)])[0],R([k(t-0,r-0,n-1)])[0],m),l=I(R([k(t-0,r-1,n)])[0],R([k(t-0,r-1,n-1)])[0],m),c=I(R([k(t-1,r-1,n)])[0],R([k(t-1,r-1,n-1)])[0],m),u=I(R([k(t-1,r-0,n)])[0],R([k(t-1,r-0,n-1)])[0],m),f()),h}function q(e,t,r,n,i){for(var a=[],o=0,s=0;sMath.abs(z-M)?[A,z]:[z,M];T=O[0],I=O[1],d=!0,Z(t,T,I),d=!1}}var D=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach(function(t){for(var r=[],n=0;n0&&(h.push(d.id),"x"===t?f.push([d.distRatio,0,0]):"y"===t?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u="x"===t?W(1,_-1):"y"===t?W(1,b-1):W(1,w-1);h.length>0&&("x"===t?r[i]=function(e,t,r,n,i,a){for(var o=[],s=0,l=0;l0&&("x"===t?r[i]=q(null,u,a,o,r[i]):"y"===t?r[i]=H(null,u,a,o,r[i]):r[i]=G(null,u,a,o,r[i]),i++)}var m=e.caps[t];m.show&&m.fill&&(s=m.fill,"x"===t?r[i]=q(null,[0,_-1],a,o,r[i]):"y"===t?r[i]=H(null,[0,b-1],a,o,r[i]):r[i]=G(null,[0,w-1],a,o,r[i]),i++)}}),0===g&&C(),e._meshX=n,e._meshY=i,e._meshZ=a,e._meshIntensity=o,e._Xs=y,e._Ys=v,e._Zs=x}(),e}t.exports={findNearestOnAxis:l,generateIsoMeshes:f,createIsosurfaceTrace:function(e,t){var n=r({gl:e.glplot.gl}),i=new c(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}}}}),pb=ed({"src/traces/isosurface/index.js"(e,t){t.exports={attributes:pm(),supplyDefaults:pg().supplyDefaults,calc:pv(),colorbar:{min:"cmin",max:"cmax"},plot:p_().createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:pa(),categories:["gl3d","showLegend"],meta:{}}}}),pw=ed({"lib/isosurface.js"(e,t){t.exports=pb()}}),pT=ed({"src/traces/volume/attributes.js"(e,t){var r=rp(),n=pm(),i=pl(),a=eq(),o=ej().extendFlat,s=tk().overrideAll,l=t.exports=s(o({x:n.x,y:n.y,z:n.z,value:n.value,isomin:n.isomin,isomax:n.isomax,surface:n.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:n.slices,caps:n.caps,text:n.text,hovertext:n.hovertext,xhoverformat:n.xhoverformat,yhoverformat:n.yhoverformat,zhoverformat:n.zhoverformat,valuehoverformat:n.valuehoverformat,hovertemplate:n.hovertemplate,hovertemplatefallback:n.hovertemplatefallback},r("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:n.colorbar,opacity:n.opacity,opacityscale:i.opacityscale,lightposition:n.lightposition,lighting:n.lighting,flatshading:n.flatshading,contour:n.contour,hoverinfo:o({},a.hoverinfo),showlegend:o({},a.showlegend,{dflt:!1})}),"calc","nested");l.x.editType=l.y.editType=l.z.editType=l.value.editType="calc+clearAxisTypes"}}),pk=ed({"src/traces/volume/defaults.js"(e,t){var r=tQ(),n=pT(),i=pg().supplyIsoDefaults,a=pc().opacityscaleDefaults;t.exports=function(e,t,o,s){function l(i,a){return r.coerce(e,t,n,i,a)}i(e,t,o,s,l),a(e,t,s,l)}}}),pA=ed({"src/traces/volume/convert.js"(e,t){var r=fU().gl_mesh3d,n=fX().parseColorScale,i=tQ().isArrayOrTypedArray,a=fY(),o=rE().extractOpts,s=px(),l=p_().findNearestOnAxis,c=p_().generateIsoMeshes;function u(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],a=this.data._meshZ[t],o=this.data._Ys.length,s=this.data._Zs.length,c=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,h=l(a,this.data._Zs).id,f=e.index=h+s*u+s*o*c;e.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var p=this.data.hovertext||this.data.text;return i(p)&&void 0!==p[f]?e.textLabel=p[f]:p&&(e.textLabel=p),!0}},h.update=function(e){var t=this.scene,r=t.fullSceneLayout;function i(e,t,r,n){return t.map(function(t){return e.d2l(t,0,n)*r})}this.data=c(e);var l={positions:s(i(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),i(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),i(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),cells:s(e._meshI,e._meshJ,e._meshK),lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:a(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},u=o(e);l.vertexIntensity=e._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=n(e),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(e,t){var n=r({gl:e.glplot.gl}),i=new u(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}}}),pM=ed({"src/traces/volume/index.js"(e,t){t.exports={attributes:pT(),supplyDefaults:pk(),calc:pv(),colorbar:{min:"cmin",max:"cmax"},plot:pA(),moduleType:"trace",name:"volume",basePlotModule:pa(),categories:["gl3d","showLegend"],meta:{}}}}),pS=ed({"lib/volume.js"(e,t){t.exports=pM()}}),pE=ed({"src/traces/mesh3d/defaults.js"(e,t){var r=tO(),n=tQ(),i=rk(),a=pd();t.exports=function(e,t,o,s){function l(r,i){return n.coerce(e,t,a,r,i)}function c(e){var t=e.map(function(e){var t=l(e);return t&&n.isArrayOrTypedArray(t)?t:null});return t.every(function(e){return e&&e.length===t[0].length})&&t}if(!c(["x","y","z"])||(c(["i","j","k"]),t.i&&(!t.j||!t.k)||t.j&&(!t.k||!t.i)||t.k&&(!t.i||!t.j))){t.visible=!1;return}r.getComponentMethod("calendars","handleTraceDefaults")(e,t,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(e){l(e)}),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in e?(l("intensity"),l("intensitymode"),i(e,t,s,l,{prefix:"",cLetter:"c"})):(t.showscale=!1,"facecolor"in e?l("facecolor"):"vertexcolor"in e?l("vertexcolor"):l("color",o)),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),l("xhoverformat"),l("yhoverformat"),l("zhoverformat"),t._length=null}}}),pC=ed({"src/traces/mesh3d/calc.js"(e,t){var r=rS();t.exports=function(e,t){t.intensity&&r(e,t,{vals:t.intensity,containerStr:"",cLetter:"c"})}}}),pL=ed({"src/traces/mesh3d/convert.js"(e,t){var r=fU().gl_mesh3d,n=fU().delaunay_triangulate,i=fU().alpha_shape,a=fU().convex_hull,o=fX().parseColorScale,s=tQ().isArrayOrTypedArray,l=fY(),c=rE().extractOpts,u=px();function h(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}f.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return s(r)&&void 0!==r[t]?e.textLabel=r[t]:r&&(e.textLabel=r),!0}},f.update=function(e){var t,r=this.scene,s=r.fullSceneLayout;this.data=e;var h=e.x.length,f=u(d(s.xaxis,e.x,r.dataScale[0],e.xcalendar),d(s.yaxis,e.y,r.dataScale[1],e.ycalendar),d(s.zaxis,e.z,r.dataScale[2],e.zcalendar));if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!g(e.i,h)||!g(e.j,h)||!g(e.k,h))return;t=u(m(e.i),m(e.j),m(e.k))}else t=0===e.alphahull?a(f):e.alphahull>0?i(e.alphahull,f):function(e,t){for(var r=["x","y","z"].indexOf(e),i=[],a=t.length,o=0;o2?e.slice(1,t-1):2===t?[(e[0]+e[1])/2]:e}function f(e){var t=e.length;return 1===t?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function p(e,t){var n=e.fullSceneLayout,c=e.dataScale,u=t._len,p={};function d(e,t){var r=n[t],a=c[l[t]];return i.simpleMap(e,function(e){return r.d2l(e)*a})}if(p.vectors=s(d(t._u,"xaxis"),d(t._v,"yaxis"),d(t._w,"zaxis"),u),!u)return{positions:[],cells:[]};var m=d(t._Xs,"xaxis"),g=d(t._Ys,"yaxis"),y=d(t._Zs,"zaxis");if(p.meshgrid=[m,g,y],p.gridFill=t._gridFill,t._slen)p.startingPositions=s(d(t._startsX,"xaxis"),d(t._startsY,"yaxis"),d(t._startsZ,"zaxis"));else{for(var v=g[0],x=h(m),_=h(y),b=Array(x.length*_.length),w=0,T=0;To&&(o=e[0]),e[1]s&&(s=e[1])}for(t in e.arcs.forEach(function(e){for(var t,r=-1,l=e.length;++ro&&(o=t[0]),t[1]s&&(s=t[1])}),e.objects)!function e(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"Point":l(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(l)}}(e.objects[t]);return[i,a,o,s]}function i(e,t){var r=t.id,n=t.bbox,i=null==t.properties?{}:t.properties,o=a(e,t);return null==r&&null==n?{type:"Feature",properties:i,geometry:o}:null==n?{type:"Feature",id:r,properties:i,geometry:o}:{type:"Feature",id:r,bbox:n,properties:i,geometry:o}}function a(e,t){var n=r(e.transform),i=e.arcs;function a(e){return n(e)}function o(e){for(var t=[],r=0,a=e.length;r1)n=function(e,t,r){var n,i=[],a=[];function o(e){var t=e<0?~e:e;(a[t]||(a[t]=[])).push({i:e,g:n})}function s(e){e.forEach(o)}function l(e){e.forEach(s)}return function e(t){switch(n=t,t.type){case"GeometryCollection":t.geometries.forEach(e);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":!function(e){e.forEach(l)}(t.arcs)}}(t),a.forEach(null==r?function(e){i.push(e[0].i)}:function(e){r(e[0].g,e[e.length-1].g)&&i.push(e[0].i)}),i}(0,t,r);else for(i=0,n=Array(a=e.arcs.length);i1)for(var a,s,c=1,u=l(i[0]);cu&&(s=i[0],i[0]=i[c],i[c]=s,u=a);return i}).filter(function(e){return e.length>0})}}function c(e,t){for(var r=0,n=e.length;r>>1;e[i]=2))throw Error("n must be ≥2");var r,i=(l=e.bbox||n(e))[0],a=l[1],o=l[2],s=l[3];t={scale:[o-i?(o-i)/(r-1):1,s-a?(s-a)/(r-1):1],translate:[i,a]}}var l,c,h=u(t),f=e.objects,p={};function d(e){return h(e)}for(c in f)p[c]=function e(t){var r;switch(t.type){case"GeometryCollection":r={type:"GeometryCollection",geometries:t.geometries.map(e)};break;case"Point":r={type:"Point",coordinates:d(t.coordinates)};break;case"MultiPoint":r={type:"MultiPoint",coordinates:t.coordinates.map(d)};break;default:return t}return null!=t.id&&(r.id=t.id),null!=t.bbox&&(r.bbox=t.bbox),null!=t.properties&&(r.properties=t.properties),r}(f[c]);return{type:"Topology",bbox:l,transform:t,objects:p,arcs:e.arcs.map(function(e){var t,r=0,n=1,i=e.length,a=Array(i);for(a[0]=h(e[0],0);++r0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n},e.makeLine=function(e){return 1===e.length?{type:"LineString",coordinates:e[0]}:{type:"MultiLineString",coordinates:e}},e.makePolygon=function(e){if(1===e.length)return{type:"Polygon",coordinates:e};for(var t=Array(e.length),r=0;r180?e-360:e<-180?e+360:e},e.bearingToAzimuth=function(e){let t=e%360;return t<0&&(t+=360),t},e.convertArea=function(e,t="meters",n="kilometers"){if(!(e>=0))throw Error("area must be a positive number");let i=r[t];if(!i)throw Error("invalid original units");let a=r[n];if(!a)throw Error("invalid final units");return e/i*a},e.convertLength=function(e,t="kilometers",r="kilometers"){if(!(e>=0))throw Error("length must be a positive number");return h(f(e,t),r)},e.degreesToRadians=function(e){return e%360*Math.PI/180},e.earthRadius=6371008.8,e.factors=t,e.feature=n,e.featureCollection=s,e.geometry=function(e,t,r={}){switch(e){case"Point":return i(t).geometry;case"LineString":return o(t).geometry;case"Polygon":return a(t).geometry;case"MultiPoint":return c(t).geometry;case"MultiLineString":return l(t).geometry;case"MultiPolygon":return u(t).geometry;default:throw Error(e+" is invalid")}},e.geometryCollection=function(e,t,r={}){return n({type:"GeometryCollection",geometries:e},t,r)},e.isNumber=d,e.isObject=function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)},e.lengthToDegrees=function(e,t){return p(f(e,t))},e.lengthToRadians=f,e.lineString=o,e.lineStrings=function(e,t,r={}){return s(e.map(e=>o(e,t)),r)},e.multiLineString=l,e.multiPoint=c,e.multiPolygon=u,e.point=i,e.points=function(e,t,r={}){return s(e.map(e=>i(e,t)),r)},e.polygon=a,e.polygons=function(e,t,r={}){return s(e.map(e=>a(e,t)),r)},e.radiansToDegrees=p,e.radiansToLength=h,e.round=function(e,t=0){if(t&&!(t>=0))throw Error("precision must be a positive number");let r=Math.pow(10,t||0);return Math.round(e*r)/r},e.validateBBox=function(e){if(!e)throw Error("bbox is required");if(!Array.isArray(e))throw Error("bbox must be an Array");if(4!==e.length&&6!==e.length)throw Error("bbox must be an Array of 4 or 6 numbers");e.forEach(e=>{if(!d(e))throw Error("bbox must only contain numbers")})},e.validateId=function(e){if(!e)throw Error("id is required");if(-1===["string","number"].indexOf(typeof e))throw Error("id must be a number or a string")}}}),p0=ed({"node_modules/@turf/meta/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=pQ();function r(e,t,n){if(null!==e)for(var i,a,o,s,l,c,u,h,f=0,p=0,d=e.type,m="FeatureCollection"===d,g="Feature"===d,y=m?e.features.length:1,v=0;vc||p>u||d>h){o=r,c=i,u=p,h=d,s=0;return}if(!1===n(t.lineString.call(void 0,[o,r],e.properties),i,a,d,s))return!1;s++,o=r}))return!1}}})}function l(e,r){if(!e)throw Error("geojson is required");o(e,function(e,n,i){if(null!==e.geometry){var a=e.geometry.type,o=e.geometry.coordinates;switch(a){case"LineString":if(!1===r(e,n,i,0,0))return!1;break;case"Polygon":for(var s=0;se+function(e){let t,r=0;switch(e.type){case"Polygon":return i(e.coordinates);case"MultiPolygon":for(t=0;t0){t+=Math.abs(s(e[0]));for(let r=1;r=t?(n+2)%t:n+2],l=i[0]*o,c=a[1]*o;r+=(s[0]*o-l)*Math.sin(c),n++}return r*a}e.area=n,e.default=n}}),p2=ed({"node_modules/@turf/centroid/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=pQ(),r=p0();function n(e,n={}){let i=0,a=0,o=0;return r.coordEach.call(void 0,e,function(e){i+=e[0],a+=e[1],o++},!0),t.point.call(void 0,[i/o,a/o],n.properties)}e.centroid=n,e.default=n}}),p3=ed({"node_modules/@turf/bbox/dist/cjs/index.cjs"(e){Object.defineProperty(e,"__esModule",{value:!0});var t=p0();function r(e,r={}){if(null!=e.bbox&&!0!==r.recompute)return e.bbox;let n=[1/0,1/0,-1/0,-1/0];return t.coordEach.call(void 0,e,e=>{n[0]>e[0]&&(n[0]=e[0]),n[1]>e[1]&&(n[1]=e[1]),n[2]0&&e[t+1][0]<0)return t;return null}switch(t="RUS"===s||"FJI"===s?function(e){var t;if(null===c(e))t=e;else for(i=0,t=Array(e.length);it?r[n++]=[e[i][0]+360,e[i][1]]:i===t?(r[n++]=e[i],r[n++]=[e[i][0],-90]):r[n++]=e[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(e){l.push(h.tester(e))},a.type){case"MultiPolygon":for(r=0;r0?h.properties.ct=function(e){var t,r=e.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,o=0,s=0;so&&(o=c,t=l)}else t=r;return a(t).geometry.coordinates}(h):h.properties.ct=[NaN,NaN],n.fIn=e,n.fOut=h,s.push(h)}else l.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete o[t]}switch(n.type){case"FeatureCollection":var f=n.features;for(t=0;t100?(clearInterval(a),n("Unexpected error while fetching from "+e)):void i++},50)})}(a)):(t[a]="pending",n.push(function(e){return new Promise(function(n,i){r.json(e,function(r,a){return r?(delete t[e],i(Error(404===r.status?'GeoJSON at URL "'+e+'" does not exist.':"Unexpected error while fetching from "+e))):(t[e]=a,n(a))})})}(a))))}return n},computeBbox:function(e){return o(e)}}}}),p6=ed({"src/traces/scattergeo/style.js"(e,t){var r=eb(),n=rO(),i=eZ(),a=iP(),o=a.stylePoints,s=a.styleText;t.exports=function(e,t){var a,l;t&&(a=t[0].trace,(l=t[0].node3).style("opacity",t[0].trace.opacity),o(l,a,e),s(l,a,e),l.selectAll("path.js-line").style("fill","none").each(function(e){var t=r.select(this),a=e.trace,o=a.line||{};t.call(i.stroke,o.color).call(n.dashLine,o.dash||"",o.width||0),"none"!==a.fill&&t.call(i.fill,a.fillcolor)}))}}}),p8=ed({"src/traces/scattergeo/plot.js"(e,t){var r=eb(),n=tQ(),i=p$().getTopojsonFeatures,a=pJ(),o=p4(),s=rj().findExtremes,l=eS().BADNUM,c=iw().calcMarkerSize,u=rC(),h=p6();t.exports={calcGeoJSON:function(e,t){var r,a,u,h,f=e[0].trace,p=t[f.geo],d=p._subplot,m=f._length;if(n.isArrayOrTypedArray(f.locations)){var g=f.locationmode,y="geojson-id"===g?o.extractTraceFeature(e):i(f,d.topojson);for(r=0;r")}}(c,m,e,l[0].t.labels),e.hovertemplate=c.hovertemplate,[e]}}}}),p9=ed({"src/traces/scattergeo/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.lon=t.lon,e.lat=t.lat,e.location=t.loc?t.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e}}}),de=ed({"src/traces/scattergeo/select.js"(e,t){var r=rC(),n=eS().BADNUM;t.exports=function(e,t){var i,a,o,s,l,c=e.cd,u=e.xaxis,h=e.yaxis,f=[],p=c[0].trace;if(!r.hasMarkers(p)&&!r.hasText(p))return[];if(!1===t)for(l=0;lt?1:e>=t?0:NaN}function r(e){var r;return 1===e.length&&(r=e,e=function(e,n){return t(r(e),n)}),{left:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;0>e(t[a],r)?n=a+1:i=a}return n},right:function(t,r,n,i){for(null==n&&(n=0),null==i&&(i=t.length);n>>1;e(t[a],r)>0?i=a:n=a+1}return n}}}var n=r(t),i=n.right,a=n.left;function o(e,t){return[e,t]}function s(e){return null===e?NaN:+e}function l(e,t){var r,n,i=e.length,a=0,o=-1,l=0,c=0;if(null==t)for(;++o1)return c/(a-1)}function c(e,t){var r=l(e,t);return r?Math.sqrt(r):r}function u(e,t){var r,n,i,a=e.length,o=-1;if(null==t){for(;++o=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=y?10:a>=v?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=y?10:a>=v?5:a>=x?2:1)}function b(e,t,r){var n=Math.abs(t-e)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=y?i*=10:a>=v?i*=5:a>=x&&(i*=2),t=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,a=Math.floor(i),o=+r(e[a],a,e);return o+(+r(e[a+1],a+1,e)-o)*(i-a)}}function k(e,t){var r,n,i=e.length,a=-1;if(null==t){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function A(e){if(!(i=e.length))return[];for(var t=-1,r=k(e,M),n=Array(r);++te?1:t>=e?0:NaN},e.deviation=c,e.extent=u,e.histogram=function(){var e=m,t=u,r=w;function n(n){var a,o,s=n.length,l=Array(s);for(a=0;ah;)f.pop(),--p;var d,m=Array(p+1);for(a=0;a<=p;++a)(d=m[a]=[]).x0=a>0?f[a-1]:u,d.x1=a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n},e.mean=function(e,t){var r,n=e.length,i=n,a=-1,o=0;if(null==t)for(;++a=0;)for(t=(n=e[i]).length;--t>=0;)r[--o]=n[t];return r},e.min=k,e.pairs=function(e,t){null==t&&(t=o);for(var r=0,n=e.length-1,i=e[0],a=Array(n<0?0:n);rr(i=e[a],s)||0!==r(s,s))&&(s=i,o=a);if(0===r(s,s))return o}},e.shuffle=function(e,t,r){for(var n,i,a=(null==r?e.length:r)-(t=null==t?0:+t);a;)i=Math.random()*a--|0,n=e[a+t],e[a+t]=e[i+t],e[i+t]=n;return e},e.sum=function(e,t){var r,n=e.length,i=-1,a=0;if(null==t)for(;++i0)return[e];if((n=t0)for(e=Math.ceil(e/o),a=Array(i=Math.ceil((t=Math.floor(t/o))-e+1));++s0?1:e<0?-1:0},w=Math.sqrt,T=Math.tan;function k(e){return e>1?0:e<-1?o:Math.acos(e)}function A(e){return e>1?s:e<-1?-s:Math.asin(e)}function M(){}function S(e,t){e&&C.hasOwnProperty(e.type)&&C[e.type](e,t)}var E={Feature:function(e,t){S(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n=0?1:-1,i=n*r,a=m(t=t/2+l),o=_(t),s=F*o,c=R*a+s*m(i),u=s*n*_(i);j.add(d(u,c)),D=e,R=a,F=o}function G(e){return[d(e[1],e[0]),A(e[2])]}function Z(e){var t=e[0],r=e[1],n=m(r);return[n*m(t),n*_(t),_(r)]}function W(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Y(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function X(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function $(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function J(e){var t=w(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var K,Q,ee,et,er,en,ei,ea,eo,es,el=r(),ec={point:eu,lineStart:ef,lineEnd:ep,polygonStart:function(){ec.point=ed,ec.lineStart=em,ec.lineEnd=eg,el.reset(),N.polygonStart()},polygonEnd:function(){N.polygonEnd(),ec.point=eu,ec.lineStart=ef,ec.lineEnd=ep,j<0?(K=-(ee=180),Q=-(et=90)):el>1e-6?et=90:el<-.000001&&(Q=-90),es[0]=K,es[1]=ee},sphere:function(){K=-(ee=180),Q=-(et=90)}};function eu(e,t){eo.push(es=[K=e,ee=e]),tet&&(et=t)}function eh(e,t){var r=Z([e*h,t*h]);if(ea){var n=Y(ea,r),i=Y([n[1],-n[0],0],n);J(i),i=G(i);var a,o=e-er,s=o>0?1:-1,l=i[0]*u*s,c=f(o)>180;c^(s*eret&&(et=a):c^(s*er<(l=(l+360)%360-180)&&let&&(et=t)),c?eey(K,ee)&&(ee=e):ey(e,ee)>ey(K,ee)&&(K=e):ee>=K?(eee&&(ee=e)):e>er?ey(K,e)>ey(K,ee)&&(ee=e):ey(e,ee)>ey(K,ee)&&(K=e)}else eo.push(es=[K=e,ee=e]);tet&&(et=t),ea=r,er=e}function ef(){ec.point=eh}function ep(){es[0]=K,es[1]=ee,ec.point=eu,ea=null}function ed(e,t){if(ea){var r=e-er;el.add(f(r)>180?r+(r>0?360:-360):r)}else en=e,ei=t;N.point(e,t),eh(e,t)}function em(){N.lineStart()}function eg(){ed(en,ei),N.lineEnd(),f(el)>1e-6&&(K=-(ee=180)),es[0]=K,es[1]=ee,ea=null}function ey(e,t){return(t-=e)<0?t+360:t}function ev(e,t){return e[0]-t[0]}function ex(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:to?e+Math.round(-e/c)*c:e,t]}function eO(e,t,r){return(e%=c)?t||r?eP(eR(e),eF(t,r)):eR(e):t||r?eF(t,r):ez}function eD(e){return function(t,r){return[(t+=e)>o?t-c:t<-o?t+c:t,r]}}function eR(e){var t=eD(e);return t.invert=eD(-e),t}function eF(e,t){var r=m(e),n=_(e),i=m(t),a=_(t);function o(e,t){var o=m(t),s=m(e)*o,l=_(e)*o,c=_(t),u=c*r+s*n;return[d(l*i-u*a,s*r-c*n),A(u*i+l*a)]}return o.invert=function(e,t){var o=m(t),s=m(e)*o,l=_(e)*o,c=_(t),u=c*i-l*a;return[d(l*i+c*a,s*r+u*n),A(u*r-s*n)]},o}function ej(e){function t(t){return t=e(t[0]*h,t[1]*h),t[0]*=u,t[1]*=u,t}return e=eO(e[0]*h,e[1]*h,e.length>2?e[2]*h:0),t.invert=function(t){return t=e.invert(t[0]*h,t[1]*h),t[0]*=u,t[1]*=u,t},t}function eB(e,t,r,n,i,a){if(r){var o=m(t),s=_(t),l=n*r;null==i?(i=t+n*c,a=t-l/2):(i=eN(o,i),a=eN(o,a),(n>0?ia)&&(i+=n*c));for(var u,h=i;n>0?h>a:h-t[2]?-r:r)+c-1e-6)%c}function eU(){var e,t=[];return{point:function(t,r,n){e.push([t,r,n])},lineStart:function(){t.push(e=[])},lineEnd:M,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var r=t;return t=[],e=null,r}}}function eV(e,t){return 1e-6>f(e[0]-t[0])&&1e-6>f(e[1]-t[1])}function eq(e,t,r,n){this.x=e,this.z=t,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function eH(e,t,r,n,i){var a,o,s=[],l=[];if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,r,n=e[0],o=e[t];if(eV(n,o)){if(!n[2]&&!o[2]){for(i.lineStart(),a=0;a=0;--a)i.point((u=c[a])[0],u[1]);else n(f.x,f.p.x,-1,i);f=f.p}c=(f=f.o).z,p=!p}while(!f.v);i.lineEnd()}}}function eG(e){if(t=e.length){for(var t,r,n=0,i=e[0];++n=0?1:-1,z=P*I,O=z>o,D=w*C;if(eZ.add(d(D*P*_(z),T*L+D*m(z))),u+=O?I+P*c:I,O^x>=r^S>=r){var R=Y(Z(v),Z(M));J(R);var F=Y(a,R);J(F);var j=(O^I>=0?-1:1)*A(F[2]);(n>j||n===j&&(R[0]||R[1]))&&(h+=O^I>=0?1:-1)}}return(u<-.000001||u<1e-6&&eZ<-.000001)^1&h}function eX(e,r,n,i){return function(a){var o,s,l,c=r(a),u=eU(),h=r(u),f=!1,p={point:d,lineStart:g,lineEnd:y,polygonStart:function(){p.point=v,p.lineStart=x,p.lineEnd=_,s=[],o=[]},polygonEnd:function(){p.point=d,p.lineStart=g,p.lineEnd=y,s=t.merge(s);var e=eY(o,i);s.length?(f||(a.polygonStart(),f=!0),eH(s,eJ,e,n,a)):e&&(f||(a.polygonStart(),f=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),f&&(a.polygonEnd(),f=!1),s=o=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}};function d(t,r){e(t,r)&&a.point(t,r)}function m(e,t){c.point(e,t)}function g(){p.point=m,c.lineStart()}function y(){p.point=d,c.lineEnd()}function v(e,t){l.push([e,t]),h.point(e,t)}function x(){h.lineStart(),l=[]}function _(){v(l[0][0],l[0][1]),h.lineEnd();var e,t,r,n,i=h.clean(),c=u.result(),p=c.length;if(l.pop(),o.push(l),l=null,p){if(1&i){if((t=(r=c[0]).length-1)>0){for(f||(a.polygonStart(),f=!0),a.lineStart(),e=0;e1&&2&i&&c.push(c.pop().concat(c.shift())),s.push(c.filter(e$))}}return p}}function e$(e){return e.length>1}function eJ(e,t){return((e=e.x)[0]<0?e[1]-s-1e-6:s-e[1])-((t=t.x)[0]<0?t[1]-s-1e-6:s-t[1])}var eK=eX(function(){return!0},function(e){var t,r=NaN,n=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(a,l){var c,u,h,d,g,y,v=a>0?o:-o,x=f(a-r);1e-6>f(x-o)?(e.point(r,n=(n+l)/2>0?s:-s),e.point(i,n),e.lineEnd(),e.lineStart(),e.point(v,n),e.point(a,n),t=0):i!==v&&x>=o&&(1e-6>f(r-i)&&(r-=1e-6*i),1e-6>f(a-v)&&(a-=1e-6*v),c=r,u=n,n=f(y=_(c-(h=a)))>1e-6?p((_(u)*(g=m(l))*_(h)-_(l)*(d=m(u))*_(c))/(d*g*y)):(u+l)/2,e.point(i,n),e.lineEnd(),e.lineStart(),e.point(v,n),t=0),e.point(r=a,n=l),i=v},lineEnd:function(){e.lineEnd(),r=n=NaN},clean:function(){return 2-t}}},function(e,t,r,n){var i;if(null==e)i=r*s,n.point(-o,i),n.point(0,i),n.point(o,i),n.point(o,0),n.point(o,-i),n.point(0,-i),n.point(-o,-i),n.point(-o,0),n.point(-o,i);else if(f(e[0]-t[0])>1e-6){var a=e[0]0,i=f(t)>1e-6;function a(e,r){return m(e)*m(r)>t}function s(e,r,n){var i=Z(e),a=Z(r),s=[1,0,0],l=Y(i,a),c=W(l,l),u=l[0],h=c-u*u;if(!h)return!n&&e;var p=Y(s,l),d=$(s,t*c/h);X(d,$(l,-t*u/h));var m=W(d,p),g=W(p,p),y=m*m-g*(W(d,d)-1);if(!(y<0)){var v=w(y),x=$(p,(-m-v)/g);if(X(x,d),x=G(x),!n)return x;var _,b=e[0],T=r[0],k=e[1],A=r[1];Tf(M-o);if(!S&&A0^x[1]<(1e-6>f(x[0]-b)?k:A):k<=x[1]&&x[1]<=A:M>o^(b<=x[0]&&x[0]<=T)){var E=$(p,(-m+v)/g);return X(E,d),[x,G(E)]}}}function l(t,r){var i=n?e:o-e,a=0;return t<-i?a|=1:t>i&&(a|=2),r<-i?a|=4:r>i&&(a|=8),a}return eX(a,function(e){var t,r,c,u,h;return{lineStart:function(){u=c=!1,h=1},point:function(f,p){var d,m,g=[f,p],y=a(f,p),v=n?y?0:l(f,p):y?l(f+(f<0?o:-o),p):0;!t&&(u=c=y)&&e.lineStart(),y!==c&&(!(m=s(t,g))||eV(t,m)||eV(g,m))&&(g[2]=1),y!==c?(h=0,y?(e.lineStart(),m=s(g,t),e.point(m[0],m[1])):(m=s(t,g),e.point(m[0],m[1],2),e.lineEnd()),t=m):i&&t&&n^y&&!(v&r)&&(d=s(g,t,!0))&&(h=0,n?(e.lineStart(),e.point(d[0][0],d[0][1]),e.point(d[1][0],d[1][1]),e.lineEnd()):(e.point(d[1][0],d[1][1]),e.lineEnd(),e.lineStart(),e.point(d[0][0],d[0][1],3))),!y||t&&eV(t,g)||e.point(g[0],g[1]),t=g,c=y,r=v},lineEnd:function(){c&&e.lineEnd(),t=null},clean:function(){return h|(u&&c)<<1}}},function(t,n,i,a){eB(a,e,r,i,t,n)},n?[0,-e]:[-o,e-o])}function e0(e,r,n,i){function a(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function o(t,a,o,l){var u=0,h=0;if(null==t||(u=s(t,o))!==(h=s(a,o))||0>c(t,a)^o>0)do l.point(0===u||3===u?e:n,u>1?i:r);while((u=(u+o+4)%4)!==h);else l.point(a[0],a[1])}function s(t,i){return 1e-6>f(t[0]-e)?i>0?0:3:1e-6>f(t[0]-n)?i>0?2:1:1e-6>f(t[1]-r)?i>0?1:0:i>0?3:2}function l(e,t){return c(e.x,t.x)}function c(e,t){var r=s(e,1),n=s(t,1);return r!==n?r-n:0===r?t[1]-e[1]:1===r?e[0]-t[0]:2===r?e[1]-t[1]:t[0]-e[0]}return function(s){var c,u,h,f,p,d,m,g,y,v,x,_=s,b=eU(),w={point:T,lineStart:function(){w.point=k,u&&u.push(h=[]),v=!0,y=!1,m=g=NaN},lineEnd:function(){c&&(k(f,p),d&&y&&b.rejoin(),c.push(b.result())),w.point=T,y&&_.lineEnd()},polygonStart:function(){_=b,c=[],u=[],x=!0},polygonEnd:function(){var r=function(){for(var t=0,r=0,n=u.length;ri&&(f-a)*(i-o)>(p-o)*(e-a)&&++t:p<=i&&(f-a)*(i-o)<(p-o)*(e-a)&&--t;return t}(),n=x&&r,a=(c=t.merge(c)).length;(n||a)&&(s.polygonStart(),n&&(s.lineStart(),o(null,null,1,s),s.lineEnd()),a&&eH(c,l,r,o,s),s.polygonEnd()),_=s,c=u=h=null}};function T(e,t){a(e,t)&&_.point(e,t)}function k(t,o){var s=a(t,o);if(u&&h.push([t,o]),v)f=t,p=o,d=s,v=!1,s&&(_.lineStart(),_.point(t,o));else if(s&&y)_.point(t,o);else{var l=[m=Math.max(-1e9,Math.min(1e9,m)),g=Math.max(-1e9,Math.min(1e9,g))],c=[t=Math.max(-1e9,Math.min(1e9,t)),o=Math.max(-1e9,Math.min(1e9,o))];(function(e,t,r,n,i,a){var o,s=e[0],l=e[1],c=t[0],u=t[1],h=0,f=1,p=c-s,d=u-l;if(o=r-s,p||!(o>0)){if(o/=p,p<0){if(o0){if(o>f)return;o>h&&(h=o)}if(o=i-s,p||!(o<0)){if(o/=p,p<0){if(o>f)return;o>h&&(h=o)}else if(p>0){if(o0)){if(o/=d,d<0){if(o0){if(o>f)return;o>h&&(h=o)}if(o=a-l,d||!(o<0)){if(o/=d,d<0){if(o>f)return;o>h&&(h=o)}else if(d>0){if(o0&&(e[0]=s+h*p,e[1]=l+h*d),f<1&&(t[0]=s+f*p,t[1]=l+f*d),!0}}}}})(l,c,e,r,n,i)?(y||(_.lineStart(),_.point(l[0],l[1])),_.point(c[0],c[1]),s||_.lineEnd(),x=!1):s&&(_.lineStart(),_.point(t,o),x=!1)}m=t,g=o,y=s}return w}}var e1,e2,e3,e5,e4,e6,e8,e7,e9,te,tt,tr,tn,ti,ta,to,ts,tl,tc,tu=r(),th={sphere:M,point:M,lineStart:function(){th.point=tp,th.lineEnd=tf},lineEnd:M,polygonStart:M,polygonEnd:M};function tf(){th.point=th.lineEnd=M}function tp(e,t){e*=h,t*=h,ts=e,tl=_(t),tc=m(t),th.point=td}function td(e,t){e*=h;var r=_(t*=h),n=m(t),i=f(e-ts),a=m(i),o=n*_(i),s=tc*r-tl*n*a,l=tl*r+tc*n*a;tu.add(d(w(o*o+s*s),l)),ts=e,tl=r,tc=n}function tm(e){return tu.reset(),P(e,th),+tu}var tg=[null,null],ty={type:"LineString",coordinates:tg};function tv(e,t){return tg[0]=e,tg[1]=t,tm(ty)}var tx={Feature:function(e,t){return tb(e.geometry,t)},FeatureCollection:function(e,t){for(var r=e.features,n=-1,i=r.length;++n0&&(i=tv(e[a],e[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))<1e-12*i)return!0;r=n}return!1}function tT(e,t){return!!eY(e.map(tk),tA(t))}function tk(e){return(e=e.map(tA)).pop(),e}function tA(e){return[e[0]*h,e[1]*h]}function tM(e,r,n){var i=t.range(e,r-1e-6,n).concat(r);return function(e){return i.map(function(t){return[e,t]})}}function tS(e,r,n){var i=t.range(e,r-1e-6,n).concat(r);return function(e){return i.map(function(t){return[t,e]})}}function tE(){var e,r,n,i,a,o,s,l,c,u,h,p,d=10,m=10,y=90,v=360,x=2.5;function _(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(g(i/y)*y,n,y).map(h).concat(t.range(g(l/v)*v,s,v).map(p)).concat(t.range(g(r/d)*d,e,d).filter(function(e){return f(e%y)>1e-6}).map(c)).concat(t.range(g(o/m)*m,a,m).filter(function(e){return f(e%v)>1e-6}).map(u))}return _.lines=function(){return b().map(function(e){return{type:"LineString",coordinates:e}})},_.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(p(s).slice(1),h(n).reverse().slice(1),p(l).reverse().slice(1))]}},_.extent=function(e){return arguments.length?_.extentMajor(e).extentMinor(e):_.extentMinor()},_.extentMajor=function(e){return arguments.length?(i=+e[0][0],n=+e[1][0],l=+e[0][1],s=+e[1][1],i>n&&(e=i,i=n,n=e),l>s&&(e=l,l=s,s=e),_.precision(x)):[[i,l],[n,s]]},_.extentMinor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),_.precision(x)):[[r,o],[e,a]]},_.step=function(e){return arguments.length?_.stepMajor(e).stepMinor(e):_.stepMinor()},_.stepMajor=function(e){return arguments.length?(y=+e[0],v=+e[1],_):[y,v]},_.stepMinor=function(e){return arguments.length?(d=+e[0],m=+e[1],_):[d,m]},_.precision=function(t){return arguments.length?(x=+t,c=tM(o,a,90),u=tS(r,e,x),h=tM(l,s,90),p=tS(i,n,x),_):x},_.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}function tC(e){return e}var tL,tI,tP,tz,tO=r(),tD=r(),tR={point:M,lineStart:M,lineEnd:M,polygonStart:function(){tR.lineStart=tF,tR.lineEnd=tN},polygonEnd:function(){tR.lineStart=tR.lineEnd=tR.point=M,tO.add(f(tD)),tD.reset()},result:function(){return tO.reset(),tO/2}};function tF(){tR.point=tj}function tj(e,t){tR.point=tB,tL=tP=e,tI=tz=t}function tB(e,t){tD.add(tz*e-tP*t),tP=e,tz=t}function tN(){tB(tL,tI)}var tU,tV,tq,tH,tG=1/0,tZ=1/0,tW=-1/0,tY=tW,tX={point:function(e,t){etW&&(tW=e),ttY&&(tY=t)},lineStart:M,lineEnd:M,polygonStart:M,polygonEnd:M,result:function(){var e=[[tG,tZ],[tW,tY]];return tW=tY=-(tZ=tG=1/0),e}},t$=0,tJ=0,tK=0,tQ=0,t0=0,t1=0,t2=0,t3=0,t5=0,t4={point:t6,lineStart:t8,lineEnd:re,polygonStart:function(){t4.lineStart=rt,t4.lineEnd=rr},polygonEnd:function(){t4.point=t6,t4.lineStart=t8,t4.lineEnd=re},result:function(){var e=t5?[t2/t5,t3/t5]:t1?[tQ/t1,t0/t1]:tK?[t$/tK,tJ/tK]:[NaN,NaN];return t$=tJ=tK=tQ=t0=t1=t2=t3=t5=0,e}};function t6(e,t){t$+=e,tJ+=t,++tK}function t8(){t4.point=t7}function t7(e,t){t4.point=t9,t6(tq=e,tH=t)}function t9(e,t){var r=e-tq,n=t-tH,i=w(r*r+n*n);tQ+=i*(tq+e)/2,t0+=i*(tH+t)/2,t1+=i,t6(tq=e,tH=t)}function re(){t4.point=t6}function rt(){t4.point=rn}function rr(){ri(tU,tV)}function rn(e,t){t4.point=ri,t6(tU=tq=e,tV=tH=t)}function ri(e,t){var r=e-tq,n=t-tH,i=w(r*r+n*n);tQ+=i*(tq+e)/2,t0+=i*(tH+t)/2,t1+=i,t2+=(i=tH*e-tq*t)*(tq+e),t3+=i*(tH+t),t5+=3*i,t6(tq=e,tH=t)}function ra(e){this._context=e}ra.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,c)}},result:M};var ro,rs,rl,rc,ru,rh=r(),rf={point:M,lineStart:function(){rf.point=rp},lineEnd:function(){ro&&rd(rs,rl),rf.point=M},polygonStart:function(){ro=!0},polygonEnd:function(){ro=null},result:function(){return rh.reset(),+rh}};function rp(e,t){rf.point=rd,rs=rc=e,rl=ru=t}function rd(e,t){rc-=e,ru-=t,rh.add(w(rc*rc+ru*ru)),rc=e,ru=t}function rm(){this._string=[]}function rg(e){return"m0,"+e+"a"+e+","+e+" 0 1,1 0,"+-2*e+"a"+e+","+e+" 0 1,1 0,"+2*e+"z"}function ry(e){return function(t){var r=new rv;for(var n in e)r[n]=e[n];return r.stream=t,r}}function rv(){}function rx(e,t,r){var n=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=n&&e.clipExtent(null),P(r,e.stream(tX)),t(tX.result()),null!=n&&e.clipExtent(n),e}function r_(e,t,r){return rx(e,function(r){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+t[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+t[0][1]+(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,s])},r)}function rb(e,t,r){return r_(e,[[0,0],t],r)}function rw(e,t,r){return rx(e,function(r){var n=+t,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];e.scale(150*i).translate([a,o])},r)}function rT(e,t,r){return rx(e,function(r){var n=+t,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;e.scale(150*i).translate([a,o])},r)}rm.prototype={_radius:4.5,_circle:rg(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push("M",e,",",t),this._point=1;break;case 1:this._string.push("L",e,",",t);break;default:null==this._circle&&(this._circle=rg(this._radius)),this._string.push("M",e,",",t,this._circle)}},result:function(){if(!this._string.length)return null;var e=this._string.join("");return this._string=[],e}},rv.prototype={constructor:rv,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var rk=m(30*h);function rA(e,t){return+t?function(e,t){function r(n,i,a,o,s,l,c,u,h,p,m,g,y,v){var x=c-n,_=u-i,b=x*x+_*_;if(b>4*t&&y--){var T=o+p,k=s+m,M=l+g,S=w(T*T+k*k+M*M),E=A(M/=S),C=1e-6>f(f(M)-1)||1e-6>f(a-h)?(a+h)/2:d(k,T),L=e(C,E),I=L[0],P=L[1],z=I-n,O=P-i,D=_*z-x*O;(D*D/b>t||f((x*z+_*O)/b-.5)>.3||o*p+s*m+l*g2?e[2]%360*h:0,P()):[v*u,x*u,_*u]},L.angle=function(e){return arguments.length?(b=e%360*h,P()):b*u},L.reflectX=function(e){return arguments.length?(T=e?-1:1,P()):T<0},L.reflectY=function(e){return arguments.length?(k=e?-1:1,P()):k<0},L.precision=function(e){return arguments.length?(o=rA(s,C=e*e),z()):w(C)},L.fitExtent=function(e,t){return r_(L,e,t)},L.fitSize=function(e,t){return rb(L,e,t)},L.fitWidth=function(e,t){return rw(L,e,t)},L.fitHeight=function(e,t){return rT(L,e,t)},function(){return t=e.apply(this,arguments),L.invert=t.invert&&I,P()}}function rL(e){var t=0,r=o/3,n=rC(e),i=n(t,r);return i.parallels=function(e){return arguments.length?n(t=e[0]*h,r=e[1]*h):[t*u,r*u]},i}function rI(e,t){var r=_(e),n=(r+_(t))/2;if(1e-6>f(n))return function(e){var t=m(e);function r(e,r){return[e*t,_(r)/t]}return r.invert=function(e,r){return[e/t,A(r*t)]},r}(e);var i=1+r*(2*n-r),a=w(i)/n;function s(e,t){var r=w(i-2*n*_(t))/n;return[r*_(e*=n),a-r*m(e)]}return s.invert=function(e,t){var r=a-t,s=d(e,f(r))*b(r);return r*n<0&&(s-=o*b(e)*b(r)),[s/n,A((i-(e*e+r*r)*n*n)/(2*n))]},s}function rP(){return rL(rI).scale(155.424).center([0,33.6442])}function rz(){return rP().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function rO(e){return function(t,r){var n=m(t),i=m(r),a=e(n*i);return[a*i*_(t),a*_(r)]}}function rD(e){return function(t,r){var n=w(t*t+r*r),i=e(n),a=_(i);return[d(t*a,n*m(i)),A(n&&r*a/n)]}}var rR=rO(function(e){return w(2/(1+e))});rR.invert=rD(function(e){return 2*A(e/2)});var rF=rO(function(e){return(e=k(e))&&e/_(e)});function rj(e,t){return[e,v(T((s+t)/2))]}function rB(e){var t,r,n,i=rE(e),a=i.center,s=i.scale,l=i.translate,c=i.clipExtent,u=null;function h(){var a=o*s(),l=i(ej(i.rotate()).invert([0,0]));return c(null==u?[[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]]:e===rj?[[Math.max(l[0]-a,u),t],[Math.min(l[0]+a,r),n]]:[[u,Math.max(l[1]-a,t)],[r,Math.min(l[1]+a,n)]])}return i.scale=function(e){return arguments.length?(s(e),h()):s()},i.translate=function(e){return arguments.length?(l(e),h()):l()},i.center=function(e){return arguments.length?(a(e),h()):a()},i.clipExtent=function(e){return arguments.length?(null==e?u=t=r=n=null:(u=+e[0][0],t=+e[0][1],r=+e[1][0],n=+e[1][1]),h()):null==u?null:[[u,t],[r,n]]},h()}function rN(e){return T((s+e)/2)}function rU(e,t){var r=m(e),n=e===t?_(e):v(r/m(t))/v(rN(t)/rN(e)),i=r*x(rN(e),n)/n;if(!n)return rj;function a(e,t){i>0?t<-s+1e-6&&(t=-s+1e-6):t>s-1e-6&&(t=s-1e-6);var r=i/x(rN(t),n);return[r*_(n*e),i-r*m(n*e)]}return a.invert=function(e,t){var r=i-t,a=b(n)*w(e*e+r*r),l=d(e,f(r))*b(r);return r*n<0&&(l-=o*b(e)*b(r)),[l/n,2*p(x(i/a,1/n))-s]},a}function rV(e,t){return[e,t]}function rq(e,t){var r=m(e),n=e===t?_(e):(r-m(t))/(t-e),i=r/n+e;if(1e-6>f(n))return rV;function a(e,t){var r=i-t,a=n*e;return[r*_(a),i-r*m(a)]}return a.invert=function(e,t){var r=i-t,a=d(e,f(r))*b(r);return r*n<0&&(a-=o*b(e)*b(r)),[a/n,i-b(n)*w(e*e+r*r)]},a}rF.invert=rD(function(e){return e}),rj.invert=function(e,t){return[e,2*p(y(t))-s]},rV.invert=rV;var rH=w(3)/2;function rG(e,t){var r=A(rH*_(t)),n=r*r,i=n*n*n;return[e*m(r)/(rH*(1.340264+-.24331799999999998*n+i*(.0062510000000000005+.034164*n))),r*(1.340264+-.081106*n+i*(893e-6+.003796*n))]}function rZ(e,t){var r=m(t),n=m(e)*r;return[r*_(e)/n,_(t)/n]}function rW(e,t){var r=t*t,n=r*r;return[e*(.8707-.131979*r+n*(-.013791+n*(.003971*r-.001529*n))),t*(1.007226+r*(.015085+n*(-.044475+.028874*r-.005916*n)))]}function rY(e,t){return[m(t)*_(e),_(t)]}function rX(e,t){var r=m(t),n=1+m(e)*r;return[r*_(e)/n,_(t)/n]}function r$(e,t){return[v(T((s+t)/2)),-e]}rG.invert=function(e,t){for(var r,n,i=t,a=i*i,o=a*a*a,s=0;s<12&&(n=i*(1.340264+-.081106*a+o*(893e-6+.003796*a))-t,i-=r=n/(1.340264+-.24331799999999998*a+o*(.0062510000000000005+.034164*a)),o=(a=i*i)*a*a,!(1e-12>f(r)));++s);return[rH*e*(1.340264+-.24331799999999998*a+o*(.0062510000000000005+.034164*a))/m(i),A(_(i)/rH)]},rZ.invert=rD(p),rW.invert=function(e,t){var r,n=t,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-t)/(1.007226+a*(.045255+o*(-.311325+.259866*a-.005916*11*o)))}while(f(r)>1e-6&&--i>0);return[e/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]},rY.invert=rD(A),rX.invert=rD(function(e){return 2*p(e)}),r$.invert=function(e,t){return[-t,2*p(y(e))-s]},e.geoAlbers=rz,e.geoAlbersUsa=function(){var e,t,r,n,i,a,o=rz(),s=rP().rotate([154,0]).center([-2,58.5]).parallels([55,65]),l=rP().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(e,t){a=[e,t]}};function u(e){var t=e[0],o=e[1];return a=null,r.point(t,o),a||(n.point(t,o),a)||(i.point(t,o),a)}function h(){return e=t=null,u}return u.invert=function(e){var t=o.scale(),r=o.translate(),n=(e[0]-r[0])/t,i=(e[1]-r[1])/t;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(e)},u.stream=function(r){var n,i;return e&&t===r?e:(i=(n=[o.stream(t=r),s.stream(r),l.stream(r)]).length,e={point:function(e,t){for(var r=-1;++rey(n[0],n[1])&&(n[1]=i[1]),ey(i[0],n[1])>ey(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(o=-1/0,r=a.length-1,t=0,n=a[r];t<=r;n=i,++t)i=a[t],(s=ey(n[1],i[0]))>o&&(o=s,K=i[0],ee=n[1])}return eo=es=null,K===1/0||Q===1/0?[[NaN,NaN],[NaN,NaN]]:[[K,Q],[ee,et]]},e.geoCentroid=function(e){e1=e2=e3=e5=e4=e6=e8=e7=e9=te=tt=0,P(e,e_);var t=e9,r=te,n=tt,i=t*t+r*r+n*n;return i<1e-12&&(t=e6,r=e8,n=e7,e2<1e-6&&(t=e3,r=e5,n=e4),(i=t*t+r*r+n*n)<1e-12)?[NaN,NaN]:[d(r,t)*u,A(n/w(i))*u]},e.geoCircle=function(){var e,t,r=eI([0,0]),n=eI(90),i=eI(6),a={point:function(r,n){e.push(r=t(r,n)),r[0]*=u,r[1]*=u}};function o(){var o=r.apply(this,arguments),s=n.apply(this,arguments)*h,l=i.apply(this,arguments)*h;return e=[],t=eO(-o[0]*h,-o[1]*h,0).invert,eB(a,s,l,1),o={type:"Polygon",coordinates:[e]},e=t=null,o}return o.center=function(e){return arguments.length?(r="function"==typeof e?e:eI([+e[0],+e[1]]),o):r},o.radius=function(e){return arguments.length?(n="function"==typeof e?e:eI(+e),o):n},o.precision=function(e){return arguments.length?(i="function"==typeof e?e:eI(+e),o):i},o},e.geoClipAntimeridian=eK,e.geoClipCircle=eQ,e.geoClipExtent=function(){var e,t,r,n=0,i=0,a=960,o=500;return r={stream:function(r){return e&&t===r?e:e=e0(n,i,a,o)(t=r)},extent:function(s){return arguments.length?(n=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],e=t=null,r):[[n,i],[a,o]]}}},e.geoClipRectangle=e0,e.geoConicConformal=function(){return rL(rU).scale(109.5).parallels([30,30])},e.geoConicConformalRaw=rU,e.geoConicEqualArea=rP,e.geoConicEqualAreaRaw=rI,e.geoConicEquidistant=function(){return rL(rq).scale(131.154).center([0,13.9389])},e.geoConicEquidistantRaw=rq,e.geoContains=function(e,t){return(e&&tx.hasOwnProperty(e.type)?tx[e.type]:tb)(e,t)},e.geoDistance=tv,e.geoEqualEarth=function(){return rE(rG).scale(177.158)},e.geoEqualEarthRaw=rG,e.geoEquirectangular=function(){return rE(rV).scale(152.63)},e.geoEquirectangularRaw=rV,e.geoGnomonic=function(){return rE(rZ).scale(144.049).clipAngle(60)},e.geoGnomonicRaw=rZ,e.geoGraticule=tE,e.geoGraticule10=function(){return tE()()},e.geoIdentity=function(){var e,t,r,n,i,a,o,s=1,l=0,c=0,f=1,p=1,d=0,g=null,y=1,v=1,x=ry({point:function(e,t){var r=T([e,t]);this.stream.point(r[0],r[1])}}),b=tC;function w(){return y=s*f,v=s*p,a=o=null,T}function T(r){var n=r[0]*y,i=r[1]*v;if(d){var a=i*e-n*t;n=n*e+i*t,i=a}return[n+l,i+c]}return T.invert=function(r){var n=r[0]-l,i=r[1]-c;if(d){var a=i*e+n*t;n=n*e-i*t,i=a}return[n/y,i/v]},T.stream=function(e){return a&&o===e?a:a=x(b(o=e))},T.postclip=function(e){return arguments.length?(b=e,g=r=n=i=null,w()):b},T.clipExtent=function(e){return arguments.length?(b=null==e?(g=r=n=i=null,tC):e0(g=+e[0][0],r=+e[0][1],n=+e[1][0],i=+e[1][1]),w()):null==g?null:[[g,r],[n,i]]},T.scale=function(e){return arguments.length?(s=+e,w()):s},T.translate=function(e){return arguments.length?(l=+e[0],c=+e[1],w()):[l,c]},T.angle=function(r){return arguments.length?(t=_(d=r%360*h),e=m(d),w()):d*u},T.reflectX=function(e){return arguments.length?(f=e?-1:1,w()):f<0},T.reflectY=function(e){return arguments.length?(p=e?-1:1,w()):p<0},T.fitExtent=function(e,t){return r_(T,e,t)},T.fitSize=function(e,t){return rb(T,e,t)},T.fitWidth=function(e,t){return rw(T,e,t)},T.fitHeight=function(e,t){return rT(T,e,t)},T},e.geoInterpolate=function(e,t){var r,n,i=e[0]*h,a=e[1]*h,o=t[0]*h,s=t[1]*h,l=m(a),c=_(a),f=m(s),p=_(s),g=l*m(i),y=l*_(i),v=f*m(o),x=f*_(o),b=2*A(w((r=_((r=s-a)/2))*r+l*f*((n=_((n=o-i)/2))*n))),T=_(b),k=b?function(e){var t=_(e*=b)/T,r=_(b-e)/T,n=r*g+t*v,i=r*y+t*x;return[d(i,n)*u,d(r*c+t*p,w(n*n+i*i))*u]}:function(){return[i*u,a*u]};return k.distance=b,k},e.geoLength=tm,e.geoMercator=function(){return rB(rj).scale(961/c)},e.geoMercatorRaw=rj,e.geoNaturalEarth1=function(){return rE(rW).scale(175.295)},e.geoNaturalEarth1Raw=rW,e.geoOrthographic=function(){return rE(rY).scale(249.5).clipAngle(90.000001)},e.geoOrthographicRaw=rY,e.geoPath=function(e,t){var r,n,i=4.5;function a(e){return e&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),P(e,r(n))),n.result()}return a.area=function(e){return P(e,r(tR)),tR.result()},a.measure=function(e){return P(e,r(rf)),rf.result()},a.bounds=function(e){return P(e,r(tX)),tX.result()},a.centroid=function(e){return P(e,r(t4)),t4.result()},a.projection=function(t){return arguments.length?(r=null==t?(e=null,tC):(e=t).stream,a):e},a.context=function(e){return arguments.length?(n=null==e?(t=null,new rm):new ra(t=e),"function"!=typeof i&&n.pointRadius(i),a):t},a.pointRadius=function(e){return arguments.length?(i="function"==typeof e?e:(n.pointRadius(+e),+e),a):i},a.projection(e).context(t)},e.geoProjection=rE,e.geoProjectionMutator=rC,e.geoRotation=ej,e.geoStereographic=function(){return rE(rX).scale(250).clipAngle(142)},e.geoStereographicRaw=rX,e.geoStream=P,e.geoTransform=function(e){return{stream:ry(e)}},e.geoTransverseMercator=function(){var e=rB(r$),t=e.center,r=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):[(e=t())[1],-e[0]]},e.rotate=function(e){return arguments.length?r([e[0],e[1],e.length>2?e[2]+90:90]):[(e=r())[0],e[1],e[2]-90]},r([0,0,90]).scale(159.155)},e.geoTransverseMercatorRaw=r$,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&void 0!==t?n(e,dt()):n((r=r||self).d3=r.d3||{},r.d3)}}),dn=ed({"node_modules/d3-geo-projection/dist/d3-geo-projection.js"(e,t){var r;r=function(e,t,r){var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,c=Math.log,u=Math.max,h=Math.min,f=Math.pow,p=Math.round,d=Math.sign||function(e){return e>0?1:e<0?-1:0},m=Math.sin,g=Math.tan,y=Math.PI,v=y/2,x=y/4,_=Math.SQRT1_2,b=E(2),w=E(y),T=2*y,k=180/y,A=y/180;function M(e){return e>1?v:e<-1?-v:Math.asin(e)}function S(e){return e>1?0:e<-1?y:Math.acos(e)}function E(e){return e>0?Math.sqrt(e):0}function C(e){return(s(e)-s(-e))/2}function L(e){return(s(e)+s(-e))/2}function I(e){var t=g(e/2),r=2*c(o(e/2))/(t*t);function i(e,t){var n=o(e),i=o(t),a=m(t),s=i*n,l=-((1-s?c((1+s)/2)/(1-s):-.5)+r/(1+s));return[l*i*m(e),l*a]}return i.invert=function(t,i){var s,l=E(t*t+i*i),u=-e/2,h=50;if(!l)return[0,0];do{var f=u/2,p=o(f),d=m(f),g=d/p,y=-c(n(p));u-=s=(2/g*y-r*g-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(n(s)>1e-6&&--h>0);var v=m(u);return[a(t*v,l*o(u)),M(i*v/l)]},i}function P(e,t){var r,n=o(t),i=(r=S(n*o(e/=2)))?r/Math.sin(r):1;return[2*n*m(e)*i,m(t)*i]}function z(e){var t=m(e),r=o(e),i=e>=0?1:-1,s=g(i*e),l=(1+t-r)/2;function c(e,n){var c=o(n),u=o(e/=2);return[(1+c)*m(e),(i*n>-a(u,s)-.001?0:-(10*i))+l+m(n)*r-(1+c)*t*u]}return c.invert=function(e,c){var u=0,h=0,f=50;do{var p=o(u),d=m(u),g=o(h),y=m(h),v=1+g,x=v*d-e,_=l+y*r-v*t*p-c,b=v*p/2,w=-d*y,T=t*v*d/2,k=r*g+t*p*y,A=w*T-k*b,M=(_*w-x*k)/A/2,S=(x*T-_*b)/A;n(S)>2&&(S/=2),u-=M,h-=S}while((n(M)>1e-6||n(S)>1e-6)&&--f>0);return i*h>-a(o(u),s)-.001?[2*u,h]:null},c}function O(e,t){var r=g(t/2),n=E(1-r*r),i=1+n*o(e/=2),a=m(e)*n/i,s=r/i,l=a*a,c=s*s;return[4/3*a*(3+l-3*c),4/3*s*(3+3*l-c)]}P.invert=function(e,t){if(!(e*e+4*t*t>y*y+1e-6)){var r=e,i=t,a=25;do{var s,l=m(r),c=m(r/2),u=o(r/2),h=m(i),f=o(i),p=m(2*i),d=h*h,g=f*f,v=c*c,x=1-g*u*u,_=x?S(f*u)*E(s=1/x):s=0,b=2*_*f*c-e,w=_*h-t,T=s*(g*v+_*f*u*d),k=s*(.5*l*p-2*_*h*c),A=.25*s*(p*c-_*h*g*l),M=s*(d*u+_*v*f),C=k*A-M*T;if(!C)break;var L=(w*k-b*M)/C,I=(b*A-w*T)/C;r-=L,i-=I}while((n(L)>1e-6||n(I)>1e-6)&&--a>0);return[r,i]}},O.invert=function(e,t){if(t*=3/8,!(e*=3/8)&&n(t)>1)return null;var r,i,s=1+e*e+t*t,l=E((s-E(s*s-4*t*t))/2),u=M(l)/3,h=l?c((r=n(t/l))+E(r*r-1))/3:c((i=n(e))+E(i*i+1))/3,f=o(u),p=L(h),g=p*p-f*f;return[2*d(e)*a(C(h)*f,.25-g),2*d(t)*a(p*m(u),.25+g)]};var D=E(8),R=c(1+b);function F(e,t){var r=n(t);return rv){var l=a(s[1],s[0]),c=E(s[0]*s[0]+s[1]*s[1]),u=r*p((l-v)/r)+v,h=a(m(l-=u),2-o(l));l=u+M(y/c*m(h))-h,s[0]=c*o(l),s[1]=c*m(l)}return s}return s.invert=function(e,n){var s=E(e*e+n*n);if(s>v){var l=a(n,e),c=r*p((l-v)/r)+v,u=l>c?-1:1,h=s*o(c-l),f=1/g(u*S((h-y)/E(y*(y-2*h)+s*s)));e=s*o(l=c+2*i((f+u*E(f*f-3))/3)),n=s*m(l)}return t.geoAzimuthalEquidistantRaw.invert(e,n)},s}function B(e,r){if(arguments.length<2&&(r=e),1===r)return t.geoAzimuthalEqualAreaRaw;if(r===1/0)return N;function n(n,i){var a=t.geoAzimuthalEqualAreaRaw(n/r,i);return a[0]*=e,a}return n.invert=function(n,i){var a=t.geoAzimuthalEqualAreaRaw.invert(n/e,i);return a[0]*=r,a},n}function N(e,t){return[e*o(t)/o(t/=2),2*m(t)]}function U(e,t,r){var i,a,o,s=100;r=void 0===r?0:+r,t=+t;do(a=e(r))===(o=e(r+1e-6))&&(o=a+1e-6),r-=i=-.000001*(a-t)/(a-o);while(s-- >0&&n(i)>1e-6);return s<0?NaN:r}function V(e,t,r){return void 0===t&&(t=40),void 0===r&&(r=1e-12),function(i,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var h=0;hl){o-=c/=2,s-=u/=2;continue}l=m;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,v=e(o+g,s),x=e(o,s+y),_=(v[0]-f[0])/g,b=(v[1]-f[1])/g,w=(x[0]-f[0])/y,T=(x[1]-f[1])/y,k=T*_-b*w,A=(.5>n(k)?.5:1)/k;if(c=(d*w-p*T)*A,u=(p*b-d*_)*A,o+=c,s+=u,n(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return t.invert=V(t),t}function H(e,t){var r,i=e*m(t),a=30;do t-=r=(t+m(t)-i)/(1+o(t));while(n(r)>1e-6&&--a>0);return t/2}function G(e,t,r){function n(n,i){return[e*n*o(i=H(r,i)),t*m(i)]}return n.invert=function(n,i){return[n/(e*o(i=M(i/t))),M((2*i+m(2*i))/r)]},n}F.invert=function(e,t){if((a=n(t))1e-12&&--u>0);return[e/(o(l)*(D-1/m(l))),d(t)*l]},N.invert=function(e,t){var r=2*M(t/2);return[e*o(r/2)/o(r),r]};var Z=G(b/v,b,y);function W(e,t){var r=H(y,t);return[2.00276*e/(1/o(t)+1.11072/o(r)),(t+b*m(r))/2.00276]}function Y(e){var r=0,n=t.geoProjectionMutator(e),i=n(r);return i.parallel=function(e){return arguments.length?n(r=e*A):r*k},i}function X(e,t){return[e*o(t),t]}function $(e){if(!e)return X;var t=1/g(e);function r(r,n){var i=t+e-n,a=i?r*o(n)/i:i;return[i*m(a),t-i*o(a)]}return r.invert=function(r,n){var i=E(r*r+(n=t-n)*n),s=t+e-i;return[i/o(s)*a(r,n),s]},r}function J(e){function t(t,r){var n=v-r,i=n?t*e*m(n)/n:n;return[n*m(i)/e,v-n*o(i)]}return t.invert=function(t,r){var n=t*e,i=v-r,o=E(n*n+i*i),s=a(n,i);return[(o?o/m(o):1)*s/e,v-o]},t}W.invert=function(e,t){var r,i,a=2.00276*t,s=t<0?-x:x,l=25;do i=a-b*m(s),s-=r=(m(2*s)+2*s-y*m(i))/(2*o(2*s)+2+y*o(i)*b*o(s));while(n(r)>1e-6&&--l>0);return[e*(1/o(i=a-b*m(s))+1.11072/o(s))/2.00276,i]},X.invert=function(e,t){return[e/o(t),t]};var K=G(1,4/y,y);function Q(e,t,r,i,s,l){var c,u=o(l);if(n(e)>1||n(l)>1)c=S(r*s+t*i*u);else{var h=m(e/2),f=m(l/2);c=2*M(E(h*h+t*i*f*f))}return n(c)>1e-6?[c,a(i*m(l),t*s-r*i*u)]:[0,0]}function ee(e,t,r){return S((e*e+t*t-r*r)/(2*e*t))}function et(e,t,r){for(var n,i=[[e[0],e[1],m(e[1]),o(e[1])],[t[0],t[1],m(t[1]),o(t[1])],[r[0],r[1],m(r[1]),o(r[1])]],a=i[2],s=0;s<3;++s,a=n)n=i[s],a.v=Q(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var c=ee(i[0].v[0],i[2].v[0],i[1].v[0]),u=ee(i[0].v[0],i[1].v[0],i[2].v[0]),h=y-c;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*o(c),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*m(c))];return function(e,t){var r,n=m(t),a=o(t),s=[,,,];for(r=0;r<3;++r){var c,p=i[r];if(s[r]=Q(t-p[1],p[3],p[2],a,n,e-p[0]),!s[r][0])return p.point;s[r][1]=(c=s[r][1]-p.v[1])-2*y*l((c+y)/(2*y))}var d=f.slice();for(r=0;r<3;++r){var g=2==r?0:r+1,v=ee(i[r].v[0],s[r][0],s[g][0]);s[r][1]<0&&(v=-v),r?1==r?(v=u-v,d[0]-=s[r][0]*o(v),d[1]-=s[r][0]*m(v)):(v=h-v,d[0]+=s[r][0]*o(v),d[1]+=s[r][0]*m(v)):(d[0]+=s[r][0]*o(v),d[1]-=s[r][0]*m(v))}return d[0]/=3,d[1]/=3,d}}function er(e){return e[0]*=A,e[1]*=A,e}function en(e,r,n){var i=t.geoCentroid({type:"MultiPoint",coordinates:[e,r,n]}),a=[-i[0],-i[1]],o=t.geoRotation(a),s=et(er(o(e)),er(o(r)),er(o(n)));s.invert=V(s);var l=t.geoProjection(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(e){return arguments.length?c(o(e)):o.invert(c())},l.clipAngle(90)}function ei(e,t){var r=E(1-m(t));return[2/w*e*r,w*(1-r)]}function ea(e){var t=g(e);function r(e,r){return[e,(e?e/m(e):1)*(m(r)*o(e)-t*o(r))]}return r.invert=t?function(e,r){e&&(r*=m(e)/e);var n=o(e);return[e,2*a(E(n*n+t*t-r*r)-n,t-r)]}:function(e,t){return[e,M(e?t*g(e)/e:t)]},r}ei.invert=function(e,t){var r=(r=t/w-1)*r;return[r>0?e*E(y/r)/2:0,M(1-r)]};var eo=E(3);function es(e,t){return[eo*e*(2*o(2*t/3)-1)/w,eo*w*m(t/3)]}function el(e){var t=o(e);function r(e,r){return[e*t,m(r)/t]}return r.invert=function(e,r){return[e/t,M(r*t)]},r}function ec(e){var t=o(e);function r(e,r){return[e*t,(1+t)*g(r/2)]}return r.invert=function(e,r){return[e/t,2*i(r/(1+t))]},r}function eu(e,t){var r=E(8/(3*y));return[r*e*(1-n(t)/y),r*t]}function eh(e,t){var r=E(4-3*m(n(t)));return[2/E(6*y)*e*r,d(t)*E(2*y/3)*(2-r)]}function ef(e,t){var r=E(y*(4+y));return[2/r*e*(1+E(1-4*t*t/(y*y))),4/r*t]}function ep(e,t){var r=(2+v)*m(t);t/=2;for(var i=0,a=1/0;i<10&&n(a)>1e-6;i++){var s=o(t);t-=a=(t+m(t)*(s+2)-r)/(2*s*(1+s))}return[2/E(y*(4+y))*e*(1+o(t)),2*E(y/(4+y))*m(t)]}function ed(e,t){return[e*(1+o(t))/E(2+y),2*t/E(2+y)]}function em(e,t){for(var r=(1+v)*m(t),i=0,a=1/0;i<10&&n(a)>1e-6;i++)t-=a=(t+m(t)-r)/(1+o(t));return r=E(2+y),[e*(1+o(t))/r,2*t/r]}es.invert=function(e,t){var r=3*M(t/(eo*w));return[w*e/(eo*(2*o(2*r/3)-1)),r]},eu.invert=function(e,t){var r=E(8/(3*y)),i=t/r;return[e/(r*(1-n(i)/y)),i]},eh.invert=function(e,t){var r=2-n(t)/E(2*y/3);return[e*E(6*y)/(2*r),d(t)*M((4-r*r)/3)]},ef.invert=function(e,t){var r=E(y*(4+y))/2;return[e*r/(1+E(1-t*t*(4+y)/(4*y))),t*r/2]},ep.invert=function(e,t){var r=t*E((4+y)/y)/2,n=M(r),i=o(n);return[e/(2/E(y*(4+y))*(1+i)),M((n+r*(i+2))/(2+v))]},ed.invert=function(e,t){var r=E(2+y),n=t*r/2;return[r*e/(1+o(n)),n]},em.invert=function(e,t){var r=1+v,n=E(r/2);return[2*e*n/(1+o(t*=n)),M((t+m(t))/r)]};var eg=3+2*b;function ey(e,t){var r=m(e/=2),n=o(e),a=E(o(t)),s=o(t/=2),l=m(t)/(s+b*n*a),u=E(2/(1+l*l)),h=E((b*s+(n+r)*a)/(b*s+(n-r)*a));return[eg*(u*(h-1/h)-2*c(h)),eg*(u*l*(h+1/h)-2*i(l))]}ey.invert=function(e,t){if(!(r=O.invert(e/1.2,1.065*t)))return null;var r,a=r[0],s=r[1],l=20;e/=eg,t/=eg;do{var f=a/2,p=s/2,d=m(f),g=o(f),y=m(p),x=o(p),w=o(s),T=E(w),k=y/(x+b*g*T),A=k*k,M=E(2/(1+A)),S=(b*x+(g+d)*T)/(b*x+(g-d)*T),C=E(S),L=C-1/C,I=C+1/C,P=M*L-2*c(C)-e,z=M*k*I-2*i(k)-t,D=y&&_*T*d*A/y,R=(b*g*x+T)/(2*(x+b*g*T)*(x+b*g*T)*T),F=-.5*k*M*M*M,j=F*D,B=F*R,N=(N=2*x+b*T*(g-d))*N*C,U=(b*g*x*T+w)/N,V=-(b*d*y)/(T*N),q=L*j-2*U/C+M*(U+U/S),H=L*B-2*V/C+M*(V+V/S),G=k*I*j-2*D/(1+A)+M*I*D+M*k*(U-U/S),Z=k*I*B-2*R/(1+A)+M*I*R+M*k*(V-V/S),W=H*G-Z*q;if(!W)break;var Y=(z*H-P*Z)/W,X=(P*G-z*q)/W;a-=Y,s=u(-v,h(v,s-X))}while((n(Y)>1e-6||n(X)>1e-6)&&--l>0);return 1e-6>n(n(s)-v)?[0,s]:l&&[a,s]};var ev=o(35*A);function ex(e,t){var r=g(t/2);return[e*ev*E(1-r*r),(1+ev)*r]}function e_(e,t){var r=t/2,n=o(r);return[2*e/w*o(t)*n*n,w*g(r)]}function eb(e){var t=1-e,r=i(y,0)[0]-i(-y,0)[0],n=E(2*(i(0,v)[1]-i(0,-v)[1])/r);function i(r,n){var i=o(n),a=m(n);return[i/(t+e*i)*r,t*n+e*a]}function a(e,t){var r=i(e,t);return[r[0]*n,r[1]/n]}function s(e){return a(0,e)[1]}return a.invert=function(r,i){var a=U(s,i);return[r/n*(e+t/o(a)),a]},a}function ew(e){return[e[0]/2,M(g(e[1]/2*A))*k]}function eT(e){return[2*e[0],2*i(m(e[1]*A))*k]}function ek(e,r){var i=2*y/r,s=e*e;function l(r,l){var c=t.geoAzimuthalEquidistantRaw(r,l),u=c[0],h=c[1],f=u*u+h*h;if(f>s){var d=E(f),g=a(h,u),x=i*p(g/i),_=g-x,b=e*o(_),w=(e*m(_)-_*m(b))/(v-b),T=eA(_,w),k=(y-e)/eM(T,b,y);u=d;var A,M=50;do u-=A=(e+eM(T,b,u)*k-d)/(T(u)*k);while(n(A)>1e-6&&--M>0);h=_*m(u),us){var u=E(c),h=a(l,r),f=i*p(h/i),d=h-f;r=u*o(d),l=u*m(d);for(var g=r-v,x=m(r),_=l/x,b=rn(b)||!--w)break;_-=b=(_*x-S*g-l)/(x-2*g*(M*(k+_*T*o(k)-A)-T*(T-_*A))/(M*M))}r=(u=e+eM(C,k,r)*(y-e)/eM(C,k,y))*o(h=f+_),l=u*m(h)}return t.geoAzimuthalEquidistantRaw.invert(r,l)},l}function eA(e,t){return function(r){var n=e*o(r);return r1e-6||n(p)>1e-6)&&--v>0);return[d,g]},u}ex.invert=function(e,t){var r=t/(1+ev);return[e&&e/(ev*E(1-r*r)),2*i(r)]},e_.invert=function(e,t){var r=i(t/w),n=o(r),a=2*r;return[e*w/2/(o(a)*n*n),a]};var eE=eS(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555),eC=eS(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742),eL=eS(5/6*y,-.62636,-.0344,0,1.3493,-.05524,0,.045);function eI(e,t){var r=e*e,n=t*t;return[e*(1-.162388*n)*(.87-952426e-9*r*r),t*(1+n/12)]}eI.invert=function(e,t){var r,i=e,a=t,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-t)/(1+s/4)}while(n(r)>1e-6&&--o>0);o=50,e/=1-.162388*s;do{var l=(l=i*i)*l;i-=r=(i*(.87-952426e-9*l)-e)/(.87-.00476213*l)}while(n(r)>1e-6&&--o>0);return[i,a]};var eP=eS(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function ez(e){var t=e(v,0)[0]-e(-v,0)[0];function r(r,n){var i=r>0?-.5:.5,a=e(r+i*y,n);return a[0]-=i*t,a}return e.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=e.invert(r+i*t,n),o=a[0]-i*y;return o<-y?o+=2*y:o>y&&(o-=2*y),a[0]=o,a}),r}function eO(e,t){var r=d(e),i=d(t),s=o(t),l=o(e)*s,c=m(e)*s,u=m(i*t);e=n(a(c,u)),t=M(l),n(e-v)>1e-6&&(e%=v);var h=function(e,t){if(t===v)return[0,0];var r,i,a=m(t),s=a*a,l=s*s,c=1+l,u=1+3*l,h=1-l,f=M(1/E(c)),p=h+s*c*f,d=(1-a)/p,g=E(d),x=d*c,_=E(x),b=g*h;if(0===e)return[0,-(b+s*_)];var w,T=o(t),k=1/T,A=2*a*T,S=(-p*T-(-3*s+f*u)*A*(1-a))/(p*p),C=s*c*S+d*u*A,L=-k*A,I=-k*C,P=-2*k*(.5*S/g*h-2*s*g*A),z=4*e/y;if(e>.222*y||t.175*y){if(r=(b+s*E(x*(1+l)-b*b))/(1+l),e>y/4)return[r,r];var O=r,D=.5*r;r=.5*(D+O),i=50;do{var R=E(x-r*r),F=r*(P+L*R)+I*M(r/_)-z;if(!F)break;F<0?D=r:O=r,r=.5*(D+O)}while(n(O-D)>1e-6&&--i>0)}else{r=1e-6,i=25;do{var j=r*r,B=E(x-j),N=P+L*B,U=r*N+I*M(r/_)-z,V=N+(I-L*j)/B;r-=w=B?U/V:0}while(n(w)>1e-6&&--i>0)}return[r,-b-s*E(x-r*r)]}(e>y/4?v-e:e,t);return e>y/4&&(u=h[0],h[0]=-h[1],h[1]=-u),h[0]*=r,h[1]*=-i,h}function eD(e,t){if(t<1e-6)return u=m(e),l=o(e),a=t*(e-u*l)/4,[u-a*l,l+a*u,1-t*u*u/2,e-a];if(t>=.999999){var r;return a=(1-t)/4,l=L(e),u=((r=s(2*(r=e)))-1)/(r+1),c=1/l,[u+a*((h=l*C(e))-e)/(l*l),c-a*u*c*(h-e),c+a*u*c*(h+e),2*i(s(e))-v+a*(h-e)/l]}var a,l,c,u,h,f=[1,0,0,0,0,0,0,0,0],p=[E(t),0,0,0,0,0,0,0,0],d=0;for(l=E(1-t),h=1;n(p[d]/f[d])>1e-6&&d<8;)a=f[d++],p[d]=(a-l)/2,f[d]=(a+l)/2,l=E(a*l),h*=2;c=h*f[d]*e;do c=(M(u=p[d]*m(l=c)/f[d])+c)/2;while(--d);return[m(c),u=o(c),u/o(c-l),c]}function eR(e,t){if(!t)return e;if(1===t)return c(g(e/2+x));for(var r=1,a=E(1-t),o=E(t),s=0;n(o)>1e-6;s++){if(e%y){var l=i(a*g(e)/r);l<0&&(l+=y),e+=l+~~(e/y)*y}else e+=e;o=(r+a)/2,a=E(r*a),o=((r=o)-a)/2}return e/(f(2,s)*r)}function eF(e,t){var r,l,u,h,f,p=(b-1)/(b+1),x=E(1-p*p),_=eR(v,x*x),w=s(-1*c(g(y/4+n(t)/2)))/E(p),T=(r=w*o(-1*e),l=w*m(-1*e),u=r*r,h=l+1,[.5*((r>=0?v:-v)-a(f=1-u-l*l,2*r)),-.25*c(f*f+4*u)+.5*c(h*h+u)]),k=function(e,t,r){var a=n(e),o=C(n(t));if(a){var s=1/m(a),l=1/(g(a)*g(a)),c=-(l+o*o*s*s*r-1+r),u=(-c+E(c*c-(r-1)*l*4))/2;return[eR(i(1/E(u)),r)*d(e),eR(i(E((u/l-1)/r)),1-r)*d(t)]}return[0,eR(i(o),1-r)*d(t)]}(T[0],T[1],x*x);return[-k[1],(t>=0?1:-1)*(.5*_-k[0])]}function ej(e){var t=m(e),r=o(e),i=eB(e);function s(e,a){var s=i(e,a);e=s[0];var l=m(a=s[1]),c=o(a),u=o(e),h=S(t*l+r*c*u),f=m(h),p=n(f)>1e-6?h/f:1;return[p*r*m(e),(n(e)>v?p:-p)*(t*c-r*l*u)]}return i.invert=eB(-e),s.invert=function(e,r){var n=E(e*e+r*r),s=-m(n),l=o(n),c=n*l,u=-r*s,h=n*t,f=E(c*c+u*u-h*h),p=a(c*h+u*f,u*h-c*f),d=(n>v?-1:1)*a(e*s,n*o(p)*l+r*m(p)*s);return i.invert(d,p)},s}function eB(e){var t=m(e),r=o(e);return function(e,n){var i=o(n),s=o(e)*i,l=m(e)*i,c=m(n);return[a(l,s*r-c*t),M(c*r+s*t)]}}eO.invert=function(e,t){n(e)>1&&(e=2*d(e)-e),n(t)>1&&(t=2*d(t)-t);var r=d(e),i=d(t),s=-r*e,l=-i*t,c=l/s<1,u=function(e,t){for(var r=0,i=1,a=.5,s=50;;){var l=a*a,c=E(a),u=M(1/E(1+l)),h=1-l+a*(1+l)*u,f=(1-c)/h,p=E(f),d=f*(1+l),m=p*(1-l),g=E(d-e*e),v=t+m+a*g;if(1e-12>n(i-r)||0==--s||0===v)break;v>0?r=a:i=a,a=.5*(r+i)}if(!s)return null;var x=M(c),_=o(x),b=1/_,w=2*c*_,T=(-h*_-(-3*a+u*(1+3*l))*w*(1-c))/(h*h),k=.5*T/p*(1-l)-2*a*p*w,A=-b*(a*(1+l)*T+f*(1+3*l)*w);return[y/4*(e*(-2*b*k+-b*w*g)+A*M(e/E(d))),x]}(c?l:s,c?s:l),h=u[0],f=u[1],p=o(f);return c&&(h=-v-h),[r*(a(m(h)*p,-m(f))+y),i*M(o(h)*p)]},eF.invert=function(e,t){var r,n,o,l,u,h,f,p,d,m=(b-1)/(b+1),g=E(1-m*m),y=(r=.5*eR(v,g*g)-t,n=-e,o=g*g,r?(l=eD(r,o),n)?(h=(u=eD(n,1-o))[1]*u[1]+o*l[0]*l[0]*u[0]*u[0],[[l[0]*u[2]/h,l[1]*l[2]*u[0]*u[1]/h],[l[1]*u[1]/h,-l[0]*l[2]*u[0]*u[2]/h],[l[2]*u[1]*u[2]/h,-o*l[0]*l[1]*u[0]/h]]):[[l[0],0],[l[1],0],[l[2],0]]:[[0,(u=eD(n,1-o))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),x=(f=y[0],d=(p=y[1])[0]*p[0]+p[1]*p[1],[(f[0]*p[0]+f[1]*p[1])/d,(f[1]*p[0]-f[0]*p[1])/d]);return[-(a(x[1],x[0])/1),2*i(s(-.5*c(m*x[0]*x[0]+m*x[1]*x[1])))-v]};var eN=M(1-.3333333333333333)*k,eU=el(0);function eV(e){var t=eN*A,r=ei(y,t)[0]-ei(-y,t)[0],i=eU(0,t)[1],a=ei(0,t)[1],o=w-a,s=T/e,c=4/T,f=i+o*o*4/T;function p(p,d){var m,g=n(d);if(g>t){var v=h(e-1,u(0,l((p+y)/s)));p+=y*(e-1)/e-v*s,(m=ei(p,g))[0]=m[0]*T/r-T*(e-1)/(2*e)+v*T/e,m[1]=i+(m[1]-a)*4*o/T,d<0&&(m[1]=-m[1])}else m=eU(p,d);return m[0]*=c,m[1]/=f,m}return p.invert=function(t,p){t/=c;var d=n(p*=f);if(d>i){var m=h(e-1,u(0,l((t+y)/s)));t=(t+y*(e-1)/e-m*s)*r/T;var g=ei.invert(t,.25*(d-i)*T/o+a);return g[0]-=y*(e-1)/e-m*s,p<0&&(g[1]=-g[1]),g}return eU.invert(t,p)},p}function eq(e,t){return[e,1&t?89.999999:eN]}function eH(e,t){return[e,1&t?-89.999999:-eN]}function eG(e){return[.999999*e[0],e[1]]}function eZ(e){var t,r=1+e,i=M(m(1/r)),s=2*E(y/(t=y+4*i*r)),l=.5*s*(r+E(e*(2+e))),c=e*e,u=r*r;function h(h,f){var p,d,g=1-m(f);if(g&&g<2){var x,_=v-f,b=25;do{var w=m(_),T=o(_),k=i+a(w,r-T),A=1+u-2*r*T;_-=x=(_-c*i-r*w+A*k-.5*g*t)/(2*r*w*k)}while(n(x)>1e-12&&--b>0);p=s*E(A),d=h*k/y}else p=s*(e+g),d=h*i/y;return[p*m(d),l-p*o(d)]}return h.invert=function(e,n){var o=e*e+(n-=l)*n,h=(1+u-o/(s*s))/(2*r),f=S(h),p=m(f),d=i+a(p,r-h);return[M(e/E(o))*y/d,M(1-2*(f-c*i-r*p+(1+u-2*r*h)*d)/t)]},h}function eW(e,t){return t>-.7109889596207567?(e=Z(e,t),e[1]+=.0528035274542,e):X(e,t)}function eY(e,t){return n(t)>.7109889596207567?(e=Z(e,t),e[1]-=t>0?.0528035274542:-.0528035274542,e):X(e,t)}function eX(e,t,r,n){var i=E(4*y/(2*r+(1+e-t/2)*m(2*r)+(e+t)/2*m(4*r)+t/2*m(6*r))),a=E(n*m(r)*E((1+e*o(2*r)+t*o(4*r))/(1+e+t))),s=r*c(1);function l(r){return E(1+e*o(2*r)+t*o(4*r))}function c(n){var i=n*r;return(2*i+(1+e-t/2)*m(2*i)+(e+t)/2*m(4*i)+t/2*m(6*i))/r}function u(e){return l(e)*m(e)}var h=function(e,t){var n=r*U(c,s*m(t)/r,t/y);isNaN(n)&&(n=r*d(t));var u=i*l(n);return[u*a*e/y*o(n),u/a*m(n)]};return h.invert=function(e,t){var n=U(u,t*a/i);return[e*y/(o(n)*i*a*l(n)),M(r*c(n/r)/s)]},0===r&&(i=E(n/y),(h=function(e,t){return[e*i,m(t)/i]}).invert=function(e,t){return[e/i,M(t*i)]}),h}function e$(e,t,r){function i(r){return e+(1-e)*f(1-f(r,t),1/t)}function a(e){var t,r,n,a,o;return void 0===t&&(t=20),o=((r=i(0))+4*(n=i(.5*(0+e)))+(a=i(e)))*(e-0)/6,function e(t,r,n,i,a,o,s,l,c,u,h){var f,p,d,m,g,y,v,x,_,b;if(h.nanEncountered)return NaN;if(f=n-r,p=t(r+.25*f),d=t(n-.25*f),isNaN(p)||isNaN(d)){h.nanEncountered=!0;return}return(b=((y=(m=f*(i+4*p+a)/12)+(g=f*(a+4*d+o)/12))-s)/15,u>c)?(h.maxDepthCount++,y+b):Math.abs(b)e?r=n:t=n,n=t+r>>1;while(n>t);var i=l[n+1]-l[n];return i&&(i=(e-l[n+1])/i),(n+1+i)/1e3}var h=2*u(1)/y*o/r,p=function(e,t){var r=u(n(m(t))),a=i(r)*e;return r/=h,[a,t>=0?r:-r]};return p.invert=function(e,t){var r;return 1>n(t*=h)&&(r=d(t)*M(a(n(t))*o)),[e/i(n(t)),r]},p}function eJ(e,t){for(var r,n,i,a=-1,o=e.length,s=e[0],l=[];++aa[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],n*r>n*a[o][0][1]?a[o][0][1]:r)[0],l}a?o.invert=a(o):e.invert&&(o.invert=function(t,r){for(var a=l[+(r<0)],s=i[+(r<0)],c=0,u=a.length;cn(f[0]-p[0])&&1e-6>n(f[1]-p[1]))?d:null}}});var s,l,c=t.geoProjection(o),u=c.stream;return c.stream=function(e){var r=c.rotate(),n=u(e),i=(c.rotate([0,0]),u(e));return c.rotate(r),n.sphere=function(){t.geoStream(s,i)},n},c.lobes=function(t){return arguments.length?(s=function(e){var t,n,i,a,o,s,l,c=[],u=e[0].length;for(l=0;l=0;--l)n=(t=e[1][l])[0][0],i=t[0][1],a=t[1][1],o=t[2][0],s=t[2][1],c.push(eJ([[o-1e-6,s-1e-6],[o-1e-6,a+1e-6],[n+1e-6,a+1e-6],[n+1e-6,i-1e-6]],30));return{type:"Polygon",coordinates:[r.merge(c)]}}(t),l=(i=t.map(function(e){return e.map(function(e){return[[e[0][0]*A,e[0][1]*A],[e[1][0]*A,e[1][1]*A],[e[2][0]*A,e[2][1]*A]]})})).map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),c):i.map(function(e){return e.map(function(e){return[[e[0][0]*k,e[0][1]*k],[e[1][0]*k,e[1][1]*k],[e[2][0]*k,e[2][1]*k]]})})},null!=i&&c.lobes(i),c}eW.invert=function(e,t){return t>-.7109889596207567?Z.invert(e,t-.0528035274542):X.invert(e,t)},eY.invert=function(e,t){return n(t)>.7109889596207567?Z.invert(e,t+(t>0?.0528035274542:-.0528035274542)):X.invert(e,t)};var eQ=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]],e0=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]],e1=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]],e2=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]],e3=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]],e5=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function e4(e,t){return[3/T*e*E(y*y/3-t*t),t]}function e6(e){function t(t,r){if(1e-6>n(n(r)-v))return[0,r<0?-2:2];var i=m(r),a=f((1+i)/(1-i),e/2),s=.5*(a+1/a)+o(t*=e);return[2*m(t)/s,(a-1/a)/s]}return t.invert=function(t,r){var i=n(r);if(1e-6>n(i-2))return t?null:[0,d(r)*v];if(i>2)return null;t/=2,r/=2;var o=t*t,s=r*r,l=2*r/(1+o+s);return l=f((1+l)/(1-l),1/e),[a(2*t,1-o-s)/e,M((l-1)/(l+1))]},t}e4.invert=function(e,t){return[T/3*e/E(y*y/3-t*t),t]};var e8=y/b;function e7(e,t){return[e*(1+E(o(t)))/2,t/(o(t/2)*o(e/6))]}function e9(e,t){var r=e*e,n=t*t;return[e*(.975534+n*(-.119161+-.0143059*r+-.0547009*n)),t*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function te(e,t){return[m(e)/o(t),g(t)*o(e)]}function tt(e){var t=o(e),r=g(x+e/2);function i(i,a){var o=a-e,s=1e-6>n(o)?i*t:1e-6>n(s=x+a/2)||1e-6>n(n(s)-v)?0:i*o/c(g(s)/r);return[s,o]}return i.invert=function(i,a){var o,s=a+e;return[1e-6>n(a)?i/t:1e-6>n(o=x+s/2)||1e-6>n(n(o)-v)?0:i*c(g(o)/r)/a,s]},i}function tr(e,t){return[e,1.25*c(g(x+.4*t))]}function tn(e){var t=e.length-1;function r(r,n){for(var i,a=o(n),s=2/(1+a*o(r)),l=s*a*m(r),c=s*m(n),u=t,h=e[u],f=h[0],p=h[1];--u>=0;)f=(h=e[u])[0]+l*(i=f)-c*p,p=h[1]+l*p+c*i;return[f=l*(i=f)-c*p,p=l*p+c*i]}return r.invert=function(r,s){var l=20,c=r,u=s;do{for(var h,f=t,p=e[f],d=p[0],g=p[1],y=0,v=0;--f>=0;)p=e[f],y=d+c*(h=y)-u*v,v=g+c*v+u*h,d=p[0]+c*(h=d)-u*g,g=p[1]+c*g+u*h;y=d+c*(h=y)-u*v,v=g+c*v+u*h,d=c*(h=d)-u*g-r,g=c*g+u*h-s;var x,_,b=y*y+v*v;c-=x=(d*y+g*v)/b,u-=_=(g*y-d*v)/b}while(n(x)+n(_)>1e-6*1e-6&&--l>0);if(l){var w=E(c*c+u*u),T=2*i(.5*w),k=m(T);return[a(c*k,w*o(T)),w?M(u*k/w):0]}},r}e7.invert=function(e,t){var r=n(e),i=n(t),a=1e-6,s=v;in(k)&&1e-6>n(A))break}return[e<0?-a:a,t<0?-s:s]},e9.invert=function(e,t){var r=d(e)*y,i=t/2,a=50;do{var o=r*r,s=i*i,l=r*i,c=r*(.975534+s*(-.119161+-.0143059*o+-.0547009*s))-e,u=i*(1.00384+o*(.0802894+-.02855*s+199025e-9*o)+s*(.0998909+-.0491032*s))-t,h=.975534-s*(.119161+3*o*.0143059+.0547009*s),f=-l*(.238322+.2188036*s+.0286118*o),p=l*(.1605788+7961e-7*o+-.0571*s),m=1.00384+o*(.0802894+199025e-9*o)+s*(3*(.0998909-.02855*o)-.245516*s),g=f*p-m*h,v=(u*f-c*m)/g,x=(c*p-u*h)/g;r-=v,i-=x}while((n(v)>1e-6||n(x)>1e-6)&&--a>0);return a&&[r,i]},te.invert=function(e,t){var r=e*e,n=t*t+1,i=r+n,a=e?_*E((i-E(i*i-4*r))/r):1/E(n);return[M(e*a),d(t)*S(a)]},tr.invert=function(e,t){return[e,2.5*i(s(.8*t))-.625*y]};var ti=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],ta=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],to=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],ts=[[.9245,0],[0,0],[.01943,0]],tl=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(e,r){var n=t.geoProjection(tn(e)).rotate(r).clipAngle(90),i=t.geoRotation(r),a=n.center;return delete n.rotate,n.center=function(e){return arguments.length?a(i(e)):i.invert(a())},n}var tu=E(6),th=E(7);function tf(e,t){var r=M(7*m(t)/(3*tu));return[tu*e*(2*o(2*r/3)-1)/th,9*m(r/3)/th]}function tp(e,t){for(var r,i=(1+_)*m(t),a=t,s=0;s<25&&(a-=r=(m(a/2)+m(a)-i)/(.5*o(a/2)+o(a)),!(1e-6>n(r)));s++);return[e*(1+2*o(a)/o(a/2))/(3*b),2*E(3)*m(a/2)/E(2+b)]}function td(e,t){for(var r,i=E(6/(4+y)),a=(1+y/4)*m(t),s=t/2,l=0;l<25&&(s-=r=(s/2+m(s)-a)/(.5+o(s)),!(1e-6>n(r)));l++);return[i*(.5+o(s))*e/1.5,i*s]}function tm(e,t){var r=t*t,n=r*r,i=r*n;return[e*(.84719-.13063*r+i*i*(-.04515+.05494*r-.02326*n+.00331*i)),t*(1.01183+n*n*(-.02625+.01926*r-.00396*n))]}function tg(e,t){return[e*(1+o(t))/2,2*(t-g(t/2))]}tf.invert=function(e,t){var r=3*M(t*th/9);return[e*th/(tu*(2*o(2*r/3)-1)),M(3*m(r)*tu/7)]},tp.invert=function(e,t){var r=t*E(2+b)/(2*E(3)),n=2*M(r);return[3*b*e/(1+2*o(n)/o(n/2)),M((r+m(n))/(1+_))]},td.invert=function(e,t){var r=E(6/(4+y)),i=t/r;return 1e-6>n(n(i)-v)&&(i=i<0?-v:v),[1.5*e/(r*(.5+o(i))),M((i/2+m(i))/(1+y/4))]},tm.invert=function(e,t){var r,i,a,o,s=t,l=25;do a=(i=s*s)*i,s-=r=(s*(1.01183+a*a*(-.02625+.01926*i-.00396*a))-t)/(1.01183+a*a*(-.23625+.21186*i+-.05148*a));while(n(r)>1e-12&&--l>0);return a=(i=s*s)*i,o=i*a,[e/(.84719-.13063*i+o*o*(-.04515+.05494*i-.02326*a+.00331*o)),s]},tg.invert=function(e,t){for(var r=t/2,i=0,a=1/0;i<10&&n(a)>1e-6;++i){var s=o(t/2);t-=a=(t-g(t/2)-r)/(1-.5/(s*s))}return[2*e/(1+o(t)),t]};var ty=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function tv(e,t){var r=m(t),i=o(t),a=d(e);if(0===e||n(t)===v)return[0,t];if(0===t)return[e,0];if(n(e)===v)return[e*i,v*r];var s=y/(2*e)-2*e/y,l=2*t/y,c=(1-l*l)/(r-l),u=s*s,h=c*c,f=1+u/h,p=1+h/u,g=(s*r/c-s/2)/f,x=(h*r/u+c/2)/p,_=x*x-(h*r*r/u+c*r-1)/p;return[v*(g+E(g*g+i*i/f)*a),v*(x+E(_<0?0:_)*d(-t*s)*a)]}function tx(e,t){var r=t*t;return[e,t*(1.0148+r*r*(.23185+r*(-.14499+.02406*r)))]}function t_(e,t){if(1e-6>n(t))return[e,0];var r=g(t),i=e*m(t);return[m(i)/r,t+(1-o(i))/r]}function tb(e,t){return[e[0]*t[0]+e[1]*t[3],e[0]*t[1]+e[1]*t[4],e[0]*t[2]+e[1]*t[5]+e[2],e[3]*t[0]+e[4]*t[3],e[3]*t[1]+e[4]*t[4],e[3]*t[2]+e[4]*t[5]+e[5]]}function tw(e,t){return[e[0]-t[0],e[1]-t[1]]}function tT(e){return E(e[0]*e[0]+e[1]*e[1])}function tk(e,r,i){function s(e,t){var n,i=r(e,t),a=i.project([e*k,t*k]);return(n=i.transform)?[n[0]*a[0]+n[1]*a[1]+n[2],-(n[3]*a[0]+n[4]*a[1]+n[5])]:(a[1]=-a[1],a)}(function e(t,r){if(t.edges=function(e){for(var t=e.length,r=[],n=e[t-1],i=0;i=0;)if(n=t[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(t.face,r.face),d=(s=p.map(r.project),l=p.map(t.project),n=c=tw(s[1],s[0]),i=u=tw(l[1],l[0]),h=a(n[0]*i[1]-n[1]*i[0],n[0]*i[0]+n[1]*i[1]),f=tT(c)/tT(u),tb([1,0,s[0][0],0,1,s[0][1]],tb([f,0,0,0,f,0],tb([o(h),m(h),0,-m(h),o(h),0],[1,0,-l[0][0],0,1,-l[0][1]]))));t.transform=r.transform?tb(r.transform,d):d;for(var g=r.edges,y=0,v=g.length;y1.790857183?t=1.790857183:t<-1.790857183&&(t=-1.790857183);var r,i=t;do{var a=i*i;i-=r=(i*(1.0148+a*a*(.23185+a*(-.14499+.02406*a)))-t)/(1.0148+a*a*(1.1592500000000001+a*(-1.01493+.21654*a)))}while(n(r)>1e-6);return[e,i]},t_.invert=function(e,t){if(1e-6>n(t))return[e,0];var r,i=e*e+t*t,a=.5*t,s=10;do{var l=g(a),c=1/o(a),u=i-2*t*a+a*a;a-=r=(l*u+2*(a-t))/(2+u*c*c+2*(a-t)*l)}while(n(r)>1e-6&&--s>0);return l=g(a),[(n(t)n^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(e[0],r))return e.push(t),!0})||e.push([t])}),tj=[],e.length?e.length>1?{type:"MultiPolygon",coordinates:e}:{type:"Polygon",coordinates:e[0]}:null}};function tV(e){var r=e(v,0)[0]-e(-v,0)[0];function i(t,i){var a=n(t)0?t-y:t+y,i),s=(o[0]-o[1])*_,l=(o[0]+o[1])*_;if(a)return[s,l];var c=r*_,u=s>0^l>0?-1:1;return[u*s-d(l)*c,u*l-d(s)*c]}return e.invert&&(i.invert=function(t,i){var a=(t+i)*_,o=(i-t)*_,s=n(a)<.5*r&&n(o)<.5*r;if(!s){var l=r*_,c=a>0^o>0?-1:1,u=-c*t+(o>0?1:-1)*l,h=-c*i+(a>0?1:-1)*l;a=(-u-h)*_,o=(u-h)*_}var f=e.invert(a,o);return s||(f[0]+=a>0?y:-y),f}),t.geoProjection(i).rotate([-90,-90,45]).clipAngle(179.999)}function tq(){return tV(eF).scale(111.48)}function tH(e){var t=m(e);function r(r,n){var a=t?g(r*t/2)/t:r/2;if(!n)return[2*a,-e];var s=2*i(a*m(n)),l=1/g(n);return[m(s)*l,n+(1-o(s))*l-e]}return r.invert=function(r,a){if(1e-6>n(a+=e))return[t?2*i(t*r/2)/t:r,0];var s,l=r*r+a*a,c=0,u=10;do{var h=g(c),f=1/o(c),p=l-2*a*c+c*c;c-=s=(h*p+2*(c-a))/(2+p*f*f+2*(c-a)*h)}while(n(s)>1e-6&&--u>0);var d=r*(h=g(c)),v=g(n(a)0?v:-v)*(f+o*(d-c)/2+o*o*(d-2*f+c)/2)]}function tW(e,t){var r=function(e){function t(t,r){var n=o(r),i=(e-1)/(e-n*o(t));return[i*n*m(t),i*m(r)]}return t.invert=function(t,r){var n=t*t+r*r,i=E(n),o=(e-E(1-n*(e+1)/(e-1)))/((e-1)/i+i/(e-1));return[a(t*o,i*E(1-o*o)),i?M(r*o/i):0]},t}(e);if(!t)return r;var n=o(t),i=m(t);function s(t,a){var o=r(t,a),s=o[1],l=s*i/(e-1)+n;return[o[0]*n/l,s/l]}return s.invert=function(t,a){var o=(e-1)/(e-1-a*i);return r.invert(o*t,o*a*n)},s}function tY(e){return e.length>0}function tX(e){return -90===e||90===e?[0,e]:[-180,Math.floor(1e4*e)/1e4]}function t$(e){var t=e[0],r=e[1],n=!1;return t<=-179.9999?(t=-180,n=!0):t>=179.9999&&(t=180,n=!0),r<=-89.9999?(r=-90,n=!0):r>=89.9999&&(r=90,n=!0),n?[t,r]:e}function tJ(e){return e.map(t$)}function tK(e,t,r){for(var n=0,i=e.length;n=179.9999||u<=-89.9999||u>=89.9999){a[o]=t$(l);for(var h=o+1;h-179.9999&&p<179.9999&&d>-89.9999&&d<89.9999)break}if(h===o+1)continue;if(o){var m={index:-1,polygon:t,ring:a.slice(0,o+1)};m.ring[m.ring.length-1]=tX(u),r[r.length-1]=m}else r.pop();if(h>=s)break;r.push({index:-1,polygon:t,ring:a=a.slice(h-1)}),a[0]=tX(a[0][1]),o=-1,s=a.length}}}}function tQ(e){var t,r,n,i,a,o,s=e.length,l={},c={};for(t=0;t0?y-l:l)*k],u=t.geoProjection(e(s)).rotate(c),h=t.geoRotation(c),f=u.center;return delete u.rotate,u.center=function(e){return arguments.length?f(h(e)):h.invert(f())},u.clipAngle(90)}function t5(e){var r=o(e);function n(e,n){var i=t.geoGnomonicRaw(e,n);return i[0]*=r,i}return n.invert=function(e,n){return t.geoGnomonicRaw.invert(e/r,n)},n}function t4(e,t){return t3(t5,e,t)}function t6(e){if(!(e*=2))return t.geoAzimuthalEquidistantRaw;var r=-e/2,n=-r,i=e*e,s=g(n),l=.5/m(n);function c(t,a){var s=S(o(a)*o(t-r)),l=S(o(a)*o(t-n)),c=a<0?-1:1;return s*=s,l*=l,[(s-l)/(2*e),c*E(4*i*l-(i-s+l)*(i-s+l))/(2*e)]}return c.invert=function(e,t){var i,c,u=t*t,h=o(E(u+(i=e+r)*i)),f=o(E(u+(i=e+n)*i));return[a(c=h-f,i=(h+f)*s),(t<0?-1:1)*S(E(i*i+c*c)*l)]},c}function t8(e,t){return t3(t6,e,t)}function t7(e,t){if(1e-6>n(t))return[e,0];var r=n(t/v),i=M(r);if(1e-6>n(e)||1e-6>n(n(t)-v))return[0,d(t)*y*g(i/2)];var a=o(i),s=n(y/e-e/y)/2,l=s*s,c=a/(r+a-1),u=c*(2/r-1),h=u*u,f=h+l,p=c-h,m=l+c;return[d(e)*y*(s*p+E(l*p*p-f*(c*c-h)))/f,d(t)*y*(u*m-s*E((l+1)*f-m*m))/f]}function t9(e,t){if(1e-6>n(t))return[e,0];var r=n(t/v),i=M(r);if(1e-6>n(e)||1e-6>n(n(t)-v))return[0,d(t)*y*g(i/2)];var a=o(i),s=n(y/e-e/y)/2,l=s*s,c=a*(E(1+l)-s*a)/(1+l*r*r);return[d(e)*y*c,d(t)*y*E(1-c*(2*s+c))]}function re(e,t){if(1e-6>n(t))return[e,0];var r=t/v,i=M(r);if(1e-6>n(e)||1e-6>n(n(t)-v))return[0,y*g(i/2)];var a=(y/e-e/y)/2,s=r/(1+o(i));return[y*(d(e)*E(a*a+1-s*s)-a),y*s]}function rt(e,t){if(!t)return[e,0];var r=n(t);if(!e||r===v)return[0,t];var i=r/v,a=i*i,o=(8*i-a*(a+2)-5)/(2*a*(i-1)),s=o*o,l=i*o,c=a+s+2*l,u=i+3*o,h=e/v,f=h+1/h,p=d(n(e)-v)*E(f*f-4),m=p*p,g=(p*(c+s-1)+2*E(c*(a+s*m-1)+(1-a)*(a*(u*u+4*s)+12*l*s+4*s*s)))/(4*c+m);return[d(e)*v*g,d(t)*v*E(1+p*n(g)-g*g)]}function rr(e,t,r,n){var i=y/3;e=u(e,1e-6),t=u(t,1e-6),e=h(e,v),t=h(t,y-1e-6),r=h(r=u(r,0),99.999999);var s=(n=u(n,1e-6))/100,l=S((r/100+1)*o(i))/i,c=m(e)/m(l*v),f=t/y,p=E(s*m(e/2)/m(t/2));return function(e,t,r,n,i){function s(a,s){var l=r*m(n*s),c=E(1-l*l),u=E(2/(1+c*o(a*=i)));return[e*c*u*m(a),t*l*u]}return s.invert=function(o,s){var l=o/e,c=s/t,u=E(l*l+c*c),h=2*M(u/2);return[a(o*g(h),e*u)/i,u&&M(s*m(h)/(t*r*u))/n]},s}(p/E(f*c*l),1/(p*E(f*c*l)),c,l,f)}function rn(){var e=65*A,r=60*A,n=20,i=200,a=t.geoProjectionMutator(rr),o=a(e,r,n,i);return o.poleline=function(t){return arguments.length?a(e=+t*A,r,n,i):e*k},o.parallels=function(t){return arguments.length?a(e,r=+t*A,n,i):r*k},o.inflation=function(t){return arguments.length?a(e,r,n=+t,i):n},o.ratio=function(t){return arguments.length?a(e,r,n,i=+t):i},o.scale(163.775)}tG.forEach(function(e){e[1]*=1.0144}),tZ.invert=function(e,t){var r=t/v,i=90*r,a=h(18,n(i/5)),o=u(0,l(a));do{var s=tG[o][1],c=tG[o+1][1],f=tG[h(19,o+2)][1],p=f-s,d=f-2*c+s,m=2*(n(r)-c)/p,g=d/p,y=m*(1-g*m*(1-2*g*m));if(y>=0||1===o){i=(t>=0?5:-5)*(y+a);var x,_=50;do o=l(a=h(18,n(i)/5)),y=a-o,s=tG[o][1],i-=(x=(t>=0?v:-v)*((c=tG[o+1][1])+y*((f=tG[h(19,o+2)][1])-s)/2+y*y*(f-2*c+s)/2)-t)*k;while(n(x)>1e-12&&--_>0);break}}while(--o>=0);var b=tG[o][0],w=tG[o+1][0],T=tG[h(19,o+2)][0];return[e/(w+y*(T-b)/2+y*y*(T-2*w+b)/2),i*A]},t2.invert=function(e,t){var r=t/1.70711,n=m(x*r);return[e/(.74482-.34588*n*n),2*i(r)]},t7.invert=function(e,t){if(1e-6>n(t))return[e,0];if(1e-6>n(e))return[0,v*m(2*i(t/y))];var r=(e/=y)*e,a=(t/=y)*t,s=r+a,l=s*s,c=-n(t)*(1+s),u=c-2*a+r,h=-2*c+1+2*a+l,f=(c-u*u/(3*h))/h,p=2*E(-f/3),g=S(3*(a/h+(2*u*u*u/(h*h*h)-9*c*u/(h*h))/27)/(f*p))/3;return[y*(s-1+E(1+2*(r-a)+l))/(2*e),d(t)*y*(-p*o(g+y/3)-u/(3*h))]},t9.invert=function(e,t){if(!e)return[0,v*m(2*i(t/y))];var r=n(e/y),o=(1-r*r-(t/=y)*t)/(2*r),s=E(o*o+1);return[d(e)*y*(s-o),d(t)*v*m(2*a(E((1-2*o*r)*(o+s)-r),E(s+o+r)))]},re.invert=function(e,t){if(!t)return[e,0];var r=t/y,n=(y*y*(1-r*r)-e*e)/(2*y*e);return[e?y*(d(e)*E(n*n+1)-n):0,v*m(2*i(r))]},rt.invert=function(e,t){if(!e||!t)return[e,t];t/=y;var r,i=d(e)*e/v,a=(i*i-1+4*t*t)/n(i),o=a*a,s=2*t,l=50;do{var c=s*s,u=(8*s-c*(c+2)-5)/(2*c*(s-1)),h=(3*s-c*s-10)/(2*c*s),f=u*u,p=s*u,m=s+u,g=m*m,x=s+3*u,_=g*(c+f*o-1)+(1-c)*(c*(x*x+4*f)+f*(12*p+4*f)),b=-2*m*(4*p*f+(1-4*c+3*c*c)*(1+h)+f*(-6+14*c-o+(-8+8*c-2*o)*h)+p*(-8+12*c+(-10+10*c-o)*h)),w=E(_);s-=r=(a*(g+f-1)+2*w-i*(4*g+o))/(a*(2*u*h+2*m*(1+h))+b/w-8*m*(a*(-1+f+g)+2*w)*(1+h)/(o+4*g))}while(r>1e-6&&--l>0);return[d(e)*(E(a*a+4)+a)*y/4,v*s]};var ri=4*y+3*E(3),ra=2*E(2*y*E(3)/ri),ro=G(ra*E(3)/y,ra,ri/6);function rs(e,t){return[e*E(1-3*t*t/(y*y)),t]}function rl(e,t){var r=o(t),n=o(e)*r,i=1-n,s=o(e=a(m(e)*r,-m(t))),l=m(e);return[l*(r=E(1-n*n))-s*i,-s*r-l*i]}function rc(e,t){var r=P(e,t);return[(r[0]+e/v)/2,(r[1]+t)/2]}rs.invert=function(e,t){return[e/E(1-3*t*t/(y*y)),t]},rl.invert=function(e,t){var r=-((e*e+t*t)/2),n=E(-r*(2+r)),i=t*r+e*n,o=e*r-t*n,s=E(o*o+i*i);return[a(n*i,s*(1+r)),s?-M(n*o/s):0]},rc.invert=function(e,t){var r=e,i=t,a=25;do{var s,l=o(i),c=m(i),u=m(2*i),h=c*c,f=l*l,p=m(r),d=o(r/2),g=m(r/2),y=g*g,x=1-f*d*d,_=x?S(l*d)*E(s=1/x):s=0,b=.5*(2*_*l*g+r/v)-e,w=.5*(_*c+i)-t,T=.5*s*(f*y+_*l*d*h)+.5/v,k=s*(p*u/4-_*c*g),A=.125*s*(u*g-_*c*f*p),M=.5*s*(h*d+_*y*l)+.5,C=k*A-M*T,L=(w*k-b*M)/C,I=(b*A-w*T)/C;r-=L,i-=I}while((n(L)>1e-6||n(I)>1e-6)&&--a>0);return[r,i]},e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=function(){var e=v,r=t.geoProjectionMutator(I),n=r(e);return n.radius=function(t){return arguments.length?r(e=t*A):e*k},n.scale(179.976).clipAngle(147)},e.geoAiryRaw=I,e.geoAitoff=function(){return t.geoProjection(P).scale(152.63)},e.geoAitoffRaw=P,e.geoArmadillo=function(){var e=20*A,r=e>=0?1:-1,n=g(r*e),i=t.geoProjectionMutator(z),s=i(e),l=s.stream;return s.parallel=function(t){return arguments.length?(n=g((r=(e=t*A)>=0?1:-1)*e),i(e)):e*k},s.stream=function(t){var i=s.rotate(),c=l(t),u=(s.rotate([0,0]),l(t)),h=s.precision();return s.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var t=-180*r;r*t<180;t+=90*r)u.point(t,90*r);if(e)for(;r*(t-=3*r*h)>=-180;)u.point(t,-(r*a(o(t*A/2),n))*k);u.lineEnd(),u.polygonEnd()},c},s.scale(218.695).center([0,28.0974])},e.geoArmadilloRaw=z,e.geoAugust=function(){return t.geoProjection(O).scale(66.1603)},e.geoAugustRaw=O,e.geoBaker=function(){return t.geoProjection(F).scale(112.314)},e.geoBakerRaw=F,e.geoBerghaus=function(){var e=5,r=t.geoProjectionMutator(j),n=r(e),i=n.stream,s=-o(.01*A),l=m(.01*A);return n.lobes=function(t){return arguments.length?r(e=+t):e},n.stream=function(t){var r=n.rotate(),c=i(t),u=(n.rotate([0,0]),i(t));return n.rotate(r),c.sphere=function(){u.polygonStart(),u.lineStart();for(var t=0,r=360/e,n=2*y/e,i=90-180/e,c=v;t=0;)e.point((t=r[i])[0],t[1]);e.lineEnd(),e.polygonEnd()},e},n.scale(79.4187).parallel(45).clipAngle(179.999)},e.geoHammerRetroazimuthalRaw=ej,e.geoHealpix=function(){var e=4,n=t.geoProjectionMutator(eV),i=n(e),a=i.stream;return i.lobes=function(t){return arguments.length?n(e=+t):e},i.stream=function(n){var o=i.rotate(),s=a(n),l=(i.rotate([0,0]),a(n));return i.rotate(o),s.sphere=function(){var n,i;t.geoStream((n=180/e,i=[].concat(r.range(-180,180+n/2,n).map(eq),r.range(180,-180-n/2,-n).map(eH)),{type:"Polygon",coordinates:[180===n?i.map(eG):i]}),l)},s},i.scale(239.75)},e.geoHealpixRaw=eV,e.geoHill=function(){var e=1,r=t.geoProjectionMutator(eZ),n=r(e);return n.ratio=function(t){return arguments.length?r(e=+t):e},n.scale(167.774).center([0,18.67])},e.geoHillRaw=eZ,e.geoHomolosine=function(){return t.geoProjection(eY).scale(152.63)},e.geoHomolosineRaw=eY,e.geoHufnagel=function(){var e=1,r=0,n=45*A,i=2,a=t.geoProjectionMutator(eX),o=a(e,r,n,i);return o.a=function(t){return arguments.length?a(e=+t,r,n,i):e},o.b=function(t){return arguments.length?a(e,r=+t,n,i):r},o.psiMax=function(t){return arguments.length?a(e,r,n=+t*A,i):n*k},o.ratio=function(t){return arguments.length?a(e,r,n,i=+t):i},o.scale(180.739)},e.geoHufnagelRaw=eX,e.geoHyperelliptical=function(){var e=0,r=2.5,n=1.183136,i=t.geoProjectionMutator(e$),a=i(e,r,n);return a.alpha=function(t){return arguments.length?i(e=+t,r,n):e},a.k=function(t){return arguments.length?i(e,r=+t,n):r},a.gamma=function(t){return arguments.length?i(e,r,n=+t):n},a.scale(152.63)},e.geoHyperellipticalRaw=e$,e.geoInterrupt=eK,e.geoInterruptedBoggs=function(){return eK(W,eQ).scale(160.857)},e.geoInterruptedHomolosine=function(){return eK(eY,e0).scale(152.63)},e.geoInterruptedMollweide=function(){return eK(Z,e1).scale(169.529)},e.geoInterruptedMollweideHemispheres=function(){return eK(Z,e2).scale(169.529).rotate([20,0])},e.geoInterruptedSinuMollweide=function(){return eK(eW,e3,V).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoInterruptedSinusoidal=function(){return eK(X,e5).scale(152.63).rotate([-20,0])},e.geoKavrayskiy7=function(){return t.geoProjection(e4).scale(158.837)},e.geoKavrayskiy7Raw=e4,e.geoLagrange=function(){var e=.5,r=t.geoProjectionMutator(e6),n=r(e);return n.spacing=function(t){return arguments.length?r(e=+t):e},n.scale(124.75)},e.geoLagrangeRaw=e6,e.geoLarrivee=function(){return t.geoProjection(e7).scale(97.2672)},e.geoLarriveeRaw=e7,e.geoLaskowski=function(){return t.geoProjection(e9).scale(139.98)},e.geoLaskowskiRaw=e9,e.geoLittrow=function(){return t.geoProjection(te).scale(144.049).clipAngle(89.999)},e.geoLittrowRaw=te,e.geoLoximuthal=function(){return Y(tt).parallel(40).scale(158.837)},e.geoLoximuthalRaw=tt,e.geoMiller=function(){return t.geoProjection(tr).scale(108.318)},e.geoMillerRaw=tr,e.geoModifiedStereographic=tc,e.geoModifiedStereographicRaw=tn,e.geoModifiedStereographicAlaska=function(){return tc(ti,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)},e.geoModifiedStereographicGs48=function(){return tc(ta,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])},e.geoModifiedStereographicGs50=function(){return tc(to,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])},e.geoModifiedStereographicMiller=function(){return tc(ts,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)},e.geoModifiedStereographicLee=function(){return tc(tl,[165,10]).scale(250).clipAngle(130).center([-165,-10])},e.geoMollweide=function(){return t.geoProjection(Z).scale(169.529)},e.geoMollweideRaw=Z,e.geoMtFlatPolarParabolic=function(){return t.geoProjection(tf).scale(164.859)},e.geoMtFlatPolarParabolicRaw=tf,e.geoMtFlatPolarQuartic=function(){return t.geoProjection(tp).scale(188.209)},e.geoMtFlatPolarQuarticRaw=tp,e.geoMtFlatPolarSinusoidal=function(){return t.geoProjection(td).scale(166.518)},e.geoMtFlatPolarSinusoidalRaw=td,e.geoNaturalEarth2=function(){return t.geoProjection(tm).scale(175.295)},e.geoNaturalEarth2Raw=tm,e.geoNellHammer=function(){return t.geoProjection(tg).scale(152.63)},e.geoNellHammerRaw=tg,e.geoInterruptedQuarticAuthalic=function(){return eK(B(1/0),ty).rotate([20,0]).scale(152.63)},e.geoNicolosi=function(){return t.geoProjection(tv).scale(127.267)},e.geoNicolosiRaw=tv,e.geoPatterson=function(){return t.geoProjection(tx).scale(139.319)},e.geoPattersonRaw=tx,e.geoPolyconic=function(){return t.geoProjection(t_).scale(103.74)},e.geoPolyconicRaw=t_,e.geoPolyhedral=tk,e.geoPolyhedralButterfly=function(e){e=e||function(e){var r=t.geoCentroid({type:"MultiPoint",coordinates:e});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-r[0],-r[1]])};var r=tS.map(function(t){return{face:t,project:e(t)}});return[-1,0,0,1,0,1,4,5].forEach(function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])}),tk(r[0],function(e,t){return r[e<-y/2?t<0?6:4:e<0?t<0?2:0:e0?[-r[0],0]:[180-r[0],180])};var r=tS.map(function(t){return{face:t,project:e(t)}});return[-1,0,0,1,0,1,4,5].forEach(function(e,t){var n=r[e];n&&(n.children||(n.children=[])).push(r[t])}),tk(r[0],function(e,t){return r[e<-y/2?t<0?6:4:e<0?t<0?2:0:etL(l[0],i)?8+3*s:0>tL(l[1],i)?8+3*s+1:0>tL(l[2],i)?8+3*s+2:s]}).angle(-30).scale(110.625).center([0,45])},e.geoProject=function(e,t){var r,n=t.stream;if(!n)throw Error("invalid projection");switch(e&&e.type){case"Feature":r=tD;break;case"FeatureCollection":r=tO;break;default:r=tR}return r(e,n)},e.geoGringortenQuincuncial=function(){return tV(eO).scale(176.423)},e.geoPeirceQuincuncial=tq,e.geoPierceQuincuncial=tq,e.geoQuantize=function(e,t){if(!(0<=(t=+t)&&t<=20))throw Error("invalid digits");function r(e){var r=e.length,n=2,i=Array(r);for(i[0]=+e[0].toFixed(t),i[1]=+e[1].toFixed(t);n2||a[0]!=t[0]||a[1]!=t[1])&&(n.push(a),t=a)}return 1===n.length&&e.length>1&&n.push(r(e[e.length-1])),n}function i(e){return e.map(n)}function a(e){var t;if(null==e)return e;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(a)};break;case"Point":t={type:"Point",coordinates:r(e.coordinates)};break;case"MultiPoint":t={type:e.type,coordinates:e.coordinates.map(r)};break;case"LineString":t={type:e.type,coordinates:n(e.coordinates)};break;case"MultiLineString":case"Polygon":t={type:e.type,coordinates:i(e.coordinates)};break;case"MultiPolygon":t={type:"MultiPolygon",coordinates:e.coordinates.map(i)};break;default:return e}return null!=e.bbox&&(t.bbox=e.bbox),t}function o(e){var t={type:"Feature",properties:e.properties,geometry:a(e.geometry)};return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),t}if(null!=e)switch(e.type){case"Feature":return o(e);case"FeatureCollection":var s={type:"FeatureCollection",features:e.features.map(o)};return null!=e.bbox&&(s.bbox=e.bbox),s;default:return a(e)}return e},e.geoQuincuncial=tV,e.geoRectangularPolyconic=function(){return Y(tH).scale(131.215)},e.geoRectangularPolyconicRaw=tH,e.geoRobinson=function(){return t.geoProjection(tZ).scale(152.63)},e.geoRobinsonRaw=tZ,e.geoSatellite=function(){var e=2,r=0,n=t.geoProjectionMutator(tW),i=n(e,r);return i.distance=function(t){return arguments.length?n(e=+t,r):e},i.tilt=function(t){return arguments.length?n(e,r=t*A):r*k},i.scale(432.147).clipAngle(S(1/e)*k-1e-6)},e.geoSatelliteRaw=tW,e.geoSinuMollweide=function(){return t.geoProjection(eW).rotate([-20,-55]).scale(164.263).center([0,-5.4036])},e.geoSinuMollweideRaw=eW,e.geoSinusoidal=function(){return t.geoProjection(X).scale(152.63)},e.geoSinusoidalRaw=X,e.geoStitch=function(e){if(null==e)return e;switch(e.type){case"Feature":return t0(e);case"FeatureCollection":var t={type:"FeatureCollection",features:e.features.map(t0)};return null!=e.bbox&&(t.bbox=e.bbox),t;default:return t1(e)}},e.geoTimes=function(){return t.geoProjection(t2).scale(146.153)},e.geoTimesRaw=t2,e.geoTwoPointAzimuthal=t4,e.geoTwoPointAzimuthalRaw=t5,e.geoTwoPointAzimuthalUsa=function(){return t4([-158,21.5],[-77,39]).clipAngle(60).scale(400)},e.geoTwoPointEquidistant=t8,e.geoTwoPointEquidistantRaw=t6,e.geoTwoPointEquidistantUsa=function(){return t8([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)},e.geoVanDerGrinten=function(){return t.geoProjection(t7).scale(79.4183)},e.geoVanDerGrintenRaw=t7,e.geoVanDerGrinten2=function(){return t.geoProjection(t9).scale(79.4183)},e.geoVanDerGrinten2Raw=t9,e.geoVanDerGrinten3=function(){return t.geoProjection(re).scale(79.4183)},e.geoVanDerGrinten3Raw=re,e.geoVanDerGrinten4=function(){return t.geoProjection(rt).scale(127.16)},e.geoVanDerGrinten4Raw=rt,e.geoWagner=rn,e.geoWagner7=function(){return rn().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)},e.geoWagnerRaw=rr,e.geoWagner4=function(){return t.geoProjection(ro).scale(176.84)},e.geoWagner4Raw=ro,e.geoWagner6=function(){return t.geoProjection(rs).scale(152.63)},e.geoWagner6Raw=rs,e.geoWiechel=function(){return t.geoProjection(rl).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)},e.geoWiechelRaw=rl,e.geoWinkel3=function(){return t.geoProjection(rc).scale(158.837)},e.geoWinkel3Raw=rc,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&void 0!==t?r(e,dr(),dt()):r(e.d3=e.d3||{},e.d3,e.d3)}}),di=ed({"src/plots/geo/zoom.js"(e,t){var r=eb(),n=tQ(),i=tO(),a=Math.PI/180,o=180/Math.PI,s={cursor:"pointer"},l={cursor:"auto"};function c(e,t){return r.behavior.zoom().translate(t.translate()).scale(t.scale())}function u(e,t,r){var a=e.id,o=e.graphDiv,s=o.layout,l=s[a],c=o._fullLayout,u=c[a],h={},f={};function p(e,t){h[a+"."+e]=n.nestedProperty(l,e).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=n.nestedProperty(u,e);r.get()!==t&&(r.set(t),n.nestedProperty(l,e).set(t),f[a+"."+e]=t)}r(p),p("projection.scale",t.scale()/e.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",f)}function h(e,t){var r,n,i,o=e.invert(t);return o&&isFinite(o[0])&&isFinite(o[1])&&(r=o[0]*a,[(i=Math.cos(n=o[1]*a))*Math.cos(r),i*Math.sin(r),Math.sin(n)])}function f(e,t,r,n){var i=p(r-e),a=p(n-t);return Math.sqrt(i*i+a*a)}function p(e){return(e%360+540)%360-180}function d(e,t,r){var n=r*a,i=e.slice(),o=0===t?1:0,s=2===t?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=e[o]*l-e[s]*c,i[s]=e[s]*l+e[o]*c,i}function m(e,t){for(var r=0,n=0,i=e.length;n(B=Math.sqrt(P*P+z*z))?(L=(R>0?90:-90)-j,k=0):(L=Math.asin(R/B)*o-j,k=Math.sqrt(B*B-R*R)),N=180-L-2*j,U=(Math.atan2(F,D)-Math.atan2(O,k))*o,V=(Math.atan2(F,D)-Math.atan2(O,-k))*o,f(T[0],T[1],L,U)<=f(T[0],T[1],N,V)?[L,U,T[2]]:[N,V,T[2]]);isFinite(G[0])&&isFinite(G[1])&&isFinite(G[2])||(G=S),t.rotate(G),S=G}}else n=h(t,A=a);e=g.of(this,arguments),e({type:"zoom"})}),k=g.of(this,arguments),y++||k({type:"zoomstart"})}).on("zoomend",function(){var n;r.select(this).style(l),v.call(p,"zoom",null),n=g.of(this,arguments),--y||n({type:"zoomend"}),u(e,t,x)}).on("zoom.redraw",function(){e.render(!0);var r=t.rotate();e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})}),r.rebind(p,g,"on")}:function(e,t){var n,i,a,o,h,f,p,d,m,g=c(e,t);function y(e){return t.invert(e)}function v(r){var n=t.rotate(),i=t.invert(e.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",function(){r.select(this).style(s),n=r.mouse(this),i=t.rotate(),a=t.translate(),o=i,h=y(n)}).on("zoom",function(){if(f=r.mouse(this),function(e){var r=y(e);if(!r)return!0;var n=t(r);return Math.abs(n[0]-e[0])>2||Math.abs(n[1]-e[1])>2}(n)){g.scale(t.scale()),g.translate(t.translate());return}t.scale(r.event.scale),t.translate([a[0],r.event.translate[1]]),h?y(f)&&(d=y(f),p=[o[0]+(d[0]-h[0]),i[1],i[2]],t.rotate(p),o=p):h=y(n=f),m=!0,e.render(!0);var s=t.rotate(),l=t.invert(e.midPt);e.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":t.scale()/e.fitScale,"geo.center.lon":l[0],"geo.center.lat":l[1],"geo.projection.rotation.lon":-s[0]})}).on("zoomend",function(){r.select(this).style(l),m&&u(e,t,v)}),g})(e,n)}}}),da=ed({"src/plots/geo/geo.js"(e,t){var r=eb(),n=dr(),i=n.geoPath,a=n.geoDistance,o=dn(),s=tO(),l=tQ(),c=l.strTranslate,u=eZ(),h=rO(),f=na(),p=ra(),d=rB(),m=rj().getAutoRange,g=rW(),y=nK().prepSelect,v=nK().clearOutline,x=nK().selectOnClick,_=di(),b=pY(),w=p4(),T=p$(),k=pX().feature;function A(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var M=A.prototype;function S(e,t){var r=b.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(e){return new A(e)},M.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in b.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var c=!1,u=0;u0&&o._module.calcGeoJSON(a,t)}if(!r){if(this.updateProjection(e,t))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),p.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},M.updateProjection=function(e,t){var r=this.graphDiv,s=t[this.id],c=t._size,u=s.domain,h=s.projection,f=s.lonaxis,p=s.lataxis,d=f._ax,g=p._ax,y=this.projection=function(e){for(var t=e.projection,r=t.type,s=b.projNames[r],c=(n[s="geo"+l.titleCase(s)]||o[s])(),u=e._isSatellite?180*Math.acos(1/t.distance)/Math.PI:e._isClipped?b.lonaxisSpan[r]/2:null,h=["center","rotate","parallels","clipExtent"],f=function(e){return e?c:[]},p=0;pu*Math.PI/180},c.getPath=function(){return i().projection(c)},c.getBounds=function(e){return c.getPath().bounds(e)},c.precision(b.precision),e._isSatellite&&c.tilt(t.tilt).distance(t.distance),u&&c.clipAngle(u-b.clipPad),c}(s),v=[[c.l+c.w*u.x[0],c.t+c.h*(1-u.y[1])],[c.l+c.w*u.x[1],c.t+c.h*(1-u.y[0])]],x=s.center||{},_=h.rotation||{},w=f.range||[],T=p.range||[];if(s.fitbounds){d._length=v[1][0]-v[0][0],g._length=v[1][1]-v[0][1],d.range=m(r,d),g.range=m(r,g);var k=(d.range[0]+d.range[1])/2,A=(g.range[0]+g.range[1])/2;if(s._isScoped)x={lon:k,lat:A};else if(s._isClipped){x={lon:k,lat:A},_={lon:k,lat:A,roll:_.roll};var M=h.type,E=b.lonaxisSpan[M]/2||180,C=b.lataxisSpan[M]/2||90;w=[k-E,k+E],T=[A-C,A+C]}else x={lon:k,lat:A},_={lon:k,lat:_.lat,roll:_.roll}}y.center([x.lon-_.lon,x.lat-_.lat]).rotate([-_.lon,-_.lat,_.roll]).parallels(h.parallels);var L=S(w,T);y.fitExtent(v,L);var I=this.bounds=y.getBounds(L),P=this.fitScale=y.scale(),z=y.translate();if(s.fitbounds){var O=y.getBounds(S(d.range,g.range)),D=Math.min((I[1][0]-I[0][0])/(O[1][0]-O[0][0]),(I[1][1]-I[0][1])/(O[1][1]-O[0][1]));isFinite(D)?y.scale(D*P):l.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(h.scale*P);var R=this.midPt=[(I[0][0]+I[1][0])/2,(I[0][1]+I[1][1])/2];if(y.translate([z[0]+(R[0]-z[0]),z[1]+(R[1]-z[1])]).clipExtent(I),s._isAlbersUsa){var F=y([x.lon,x.lat]),j=y.translate();y.translate([j[0]-(F[0]-j[0]),j[1]-(F[1]-j[1])])}},M.updateBaseLayers=function(e,t){var n=this,i=n.topojson,a=n.layers,o=n.basePaths;function s(e){return"lonaxis"===e||"lataxis"===e}function l(e){return!!b.lineLayers[e]}function c(e){return!!b.fillLayers[e]}var f=(this.hasChoropleth?b.layersForChoropleth:b.layers).filter(function(e){return l(e)||c(e)?t["show"+e]:!s(e)||t[e].showgrid}),p=n.framework.selectAll(".layer").data(f,String);p.exit().each(function(e){delete a[e],delete o[e],r.select(this).remove()}),p.enter().append("g").attr("class",function(e){return"layer "+e}).each(function(e){var t=a[e]=r.select(this);"bg"===e?n.bgRect=t.append("rect").style("pointer-events","all"):s(e)?o[e]=t.append("path").style("fill","none"):"backplot"===e?t.append("g").classed("choroplethlayer",!0):"frontplot"===e?t.append("g").classed("scatterlayer",!0):l(e)?o[e]=t.append("path").style("fill","none").style("stroke-miterlimit",2):c(e)&&(o[e]=t.append("path").style("stroke","none"))}),p.order(),p.each(function(r){var n=o[r],a=b.layerNameToAdjective[r];"frame"===r?n.datum(b.sphereSVG):l(r)||c(r)?n.datum(k(i,i.objects[r])):s(r)&&n.datum(function(e,t,r){var n,i,a,o=t[e],s=b.scopeDefaults[t.scope];"lonaxis"===e?(n=s.lonaxisRange,i=s.lataxisRange,a=function(e,t){return[e,t]}):"lataxis"===e&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(e,t){return[t,e]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};d.setConvert(l,r);var c=d.calcTicks(l);t.isScoped||"lonaxis"!==e||c.pop();for(var u=c.length,h=Array(u),f=0;f-1&&x(r.event,i,[n.xaxis],[n.yaxis],n.id,u),c.indexOf("event")>-1&&f.click(i,r.event))})}function h(e){return n.projection.invert([e[0]+n.xaxis._offset,e[1]+n.yaxis._offset])}},M.makeFramework=function(){var e=this,t=e.graphDiv,n=t._fullLayout,i="clip"+n._uid+e.id;e.clipDef=n._clips.append("clipPath").attr("id",i),e.clipRect=e.clipDef.append("rect"),e.framework=r.select(e.container).append("g").attr("class","geo "+e.id).call(h.setClipUrl,i,t),e.project=function(t){var r=e.projection(t);return r?[r[0]-e.xaxis._offset,r[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:"x",c2p:function(t){return e.project(t)[0]}},e.yaxis={_id:"y",c2p:function(t){return e.project(t)[1]}},e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},d.setConvert(e.mockAxis,n)},M.saveViewInitial=function(e){var t,r=e.center||{},n=e.projection,i=n.rotation||{};this.viewInitial={fitbounds:e.fitbounds,"projection.scale":n.scale},t=e._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:e._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},l.extendFlat(this.viewInitial,t)},M.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},M._render=function(){var e,t=this.projection,r=t.getPath();function n(e){var r=t(e.lonlat);return r?c(r[0],r[1]):null}function i(e){return t.isLonLatOverEdges(e.lonlat)?"none":null}for(e in this.basePaths)this.basePaths[e].attr("d",r);for(e in this.dataPaths)this.dataPaths[e].attr("d",function(e){return r(e.geojson)});for(e in this.dataPoints)this.dataPoints[e].attr("display",i).attr("transform",n)}}}),ds=ed({"src/plots/geo/layout_attributes.js"(e,t){var r=eG(),n=aI().attributes,i=tA().dash,a=pY(),o=tk().overrideAll,s=tj(),l={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:r.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:i};(t.exports=o({domain:n({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:!1,editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:s(a.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:s(a.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},tilt:{valType:"number",dflt:0},distance:{valType:"number",min:1.001,dflt:2},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:r.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:a.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:a.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:a.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:a.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:r.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:r.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:r.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:r.background},lonaxis:l,lataxis:l},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),dl=ed({"src/plots/geo/layout_defaults.js"(e,t){var r=tQ(),n=sC(),i=rn().getSubplotData,a=pY(),o=ds(),s=a.axesNames;function l(e,t,n,o){var l=i(o.fullData,"geo",o.id).map(function(e){return e.index}),c=n("resolution"),u=n("scope"),h=a.scopeDefaults[u],f=n("projection.type",h.projType),p=t._isAlbersUsa="albers usa"===f;p&&(u=t.scope="usa");var d=t._isScoped="world"!==u,m=t._isSatellite="satellite"===f,g=t._isConic=-1!==f.indexOf("conic")||"albers"===f,y=t._isClipped=!!a.lonaxisSpan[f];if(!1===e.visible){var v=r.extendDeep({},t._template);v.showcoastlines=!1,v.showcountries=!1,v.showframe=!1,v.showlakes=!1,v.showland=!1,v.showocean=!1,v.showrivers=!1,v.showsubunits=!1,v.lonaxis&&(v.lonaxis.showgrid=!1),v.lataxis&&(v.lataxis.showgrid=!1),t._template=v}for(var x=n("visible"),_=0;_0&&O<0&&(O+=360);var D=(z+O)/2;if(!p){var R=d?h.projRotate:[D,0,0];b=n("projection.rotation.lon",R[0]),n("projection.rotation.lat",R[1]),n("projection.rotation.roll",R[2]),n("showcoastlines",!d&&x)&&(n("coastlinecolor"),n("coastlinewidth")),n("showocean",!!x&&void 0)&&n("oceancolor")}p?(w=-96.6,T=38.7):(w=d?D:b,T=(P[0]+P[1])/2),n("center.lon",w),n("center.lat",T),m&&(n("projection.tilt"),n("projection.distance")),g&&n("projection.parallels",h.projParallels||[0,60]),n("projection.scale"),n("showland",!!x&&void 0)&&n("landcolor"),n("showlakes",!!x&&void 0)&&n("lakecolor"),n("showrivers",!!x&&void 0)&&(n("rivercolor"),n("riverwidth")),n("showcountries",d&&"usa"!==u&&x)&&(n("countrycolor"),n("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(n("showsubunits",x),n("subunitcolor"),n("subunitwidth")),!d&&n("showframe",x)&&(n("framecolor"),n("framewidth")),n("bgcolor"),n("fitbounds")&&(delete t.projection.scale,d?(delete t.center.lon,delete t.center.lat):y?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}t.exports=function(e,t,r){n(e,t,r,{type:"geo",attributes:o,handleDefaults:l,fullData:r,partition:"y"})}}}),dc=ed({"src/plots/geo/index.js"(e,t){var r=rn().getSubplotCalcData,n=tQ().counterRegex,i=da(),a=n("geo"),o={};o.geo={valType:"subplotid",dflt:"geo",editType:"calc"},t.exports={attr:"geo",name:"geo",idRoot:"geo",idRegex:a,attrRegex:a,attributes:o,layoutAttributes:ds(),supplyLayoutDefaults:dl(),plot:function(e){for(var t=e._fullLayout,n=e.calcdata,a=t._subplots.geo,o=0;o")}}(e,h,o),[e]}}}),dv=ed({"src/traces/choropleth/event_data.js"(e,t){t.exports=function(e,t,r,n,i){e.location=t.location,e.z=t.z;var a=n[i];return a.fIn&&a.fIn.properties&&(e.properties=a.fIn.properties),e.ct=a.ct,e}}}),dx=ed({"src/traces/choropleth/select.js"(e,t){t.exports=function(e,t){var r,n,i,a,o,s=e.cd,l=e.xaxis,c=e.yaxis,u=[];if(!1===t)for(r=0;r=Math.min(P,z)&&w<=Math.max(P,z)?0:1/0}if(h=Math.min(O,D)&&T<=Math.max(O,D)?0:1/0}d=Math.sqrt(h*h+f*f),s=i[u]}}}else for(u=i.length-1;u>-1;u--)l=_[o=i[u]],c=b[o],(p=Math.sqrt((h=v.c2p(l)-w)*h+(f=x.c2p(c)-T)*f))100},e.isDotSymbol=function(e){return"string"==typeof e?t.DOT_RE.test(e):e>200}}}),dM=ed({"src/traces/scattergl/defaults.js"(e,t){var r=tQ(),n=tO(),i=dA(),a=dk(),o=nG(),s=rC(),l=ia(),c=io(),u=il(),h=ic(),f=ip(),p=ih();t.exports=function(e,t,d,m){function g(n,i){return r.coerce(e,t,a,n,i)}var y=!!e.marker&&i.isOpenSymbol(e.marker.symbol),v=s.isBubble(e),x=l(e,t,m,g);if(!x){t.visible=!1;return}c(e,t,m,g),g("xhoverformat"),g("yhoverformat");var _=x>>1,s=e[o];(void 0!==r?r(s,t):s-t)>=0?(a=o,i=o-1):n=o+1}return a}function n(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)>0?(a=o,i=o-1):n=o+1}return a}function i(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<0?(a=o,n=o+1):i=o-1}return a}function a(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o];(void 0!==r?r(s,t):s-t)<=0?(a=o,n=o+1):i=o-1}return a}function o(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=void 0!==r?r(o,t):o-t;if(0===s)return a;s<=0?n=a+1:i=a-1}return -1}function s(e,t,r,n,i,a){return"function"==typeof r?a(e,t,r,void 0===n?0:0|n,void 0===i?e.length-1:0|i):a(e,t,void 0,void 0===r?0:0|r,void 0===n?e.length-1:0|n)}t.exports={ge:function(e,t,n,i,a){return s(e,t,n,i,a,r)},gt:function(e,t,r,i,a){return s(e,t,r,i,a,n)},lt:function(e,t,r,n,a){return s(e,t,r,n,a,i)},le:function(e,t,r,n,i){return s(e,t,r,n,i,a)},eq:function(e,t,r,n,i){return s(e,t,r,n,i,o)}}}}),dC=ed({"node_modules/pick-by-alias/index.js"(e,t){t.exports=function(e,t,r){var i,a,o={};if("string"==typeof t&&(t=n(t)),Array.isArray(t)){var s={};for(a=0;a1&&(e=arguments),"string"==typeof e?e=e.split(/\s/).map(parseFloat):"number"==typeof e&&(e=[e]),e.length&&"number"==typeof e[0]?t=1===e.length?{width:e[0],height:e[0],x:0,y:0}:2===e.length?{width:e[0],height:e[1],x:0,y:0}:{x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(t={x:(e=r(e,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:e.top||0},null==e.width?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,null==e.height?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}}}),dI=ed({"node_modules/array-bounds/index.js"(e,t){t.exports=function(e,t){if(!e||null==e.length)throw Error("Argument should be an array");for(var r=Array(2*(t=null==t?1:Math.floor(t))),n=0;ni&&(i=e[o]),e[o]>>1;t.dtype||(t.dtype="array"),"string"==typeof t.dtype?n=new(u(t.dtype))(g):t.dtype&&Array.isArray(n=t.dtype)&&(n.length=g);for(let e=0;ep||o>1073741824){for(let e=0;ec||b>h||T=A||o===s)return;let f=y[a];void 0===s&&(s=f.length);for(let t=o;t=l&&n<=p&&i>=u&&i<=m&&M.push(r)}let d=v[a],x=d[4*o+0],_=d[4*o+1],w=d[4*o+2],S=d[4*o+3],E=function(e,t){let r=null,n=0;for(;null===r;)if(r=e[4*t+n],++n>e.length)return null;return r}(d,o+1),C=.5*i,L=a+1;t(r,n,C,L,x,_||w||S||E),t(r,n+C,C,L,_,w||S||E),t(r+C,n,C,L,w,S||E),t(r+C,n+C,C,L,S,E)}(0,0,1,0,0,1),M},n;function w(e,t,r){let n=1,i=.5,a=.5,o=.5;for(let s=0;s1&&(i=1),i<-1&&(i=-1),(e*n-t*r<0?-1:1)*Math.acos(i)},s=function(e,t,r,i,a,s,l,c,u,h,f,p){var d=Math.pow(a,2),m=Math.pow(s,2),g=Math.pow(f,2),y=Math.pow(p,2),v=d*m-d*y-m*g;v<0&&(v=0),v/=d*y+m*g;var x=(v=Math.sqrt(v)*(l===c?-1:1))*a/s*p,_=-(v*s)/a*f,b=(f-x)/a,w=(p-_)/s,T=o(1,0,b,w),k=o(b,w,(-f-x)/a,(-p-_)/s);return 0===c&&k>0&&(k-=n),1===c&&k<0&&(k+=n),[h*x-u*_+(e+r)/2,u*x+h*_+(t+i)/2,T,k]};e.default=function(e){var t=e.px,o=e.py,l=e.cx,c=e.cy,u=e.rx,h=e.ry,f=e.xAxisRotation,p=void 0===f?0:f,d=e.largeArcFlag,m=e.sweepFlag,g=[];if(0===u||0===h)return[];var y=Math.sin(p*n/360),v=Math.cos(p*n/360),x=v*(t-l)/2+y*(o-c)/2,_=-y*(t-l)/2+v*(o-c)/2;if(0===x&&0===_)return[];var b=Math.pow(x,2)/Math.pow(u=Math.abs(u),2)+Math.pow(_,2)/Math.pow(h=Math.abs(h),2);b>1&&(u*=Math.sqrt(b),h*=Math.sqrt(b));var w=r(s(t,o,l,c,u,h,void 0===d?0:d,void 0===m?0:m,y,v,x,_),4),T=w[0],k=w[1],A=w[2],M=w[3],S=Math.abs(M)/(n/4);1e-7>Math.abs(1-S)&&(S=1);var E=Math.max(Math.ceil(S),1);M/=E;for(var C=0;C4?(a=m[m.length-4],o=m[m.length-3]):(a=h,o=f),t.push(m)}return t};var r=dB();function n(e,t,r,n){return["C",e,t,r,n,r,n]}function i(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}}}),dU=ed({"node_modules/is-svg-path/index.js"(e,t){t.exports=function(e){return"string"==typeof e&&(e=e.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\dz]$/i.test(e))&&e.length>4)}}}),dV=ed({"node_modules/svg-path-bounds/index.js"(e,t){var r=rP(),n=dj(),i=dN(),a=dU(),o=cB();t.exports=function(e){if(Array.isArray(e)&&1===e.length&&"string"==typeof e[0]&&(e=e[0]),"string"==typeof e&&(o(a(e),"String is not an SVG path."),e=r(e)),o(Array.isArray(e),"Argument should be a string or an array of path segments."),!(e=i(e=n(e))).length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],s=0,l=e.length;st[2]&&(t[2]=c[u+0]),c[u+1]>t[3]&&(t[3]=c[u+1]);return t}}}),dq=ed({"node_modules/normalize-svg-path/index.js"(e,t){var r=Math.PI,n=r/180*120;function i(e,t,r,n){return["C",e,t,r,n,r,n]}function a(e,t,r,n,i,a){return["C",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function o(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}t.exports=function(e){for(var t,s=[],l=0,c=0,u=0,h=0,f=null,p=null,d=0,m=0,g=0,y=e.length;g1&&(a*=y=Math.sqrt(y),s*=y);var v=a*a,x=s*s,_=(c==u?-1:1)*Math.sqrt(Math.abs((v*x-v*g*g-x*m*m)/(v*g*g+x*m*m)));_==1/0&&(_=1);var b=_*a*g/s+(t+h)/2,w=-(_*s)*m/a+(i+f)/2,T=Math.asin(((i-w)/s).toFixed(9)),k=Math.asin(((f-w)/s).toFixed(9));T=tk&&(T-=2*r),!u&&k>T&&(k-=2*r)}if(Math.abs(k-T)>n)var A=k,M=h,S=f,E=e(h=b+a*Math.cos(k=T+n*(u&&k>T?1:-1)),f=w+s*Math.sin(k),a,s,l,0,u,M,S,[k,A,b,w]);var C=Math.tan((k-T)/4),L=4/3*a*C,I=4/3*s*C,P=[2*t-(t+L*Math.sin(T)),2*i-(i-I*Math.cos(T)),h+L*Math.sin(k),f-I*Math.cos(k),h,f];if(p)return P;E&&(P=P.concat(E));for(var z=0;z7&&(s.push(v.splice(0,7)),v.unshift("C"));break;case"S":var _=d,b=m;("C"==t||"S"==t)&&(_+=_-l,b+=b-c),v=["C",_,b,v[1],v[2],v[3],v[4]];break;case"T":"Q"==t||"T"==t?(f=2*d-f,p=2*m-p):(f=d,p=m),v=a(d,m,f,p,v[1],v[2]);break;case"Q":f=v[1],p=v[2],v=a(d,m,v[1],v[2],v[3],v[4]);break;case"L":v=i(d,m,v[1],v[2]);break;case"H":v=i(d,m,v[1],m);break;case"V":v=i(d,m,d,v[1]);break;case"Z":v=i(d,m,u,h)}t=x,d=v[v.length-2],m=v[v.length-1],v.length>4?(l=v[v.length-4],c=v[v.length-3]):(l=d,c=m),s.push(v)}return s}}}),dH=ed({"node_modules/draw-svg-path/index.js"(e,t){var r=dj(),n=dq(),i={M:"moveTo",C:"bezierCurveTo"};t.exports=function(e,t){e.beginPath(),n(r(t)).forEach(function(t){var r=t[0],n=t.slice(1);e[i[r]].apply(e,n)}),e.closePath()}}}),dG=ed({"node_modules/bitmap-sdf/index.js"(e,t){var r=fG();function n(e,t,r,n,a,o,s){for(var l=0;l0?c.strokeStyle="white":c.strokeStyle="black",c.lineWidth=Math.abs(p)),c.translate(.5*u,.5*h),c.scale(g,g),function(){if(null!=r)return r;var e=document.createElement("canvas").getContext("2d");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return r=!1;var t=new Path2D("M0,0h1v1h-1v-1Z");e.fillStyle="black",e.fill(t);var n=e.getImageData(0,0,1,1);return r=n&&n.data&&255===n.data[3]}()){var y=new Path2D(e);c.fill(y),p&&c.stroke(y)}else a(c,i(e)),c.fill(),p&&c.stroke();return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=t.cutoff?t.cutoff:.5,radius:null!=t.radius?t.radius:.5*f})}}}),dW=ed({"src/traces/scattergl/convert.js"(e,t){var r=eM(),n=dZ(),i=fW(),a=tO(),o=tQ(),s=o.isArrayOrTypedArray,l=rO(),c=re(),u=fX().formatColor,h=rC(),f=rL(),p=dA(),d=dT(),m=eW().DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=rI().appendArrayPointValue;function v(e,t){var n,i=e._fullLayout,a=t._length,l=t.textfont,c=t.textposition,u=s(c)?c:[c],h=l.color,f=l.size,p=l.family,d=l.weight,m=l.style,g=l.variant,v={},_=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){v.text=[];var w=i._d3locale,T=Array.isArray(b),k=T?Math.min(b.length,a):a,A=T?function(e){return b[e]}:function(){return b};for(n=0;n500?"bold":"normal":e}function _(e,t){var r=t._length,n=t.marker,a={},o=s(n.symbol),l=s(n.angle),c=s(n.color),h=s(n.line.color),d=s(n.opacity),m=s(n.size),g=s(n.line.width);if(o||(S=p.isOpenSymbol(n.symbol)),o||c||h||d||l){a.symbols=Array(r),a.angles=Array(r),a.colors=Array(r),a.borderColors=Array(r);var y=n.symbol,v=n.angle,x=u(n,n.opacity,r),_=u(n.line,n.opacity,r);if(!s(_[0])){var b=_;for(M=0,_=Array(r);Md.TOO_MANY_POINTS?"rect":h.hasMarkers(t)?"rect":"round";if(c&&t.connectgaps){var f=n[0],p=n[1];for(i=0;i1?c[i]:c[0]:c,m=s(u)?u.length>1?u[i]:u[0]:u,y=g[d],v=g[m],x=f?f/.8+1:0,_=-v*x-.5*v;o.offset[i]=[y*x/p,_/p]}}return o}}}}),dY=ed({"src/traces/scattergl/scene_update.js"(e,t){var r=tQ();t.exports=function(e,t){var n=t._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return t._scene||((n=t._scene={}).init=function(){r.extendFlat(n,a,i)},n.init(),n.update=function(e){var t=r.repeat(e,n.count);if(n.fill2d&&n.fill2d.update(t),n.scatter2d&&n.scatter2d.update(t),n.line2d&&n.line2d.update(t),n.error2d&&n.error2d.update(t.concat(t)),n.select2d&&n.select2d.update(t),n.glText)for(var i=0;i=m,T=2*b,k={},A=v.makeCalcdata(t,"x"),M=x.makeCalcdata(t,"y"),S=o(t,v,"x",A),E=o(t,x,"y",M),C=S.vals,L=E.vals;t._x=C,t._y=L,t.xperiodalignment&&(t._origX=A,t._xStarts=S.starts,t._xEnds=S.ends),t.yperiodalignment&&(t._origY=M,t._yStarts=E.starts,t._yEnds=E.ends);var I=Array(T),P=Array(b);for(a=0;a1&&n.extendFlat(s.line,f.linePositions(e,r,i)),s.errorX||s.errorY){var l=f.errorBarPositions(e,r,i,a,o);s.errorX&&n.extendFlat(s.errorX,l.x),s.errorY&&n.extendFlat(s.errorY,l.y)}return s.text&&(n.extendFlat(s.text,{positions:i},f.textPosition(e,r,s.text,s.marker)),n.extendFlat(s.textSel,{positions:i},f.textPosition(e,r,s.text,s.markerSel)),n.extendFlat(s.textUnsel,{positions:i},f.textPosition(e,r,s.text,s.markerUnsel))),s}(e,0,t,I,C,L),O=p(e,_);return u(y,t),w?z.marker&&(s=z.marker.sizeAvg||Math.max(z.marker.size,3)):s=l(t,b),c(e,t,v,x,C,L,s),z.errorX&&g(t,v,z.errorX),z.errorY&&g(t,x,z.errorY),z.fill&&!O.fill2d&&(O.fill2d=!0),z.marker&&!O.scatter2d&&(O.scatter2d=!0),z.line&&!O.line2d&&(O.line2d=!0),(z.errorX||z.errorY)&&!O.error2d&&(O.error2d=!0),z.text&&!O.glText&&(O.glText=!0),z.marker&&(z.marker.snap=b),O.lineOptions.push(z.line),O.errorXOptions.push(z.errorX),O.errorYOptions.push(z.errorY),O.fillOptions.push(z.fill),O.markerOptions.push(z.marker),O.markerSelectedOptions.push(z.markerSel),O.markerUnselectedOptions.push(z.markerUnsel),O.textOptions.push(z.text),O.textSelectedOptions.push(z.textSel),O.textUnselectedOptions.push(z.textUnsel),O.selectBatch.push([]),O.unselectBatch.push([]),k._scene=O,k.index=O.count,k.x=C,k.y=L,k.positions=I,O.count++,[{x:!1,y:!1,t:k,trace:t}]}}}),d$=ed({"src/traces/scattergl/edit_style.js"(e,t){var r=tQ(),n=eZ(),i=eW().DESELECTDIM;t.exports={styleTextSelection:function(e){var t,a,o=e[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],f=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},m=c.textUnselectedOptions[u]||{},g=r.extendFlat({},p);if(h.length||f.length){var y=d.color,v=m.color,x=p.color,_=r.isArrayOrTypedArray(x);for(t=0,g.color=Array(s._length);t>>24,n=(16711680&e)>>>16,i=(65280&e)>>>8,a=255&e;return!1===t?[r,n,i,a]:[r/255,n/255,i/255,a/255]}}}),d0=ed({"node_modules/object-assign/index.js"(e,t){var r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;t.exports=!function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==n.join(""))return!1;var i={};if("abcdefghijklmnopqrst".split("").forEach(function(e){i[e]=e}),"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},i)).join(""))return!1;return!0}catch(e){return!1}}()?function(e,t){for(var a,o,s=function(e){if(null==e)throw TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;le.length)&&(t=e.length);for(var r=0,n=Array(t);r 1.0 + delta) {\n discard;\n }\n\n alpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n float borderRadius = fragBorderRadius;\n float ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n vec4 color = mix(fragColor, fragBorderColor, ratio);\n color.a *= alpha * opacity;\n gl_FragColor = color;\n}\n"]),u.vert=c(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\n// `invariant` effectively turns off optimizations for the position.\n// We need this because -fast-math on M1 Macs is re-ordering\n// floating point operations in a way that causes floating point\n// precision limits to put points in the wrong locations.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),p&&(u.frag=u.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=e(u)}g.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},g.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},g.prototype.draw=function(){for(var e=this,t=arguments.length,r=Array(t),n=0;nn)?t.tree=s(e,{bounds:h}):n&&n.length&&(t.tree=n),t.tree){var p={primitive:"points",usage:"static",data:t.tree,type:"uint32"};t.elements?t.elements(p):t.elements=c.elements(p)}var m=d.float32(e);return i({data:m,usage:"dynamic"}),o({data:d.fract32(e,m),usage:"dynamic"}),l({data:new Uint8Array(u),type:"uint8",usage:"stream"}),e}},{marker:function(t,r,n){var i=r.activation;if(i.forEach(function(e){return e&&e.destroy&&e.destroy()}),i.length=0,t&&"number"!=typeof t[0]){for(var a=[],o=0,s=Math.min(t.length,r.count);o=0)return a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)t=e;else{t=new Uint8Array(e.length);for(var o=0,s=e.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===a.length?a[0]:a},g.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*e.length/t);if(n>1){e=e.slice();for(var i=.25*e.length%t;i=a.next.y&&a.next.y!==a.y){var h=a.x+(c-a.y)*(a.next.x-a.x)/(a.next.y-a.y);if(h<=o&&h>u&&(u=h,i=a.x=a.x&&a.x>=m&&o!==a.x&&s(ci.x||a.x===i.x&&(r=i,n=a,0>l(r.prev,r,n.prev)&&0>l(n.next,r,r.next))))&&(i=a,y=f)),a=a.next;while(a!==d);return i}(e,t);if(!r)return t;var n=d(r,e);return i(n,n.next),i(r,r.next)}(g[c],r);return r}(e,t,T,r)),e.length>80*r){h=m=e[0],f=y=e[1];for(var A=r;Am&&(m=v),x>y&&(y=x);_=0!==(_=Math.max(m-h,y-f))?32767/_:0}return function e(t,r,n,a,h,f,m){if(t){!m&&f&&function(e,t,r,n){var i=e;do 0===i.z&&(i.z=o(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,r,n,i,a,o,s,l,c=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,a,h,f);for(var y,v,x=t;t.prev!==t.next;){if(y=t.prev,v=t.next,f?function(e,t,r,n){var i=e.prev,a=e.next;if(l(i,e,a)>=0)return!1;for(var c=i.x,u=e.x,h=a.x,f=i.y,p=e.y,d=a.y,m=cu?c>h?c:h:u>h?u:h,v=f>p?f>d?f:d:p>d?p:d,x=o(m,g,t,r,n),_=o(y,v,t,r,n),b=e.prevZ,w=e.nextZ;b&&b.z>=x&&w&&w.z<=_;){if(b.x>=m&&b.x<=y&&b.y>=g&&b.y<=v&&b!==i&&b!==a&&s(c,f,u,p,h,d,b.x,b.y)&&l(b.prev,b,b.next)>=0||(b=b.prevZ,w.x>=m&&w.x<=y&&w.y>=g&&w.y<=v&&w!==i&&w!==a&&s(c,f,u,p,h,d,w.x,w.y)&&l(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;b&&b.z>=x;){if(b.x>=m&&b.x<=y&&b.y>=g&&b.y<=v&&b!==i&&b!==a&&s(c,f,u,p,h,d,b.x,b.y)&&l(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;w&&w.z<=_;){if(w.x>=m&&w.x<=y&&w.y>=g&&w.y<=v&&w!==i&&w!==a&&s(c,f,u,p,h,d,w.x,w.y)&&l(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}(t,a,h,f):function(e){var t=e.prev,r=e.next;if(l(t,e,r)>=0)return!1;for(var n=t.x,i=e.x,a=r.x,o=t.y,c=e.y,u=r.y,h=ni?n>a?n:a:i>a?i:a,d=o>c?o>u?o:u:c>u?c:u,m=r.next;m!==t;){if(m.x>=h&&m.x<=p&&m.y>=f&&m.y<=d&&s(n,o,i,c,a,u,m.x,m.y)&&l(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}(t)){r.push(y.i/n|0),r.push(t.i/n|0),r.push(v.i/n|0),g(t),t=v.next,x=v.next;continue}if((t=v)===x){m?1===m?e(t=function(e,t,r){var n=e;do{var a=n.prev,o=n.next.next;!c(a,o)&&u(a,n,n.next,o)&&p(a,o)&&p(o,a)&&(t.push(a.i/r|0),t.push(n.i/r|0),t.push(o.i/r|0),g(n),g(n.next),n=e=o),n=n.next}while(n!==e);return i(n)}(i(t),r,n),r,n,a,h,f,2):2===m&&function(t,r,n,a,o,s){var h=t;do{for(var f,m,g=h.next.next;g!==h.prev;){if(h.i!==g.i&&(f=h,m=g,f.next.i!==m.i&&f.prev.i!==m.i&&!function(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&u(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(f,m)&&(p(f,m)&&p(m,f)&&function(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}(f,m)&&(l(f.prev,f,m.prev)||l(f,m.prev,m))||c(f,m)&&l(f.prev,f,f.next)>0&&l(m.prev,m,m.next)>0))){var y=d(h,g);h=i(h,h.next),y=i(y,y.next),e(h,r,n,a,o,s,0),e(y,r,n,a,o,s,0);return}g=g.next}h=h.next}while(h!==t)}(t,r,n,a,h,f):e(i(t),r,n,a,h,f,1);break}}}}(T,k,r,h,f,_,0),k}function n(e,t,r,n,i){var a,o;if(i===v(e,t,r,n)>0)for(a=t;a=t;a-=n)o=m(a,e[a],e[a+1],o);return o&&c(o,o.next)&&(g(o),o=o.next),o}function i(e,t){if(!e)return e;t||(t=e);var r,n=e;do if(r=!1,!n.steiner&&(c(n,n.next)||0===l(n.prev,n,n.next))){if(g(n),(n=t=n.prev)===n.next)break;r=!0}else n=n.next;while(r||n!==t);return t}function a(e,t){return e.x-t.x}function o(e,t,r,n,i){return(e=((e=((e=((e=((e=(e-r)*i|0)|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)|(t=((t=((t=((t=((t=(t-n)*i|0)|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)<<1}function s(e,t,r,n,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function l(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function c(e,t){return e.x===t.x&&e.y===t.y}function u(e,t,r,n){var i=f(l(e,t,r)),a=f(l(e,t,n)),o=f(l(r,n,e)),s=f(l(r,n,t));return!!(i!==a&&o!==s||0===i&&h(e,r,t)||0===a&&h(e,n,t)||0===o&&h(r,e,n)||0===s&&h(r,t,n))}function h(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function f(e){return e>0?1:e<0?-1:0}function p(e,t){return 0>l(e.prev,e,e.next)?l(e,t,e.next)>=0&&l(e,e.prev,t)>=0:0>l(e,t,e.prev)||0>l(e,e.next,t)}function d(e,t){var r=new y(e.i,e.x,e.y),n=new y(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function m(e,t,r,n){var i=new y(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function g(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function y(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function v(e,t,r,n){for(var i=0,a=t,o=r-n;a0&&(n+=e[i-1].length,r.holes.push(n))}return r}}}),d8=ed({"node_modules/array-normalize/index.js"(e,t){var r=dI();t.exports=function(e,t,n){if(!e||null==e.length)throw Error("Argument should be an array");null==t&&(t=1),null==n&&(n=r(e,t));for(var i=0;i-1}}}),mT=ed({"node_modules/es5-ext/string/#/contains/index.js"(e,t){t.exports=mb()()?String.prototype.contains:mw()}}),mk=ed({"node_modules/d/index.js"(e,t){var r=mc(),n=mp(),i=mx(),a=m_(),o=mT();(t.exports=function(e,t){var n,s,l,c,u;return arguments.length<2||"string"!=typeof e?(c=t,t=e,e=null):c=arguments[2],r(e)?(n=o.call(e,"c"),s=o.call(e,"e"),l=o.call(e,"w")):(n=l=!0,s=!1),u={value:t,configurable:n,enumerable:s,writable:l},c?i(a(c),u):u}).gs=function(e,t,s){var l,c,u,h;return"string"!=typeof e?(u=s,s=t,t=e,e=null):u=arguments[3],r(t)?n(t)?r(s)?n(s)||(u=s,s=void 0):s=void 0:(u=t,t=s=void 0):t=void 0,r(e)?(l=o.call(e,"c"),c=o.call(e,"e")):(l=!0,c=!1),h={get:t,set:s,configurable:l,enumerable:c},u?i(a(u),h):h}}}),mA=ed({"node_modules/es5-ext/function/is-arguments.js"(e,t){var r=Object.prototype.toString,n=r.call(function(){return arguments}());t.exports=function(e){return r.call(e)===n}}}),mM=ed({"node_modules/es5-ext/string/is-string.js"(e,t){var r=Object.prototype.toString,n=r.call("");t.exports=function(e){return"string"==typeof e||e&&"object"==typeof e&&(e instanceof String||r.call(e)===n)||!1}}}),mS=ed({"node_modules/ext/global-this/is-implemented.js"(e,t){t.exports=function(){return!!("object"==typeof globalThis&&globalThis)&&globalThis.Array===Array}}}),mE=ed({"node_modules/ext/global-this/implementation.js"(e,t){var r=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return r()}try{if(!__global__)return r();return __global__}finally{delete Object.prototype.__global__}}()}}),mC=ed({"node_modules/ext/global-this/index.js"(e,t){t.exports=mS()()?globalThis:mE()}}),mL=ed({"node_modules/es6-symbol/is-implemented.js"(e,t){var r=mC(),n={object:!0,symbol:!0};t.exports=function(){var e,t=r.Symbol;if("function"!=typeof t)return!1;e=t("test symbol");try{String(e)}catch(e){return!1}return!!n[typeof t.iterator]&&!!n[typeof t.toPrimitive]&&!!n[typeof t.toStringTag]}}}),mI=ed({"node_modules/es6-symbol/is-symbol.js"(e,t){t.exports=function(e){return!!e&&("symbol"==typeof e||!!e.constructor&&"Symbol"===e.constructor.name&&"Symbol"===e[e.constructor.toStringTag])}}}),mP=ed({"node_modules/es6-symbol/validate-symbol.js"(e,t){var r=mI();t.exports=function(e){if(!r(e))throw TypeError(e+" is not a symbol");return e}}}),mz=ed({"node_modules/es6-symbol/lib/private/generate-name.js"(e,t){var r=mk(),n=Object.defineProperty,i=Object.prototype,a=(0,Object.create)(null);t.exports=function(e){for(var t,o,s=0;a[e+(s||"")];)++s;return a[e+=s||""]=!0,n(i,t="@@"+e,r.gs(null,function(e){o||(o=!0,n(this,t,r(e)),o=!1)})),t}}}),mO=ed({"node_modules/es6-symbol/lib/private/setup/standard-symbols.js"(e,t){var r=mk(),n=mC().Symbol;t.exports=function(e){return Object.defineProperties(e,{hasInstance:r("",n&&n.hasInstance||e("hasInstance")),isConcatSpreadable:r("",n&&n.isConcatSpreadable||e("isConcatSpreadable")),iterator:r("",n&&n.iterator||e("iterator")),match:r("",n&&n.match||e("match")),replace:r("",n&&n.replace||e("replace")),search:r("",n&&n.search||e("search")),species:r("",n&&n.species||e("species")),split:r("",n&&n.split||e("split")),toPrimitive:r("",n&&n.toPrimitive||e("toPrimitive")),toStringTag:r("",n&&n.toStringTag||e("toStringTag")),unscopables:r("",n&&n.unscopables||e("unscopables"))})}}}),mD=ed({"node_modules/es6-symbol/lib/private/setup/symbol-registry.js"(e,t){var r=mk(),n=mP(),i=Object.create(null);t.exports=function(e){return Object.defineProperties(e,{for:r(function(t){return i[t]?i[t]:i[t]=e(String(t))}),keyFor:r(function(e){var t;for(t in n(e),i)if(i[t]===e)return t})})}}}),mR=ed({"node_modules/es6-symbol/polyfill.js"(e,t){var r,n,i,a=mk(),o=mP(),s=mC().Symbol,l=mz(),c=mO(),u=mD(),h=Object.create,f=Object.defineProperties,p=Object.defineProperty;if("function"==typeof s)try{String(s()),i=!0}catch(e){}else s=null;n=function(e){if(this instanceof n)throw TypeError("Symbol is not a constructor");return r(e)},t.exports=r=function e(t){if(this instanceof e)throw TypeError("Symbol is not a constructor");return i?s(t):f(h(n.prototype),{__description__:a("",t=void 0===t?"":String(t)),__name__:a("",l(t))})},c(r),u(r),f(n.prototype,{constructor:a(r),toString:a("",function(){return this.__name__})}),f(r.prototype,{toString:a(function(){return"Symbol ("+o(this).__description__+")"}),valueOf:a(function(){return o(this)})}),p(r.prototype,r.toPrimitive,a("",function(){var e=o(this);return"symbol"==typeof e?e:e.toString()})),p(r.prototype,r.toStringTag,a("c","Symbol")),p(n.prototype,r.toStringTag,a("c",r.prototype[r.toStringTag])),p(n.prototype,r.toPrimitive,a("c",r.prototype[r.toPrimitive]))}}),mF=ed({"node_modules/es6-symbol/index.js"(e,t){t.exports=mL()()?mC().Symbol:mR()}}),mj=ed({"node_modules/es5-ext/array/#/clear.js"(e,t){var r=mn();t.exports=function(){return r(this).length=0,this}}}),mB=ed({"node_modules/es5-ext/object/valid-callable.js"(e,t){t.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function");return e}}}),mN=ed({"node_modules/type/string/coerce.js"(e,t){var r=mc(),n=mu(),i=Object.prototype.toString;t.exports=function(e){if(!r(e))return null;if(n(e)){var t=e.toString;if("function"!=typeof t||t===i)return null}try{return""+e}catch(e){return null}}}}),mU=ed({"node_modules/type/lib/safe-to-string.js"(e,t){t.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(e){return null}}}}}),mV=ed({"node_modules/type/lib/to-short-string.js"(e,t){var r=mU(),n=/[\n\r\u2028\u2029]/g;t.exports=function(e){var t=r(e);return null===t?"":(t.length>100&&(t=t.slice(0,99)+"…"),t=t.replace(n,function(e){switch(e){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw Error("Unexpected character")}}))}}}),mq=ed({"node_modules/type/lib/resolve-exception.js"(e,t){var r=mc(),n=mu(),i=mN(),a=mV(),o=function(e,t){return e.replace("%v",a(t))};t.exports=function(e,t,a){if(!n(a))throw TypeError(o(t,e));if(!r(e)){if("default"in a)return a.default;if(a.isOptional)return null}var s=i(a.errorMessage);throw r(s)||(s=t),TypeError(o(s,e))}}}),mH=ed({"node_modules/type/value/ensure.js"(e,t){var r=mq(),n=mc();t.exports=function(e){return n(e)?e:r(e,"Cannot use %v",arguments[1])}}}),mG=ed({"node_modules/type/plain-function/ensure.js"(e,t){var r=mq(),n=mp();t.exports=function(e){return n(e)?e:r(e,"%v is not a plain function",arguments[1])}}}),mZ=ed({"node_modules/es5-ext/array/from/is-implemented.js"(e,t){t.exports=function(){var e,t,r=Array.from;return"function"==typeof r&&!!((t=r(e=["raz","dwa"]))&&t!==e&&"dwa"===t[1])}}}),mW=ed({"node_modules/es5-ext/function/is-function.js"(e,t){var r=Object.prototype.toString,n=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);t.exports=function(e){return"function"==typeof e&&n(r.call(e))}}}),mY=ed({"node_modules/es5-ext/math/sign/is-implemented.js"(e,t){t.exports=function(){var e=Math.sign;return"function"==typeof e&&1===e(10)&&-1===e(-20)}}}),mX=ed({"node_modules/es5-ext/math/sign/shim.js"(e,t){t.exports=function(e){return isNaN(e=Number(e))||0===e?e:e>0?1:-1}}}),m$=ed({"node_modules/es5-ext/math/sign/index.js"(e,t){t.exports=mY()()?Math.sign:mX()}}),mJ=ed({"node_modules/es5-ext/number/to-integer.js"(e,t){var r=m$(),n=Math.abs,i=Math.floor;t.exports=function(e){return isNaN(e)?0:0!==(e=Number(e))&&isFinite(e)?r(e)*i(n(e)):e}}}),mK=ed({"node_modules/es5-ext/number/to-pos-integer.js"(e,t){var r=mJ(),n=Math.max;t.exports=function(e){return n(0,r(e))}}}),mQ=ed({"node_modules/es5-ext/array/from/shim.js"(e,t){var r=mF().iterator,n=mA(),i=mW(),a=mK(),o=mB(),s=mn(),l=me(),c=mM(),u=Array.isArray,h=Function.prototype.call,f={configurable:!0,enumerable:!0,writable:!0,value:null},p=Object.defineProperty;t.exports=function(e){var t,d,m,g,y,v,x,_,b,w,T=arguments[1],k=arguments[2];if(e=Object(s(e)),l(T)&&o(T),this&&this!==Array&&i(this))t=this;else{if(!T){if(n(e))return 1!==(y=e.length)?Array.apply(null,e):((g=[,])[0]=e[0],g);if(u(e)){for(d=0,g=Array(y=e.length);d=55296&&v<=56319&&(w+=e[++d]),w=T?h.call(T,k,w,m):w,t?(f.value=w,p(g,m,f)):g[m]=w,++m;y=m}}if(void 0===y)for(y=a(e.length),t&&(g=new t(y)),d=0;d=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){u(this,"__redo__",s("c",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:s(function(e){var t;!(e>=this.__nextIndex__)&&(--this.__nextIndex__,this.__redo__&&(-1!==(t=this.__redo__.indexOf(e))&&this.__redo__.splice(t,1),this.__redo__.forEach(function(t,r){t>e&&(this.__redo__[r]=--t)},this)))}),_onClear:s(function(){this.__redo__&&n.call(this.__redo__),this.__nextIndex__=0})}))),u(r.prototype,c.iterator,s(function(){return this}))}}),m8=ed({"node_modules/es6-iterator/array.js"(e,t){var r,n=mo(),i=mT(),a=mk(),o=mF(),s=m6(),l=Object.defineProperty;r=t.exports=function(e,t){if(!(this instanceof r))throw TypeError("Constructor requires 'new'");s.call(this,e),l(this,"__kind__",a("",t=t?i.call(t,"key+value")?"key+value":i.call(t,"key")?"key":"value":"value"))},n&&n(r,s),delete r.prototype.constructor,r.prototype=Object.create(s.prototype,{_resolve:a(function(e){return"value"===this.__kind__?this.__list__[e]:"key+value"===this.__kind__?[e,this.__list__[e]]:e})}),l(r.prototype,o.toStringTag,a("c","Array Iterator"))}}),m7=ed({"node_modules/es6-iterator/string.js"(e,t){var r,n=mo(),i=mk(),a=mF(),o=m6(),s=Object.defineProperty;r=t.exports=function(e){if(!(this instanceof r))throw TypeError("Constructor requires 'new'");e=String(e),o.call(this,e),s(this,"__length__",i("",e.length))},n&&n(r,o),delete r.prototype.constructor,r.prototype=Object.create(o.prototype,{_next:i(function(){if(this.__list__){if(this.__nextIndex__=55296&&t<=56319?r+this.__list__[this.__nextIndex__++]:r})}),s(r.prototype,a.toStringTag,i("c","String Iterator"))}}),m9=ed({"node_modules/es6-iterator/is-iterable.js"(e,t){var r=mA(),n=me(),i=mM(),a=mF().iterator,o=Array.isArray;t.exports=function(e){return!!n(e)&&(!!(o(e)||i(e)||r(e))||"function"==typeof e[a])}}}),ge=ed({"node_modules/es6-iterator/valid-iterable.js"(e,t){var r=m9();t.exports=function(e){if(!r(e))throw TypeError(e+" is not iterable");return e}}}),gt=ed({"node_modules/es6-iterator/get.js"(e,t){var r=mA(),n=mM(),i=m8(),a=m7(),o=ge(),s=mF().iterator;t.exports=function(e){return"function"==typeof o(e)[s]?e[s]():r(e)?new i(e):n(e)?new a(e):new i(e)}}}),gr=ed({"node_modules/es6-iterator/for-of.js"(e,t){var r=mA(),n=mB(),i=mM(),a=gt(),o=Array.isArray,s=Function.prototype.call,l=Array.prototype.some;t.exports=function(e,t){var c,u,h,f,p,d,m,g,y=arguments[2];if(o(e)||r(e)?c="array":i(e)?c="string":e=a(e),n(t),h=function(){f=!0},"array"===c){l.call(e,function(e){return s.call(t,y,e,h),f});return}if("string"===c){for(p=0,d=e.length;p=55296&&g<=56319&&(m+=e[++p]),s.call(t,y,m,h),!f);++p);return}for(u=e.next();!u.done;){if(s.call(t,y,u.value,h),f)return;u=e.next()}}}}),gn=ed({"node_modules/es6-weak-map/is-native-implemented.js"(e,t){t.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)}}),gi=ed({"node_modules/es6-weak-map/polyfill.js"(e,t){var r,n=me(),i=mo(),a=ms(),o=mn(),s=ml(),l=mk(),c=gt(),u=gr(),h=mF().toStringTag,f=gn(),p=Array.isArray,d=Object.defineProperty,m=Object.prototype.hasOwnProperty,g=Object.getPrototypeOf;t.exports=r=function(){var e,t=arguments[0];if(!(this instanceof r))throw TypeError("Constructor requires 'new'");return e=f&&i&&WeakMap!==r?i(new WeakMap,g(this)):this,n(t)&&!p(t)&&(t=c(t)),d(e,"__weakMapData__",l("c","$weakMap$"+s())),t&&u(t,function(t){o(t),e.set(t[0],t[1])}),e},f&&(i&&i(r,WeakMap),r.prototype=Object.create(WeakMap.prototype,{constructor:l(r)})),Object.defineProperties(r.prototype,{delete:l(function(e){return!!m.call(a(e),this.__weakMapData__)&&(delete e[this.__weakMapData__],!0)}),get:l(function(e){if(m.call(a(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:l(function(e){return m.call(a(e),this.__weakMapData__)}),set:l(function(e,t){return d(a(e),this.__weakMapData__,l("c",t)),this}),toString:l(function(){return"[object WeakMap]"})}),d(r.prototype,h,l("c","WeakMap"))}}),ga=ed({"node_modules/es6-weak-map/index.js"(e,t){t.exports=d7()()?WeakMap:gi()}}),go=ed({"node_modules/array-find-index/index.js"(e,t){t.exports=function(e,t,r){if("function"==typeof Array.prototype.findIndex)return e.findIndex(t,r);if("function"!=typeof t)throw TypeError("predicate must be a function");var n=Object(e),i=n.length;if(0===i)return -1;for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) { + //handle miter clipping + bTopCoord -= normalWidth * endTopJoin; + bTopCoord += normalize(endTopJoin * normalWidth) * baClipping; + } + + if (nextReverse) { + //make join rectangular + vec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5; + float normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.); + bBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5; + bTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5; + } + else if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) { + //handle miter clipping + aBotCoord -= normalWidth * startBotJoin; + aBotCoord += normalize(startBotJoin * normalWidth) * abClipping; + } + + vec2 aTopPosition = (aTopCoord) * adjustedScale + translate; + vec2 aBotPosition = (aBotCoord) * adjustedScale + translate; + + vec2 bTopPosition = (bTopCoord) * adjustedScale + translate; + vec2 bBotPosition = (bBotCoord) * adjustedScale + translate; + + //position is normalized 0..1 coord on the screen + vec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd; + + startCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy; + endCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + enableStartMiter = step(dot(currTangent, prevTangent), .5); + enableEndMiter = step(dot(currTangent, nextTangent), .5); + + //bevel miter cutoffs + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } + + //round miter cutoffs + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } +} +`,x=` +precision highp float; + +uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; +varying vec4 startCutoff, endCutoff; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + +void main() { + float alpha = 1., distToStart, distToEnd; + float cutoff = thickness * .5; + + //bevel miter + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < -1.) { + discard; + return; + } + alpha *= min(max(distToStart + 1., 0.), 1.); + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < -1.) { + discard; + return; + } + alpha *= min(max(distToEnd + 1., 0.), 1.); + } + } + + // round miter + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < 0.) { + float radius = length(gl_FragCoord.xy - startCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < 0.) { + float radius = length(gl_FragCoord.xy - endCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + } + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`;function _(e,t){if(!(this instanceof _))return new _(e,t);if("function"==typeof e?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),!(e=t.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=_.shaders.has(e)?_.shaders.get(e):_.shaders.set(e,_.createShaders(e)).get(e),this.update(t)}t.exports=_,_.dashMult=2,_.maxPatternLength=256,_.precisionThreshold=3e6,_.maxPoints=1e4,_.maxLines=2048,_.shaders=new h,_.createShaders=function(e){let t,r=e.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:e.prop("count"),count:4,offset:0,uniforms:{miterMode:(e,t)=>"round"===t.join?2:1,miterLimit:e.prop("miterLimit"),scale:e.prop("scale"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),thickness:e.prop("thickness"),dashTexture:e.prop("dashTexture"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),dashLength:e.prop("dashLength"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight],depth:e.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:(e,t)=>!t.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport")},a=e(i({vert:d,frag:m,attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{t=e(i({cull:{enable:!0,face:"back"},vert:v,frag:x,attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(e){t=a}return{fill:e({primitive:"triangle",elements:(e,t)=>t.triangles,offset:0,vert:g,frag:y,uniforms:{scale:e.prop("scale"),color:e.prop("fill"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),translate:e.prop("translate"),opacity:e.prop("opacity"),pixelRatio:e.context("pixelRatio"),id:e.prop("id"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{position:{buffer:e.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:e.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:t}},_.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},_.prototype.render=function(...e){e.length&&this.update(...e),this.draw()},_.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((e,t)=>{if(e&&Array.isArray(e))return this.draw(...e);"number"==typeof e&&(e=this.passes[e]),e&&e.count>1&&e.opacity&&(this.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&this.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>_.precisionThreshold||e.scale[1]*e.viewport.height>_.precisionThreshold?this.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=_.maxPoints)?this.shaders.rect(e):this.shaders.miter(e)))}),this},_.prototype.update=function(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:h}=this;if(e.forEach((e,d)=>{let m=this.passes[d];if(void 0!==e){if(null===e){this.passes[d]=null;return}if("number"==typeof e[0]&&(e={positions:e}),e=a(e,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),m||(this.passes[d]=m={id:d,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},e=i({},_.defaults,e)),null!=e.thickness&&(m.thickness=parseFloat(e.thickness)),null!=e.opacity&&(m.opacity=parseFloat(e.opacity)),null!=e.miterLimit&&(m.miterLimit=parseFloat(e.miterLimit)),null!=e.overlay&&(m.overlay=!!e.overlay,d<_.maxLines&&(m.depth=2*(_.maxLines-1-d%_.maxLines)/_.maxLines-1)),null!=e.join&&(m.join=e.join),null!=e.hole&&(m.hole=e.hole),null!=e.fill&&(m.fill=e.fill?r(e.fill,"uint8"):null),null!=e.viewport&&(m.viewport=f(e.viewport)),m.viewport||(m.viewport=f([h.drawingBufferWidth,h.drawingBufferHeight])),null!=e.close&&(m.close=e.close),null===e.positions&&(e.positions=[]),e.positions){let t,r;if(e.positions.x&&e.positions.y){let n=e.positions.x,i=e.positions.y;t=new Float64Array(2*(r=m.count=Math.max(n.length,i.length)));for(let e=0;ee-t),t=[],i=0,a=null!=m.hole?m.hole[0]:null;if(null!=a){let t=p(e,e=>e>=a);(e=e.slice(0,t)).push(a)}for(let n=0;nt-a+(e[n]-i)));o=o.map(t=>t+i+(t+i{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}}}),gc=ed({"node_modules/regl-error2d/index.js"(e,t){var r=dI(),n=fW(),i=d2(),a=dC(),o=d0(),s=dz(),{float32:l,fract32:c}=d5();t.exports=function(e,t){if("function"==typeof e?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),!(e=t.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");let h=e._gl,f,p,d,m,g,y,v={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return m=e.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),p=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),d=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=e.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),y=e.buffer({usage:"static",type:"float",data:u}),T(t),f=e({vert:` + precision highp float; + + attribute vec2 position, positionFract; + attribute vec4 error; + attribute vec4 color; + + attribute vec2 direction, lineOffset, capOffset; + + uniform vec4 viewport; + uniform float lineWidth, capSize; + uniform vec2 scale, scaleFract, translate, translateFract; + + varying vec4 fragColor; + + void main() { + fragColor = color / 255.; + + vec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset; + + vec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw; + + vec2 position = position + dxy; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + pos += pixelOffset / viewport.zw; + + gl_Position = vec4(pos * 2. - 1., 0, 1); + } + `,frag:` + precision highp float; + + varying vec4 fragColor; + + uniform float opacity; + + void main() { + gl_FragColor = fragColor; + gl_FragColor.a *= opacity; + } + `,uniforms:{range:e.prop("range"),lineWidth:e.prop("lineWidth"),capSize:e.prop("capSize"),opacity:e.prop("opacity"),scale:e.prop("scale"),translate:e.prop("translate"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),viewport:(e,t)=>[t.viewport.x,t.viewport.y,e.viewportWidth,e.viewportHeight]},attributes:{color:{buffer:m,offset:(e,t)=>4*t.offset,divisor:1},position:{buffer:p,offset:(e,t)=>8*t.offset,divisor:1},positionFract:{buffer:d,offset:(e,t)=>8*t.offset,divisor:1},error:{buffer:g,offset:(e,t)=>16*t.offset,divisor:1},direction:{buffer:y,stride:24,offset:0},lineOffset:{buffer:y,stride:24,offset:8},capOffset:{buffer:y,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:u.length}),o(_,{update:T,draw:b,destroy:k,regl:e,gl:h,canvas:h.canvas,groups:x}),_;function _(e){e?T(e):null===e&&k(),b()}function b(t){if("number"==typeof t)return w(t);t&&!Array.isArray(t)&&(t=[t]),e._refresh(),x.forEach((e,r)=>{if(e){if(t&&(t[r]?e.draw=!0:e.draw=!1),!e.draw){e.draw=!0;return}w(r)}})}function w(e){"number"==typeof e&&(e=x[e]),null!=e&&e&&e.count&&e.color&&e.opacity&&e.positions&&e.positions.length>1&&(e.scaleRatio=[e.scale[0]*e.viewport.width,e.scale[1]*e.viewport.height],f(e),e.after&&e.after(e))}function T(e){if(!e)return;null!=e.length?"number"==typeof e[0]&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let t=0,u=0;if(_.groups=x=e.map((e,l)=>{let f=x[l];return e&&("function"==typeof e?e={after:e}:"number"==typeof e[0]&&(e={positions:e}),e=a(e,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),f||(x[l]=f={id:l,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},e=o({},v,e)),i(f,e,[{lineWidth:e=>.5*+e,capSize:e=>.5*+e,opacity:parseFloat,errors:e=>(e=s(e),u+=e.length,e),positions:(e,n)=>(e=s(e,"float64"),n.count=Math.floor(e.length/2),n.bounds=r(e,2),n.offset=t,t+=n.count,e)},{color:(e,t)=>{let r=t.count;if(e||(e="transparent"),!Array.isArray(e)||"number"==typeof e[0]){let t=e;e=Array(r);for(let n=0;n{let n=t.bounds;return e||(e=n),t.scale=[1/(e[2]-e[0]),1/(e[3]-e[1])],t.translate=[-e[0],-e[1]],t.scaleFract=c(t.scale),t.translateFract=c(t.translate),e},viewport:e=>{let t;return Array.isArray(e)?t={x:e[0],y:e[1],width:e[2]-e[0],height:e[3]-e[1]}:e?(t={x:e.x||e.left||0,y:e.y||e.top||0},e.right?t.width=e.right-t.x:t.width=e.w||e.width||0,e.bottom?t.height=e.bottom-t.y:t.height=e.h||e.height||0):t={x:0,y:0,width:h.drawingBufferWidth,height:h.drawingBufferHeight},t}}])),f}),t||u){let e=x.reduce((e,t,r)=>e+(t?t.count:0),0),t=new Float64Array(2*e),r=new Uint8Array(4*e),n=new Float32Array(4*e);x.forEach((e,i)=>{if(!e)return;let{positions:a,count:o,offset:s,color:l,errors:c}=e;o&&(r.set(l,4*s),n.set(c,4*s),t.set(a,2*s))});var f=l(t);p(f),d(c(t,f)),m(r),g(n)}}function k(){p.destroy(),d.destroy(),m.destroy(),g.destroy(),y.destroy()}};var u=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]}}),gu=ed({"node_modules/unquote/index.js"(e,t){var r=/[\'\"]/;t.exports=function(e){return e?(r.test(e.charAt(0))&&(e=e.substr(1)),r.test(e.charAt(e.length-1))&&(e=e.substr(0,e.length-1)),e):""}}}),gh=ed({"node_modules/css-global-keywords/index.json"(e,t){t.exports=["inherit","initial","unset"]}}),gf=ed({"node_modules/css-system-font-keywords/index.json"(e,t){t.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),gp=ed({"node_modules/css-font-weight-keywords/index.json"(e,t){t.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),gd=ed({"node_modules/css-font-style-keywords/index.json"(e,t){t.exports=["normal","italic","oblique"]}}),gm=ed({"node_modules/css-font-stretch-keywords/index.json"(e,t){t.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),gg=ed({"node_modules/parenthesis/index.js"(e,t){function r(e,t){if("string"!=typeof e)return[e];var r=[e];"string"==typeof t||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],i=t.escape||"___",a=!!t.flat;n.forEach(function(e){var t=new RegExp(["\\",e[0],"[^\\",e[0],"\\",e[1],"]*\\",e[1]].join("")),n=[];function a(t,a,o){var s=r.push(t.slice(e[0].length,-e[1].length))-1;return n.push(s),i+s+i}r.forEach(function(e,n){for(var i,o=0;e!=i;)if(i=e,e=e.replace(t,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=e}),n=n.reverse(),r=r.map(function(t){return n.forEach(function(r){t=t.replace(RegExp("(\\"+i+r+"\\"+i+")","g"),e[0]+"$1"+e[1])}),t})});var o=RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function e(t,r,n){for(var i,a=[],s=0;i=o.exec(t);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(t.slice(0,i.index)),a.push(e(r[i[1]],r)),t=t.slice(i.index+i[0].length)}return a.push(t),a}(r[0],r)}function n(e,t){if(t&&t.flat){var r,n=t&&t.escape||"___",i=e[0];if(!i)return"";for(var a=RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+e);r=i,i=i.replace(a,s)}return i}return e.reduce(function e(t,r){return Array.isArray(r)&&(r=r.reduce(e,"")),t+r},"");function s(t,r){if(null==e[r])throw Error("Reference "+r+"is undefined");return e[r]}}function i(e,t){return Array.isArray(e)?n(e,t):r(e,t)}i.parse=r,i.stringify=n,t.exports=i}}),gy=ed({"node_modules/string-split-by/index.js"(e,t){var r=gg();t.exports=function(e,t,n){if(null==e)throw Error("First argument should be a string");if(null==t)throw Error("Separator should be a string or a RegExp");n?("string"==typeof n||Array.isArray(n))&&(n={ignore:n}):n={},null==n.escape&&(n.escape=!0),null==n.ignore?n.ignore=["[]","()","{}","<>",'""',"''","``","“”","\xab\xbb"]:("string"==typeof n.ignore&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(e){return 1===e.length&&(e+=e),e}));var i=r.parse(e,{flat:!0,brackets:n.ignore}),a=i[0].split(t);if(n.escape){for(var o=[],s=0;s1&&r===i&&('"'===r||"'"===r))return['"'+n(t.substr(1,t.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(t);if(a)return e(t.substr(0,a.index)).concat(e(a[1])).concat(e(t.substr(a.index+a[0].length)));var o=t.split(".");if(1===o.length)return['"'+n(t)+'"'];for(var s=[],l=0;l65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,(t|=r)|e>>1}function h(){var e=c(8,function(){return[]});function t(t){var r=function(e){for(var t=16;t<=268435456;t*=16)if(e<=t)return t;return 0}(t),n=e[u(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[u(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var f=h();f.zero=h();var p=function(e,t){var r=1;t.ext_texture_filter_anisotropic&&(r=e.getParameter(34047));var n=1,i=1;t.webgl_draw_buffers&&(n=e.getParameter(34852),i=e.getParameter(36063));var a=!!t.oes_texture_float;if(a){var o=e.createTexture();e.bindTexture(3553,o),e.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var s=e.createFramebuffer();if(e.bindFramebuffer(36160,s),e.framebufferTexture2D(36160,36064,3553,o,0),e.bindTexture(3553,null),36053!==e.checkFramebufferStatus(36160))a=!1;else{e.viewport(0,0,1,1),e.clearColor(1,0,0,1),e.clear(16384);var l=f.allocType(5126,4);e.readPixels(0,0,1,1,6408,5126,l),e.getError()?a=!1:(e.deleteFramebuffer(s),e.deleteTexture(o),a=1===l[0]),f.freeType(l)}}var c="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),u=!0;if(!c){var h=e.createTexture(),p=f.allocType(5121,36);e.activeTexture(33984),e.bindTexture(34067,h),e.texImage2D(34069,0,6408,3,3,0,6408,5121,p),f.freeType(p),e.bindTexture(34067,null),e.deleteTexture(h),u=!e.getError()}return{colorBits:[e.getParameter(3410),e.getParameter(3411),e.getParameter(3412),e.getParameter(3413)],depthBits:e.getParameter(3414),stencilBits:e.getParameter(3415),subpixelBits:e.getParameter(3408),extensions:Object.keys(t).filter(function(e){return!!t[e]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:e.getParameter(33901),lineWidthDims:e.getParameter(33902),maxViewportDims:e.getParameter(3386),maxCombinedTextureUnits:e.getParameter(35661),maxCubeMapSize:e.getParameter(34076),maxRenderbufferSize:e.getParameter(34024),maxTextureUnits:e.getParameter(34930),maxTextureSize:e.getParameter(3379),maxAttributes:e.getParameter(34921),maxVertexUniforms:e.getParameter(36347),maxVertexTextureUnits:e.getParameter(35660),maxVaryingVectors:e.getParameter(36348),maxFragmentUniforms:e.getParameter(36349),glsl:e.getParameter(35724),renderer:e.getParameter(7937),vendor:e.getParameter(7936),version:e.getParameter(7938),readFloat:a,npotTextureCube:u}},d=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function m(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||d(e.data))}var g=function(e){return Object.keys(e).map(function(t){return e[t]})},y={shape:function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},flatten:function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else a>15?t[r]=i+31744:t[r]=i+(a+15<<10)+o}return t}function P(e){return Array.isArray(e)||d(e)}var z=[9984,9986,9985,9987],O=[0,6409,6410,6407,6408],D={};function R(e){return"[object "+e+"]"}D[6409]=D[6406]=D[6402]=1,D[34041]=D[6410]=2,D[6407]=D[35904]=3,D[6408]=D[35906]=4;var F=R("HTMLCanvasElement"),j=R("OffscreenCanvas"),B=R("CanvasRenderingContext2D"),N=R("ImageBitmap"),U=R("HTMLImageElement"),V=R("HTMLVideoElement"),q=Object.keys(x).concat([F,j,B,N,U,V]),H=[];H[5121]=1,H[5126]=4,H[36193]=2,H[5123]=2,H[5125]=4;var G=[];function Z(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function W(e){return!!(Array.isArray(e)&&0!==e.length&&P(e[0]))}function Y(e){return Object.prototype.toString.call(e)}function X(e){if(!e)return!1;var t=Y(e);return q.indexOf(t)>=0||Z(e)||W(e)||m(e)}function $(e){return 0|x[Object.prototype.toString.call(e)]}function J(e,t){return f.allocType(36193===e.type?5126:e.type,t)}function K(e,t){36193===e.type?(e.data=I(t),f.freeType(t)):e.data=t}function Q(e,t,r,n,i,a){if(o=void 0!==G[e]?G[e]:D[e]*H[t],a&&(o*=6),!i)return o*r*n;for(var o,s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}G[32854]=2,G[32855]=2,G[36194]=2,G[34041]=4,G[33776]=.5,G[33777]=.5,G[33778]=1,G[33779]=1,G[35986]=.5,G[35987]=1,G[34798]=1,G[35840]=.5,G[35841]=.25,G[35842]=.5,G[35843]=.25,G[36196]=.5;var ee=[];ee[32854]=2,ee[32855]=2,ee[36194]=2,ee[33189]=2,ee[36168]=1,ee[34041]=4,ee[35907]=4,ee[34836]=16,ee[34842]=8,ee[34843]=6;var et=function(e,t,r,n,i){var a={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};t.ext_srgb&&(a.srgba=35907),t.ext_color_buffer_half_float&&(a.rgba16f=34842,a.rgb16f=34843),t.webgl_color_buffer_float&&(a.rgba32f=34836);var o=[];Object.keys(a).forEach(function(e){o[a[e]]=e});var s=0,l={};function c(e){this.id=s++,this.refCount=1,this.renderbuffer=e,this.format=32854,this.width=0,this.height=0,i.profile&&(this.stats={size:0})}function u(t){var r=t.renderbuffer;e.bindRenderbuffer(36161,null),e.deleteRenderbuffer(r),t.renderbuffer=null,t.refCount=0,delete l[t.id],n.renderbufferCount--}return c.prototype.decRef=function(){--this.refCount<=0&&u(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var e=0;return Object.keys(l).forEach(function(t){e+=l[t].stats.size}),e}),{create:function(t,r){var s=new c(e.createRenderbuffer());function u(t,r){var n,l,c,h=0,f=0,p=32854;if("object"==typeof t&&t){if("shape"in t){var d=t.shape;h=0|d[0],f=0|d[1]}else"radius"in t&&(h=f=0|t.radius),"width"in t&&(h=0|t.width),"height"in t&&(f=0|t.height);"format"in t&&(p=a[t.format])}else"number"==typeof t?(h=0|t,f="number"==typeof r?0|r:h):t||(h=f=1);if(h!==s.width||f!==s.height||p!==s.format)return u.width=s.width=h,u.height=s.height=f,s.format=p,e.bindRenderbuffer(36161,s.renderbuffer),e.renderbufferStorage(36161,p,h,f),i.profile&&(s.stats.size=(n=s.format,l=s.width,c=s.height,ee[n]*l*c)),u.format=o[s.format],u}return l[s.id]=s,n.renderbufferCount++,u(t,r),u.resize=function(t,r){var n,a,o,l=0|t,c=0|r||l;return l===s.width&&c===s.height||(u.width=s.width=l,u.height=s.height=c,e.bindRenderbuffer(36161,s.renderbuffer),e.renderbufferStorage(36161,s.format,l,c),i.profile&&(s.stats.size=(n=s.format,a=s.width,o=s.height,ee[n]*a*o))),u},u._reglType="renderbuffer",u._renderbuffer=s,i.profile&&(u.stats=s.stats),u.destroy=function(){s.decRef()},u},clear:function(){g(l).forEach(u)},restore:function(){g(l).forEach(function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,t.renderbuffer),e.renderbufferStorage(36161,t.format,t.width,t.height)}),e.bindRenderbuffer(36161,null)}}},er=[];er[6408]=4,er[6407]=3;var en=[];function ei(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.offset=0,this.stride=0,this.divisor=0}function ea(e,t){return e>>>t|e<<32-t}en[5121]=1,en[5126]=4,en[36193]=2;var eo=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998];function es(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function el(e){return Array.prototype.slice.call(e)}function ec(e){return el(e).join("")}var eu="xyzw".split(""),eh="dither",ef="blend.enable",ep="blend.color",ed="blend.equation",em="blend.func",eg="depth.enable",ey="depth.func",ev="depth.range",ex="depth.mask",e_="colorMask",eb="cull.enable",ew="cull.face",eT="frontFace",ek="lineWidth",eA="polygonOffset.enable",eM="polygonOffset.offset",eS="sample.alpha",eE="sample.enable",eC="sample.coverage",eL="stencil.enable",eI="stencil.mask",eP="stencil.func",ez="stencil.opFront",eO="stencil.opBack",eD="scissor.enable",eR="scissor.box",eF="viewport",ej="profile",eB="framebuffer",eN="vert",eU="frag",eV="elements",eq="primitive",eH="count",eG="offset",eZ="instances",eW="Width",eY="Height",eX=eB+eW,e$=eB+eY,eJ=eF+eW,eK=eF+eY,eQ="drawingBuffer",e0=eQ+eW,e1=eQ+eY,e2=[em,ed,eP,ez,eO,eC,eF,eR,eM],e3={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},e5={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},e4={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},e6={cw:2304,ccw:2305};function e8(e){return Array.isArray(e)||d(e)||m(e)}function e7(e){return e.sort(function(e,t){return e===eF?-1:t===eF?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new e9(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new e9(!1,!1,!1,t);if(6!==r)return new e9(3===r,2===r,1===r,t);for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new e9(a,o,s,t)}var tn=new e9(!1,!1,!1,function(){}),ti=function(e,t){if(!t.ext_disjoint_timer_query)return null;var r=[],n=[];function i(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var a=[],o=[];function s(e,t,r){var n=a.pop()||new i;n.startQueryIndex=e,n.endQueryIndex=t,n.sum=0,n.stats=r,o.push(n)}var l=[],c=[];return{beginQuery:function(e){var i=r.pop()||t.ext_disjoint_timer_query.createQueryEXT();t.ext_disjoint_timer_query.beginQueryEXT(35007,i),n.push(i),s(n.length-1,n.length,e)},endQuery:function(){t.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:s,update:function(){var e,i,s=n.length;if(0!==s){c.length=Math.max(c.length,s+1),l.length=Math.max(l.length,s+1),l[0]=0,c[0]=0;var u=0;for(i=0,e=0;i0){if(Array.isArray(t[0])){o=T(t);for(var o,s,c=1,u=1;u0){if("number"==typeof e[0]){var i=f.allocType(h.dtype,e.length);M(i,e),g(i,n),f.freeType(i)}else if(Array.isArray(e[0])||d(e[0])){r=T(e);var a=w(e,r,h.dtype);g(a,n),f.freeType(a)}}}else if(m(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var y=Array.isArray(e.data)?h.dtype:A(e.data),v=f.allocType(y,s*l);S(v,e.data,s,l,c,u,e.offset),g(v,n),f.freeType(v)}return p},r.profile&&(p.stats=h.stats),p.destroy=function(){u(h)},p},createStream:function(e,t){var r=s.pop();return r||(r=new o(e)),r.bind(),c(r,t,35040,0,1,!1),r},destroyStream:function(e){s.push(e)},clear:function(){g(a).forEach(u),s.forEach(u)},getBuffer:function(e){return e&&e._buffer instanceof o?e._buffer:null},restore:function(){g(a).forEach(function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)})},_initBuffer:c}}(h,L,u,function(e){return th.destroyBuffer(e)}),tu=function(e,t,r,n){var i={},a=0,o={uint8:5121,uint16:5123};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=5125),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){if(n.buffer.bind(),i){var u,h=c;!c&&(!d(i)||m(i)&&!d(i.data))&&(h=t.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(34963,l,a),n.buffer.dtype=u||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case 5121:case 5120:u=5121;break;case 5123:case 5122:u=5123;break;case 5125:case 5124:u=5125}n.buffer.dtype=u}n.type=u;var f=s;f<0&&(f=n.buffer.byteLength,5123===u?f>>=1:5125===u&&(f>>=2)),n.vertCount=f;var p=o;if(o<0){p=4;var g=n.buffer.dimension;1===g&&(p=0),2===g&&(p=1),3===g&&(p=4)}n.primType=p}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,34963,!0),a=new s(i._buffer);function l(e){if(e){if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=5121;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||d(e)||m(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=b[e.usage]),"primitive"in e&&(n=E[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,5123===h||5122===h?u*=2:(5125===h||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}}else i(),a.primType=4,a.vertCount=0,a.type=5121;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,34963,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){g(i).forEach(u)}}}(h,q,tc,L),th=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=Array(s),c=0;c=p.byteLength?u.subdata(p):(u.destroy(),t.buffers[l]=null)),t.buffers[l]||(u=t.buffers[l]=i.create(h,34962,!1,!0)),f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,o[l]=1):i.getBuffer(h)?(f.buffer=i.getBuffer(h),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(h.buffer)?(f.buffer=i.getBuffer(h.buffer),f.size=0|(+h.size||f.buffer.dimension),f.normalized=!!h.normalized,"type"in h?f.type=_[h.type]:f.type=f.buffer.dtype,f.offset=0|(h.offset||0),f.stride=0|(h.stride||0),f.divisor=0|(h.divisor||0),f.state=1):"x"in h&&(f.x=+h.x||0,f.y=+h.y||0,f.z=+h.z||0,f.w=+h.w||0,f.state=2)}for(var g=0;g1)for(var y=0;ye&&(e=t.stats.uniformsCount)}),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach(function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)}),e}),{clear:function(){var e=t.deleteShader.bind(t);g(a).forEach(e),a={},g(o).forEach(e),o={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var f=c[r];if(f&&(f.refCount++,!l))return f;var m=new p(i,r);return n.shaderCount++,d(m,s,l),f||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(x[e]=t)});var w=Object.keys(x);n.textureFormats=w;var T=[];Object.keys(x).forEach(function(e){T[x[e]]=e});var k=[];Object.keys(v).forEach(function(e){k[v[e]]=e});var A=[];Object.keys(u).forEach(function(e){A[u[e]]=e});var M=[];Object.keys(h).forEach(function(e){M[h[e]]=e});var S=[];Object.keys(c).forEach(function(e){S[c[e]]=e});var E=w.reduce(function(e,t){var n=x[t];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||r.ext_srgb&&(35904===n||35906===n)?e[n]=n:32855===n||t.indexOf("rgba")>=0?e[n]=6408:e[n]=6407,e},{});function C(){this.internalformat=6408,this.format=6408,this.type=5121,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function L(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function R(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=p[t.colorSpace]),"type"in t){var r=t.type;e.type=v[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=x[l];e.format=E[c],l in v&&!("type"in t)&&(e.type=v[l]),l in _&&(e.compressed=!0),s=!0}!o&&s?e.channels=D[e.format]:o&&!s&&e.channels!==O[e.format]&&(e.format=e.internalformat=O[e.channels])}}function q(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function H(){C.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function G(e,t){var r=null;if(X(t)?r=t:t&&(R(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),X(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(d(r))e.channels=e.channels||4,e.data=r,"type"in t||5121!==e.type||(e.type=$(r));else if(Z(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case 5121:case 5123:case 5125:case 5126:var n=f.allocType(e.type,r);n.set(t),e.data=n;break;case 36193:e.data=I(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(m(r)){var o,s,l,c,u,h,p=r.data;Array.isArray(p)||5121!==e.type||(e.type=$(p));var g=r.shape,v=r.stride;3===g.length?(l=g[2],h=v[2]):(l=1,h=1),o=g[0],s=g[1],c=v[0],u=v[1],e.alignment=1,e.width=o,e.height=s,e.channels=l,e.format=e.internalformat=O[l],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=J(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,G(r,n[i]),e.mipmask|=1<=0)||"faces"in t||(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else"wrapS"in t&&(i=c[t.wrapS]),"wrapT"in t&&(a=c[t.wrapT]);if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var s=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,s=!0;break;case"boolean":s=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,s=!0}!s||"min"in t||(e.minFilter=9984)}}function ep(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var ed=0,em={},eg=n.maxTextureUnits,ey=Array(eg).map(function(){return null});function ev(e){C.call(this),this.mipmask=0,this.internalformat=6408,this.id=ed++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new eh,s.profile&&(this.stats={size:0})}function ex(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function e_(){var e=ey[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function eb(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(33984+n),t.bindTexture(i,null),ey[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete em[e.id],o.textureCount--}return e(ev.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(e<0){for(var r=0;r0)continue;n.unit=-1}ey[r]=this,e=r;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,ex(n),ee(c,3553,o,s,l),e_(),en(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,ex(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(3553,l,n.format,c,u,0,n.format,n.type,null)}return e_(),s.profile&&(n.stats.size=Q(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new ev(34067);em[c.id]=c,o.cubeCount++;var u=Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(eh.call(l),o=0;o<6;++o)u[o]=ec();if("number"!=typeof e&&e){if("object"==typeof e){if(t)eo(u[0],e),eo(u[1],t),eo(u[2],r),eo(u[3],n),eo(u[4],i),eo(u[5],a);else if(ef(l,e),R(c,e),"faces"in e){var f=e.faces;for(o=0;o<6;++o)L(u[o],c),eo(u[o],f[o])}else for(o=0;o<6;++o)eo(u[o],e)}}else{var p=0|e||1;for(o=0;o<6;++o)ea(u[o],p,p)}for(L(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,ex(c),o=0;o<6;++o)es(u[o],34069+o);for(ep(l,34067),e_(),s.profile&&(c.stats.size=Q(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=T[c.internalformat],h.type=k[c.type],h.mag=A[l.magFilter],h.min=M[l.minFilter],h.wrapS=S[l.wrapS],h.wrapT=S[l.wrapT],o=0;o<6;++o)eu(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=er();return L(l,c),l.width=0,l.height=0,G(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,ex(c),ee(l,34069+e,a,o,s),e_(),en(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,ex(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(34069+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return e_(),s.profile&&(c.stats.size=Q(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null)}ep(e.texInfo,e.target)})},refresh:function(){for(var e=0;e=0?f=!0:c.indexOf(d)>=0&&(f=!1))),("depthTexture"in e||"depthStencilTexture"in e)&&(k=!!(e.depthTexture||e.depthStencilTexture)),"depth"in e&&("boolean"==typeof e.depth?s=e.depth:(_=e.depth,u=!1)),"stencil"in e&&("boolean"==typeof e.stencil?u=e.stencil:(b=e.stencil,s=!1)),"depthStencil"in e&&("boolean"==typeof e.depthStencil?s=u=e.depthStencil:(w=e.depthStencil,s=!1,u=!1))}else a=o=1;var S=null,E=null,C=null,L=null;if(Array.isArray(h))S=h.map(m);else if(h)S=[m(h)];else for(r=0,S=Array(x);r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t0&&(t.push(e,"="),t.push.apply(t,el(arguments)),t.push(";")),e},toString:function(){return ec([r.length>0?"var "+r.join(",")+";":"",ec(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e(function(){t.apply(t,el(arguments))},{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r){for(var s=0;s>>4&15)+r.charAt(15&t);return n}(function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],T=Array(64);for(e[t>>5]|=128<<24-t%32,e[(t+64>>9<<4)+15]=t,v=0;v>>10,T[x-7]),ea(n=T[x-15],7)^ea(n,18)^n>>>3),T[x-16]),_=es(es(es(es(y,ea(i=d,6)^ea(i,11)^ea(i,25)),(a=d)&m^~a&g),eo[x]),T[x]),b=es(ea(o=u,2)^ea(o,13)^ea(o,22),(s=u)&(l=h)^s&(c=f)^l&c),y=g,g=m,m=d,d=es(p,_),p=f,f=h,h=u,u=es(_,b);w[0]=es(u,w[0]),w[1]=es(h,w[1]),w[2]=es(f,w[2]),w[3]=es(p,w[3]),w[4]=es(d,w[4]),w[5]=es(m,w[5]),w[6]=es(g,w[6]),w[7]=es(y,w[7])}return w}(function(e){for(var t=Array(e.length>>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e=function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(o)),8*e.length)))])return r[t].apply(null,a);var s=Function.apply(null,i.concat(o));return r&&(r[t]=s),s.apply(null,a)}}}({cache:y}),n=t.link,i=t.global;t.id=J++,t.batchId="0";var a=n(X),o=t.shared={props:"a0"};Object.keys(X).forEach(function(e){o[e]=i.def(a,".",e)});var s=t.next={},l=t.current={};Object.keys(H).forEach(function(e){Array.isArray(N[e])&&(s[e]=i.def(o.next,".",e),l[e]=i.def(o.current,".",e))});var c=t.constants={};Object.keys($).forEach(function(e){c[e]=i.def(JSON.stringify($[e]))}),t.invoke=function(e,r){switch(r.type){case 0:var i=["this",o.context,o.props,t.batchId];return e.def(n(r.data),".call(",i.slice(0,Math.max(r.data.length+1,4)),")");case 1:return e.def(o.props,r.data);case 2:return e.def(o.context,r.data);case 3:return e.def("this",r.data);case 4:return r.data.append(t,e),r.data.ref;case 5:return r.data.toString();case 6:return r.data.map(function(r){return t.invoke(e,r)})}},t.attribCache={};var u={};return t.scopeAttrib=function(e){var t=r.id(e);if(t in u)return u[t];var i=f.scope[t];return i||(i=f.scope[t]=new D),u[t]=n(i)},t}function Q(e,t,r){var n=e.shared.context,i=e.scope();Object.keys(r).forEach(function(a){t.save(n,"."+a);var o=r[a].append(e,t);Array.isArray(o)?i(n,".",a,"=[",o.join(),"];"):i(n,".",a,"=",o,";")}),t(i)}function ee(e,t,r,n){var i,a,o=e.shared,s=o.gl,l=o.framebuffer;j&&(i=t.def(o.extensions,".webgl_draw_buffers"));var c=e.constants,u=c.drawBuffer,h=c.backBuffer;a=r?r.append(e,t):t.def(l,".next"),n||t("if(",a,"!==",l,".cur){"),t("if(",a,"){",s,".bindFramebuffer(",36160,",",a,".framebuffer);"),j&&t(i,".drawBuffersWEBGL(",u,"[",a,".colorAttachments.length]);"),t("}else{",s,".bindFramebuffer(",36160,",null);"),j&&t(i,".drawBuffersWEBGL(",h,");"),t("}",l,".cur=",a,";"),n||t("}")}function et(e,t,r){var n=e.shared,i=n.gl,a=e.current,o=e.next,s=n.current,l=n.next,u=e.cond(s,".dirty");V.forEach(function(t){var n,h,f=G(t);if(!(f in r.state)){if(f in o){n=o[f],h=a[f];var p=c(N[f].length,function(e){return u.def(n,"[",e,"]")});u(e.cond(p.map(function(e,t){return e+"!=="+h+"["+t+"]"}).join("||")).then(i,".",H[f],"(",p,");",p.map(function(e,t){return h+"["+t+"]="+e}).join(";"),";"))}else{n=u.def(l,".",f);var d=e.cond(n,"!==",s,".",f);u(d),f in q?d(e.cond(n).then(i,".enable(",q[f],");").else(i,".disable(",q[f],");"),s,".",f,"=",n,";"):d(i,".",H[f],"(",n,");",s,".",f,"=",n,";")}}}),0===Object.keys(r.state).length&&u(s,".dirty=false;"),t(u)}function er(e,t,r,n){var i,a=e.shared,o=e.current,s=a.current,l=a.gl;e7(Object.keys(r)).forEach(function(a){var c=r[a];if(!n||n(c)){var u=c.append(e,t);if(q[a]){var h=q[a];te(c)?(i=e.link(u,{stable:!0}),t(e.cond(i).then(l,".enable(",h,");").else(l,".disable(",h,");")),t(s,".",a,"=",i,";")):(t(e.cond(u).then(l,".enable(",h,");").else(l,".disable(",h,");")),t(s,".",a,"=",u,";"))}else if(P(u)){var f=o[a];t(l,".",H[a],"(",u,");",u.map(function(e,t){return f+"["+t+"]="+e}).join(";"),";")}else te(c)?(i=e.link(u,{stable:!0}),t(l,".",H[a],"(",i,");",s,".",a,"=",i,";")):t(l,".",H[a],"(",u,");",s,".",a,"=",u,";")}})}function en(e,t){F&&(e.instancing=t.def(e.shared.extensions,".angle_instanced_arrays"))}function ei(e,t,r,n,i){var a,o,s,l=e.shared,c=e.stats,u=l.current,h=l.timer,f=r.profile;function p(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function d(e){e(a=t.def(),"=",p(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",p(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(f){if(te(f)){f.enable?(d(t),m(t.exit),y("true")):y("false");return}y(s=f.append(e,t))}else s=t.def(u,".profile");var v=e.block();d(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function eW(e,t,r,n,i){var a=e.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(tn))return;var c=e.scopeAttrib(s);o={},Object.keys(new D).forEach(function(e){o[e]=t.def(c,".",e)})}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],f=["buffer","normalized","offset","stride"];function p(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",f.map(function(e){return l+"."+e+"!=="+i[e]}).join("||"),"){",o,".bindBuffer(",34962,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",f.map(function(e){return l+"."+e+"="+i[e]+";"}).join(""),"}"),F){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function d(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",eu.map(function(e,t){return l+"."+e+"!=="+h[t]}).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",eu.map(function(e,t){return l+"."+e+"="+h[t]+";"}).join(""),"}")}1===c?p():2===c?d():(t("if(",c,"===",1,"){"),p(),t("}else{"),d(),t("}"))}(e.link(n),function(e){switch(e){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function eY(e,t,n,i,a,o){for(var s=e.shared,l=s.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",u],");")}function t(){r(h,".drawArraysInstancedANGLE(",[v,x,_,u],");")}g&&"null"!==g?w?e():(r("if(",g,"){"),e(),r("}else{"),t(),r("}")):t()}function k(){function e(){r(p+".drawElements("+[v,_,b,x+"<<(("+b+"-5121)>>1)"]+");")}function t(){r(p+".drawArrays("+[v,x,_]+");")}g&&"null"!==g?w?e():(r("if(",g,"){"),e(),r("}else{"),t(),r("}")):t()}F&&("number"!=typeof u||u>=0)?"string"==typeof u?(r("if(",u,">0){"),T(),r("}else if(",u,"<0){"),k(),r("}")):T():k()}function ti(e,t,r,n,i){var a=K(),o=a.proc("body",i);return F&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function ta(e,t,r,n){en(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),eW(e,t,r,n.attributes,function(){return!0})),eY(e,t,r,n.uniforms,function(){return!0},!1),eQ(e,t,t,r)}function to(e,t,r,n){function i(){return!0}e.batchId="a1",en(e,t),eW(e,t,r,n.attributes,i),eY(e,t,r,n.uniforms,i,!1),eQ(e,t,t,r)}function ts(e,t,r,n){en(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&Q(e,l,r.context),r.needsFramebuffer&&ee(e,l,r.framebuffer),er(e,l,r.state,c),r.profile&&c(r.profile)&&ei(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),eW(e,s,r,n.attributes,u),eW(e,l,r,n.attributes,c)),eY(e,s,r,n.uniforms,u,!1),eY(e,l,r,n.uniforms,c,!0),eQ(e,s,l,r);else{var h=e.global.def("{}"),f=r.shader.progVar.append(e,l),p=l.def(f,".id"),d=l.def(h,"[",p,"]");l(e.shared.gl,".useProgram(",f,".program);","if(!",d,"){",d,"=",h,"[",p,"]=",e.link(function(t){return ti(to,e,r,t,2)}),"(",f,");}",d,".call(this,a0[",a,"],",a,");")}}function tl(e,t,r){var n=t.static[r];if(n&&function(e){if(!("object"!=typeof e||P(e))){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,j={framebuffer:S,draw:L,shader:z,state:I,dirty:F,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(j.profile=function(e){var t,r=e.static,n=e.dynamic;if(ej in r){var i=!!r[ej];(t=tt(function(e,t){return i})).enable=i}else if(ej in n){var a=n[ej];t=tr(a,function(e,t){return e.invoke(t,a)})}return t}(e,l),j.uniforms=(g=i.static,y=i.dynamic,v={},Object.keys(g).forEach(function(e){var t,r=g[e];if("number"==typeof r||"boolean"==typeof r)t=tt(function(){return r});else if("function"==typeof r){var n=r._reglType;"texture2d"===n||"textureCube"===n?t=tt(function(e){return e.link(r)}):("framebuffer"===n||"framebufferCube"===n)&&(t=tt(function(e){return e.link(r.color[0])}))}else P(r)&&(t=tt(function(e){return e.global.def("[",c(r.length,function(e){return r[e]}),"]")}));t.value=r,v[e]=t}),Object.keys(y).forEach(function(e){var t=y[e];v[e]=tr(t,function(e,r){return e.invoke(r,t)})}),v),j.drawVAO=j.scopeVAO=L.vao,!j.drawVAO&&z.program&&!M&&n.angle_instanced_arrays&&L.static.elements){var B=!0,N=z.program.attributes.map(function(e){var r=t.static[e];return B=B&&!!r,r});if(B&&N.length>0){var U=f.getVAO(f.createVAO({attributes:N,elements:L.static.elements}));j.drawVAO=new e9(null,null,null,function(e,t){return e.link(U)}),j.useVAO=!0}}return M?j.useVAO=!0:j.attributes=(x=t.static,b=t.dynamic,w={},Object.keys(x).forEach(function(e){var t=x[e],n=r.id(e),i=new D;if(e8(t))i.state=1,i.buffer=o.getBuffer(o.create(t,34962,!1,!0)),i.type=0;else{var a=o.getBuffer(t);if(a)i.state=1,i.buffer=a,i.type=0;else if("constant"in t){var s=t.constant;i.buffer="null",i.state=2,"number"==typeof s?i.x=s:eu.forEach(function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"}).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",34962,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),f("size"),f("offset"),f("stride"),f("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),w),j.context=(T=a.static,k=a.dynamic,A={},Object.keys(T).forEach(function(e){var t=T[e];A[e]=tt(function(e,r){return"number"==typeof t||"boolean"==typeof t?""+t:e.link(t)})}),Object.keys(k).forEach(function(e){var t=k[e];A[e]=tr(t,function(e,r){return e.invoke(r,t)})}),A),j}(t,i,a,l,d);return m.shader.program&&(m.shader.program.attributes.sort(function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(Q(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),e7(Object.keys(t.state)).forEach(function(r){var a=t.state[r],o=a.append(e,n);P(o)?o.forEach(function(t,i){Y(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))}):te(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)}),ei(e,n,t,!0,!0),[eV,eG,eH,eZ,eq].forEach(function(r){var a=t.draw[r];if(a){var o=a.append(e,n);Y(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}}),Object.keys(t.uniforms).forEach(function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map(function(t){return Y(t)?t:e.link(t,{stable:!0})})+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)}),Object.keys(t.attributes).forEach(function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new D).forEach(function(e){n.set(a,"."+e,i[e])})}),t.scopeVAO){var o=t.scopeVAO.append(e,n);Y(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);Y(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(eN),s(eU),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(d,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",en(e,r);var n=!1,i=!0;Object.keys(t.context).forEach(function(e){n=n||t.context[e].propDep}),n||(Q(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||ee(e,r,a)):ee(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),et(e,r,t),er(e,r,t.state,function(e){return!s(e)}),t.profile&&s(t.profile)||ei(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)ts(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)ts(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),f=r.def(u,"[",h,"]");r(e.cond(f).then(f,".call(this,a0,a1);").else(f,"=",u,"[",h,"]=",e.link(function(r){return ti(ts,e,t,r,2)}),"(",c,");",f,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),e(d.compile(),{destroy:function(){m.shader.program.destroy()}})}}}(h,C,q,tl,tc,tu,0,tm,{},th,tf,eQ,eY,H,R,u),ty=function(e,t,r,n,i,a,o){function s(i){a=null===t.next?5121:t.next.colorAttachments[0].texture._texture.type;var a,o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;d(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r();var h=l*c*4;return u||(5121===a?u=new Uint8Array(h):5126===a&&(u=u||new Float32Array(h))),e.pixelStorei(3333,4),e.readPixels(o,s,l,c,6408,a,u),u}return function(e){var r;return e&&"framebuffer"in e?(t.setFBO({framebuffer:e.framebuffer},function(){r=s(e)}),r):s(e)}}(h,tm,tg.procs.poll,eY,0,0,0),tv=tg.next,tx=h.canvas,t_=[],tb=[],tw=[],tT=[u.onDestroy],tk=null;function tA(){if(0===t_.length){H&&H.update(),tk=null;return}tk=a.next(tA),tD();for(var e=t_.length-1;e>=0;--e){var t=t_[e];t&&t(eY,null,0)}h.flush(),H&&H.update()}function tM(){!tk&&t_.length>0&&(tk=a.next(tA))}function tS(){tk&&(a.cancel(tA),tk=null)}function tE(e){e.preventDefault(),tS(),tb.forEach(function(e){e()})}function tC(e){h.getError(),x.restore(),tf.restore(),tc.restore(),tp.restore(),td.restore(),tm.restore(),th.restore(),H&&H.restore(),tg.procs.refresh(),tM(),tw.forEach(function(e){e()})}function tL(t){function r(e,t){var r={},n={};return Object.keys(e).forEach(function(a){var o=e[a];if(i.isDynamic(o)){n[a]=i.unbox(o,a);return}if(t&&Array.isArray(o)){for(var s=0;s0)return h.call(this,function(e){for(;p.length=0},read:ty,destroy:function(){t_.length=0,tS(),tx&&(tx.removeEventListener(ta,tE),tx.removeEventListener(to,tC)),tf.clear(),tm.clear(),td.clear(),th.clear(),tp.clear(),tu.clear(),tc.clear(),H&&H.clear(),tT.forEach(function(e){e()})},_gl:h,_refresh:tR,poll:function(){tD(),H&&H.update()},now:tF,stats:L,getCachedCode:function(){return R},preloadCachedCode:function(e){Object.entries(e).forEach(function(e){R[e[0]]=e[1]})}});return u.onDone(null,tj),tj}},"object"==typeof e&&void 0!==t?t.exports=r():e.createREGL=r()}}),gk=ed({"node_modules/gl-util/context.js"(e,t){var r=dC();function n(e){if(e.container){if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}}function i(e){return"function"==typeof e.getContext&&"width"in e&&"height"in e}function a(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}t.exports=function(e){if(e?"string"==typeof e&&(e={container:e}):e={},(e=i(e)?{container:e}:"string"==typeof(t=e).nodeName&&"function"==typeof t.appendChild&&"function"==typeof t.getBoundingClientRect?{container:e}:"function"==typeof(o=e).drawArrays||"function"==typeof o.drawElements?{gl:e}:r(e,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(e.pixelRatio=window.pixelRatio||1),e.gl)return e.gl;if(e.canvas&&(e.container=e.canvas.parentNode),e.container){if("string"==typeof e.container){var t,o,s=document.querySelector(e.container);if(!s)throw Error("Element "+e.container+" is not found");e.container=s}i(e.container)?(e.canvas=e.container,e.container=e.canvas.parentNode):e.canvas||(e.canvas=a(),e.container.appendChild(e.canvas),n(e))}else if(!e.canvas){if("undefined"!=typeof document)e.container=document.body||document.documentElement,e.canvas=a(),e.container.appendChild(e.canvas),n(e);else throw Error("Not DOM environment. Use headless-gl.")}return e.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(t){try{e.gl=e.canvas.getContext(t,e.attrs)}catch(e){}return e.gl}),e.gl}}}),gA=ed({"node_modules/font-atlas/index.js"(e,t){var r=gb(),n=[32,126];t.exports=function(e){var t=(e=e||{}).shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],i=e.canvas||document.createElement("canvas"),a=e.font,o="number"==typeof e.step?[e.step,e.step]:e.step||[32,32],s=e.chars||n;if(a&&"string"!=typeof a&&(a=r(a)),Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");t=t.slice(),i.width=t[0],i.height=t[1];var h=i.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,i.width,i.height),h.font=a,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";for(var f=o[0]/2,p=o[1]/2,c=0;ct[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return i}}}),gM=ed({"node_modules/bit-twiddle/twiddle.js"(e){function t(e){var t=32;return(e&=-e)&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-2147483648,e.sign=function(e){return(e>0)-(e<0)},e.abs=function(e){var t=e>>31;return(e^t)-t},e.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,(t|=r)|e>>1},e.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},e.popCount=function(e){return e-=e>>>1&1431655765,((e=(858993459&e)+(e>>>2&858993459))+(e>>>4)&252645135)*16843009>>>24},e.countTrailingZeros=t,e.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)+1},e.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,(e|=e>>>16)-(e>>>1)},e.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,27030>>>(e&=15)&1};var r=Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=n<>>8&255]<<16|r[e>>>16&255]<<8|r[e>>>24&255]},e.interleave2=function(e,t){return e&=65535,t&=65535,(e=((e=((e=((e=(e|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)|(t=((t=((t=((t=(t|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)<<1},e.deinterleave2=function(e,t){return(e=((e=((e=((e=((e=e>>>t&1431655765)|e>>>1)&858993459)|e>>>2)&252645135)|e>>>4)&16711935)|e>>>16)&65535)<<16>>16},e.interleave3=function(e,t,r){return e&=1023,t&=1023,r&=1023,r=((r=((r=((r=(r|r<<16)&4278190335)|r<<8)&251719695)|r<<4)&3272356035)|r<<2)&1227133513,(e=((e=((e=((e=(e|e<<16)&4278190335)|e<<8)&251719695)|e<<4)&3272356035)|e<<2)&1227133513|(t=((t=((t=((t=(t|t<<16)&4278190335)|t<<8)&251719695)|t<<4)&3272356035)|t<<2)&1227133513)<<1)|r<<2},e.deinterleave3=function(e,t){return(e=((e=((e=((e=((e=e>>>t&1227133513)|e>>>2)&3272356035)|e>>>4)&251719695)|e>>>8)&4278190335)|e>>>16)&1023)<<22>>22},e.nextCombination=function(e){var r=e|e-1;return r+1|(~r&-~r)-1>>>t(e)+1}}}),gS=ed({"node_modules/dup/dup.js"(e,t){t.exports=function(e,t){switch(void 0===t&&(t=0),typeof e){case"number":if(e>0)return function(e,t){var r,n;for(n=0,r=Array(e);n0?r.pop():new ArrayBuffer(e)}function f(e){return new Uint8Array(h(e),0,e)}function p(e){return new Uint16Array(h(2*e),0,e)}function d(e){return new Uint32Array(h(4*e),0,e)}function m(e){return new Int8Array(h(e),0,e)}function g(e){return new Int16Array(h(2*e),0,e)}function y(e){return new Int32Array(h(4*e),0,e)}function v(e){return new Float32Array(h(4*e),0,e)}function x(e){return new Float64Array(h(8*e),0,e)}function _(e){return i?new Uint8ClampedArray(h(e),0,e):f(e)}function b(e){return a?new BigUint64Array(h(8*e),0,e):null}function w(e){return o?new BigInt64Array(h(8*e),0,e):null}function T(e){return new DataView(h(e),0,e)}function k(e){e=t.nextPow2(e);var r=c[t.log2(e)];return r.length>0?r.pop():new n(e)}e.free=function(e){if(n.isBuffer(e))c[t.log2(e.length)].push(e);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e)&&(e=e.buffer),!e)return;var r=e.length||e.byteLength;l[0|t.log2(r)].push(e)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(e){u(e.buffer)},e.freeArrayBuffer=u,e.freeBuffer=function(e){c[t.log2(e.length)].push(e)},e.malloc=function(e,t){if(void 0===t||"arraybuffer"===t)return h(e);switch(t){case"uint8":return f(e);case"uint16":return p(e);case"uint32":return d(e);case"int8":return m(e);case"int16":return g(e);case"int32":return y(e);case"float":case"float32":return v(e);case"double":case"float64":return x(e);case"uint8_clamped":return _(e);case"bigint64":return w(e);case"biguint64":return b(e);case"buffer":return k(e);case"data":case"dataview":return T(e)}return null},e.mallocArrayBuffer=h,e.mallocUint8=f,e.mallocUint16=p,e.mallocUint32=d,e.mallocInt8=m,e.mallocInt16=g,e.mallocInt32=y,e.mallocFloat32=e.mallocFloat=v,e.mallocFloat64=e.mallocDouble=x,e.mallocUint8Clamped=_,e.mallocBigUint64=b,e.mallocBigInt64=w,e.mallocDataView=T,e.mallocBuffer=k,e.clearCache=function(){for(var e=0;e<32;++e)s.UINT8[e].length=0,s.UINT16[e].length=0,s.UINT32[e].length=0,s.INT8[e].length=0,s.INT16[e].length=0,s.INT32[e].length=0,s.FLOAT[e].length=0,s.DOUBLE[e].length=0,s.BIGUINT64[e].length=0,s.BIGINT64[e].length=0,s.UINT8C[e].length=0,l[e].length=0,c[e].length=0}}}),gC=ed({"node_modules/is-plain-obj/index.js"(e,t){var r=Object.prototype.toString;t.exports=function(e){var t;return"[object Object]"===r.call(e)&&(null===(t=Object.getPrototypeOf(e))||t===Object.getPrototypeOf({}))}}}),gL=ed({"node_modules/parse-unit/index.js"(e,t){t.exports=function(e,t){t||(t=[0,""]);var r=parseFloat(e=String(e),10);return t[0]=r,t[1]=e.match(/[\d.\-\+]*\s*(.*)/)[1]||"",t}}}),gI=ed({"node_modules/to-px/topx.js"(e,t){var r=gL();function n(e,t){var n=r(getComputedStyle(e).getPropertyValue(t));return n[0]*i(n[1],e)}function i(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":var r,i,a,o;return r=e,i=t,(a=document.createElement("div")).style["font-size"]="128"+r,i.appendChild(a),o=n(a,"font-size")/128,i.removeChild(a),o;case"em":return n(t,"font-size");case"rem":return n(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}t.exports=i}}),gP=ed({"node_modules/detect-kerning/index.js"(e,t){t.exports=i;var r=(i.canvas=document.createElement("canvas")).getContext("2d"),n=a([32,126]);function i(e,t){Array.isArray(e)&&(e=e.join(", "));var i,o={},s=16,l=.05;t&&(2===t.length&&"number"==typeof t[0]?i=a(t):Array.isArray(t)?i=t:(t.o?i=a(t.o):t.pairs&&(i=t.pairs),t.fontSize&&(s=t.fontSize),null!=t.threshold&&(l=t.threshold))),i||(i=n),r.font=s+"px "+e;for(var c=0;cs*l){var p=(f-h)/s;o[u]=1e3*p}}return o}function a(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i0;n-=4)if(0!==r[n])return Math.floor((n-3)*.25/t)}t.exports=r,r.canvas=document.createElement("canvas"),r.cache={}}}),gO=ed({"node_modules/gl-text/dist.js"(e,t){var r,n=gw(),i=dC(),a=gT(),o=gk(),s=ga(),l=fW(),c=gA(),u=gE(),h=dL(),f=gC(),p=gL(),d=gI(),m=gP(),g=d0(),y=gz(),v=dz(),x=gM().nextPow2,_=new s,b=!1;document.body&&((r=document.body.appendChild(document.createElement("div"))).style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(r).fontStretch&&(b=!0),document.body.removeChild(r));var w=function(e){var t;"function"==typeof(t=e)&&t._gl&&t.prop&&t.texture&&t.buffer?(e={regl:e},this.gl=e.regl._gl):this.gl=o(e),this.shader=_.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=e.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),_.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(e)?e:{})};w.prototype.createShader=function(){var e=this.regl,t=e({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:e.prop("count"),offset:e.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:e.this("sizeBuffer")},width:{offset:0,stride:8,buffer:e.this("sizeBuffer")},char:e.this("charBuffer"),position:e.this("position")},uniforms:{atlasSize:function(e,t){return[t.atlas.width,t.atlas.height]},atlasDim:function(e,t){return[t.atlas.cols,t.atlas.rows]},atlas:function(e,t){return t.atlas.texture},charStep:function(e,t){return t.atlas.step},em:function(e,t){return t.atlas.em},color:e.prop("color"),opacity:e.prop("opacity"),viewport:e.this("viewportArray"),scale:e.this("scale"),align:e.prop("align"),baseline:e.prop("baseline"),translate:e.this("translate"),positionOffset:e.prop("positionOffset")},primitive:"points",viewport:e.this("viewport"),vert:"\n precision highp float;\n attribute float width, charOffset, char;\n attribute vec2 position;\n uniform float fontSize, charStep, em, align, baseline;\n uniform vec4 viewport;\n uniform vec4 color;\n uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n varying vec2 charCoord, charId;\n varying float charWidth;\n varying vec4 fontColor;\n void main () {\n vec2 offset = floor(em * (vec2(align + charOffset, baseline)\n + vec2(positionOffset.x, -positionOffset.y)))\n / (viewport.zw * scale.xy);\n\n vec2 position = (position + translate) * scale;\n position += offset * scale;\n\n charCoord = position * viewport.zw + viewport.xy;\n\n gl_Position = vec4(position * 2. - 1., 0, 1);\n\n gl_PointSize = charStep;\n\n charId.x = mod(char, atlasDim.x);\n charId.y = floor(char / atlasDim.x);\n\n charWidth = width * em;\n\n fontColor = color / 255.;\n }",frag:"\n precision highp float;\n uniform float fontSize, charStep, opacity;\n uniform vec2 atlasSize;\n uniform vec4 viewport;\n uniform sampler2D atlas;\n varying vec4 fontColor;\n varying vec2 charCoord, charId;\n varying float charWidth;\n\n float lightness(vec4 color) {\n return color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n }\n\n void main () {\n vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n float halfCharStep = floor(charStep * .5 + .5);\n\n // invert y and shift by 1px (FF expecially needs that)\n uv.y = charStep - uv.y;\n\n // ignore points outside of character bounding box\n float halfCharWidth = ceil(charWidth * .5);\n if (floor(uv.x) > halfCharStep + halfCharWidth ||\n floor(uv.x) < halfCharStep - halfCharWidth) return;\n\n uv += charId * charStep;\n uv = uv / atlasSize;\n\n vec4 color = fontColor;\n vec4 mask = texture2D(atlas, uv);\n\n float maskY = lightness(mask);\n // float colorY = lightness(color);\n color.a *= maskY;\n color.a *= opacity;\n\n // color.a += .1;\n\n // antialiasing, see yiq color space y-channel formula\n // color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n gl_FragColor = color;\n }"});return{regl:e,draw:t,atlas:{}}},w.prototype.update=function(e){var t,r,a=this;if("string"==typeof e)e={text:e};else if(!e)return;null!=(e=i(e,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(e.opacity)?this.opacity=e.opacity.map(function(e){return parseFloat(e)}):this.opacity=parseFloat(e.opacity)),null!=e.viewport&&(this.viewport=h(e.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=e.kerning&&(this.kerning=e.kerning),null!=e.offset&&("number"==typeof e.offset&&(e.offset=[e.offset,0]),this.positionOffset=v(e.offset)),e.direction&&(this.direction=e.direction),e.range&&(this.range=e.range,this.scale=[1/(e.range[2]-e.range[0]),1/(e.range[3]-e.range[1])],this.translate=[-e.range[0],-e.range[1]]),e.scale&&(this.scale=e.scale),e.translate&&(this.translate=e.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||e.font||(e.font=w.baseFontSize+"px sans-serif");var o=!1,s=!1;if(e.font&&(Array.isArray(e.font)?e.font:[e.font]).forEach(function(e,t){if("string"==typeof e)try{e=n.parse(e)}catch(t){e=n.parse(w.baseFontSize+"px "+e)}else{var r=e.style,i=e.weight,l=e.stretch,c=e.variant;e=n.parse(n.stringify(e)),r&&(e.style=r),i&&(e.weight=i),l&&(e.stretch=l),c&&(e.variant=c)}var u=n.stringify({size:w.baseFontSize,family:e.family,stretch:b?e.stretch:void 0,variant:e.variant,weight:e.weight,style:e.style}),h=p(e.size),f=Math.round(h[0]*d(h[1]));if(f!==a.fontSize[t]&&(s=!0,a.fontSize[t]=f),(!a.font[t]||u!=a.font[t].baseString)&&(o=!0,a.font[t]=w.fonts[u],!a.font[t])){var m=e.family.join(", "),g=[e.style];e.style!=e.variant&&g.push(e.variant),e.variant!=e.weight&&g.push(e.weight),b&&e.weight!=e.stretch&&g.push(e.stretch),a.font[t]={baseString:u,family:m,weight:e.weight,stretch:e.stretch,style:e.style,variant:e.variant,width:{},kerning:{},metrics:y(m,{origin:"top",fontSize:w.baseFontSize,fontStyle:g.join(" ")})},w.fonts[u]=a.font[t]}}),(o||s)&&this.font.forEach(function(t,r){var i=n.stringify({size:a.fontSize[r],family:t.family,stretch:b?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style});if(a.fontAtlas[r]=a.shader.atlas[i],!a.fontAtlas[r]){var o=t.metrics;a.shader.atlas[i]=a.fontAtlas[r]={fontString:i,step:2*Math.ceil(a.fontSize[r]*o.bottom*.5),em:a.fontSize[r],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:a.regl.texture()}}null==e.text&&(e.text=a.text)}),"string"==typeof e.text&&e.position&&e.position.length>2){for(var f=Array(.5*e.position.length),_=0;_2){for(var k=!e.position[0].length,A=u.mallocFloat(2*this.count),M=0,S=0;M1?a.align[t]:a.align[0]:a.align;if("number"==typeof r)return r;switch(r){case"right":case"end":return-e;case"center":case"centre":case"middle":return-(.5*e)}return 0})),null==this.baseline&&null==e.baseline&&(e.baseline=0),null!=e.baseline&&(this.baseline=e.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(e,t){var r,n=(a.font[t]||a.font[0]).metrics;return r=0+.5*n.bottom,"number"==typeof e?r+=e-n.baseline:r+=-n[e],r*=-1})),null!=e.color){if(e.color||(e.color="transparent"),"string"!=typeof e.color&&isNaN(e.color)){if("number"==typeof e.color[0]&&e.color.length>this.counts.length){var G=e.color.length;r=u.mallocUint8(G);for(var Z=(e.color.subarray||e.color.slice).bind(e.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]}},w.prototype.destroy=function(){},w.prototype.kerning=!0,w.prototype.position={constant:new Float32Array(2)},w.prototype.translate=null,w.prototype.scale=null,w.prototype.font=null,w.prototype.text="",w.prototype.positionOffset=[0,0],w.prototype.opacity=1,w.prototype.color=new Uint8Array([0,0,0,255]),w.prototype.alignOffset=[0,0],w.maxAtlasSize=1024,w.atlasCanvas=document.createElement("canvas"),w.atlasContext=w.atlasCanvas.getContext("2d",{alpha:!1}),w.baseFontSize=64,w.fonts={},t.exports=w}}),gD=ed({"node_modules/@plotly/regl/dist/regl.unchecked.js"(e,t){var r;r=function(){var e=function(e,t){for(var r=Object.keys(t),n=0;n1&&r===i&&('"'===r||"'"===r))return['"'+n(t.substr(1,t.length-2))+'"'];var a=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(t);if(a)return e(t.substr(0,a.index)).concat(e(a[1])).concat(e(t.substr(a.index+a[0].length)));var o=t.split(".");if(1===o.length)return['"'+n(t)+'"'];for(var s=[],l=0;l65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,(t|=r)|e>>1}function h(){var e=c(8,function(){return[]});function t(t){var r=function(e){for(var t=16;t<=268435456;t*=16)if(e<=t)return t;return 0}(t),n=e[u(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[u(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var f=h();f.zero=h();var p=function(e,t){var r=1;t.ext_texture_filter_anisotropic&&(r=e.getParameter(34047));var n=1,i=1;t.webgl_draw_buffers&&(n=e.getParameter(34852),i=e.getParameter(36063));var a=!!t.oes_texture_float;if(a){var o=e.createTexture();e.bindTexture(3553,o),e.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var s=e.createFramebuffer();if(e.bindFramebuffer(36160,s),e.framebufferTexture2D(36160,36064,3553,o,0),e.bindTexture(3553,null),36053!==e.checkFramebufferStatus(36160))a=!1;else{e.viewport(0,0,1,1),e.clearColor(1,0,0,1),e.clear(16384);var l=f.allocType(5126,4);e.readPixels(0,0,1,1,6408,5126,l),e.getError()?a=!1:(e.deleteFramebuffer(s),e.deleteTexture(o),a=1===l[0]),f.freeType(l)}}var c="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),u=!0;if(!c){var h=e.createTexture(),p=f.allocType(5121,36);e.activeTexture(33984),e.bindTexture(34067,h),e.texImage2D(34069,0,6408,3,3,0,6408,5121,p),f.freeType(p),e.bindTexture(34067,null),e.deleteTexture(h),u=!e.getError()}return{colorBits:[e.getParameter(3410),e.getParameter(3411),e.getParameter(3412),e.getParameter(3413)],depthBits:e.getParameter(3414),stencilBits:e.getParameter(3415),subpixelBits:e.getParameter(3408),extensions:Object.keys(t).filter(function(e){return!!t[e]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:e.getParameter(33901),lineWidthDims:e.getParameter(33902),maxViewportDims:e.getParameter(3386),maxCombinedTextureUnits:e.getParameter(35661),maxCubeMapSize:e.getParameter(34076),maxRenderbufferSize:e.getParameter(34024),maxTextureUnits:e.getParameter(34930),maxTextureSize:e.getParameter(3379),maxAttributes:e.getParameter(34921),maxVertexUniforms:e.getParameter(36347),maxVertexTextureUnits:e.getParameter(35660),maxVaryingVectors:e.getParameter(36348),maxFragmentUniforms:e.getParameter(36349),glsl:e.getParameter(35724),renderer:e.getParameter(7937),vendor:e.getParameter(7936),version:e.getParameter(7938),readFloat:a,npotTextureCube:u}},d=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray};function m(e){return!!e&&"object"==typeof e&&Array.isArray(e.shape)&&Array.isArray(e.stride)&&"number"==typeof e.offset&&e.shape.length===e.stride.length&&(Array.isArray(e.data)||d(e.data))}var g=function(e){return Object.keys(e).map(function(t){return e[t]})},y={shape:function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},flatten:function(e,t,r,n){var i=1;if(t.length)for(var a=0;a>>31<<15,a=(n<<1>>>24)-127,o=n>>13&1023;if(a<-24)t[r]=i;else if(a<-14){var s=-14-a;t[r]=i+(o+1024>>s)}else a>15?t[r]=i+31744:t[r]=i+(a+15<<10)+o}return t}function P(e){return Array.isArray(e)||d(e)}var z=[9984,9986,9985,9987],O=[0,6409,6410,6407,6408],D={};function R(e){return"[object "+e+"]"}D[6409]=D[6406]=D[6402]=1,D[34041]=D[6410]=2,D[6407]=D[35904]=3,D[6408]=D[35906]=4;var F=R("HTMLCanvasElement"),j=R("OffscreenCanvas"),B=R("CanvasRenderingContext2D"),N=R("ImageBitmap"),U=R("HTMLImageElement"),V=R("HTMLVideoElement"),q=Object.keys(x).concat([F,j,B,N,U,V]),H=[];H[5121]=1,H[5126]=4,H[36193]=2,H[5123]=2,H[5125]=4;var G=[];function Z(e){return Array.isArray(e)&&(0===e.length||"number"==typeof e[0])}function W(e){return!!(Array.isArray(e)&&0!==e.length&&P(e[0]))}function Y(e){return Object.prototype.toString.call(e)}function X(e){if(!e)return!1;var t=Y(e);return q.indexOf(t)>=0||Z(e)||W(e)||m(e)}function $(e){return 0|x[Object.prototype.toString.call(e)]}function J(e,t){return f.allocType(36193===e.type?5126:e.type,t)}function K(e,t){36193===e.type?(e.data=I(t),f.freeType(t)):e.data=t}function Q(e,t,r,n,i,a){if(o=void 0!==G[e]?G[e]:D[e]*H[t],a&&(o*=6),!i)return o*r*n;for(var o,s=0,l=r;l>=1;)s+=o*l*l,l/=2;return s}G[32854]=2,G[32855]=2,G[36194]=2,G[34041]=4,G[33776]=.5,G[33777]=.5,G[33778]=1,G[33779]=1,G[35986]=.5,G[35987]=1,G[34798]=1,G[35840]=.5,G[35841]=.25,G[35842]=.5,G[35843]=.25,G[36196]=.5;var ee=[];ee[32854]=2,ee[32855]=2,ee[36194]=2,ee[33189]=2,ee[36168]=1,ee[34041]=4,ee[35907]=4,ee[34836]=16,ee[34842]=8,ee[34843]=6;var et=function(e,t,r,n,i){var a={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};t.ext_srgb&&(a.srgba=35907),t.ext_color_buffer_half_float&&(a.rgba16f=34842,a.rgb16f=34843),t.webgl_color_buffer_float&&(a.rgba32f=34836);var o=[];Object.keys(a).forEach(function(e){o[a[e]]=e});var s=0,l={};function c(e){this.id=s++,this.refCount=1,this.renderbuffer=e,this.format=32854,this.width=0,this.height=0,i.profile&&(this.stats={size:0})}function u(t){var r=t.renderbuffer;e.bindRenderbuffer(36161,null),e.deleteRenderbuffer(r),t.renderbuffer=null,t.refCount=0,delete l[t.id],n.renderbufferCount--}return c.prototype.decRef=function(){--this.refCount<=0&&u(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var e=0;return Object.keys(l).forEach(function(t){e+=l[t].stats.size}),e}),{create:function(t,r){var s=new c(e.createRenderbuffer());function u(t,r){var n,l,c,h=0,f=0,p=32854;if("object"==typeof t&&t){if("shape"in t){var d=t.shape;h=0|d[0],f=0|d[1]}else"radius"in t&&(h=f=0|t.radius),"width"in t&&(h=0|t.width),"height"in t&&(f=0|t.height);"format"in t&&(p=a[t.format])}else"number"==typeof t?(h=0|t,f="number"==typeof r?0|r:h):t||(h=f=1);if(h!==s.width||f!==s.height||p!==s.format)return u.width=s.width=h,u.height=s.height=f,s.format=p,e.bindRenderbuffer(36161,s.renderbuffer),e.renderbufferStorage(36161,p,h,f),i.profile&&(s.stats.size=(n=s.format,l=s.width,c=s.height,ee[n]*l*c)),u.format=o[s.format],u}return l[s.id]=s,n.renderbufferCount++,u(t,r),u.resize=function(t,r){var n,a,o,l=0|t,c=0|r||l;return l===s.width&&c===s.height||(u.width=s.width=l,u.height=s.height=c,e.bindRenderbuffer(36161,s.renderbuffer),e.renderbufferStorage(36161,s.format,l,c),i.profile&&(s.stats.size=(n=s.format,a=s.width,o=s.height,ee[n]*a*o))),u},u._reglType="renderbuffer",u._renderbuffer=s,i.profile&&(u.stats=s.stats),u.destroy=function(){s.decRef()},u},clear:function(){g(l).forEach(u)},restore:function(){g(l).forEach(function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,t.renderbuffer),e.renderbufferStorage(36161,t.format,t.width,t.height)}),e.bindRenderbuffer(36161,null)}}},er=[];er[6408]=4,er[6407]=3;var en=[];function ei(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.offset=0,this.stride=0,this.divisor=0}function ea(e,t){return e>>>t|e<<32-t}en[5121]=1,en[5126]=4,en[36193]=2;var eo=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998];function es(e,t){var r=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(r>>16)<<16|65535&r}function el(e){return Array.prototype.slice.call(e)}function ec(e){return el(e).join("")}var eu="xyzw".split(""),eh="dither",ef="blend.enable",ep="blend.color",ed="blend.equation",em="blend.func",eg="depth.enable",ey="depth.func",ev="depth.range",ex="depth.mask",e_="colorMask",eb="cull.enable",ew="cull.face",eT="frontFace",ek="lineWidth",eA="polygonOffset.enable",eM="polygonOffset.offset",eS="sample.alpha",eE="sample.enable",eC="sample.coverage",eL="stencil.enable",eI="stencil.mask",eP="stencil.func",ez="stencil.opFront",eO="stencil.opBack",eD="scissor.enable",eR="scissor.box",eF="viewport",ej="profile",eB="framebuffer",eN="vert",eU="frag",eV="elements",eq="primitive",eH="count",eG="offset",eZ="instances",eW="Width",eY="Height",eX=eB+eW,e$=eB+eY,eJ=eF+eW,eK=eF+eY,eQ="drawingBuffer",e0=eQ+eW,e1=eQ+eY,e2=[em,ed,eP,ez,eO,eC,eF,eR,eM],e3={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},e5={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},e4={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},e6={cw:2304,ccw:2305};function e8(e){return Array.isArray(e)||d(e)||m(e)}function e7(e){return e.sort(function(e,t){return e===eF?-1:t===eF?1:e=1,n>=2,t)}if(4===r){var i=e.data;return new e9(i.thisDep,i.contextDep,i.propDep,t)}if(5===r)return new e9(!1,!1,!1,t);if(6!==r)return new e9(3===r,2===r,1===r,t);for(var a=!1,o=!1,s=!1,l=0;l=1&&(o=!0),u>=2&&(s=!0)}else 4===c.type&&(a=a||c.data.thisDep,o=o||c.data.contextDep,s=s||c.data.propDep)}return new e9(a,o,s,t)}var tn=new e9(!1,!1,!1,function(){}),ti=function(e,t){if(!t.ext_disjoint_timer_query)return null;var r=[],n=[];function i(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var a=[],o=[];function s(e,t,r){var n=a.pop()||new i;n.startQueryIndex=e,n.endQueryIndex=t,n.sum=0,n.stats=r,o.push(n)}var l=[],c=[];return{beginQuery:function(e){var i=r.pop()||t.ext_disjoint_timer_query.createQueryEXT();t.ext_disjoint_timer_query.beginQueryEXT(35007,i),n.push(i),s(n.length-1,n.length,e)},endQuery:function(){t.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:s,update:function(){var e,i,s=n.length;if(0!==s){c.length=Math.max(c.length,s+1),l.length=Math.max(l.length,s+1),l[0]=0,c[0]=0;var u=0;for(i=0,e=0;i0){if(Array.isArray(t[0])){o=T(t);for(var o,s,c=1,u=1;u0){if("number"==typeof e[0]){var i=f.allocType(h.dtype,e.length);M(i,e),g(i,n),f.freeType(i)}else if(Array.isArray(e[0])||d(e[0])){r=T(e);var a=w(e,r,h.dtype);g(a,n),f.freeType(a)}}}else if(m(e)){r=e.shape;var o=e.stride,s=0,l=0,c=0,u=0;1===r.length?(s=r[0],l=1,c=o[0],u=0):2===r.length&&(s=r[0],l=r[1],c=o[0],u=o[1]);var y=Array.isArray(e.data)?h.dtype:A(e.data),v=f.allocType(y,s*l);S(v,e.data,s,l,c,u,e.offset),g(v,n),f.freeType(v)}return p},r.profile&&(p.stats=h.stats),p.destroy=function(){u(h)},p},createStream:function(e,t){var r=s.pop();return r||(r=new o(e)),r.bind(),c(r,t,35040,0,1,!1),r},destroyStream:function(e){s.push(e)},clear:function(){g(a).forEach(u),s.forEach(u)},getBuffer:function(e){return e&&e._buffer instanceof o?e._buffer:null},restore:function(){g(a).forEach(function(t){t.buffer=e.createBuffer(),e.bindBuffer(t.type,t.buffer),e.bufferData(t.type,t.persistentData||t.byteLength,t.usage)})},_initBuffer:c}}(h,L,u,function(e){return th.destroyBuffer(e)}),tu=function(e,t,r,n){var i={},a=0,o={uint8:5121,uint16:5123};function s(e){this.id=a++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}t.oes_element_index_uint&&(o.uint32=5125),s.prototype.bind=function(){this.buffer.bind()};var l=[];function c(n,i,a,o,s,l,c){if(n.buffer.bind(),i){var u,h=c;!c&&(!d(i)||m(i)&&!d(i.data))&&(h=t.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,h,3)}else e.bufferData(34963,l,a),n.buffer.dtype=u||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l;if(u=c,!c){switch(n.buffer.dtype){case 5121:case 5120:u=5121;break;case 5123:case 5122:u=5123;break;case 5125:case 5124:u=5125}n.buffer.dtype=u}n.type=u;var f=s;f<0&&(f=n.buffer.byteLength,5123===u?f>>=1:5125===u&&(f>>=2)),n.vertCount=f;var p=o;if(o<0){p=4;var g=n.buffer.dimension;1===g&&(p=0),2===g&&(p=1),3===g&&(p=4)}n.primType=p}function u(e){n.elementsCount--,delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(e,t){var i=r.create(null,34963,!0),a=new s(i._buffer);function l(e){if(e){if("number"==typeof e)i(e),a.primType=4,a.vertCount=0|e,a.type=5121;else{var t=null,r=35044,n=-1,s=-1,u=0,h=0;Array.isArray(e)||d(e)||m(e)?t=e:("data"in e&&(t=e.data),"usage"in e&&(r=b[e.usage]),"primitive"in e&&(n=E[e.primitive]),"count"in e&&(s=0|e.count),"type"in e&&(h=o[e.type]),"length"in e?u=0|e.length:(u=s,5123===h||5122===h?u*=2:(5125===h||5124===h)&&(u*=4))),c(a,t,r,n,s,u,h)}}else i(),a.primType=4,a.vertCount=0,a.type=5121;return l}return n.elementsCount++,l(e),l._reglType="elements",l._elements=a,l.subdata=function(e,t){return i.subdata(e,t),l},l.destroy=function(){u(a)},l},createStream:function(e){var t=l.pop();return t||(t=new s(r.create(null,34963,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){l.push(e)},getElements:function(e){return"function"==typeof e&&e._elements instanceof s?e._elements:null},clear:function(){g(i).forEach(u)}}}(h,q,tc,L),th=function(e,t,r,n,i,a,o){for(var s=r.maxAttributes,l=Array(s),c=0;c=p.byteLength?u.subdata(p):(u.destroy(),t.buffers[l]=null)),t.buffers[l]||(u=t.buffers[l]=i.create(h,34962,!1,!0)),f.buffer=i.getBuffer(u),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,o[l]=1):i.getBuffer(h)?(f.buffer=i.getBuffer(h),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(h.buffer)?(f.buffer=i.getBuffer(h.buffer),f.size=0|(+h.size||f.buffer.dimension),f.normalized=!!h.normalized,"type"in h?f.type=_[h.type]:f.type=f.buffer.dtype,f.offset=0|(h.offset||0),f.stride=0|(h.stride||0),f.divisor=0|(h.divisor||0),f.state=1):"x"in h&&(f.x=+h.x||0,f.y=+h.y||0,f.z=+h.z||0,f.w=+h.w||0,f.state=2)}for(var g=0;g1)for(var y=0;ye&&(e=t.stats.uniformsCount)}),e},n.getMaxAttributesCount=function(){var e=0;return h.forEach(function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)}),e}),{clear:function(){var e=t.deleteShader.bind(t);g(a).forEach(e),a={},g(o).forEach(e),o={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,u={},n.shaderCount=0},program:function(r,i,s,l){var c=u[i];c||(c=u[i]={});var f=c[r];if(f&&(f.refCount++,!l))return f;var m=new p(i,r);return n.shaderCount++,d(m,s,l),f||(c[r]=m),h.push(m),e(m,{destroy:function(){if(m.refCount--,m.refCount<=0){t.deleteProgram(m.program);var e=h.indexOf(m);h.splice(e,1),n.shaderCount--}c[m.vertId].refCount<=0&&(t.deleteShader(o[m.vertId]),delete o[m.vertId],delete u[m.fragId][m.vertId]),Object.keys(u[m.fragId]).length||(t.deleteShader(a[m.fragId]),delete a[m.fragId],delete u[m.fragId])}})},restore:function(){a={},o={};for(var e=0;e=0&&(x[e]=t)});var w=Object.keys(x);n.textureFormats=w;var T=[];Object.keys(x).forEach(function(e){T[x[e]]=e});var k=[];Object.keys(v).forEach(function(e){k[v[e]]=e});var A=[];Object.keys(u).forEach(function(e){A[u[e]]=e});var M=[];Object.keys(h).forEach(function(e){M[h[e]]=e});var S=[];Object.keys(c).forEach(function(e){S[c[e]]=e});var E=w.reduce(function(e,t){var n=x[t];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||r.ext_srgb&&(35904===n||35906===n)?e[n]=n:32855===n||t.indexOf("rgba")>=0?e[n]=6408:e[n]=6407,e},{});function C(){this.internalformat=6408,this.format=6408,this.type=5121,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function L(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function R(e,t){if("object"==typeof t&&t){if("premultiplyAlpha"in t&&(e.premultiplyAlpha=t.premultiplyAlpha),"flipY"in t&&(e.flipY=t.flipY),"alignment"in t&&(e.unpackAlignment=t.alignment),"colorSpace"in t&&(e.colorSpace=p[t.colorSpace]),"type"in t){var r=t.type;e.type=v[r]}var n=e.width,i=e.height,a=e.channels,o=!1;"shape"in t?(n=t.shape[0],i=t.shape[1],3===t.shape.length&&(a=t.shape[2],o=!0)):("radius"in t&&(n=i=t.radius),"width"in t&&(n=t.width),"height"in t&&(i=t.height),"channels"in t&&(a=t.channels,o=!0)),e.width=0|n,e.height=0|i,e.channels=0|a;var s=!1;if("format"in t){var l=t.format,c=e.internalformat=x[l];e.format=E[c],l in v&&!("type"in t)&&(e.type=v[l]),l in _&&(e.compressed=!0),s=!0}!o&&s?e.channels=D[e.format]:o&&!s&&e.channels!==O[e.format]&&(e.format=e.internalformat=O[e.channels])}}function q(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function H(){C.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function G(e,t){var r=null;if(X(t)?r=t:t&&(R(e,t),"x"in t&&(e.xOffset=0|t.x),"y"in t&&(e.yOffset=0|t.y),X(t.data)&&(r=t.data)),t.copy){var n=a.viewportWidth,i=a.viewportHeight;e.width=e.width||n-e.xOffset,e.height=e.height||i-e.yOffset,e.needsCopy=!0}else if(r){if(d(r))e.channels=e.channels||4,e.data=r,"type"in t||5121!==e.type||(e.type=$(r));else if(Z(r))e.channels=e.channels||4,function(e,t){var r=t.length;switch(e.type){case 5121:case 5123:case 5125:case 5126:var n=f.allocType(e.type,r);n.set(t),e.data=n;break;case 36193:e.data=I(t)}}(e,r),e.alignment=1,e.needsFree=!0;else if(m(r)){var o,s,l,c,u,h,p=r.data;Array.isArray(p)||5121!==e.type||(e.type=$(p));var g=r.shape,v=r.stride;3===g.length?(l=g[2],h=v[2]):(l=1,h=1),o=g[0],s=g[1],c=v[0],u=v[1],e.alignment=1,e.width=o,e.height=s,e.channels=l,e.format=e.internalformat=O[l],e.needsFree=!0,function(e,t,r,n,i,a){for(var o=e.width,s=e.height,l=e.channels,c=J(e,o*s*l),u=0,h=0;h>=i,r.height>>=i,G(r,n[i]),e.mipmask|=1<=0)||"faces"in t||(e.genMipmaps=!0)}if("mag"in t){var n=t.mag;e.magFilter=u[n]}var i=e.wrapS,a=e.wrapT;if("wrap"in t){var o=t.wrap;"string"==typeof o?i=a=c[o]:Array.isArray(o)&&(i=c[o[0]],a=c[o[1]])}else"wrapS"in t&&(i=c[t.wrapS]),"wrapT"in t&&(a=c[t.wrapT]);if(e.wrapS=i,e.wrapT=a,"anisotropic"in t&&(t.anisotropic,e.anisotropic=t.anisotropic),"mipmap"in t){var s=!1;switch(typeof t.mipmap){case"string":e.mipmapHint=l[t.mipmap],e.genMipmaps=!0,s=!0;break;case"boolean":s=e.genMipmaps=t.mipmap;break;case"object":e.genMipmaps=!1,s=!0}!s||"min"in t||(e.minFilter=9984)}}function ep(e,n){t.texParameteri(n,10241,e.minFilter),t.texParameteri(n,10240,e.magFilter),t.texParameteri(n,10242,e.wrapS),t.texParameteri(n,10243,e.wrapT),r.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,e.anisotropic),e.genMipmaps&&(t.hint(33170,e.mipmapHint),t.generateMipmap(n))}var ed=0,em={},eg=n.maxTextureUnits,ey=Array(eg).map(function(){return null});function ev(e){C.call(this),this.mipmask=0,this.internalformat=6408,this.id=ed++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new eh,s.profile&&(this.stats={size:0})}function ex(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function e_(){var e=ey[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function eb(e){var r=e.texture,n=e.unit,i=e.target;n>=0&&(t.activeTexture(33984+n),t.bindTexture(i,null),ey[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete em[e.id],o.textureCount--}return e(ev.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(e<0){for(var r=0;r0)continue;n.unit=-1}ey[r]=this,e=r;break}s.profile&&o.maxTextureUnits>l)-o,c.height=c.height||(n.height>>l)-s,ex(n),ee(c,3553,o,s,l),e_(),en(c),i},i.resize=function(e,r){var a=0|e,o=0|r||a;if(a===n.width&&o===n.height)return i;i.width=n.width=a,i.height=n.height=o,ex(n);for(var l=0;n.mipmask>>l;++l){var c=a>>l,u=o>>l;if(!c||!u)break;t.texImage2D(3553,l,n.format,c,u,0,n.format,n.type,null)}return e_(),s.profile&&(n.stats.size=Q(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType="texture2d",i._texture=n,s.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,r,n,i,a,l){var c=new ev(34067);em[c.id]=c,o.cubeCount++;var u=Array(6);function h(e,t,r,n,i,a){var o,l=c.texInfo;for(eh.call(l),o=0;o<6;++o)u[o]=ec();if("number"!=typeof e&&e){if("object"==typeof e){if(t)eo(u[0],e),eo(u[1],t),eo(u[2],r),eo(u[3],n),eo(u[4],i),eo(u[5],a);else if(ef(l,e),R(c,e),"faces"in e){var f=e.faces;for(o=0;o<6;++o)L(u[o],c),eo(u[o],f[o])}else for(o=0;o<6;++o)eo(u[o],e)}}else{var p=0|e||1;for(o=0;o<6;++o)ea(u[o],p,p)}for(L(c,u[0]),l.genMipmaps?c.mipmask=(u[0].width<<1)-1:c.mipmask=u[0].mipmask,c.internalformat=u[0].internalformat,h.width=u[0].width,h.height=u[0].height,ex(c),o=0;o<6;++o)es(u[o],34069+o);for(ep(l,34067),e_(),s.profile&&(c.stats.size=Q(c.internalformat,c.type,h.width,h.height,l.genMipmaps,!0)),h.format=T[c.internalformat],h.type=k[c.type],h.mag=A[l.magFilter],h.min=M[l.minFilter],h.wrapS=S[l.wrapS],h.wrapT=S[l.wrapT],o=0;o<6;++o)eu(u[o]);return h}return h(e,r,n,i,a,l),h.subimage=function(e,t,r,n,i){var a=0|r,o=0|n,s=0|i,l=er();return L(l,c),l.width=0,l.height=0,G(l,t),l.width=l.width||(c.width>>s)-a,l.height=l.height||(c.height>>s)-o,ex(c),ee(l,34069+e,a,o,s),e_(),en(l),h},h.resize=function(e){var r=0|e;if(r!==c.width){h.width=c.width=r,h.height=c.height=r,ex(c);for(var n=0;n<6;++n)for(var i=0;c.mipmask>>i;++i)t.texImage2D(34069+n,i,c.format,r>>i,r>>i,0,c.format,c.type,null);return e_(),s.profile&&(c.stats.size=Q(c.internalformat,c.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=c,s.profile&&(h.stats=c.stats),h.destroy=function(){c.decRef()},h},clear:function(){for(var e=0;e>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null)}ep(e.texInfo,e.target)})},refresh:function(){for(var e=0;e=0?f=!0:c.indexOf(d)>=0&&(f=!1))),("depthTexture"in e||"depthStencilTexture"in e)&&(k=!!(e.depthTexture||e.depthStencilTexture)),"depth"in e&&("boolean"==typeof e.depth?s=e.depth:(_=e.depth,u=!1)),"stencil"in e&&("boolean"==typeof e.stencil?u=e.stencil:(b=e.stencil,s=!1)),"depthStencil"in e&&("boolean"==typeof e.depthStencil?s=u=e.depthStencil:(w=e.depthStencil,s=!1,u=!1))}else a=o=1;var S=null,E=null,C=null,L=null;if(Array.isArray(h))S=h.map(m);else if(h)S=[m(h)];else for(r=0,S=Array(x);r0&&(s.depth=r[0].depth,s.stencil=r[0].stencil,s.depthStencil=r[0].depthStencil),r[a]?r[a](s):r[a]=M(s)}return e(n,{width:l,height:l,color:o})}return n(t),e(n,{faces:r,resize:function(e){var t,i=0|e;if(i===n.width)return n;var a=n.color;for(t=0;t0&&(t.push(e,"="),t.push.apply(t,el(arguments)),t.push(";")),e},toString:function(){return ec([r.length>0?"var "+r.join(",")+";":"",ec(t)])}})}function l(){var t=s(),r=s(),n=t.toString,i=r.toString;function a(e,n){r(e,n,"=",t.def(e,n),";")}return e(function(){t.apply(t,el(arguments))},{def:t.def,entry:t,exit:r,save:a,set:function(e,r,n){a(e,r),t(e,r,"=",n,";")},toString:function(){return n()+i()}})}var c=s(),u={};return{global:c,link:function(e,t){var r=t&&t.stable;if(!r){for(var s=0;s>>4&15)+r.charAt(15&t);return n}(function(e){for(var t="",r=0;r<32*e.length;r+=8)t+=String.fromCharCode(e[r>>5]>>>24-r%32&255);return t}(function(e,t){var r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],T=Array(64);for(e[t>>5]|=128<<24-t%32,e[(t+64>>9<<4)+15]=t,v=0;v>>10,T[x-7]),ea(n=T[x-15],7)^ea(n,18)^n>>>3),T[x-16]),_=es(es(es(es(y,ea(i=d,6)^ea(i,11)^ea(i,25)),(a=d)&m^~a&g),eo[x]),T[x]),b=es(ea(o=u,2)^ea(o,13)^ea(o,22),(s=u)&(l=h)^s&(c=f)^l&c),y=g,g=m,m=d,d=es(p,_),p=f,f=h,h=u,u=es(_,b);w[0]=es(u,w[0]),w[1]=es(h,w[1]),w[2]=es(f,w[2]),w[3]=es(p,w[3]),w[4]=es(d,w[4]),w[5]=es(m,w[5]),w[6]=es(g,w[6]),w[7]=es(y,w[7])}return w}(function(e){for(var t=Array(e.length>>2),r=0;r>5]|=(255&e.charCodeAt(r/8))<<24-r%32;return t}(e=function(e){for(var t,r,n="",i=-1;++i>>6&31,128|63&t):t<=65535?n+=String.fromCharCode(224|t>>>12&15,128|t>>>6&63,128|63&t):t<=2097151&&(n+=String.fromCharCode(240|t>>>18&7,128|t>>>12&63,128|t>>>6&63,128|63&t));return n}(o)),8*e.length)))])return r[t].apply(null,a);var s=Function.apply(null,i.concat(o));return r&&(r[t]=s),s.apply(null,a)}}}({cache:y}),n=t.link,i=t.global;t.id=J++,t.batchId="0";var a=n(X),o=t.shared={props:"a0"};Object.keys(X).forEach(function(e){o[e]=i.def(a,".",e)});var s=t.next={},l=t.current={};Object.keys(H).forEach(function(e){Array.isArray(N[e])&&(s[e]=i.def(o.next,".",e),l[e]=i.def(o.current,".",e))});var c=t.constants={};Object.keys($).forEach(function(e){c[e]=i.def(JSON.stringify($[e]))}),t.invoke=function(e,r){switch(r.type){case 0:var i=["this",o.context,o.props,t.batchId];return e.def(n(r.data),".call(",i.slice(0,Math.max(r.data.length+1,4)),")");case 1:return e.def(o.props,r.data);case 2:return e.def(o.context,r.data);case 3:return e.def("this",r.data);case 4:return r.data.append(t,e),r.data.ref;case 5:return r.data.toString();case 6:return r.data.map(function(r){return t.invoke(e,r)})}},t.attribCache={};var u={};return t.scopeAttrib=function(e){var t=r.id(e);if(t in u)return u[t];var i=f.scope[t];return i||(i=f.scope[t]=new D),u[t]=n(i)},t}function Q(e,t,r){var n=e.shared.context,i=e.scope();Object.keys(r).forEach(function(a){t.save(n,"."+a);var o=r[a].append(e,t);Array.isArray(o)?i(n,".",a,"=[",o.join(),"];"):i(n,".",a,"=",o,";")}),t(i)}function ee(e,t,r,n){var i,a,o=e.shared,s=o.gl,l=o.framebuffer;j&&(i=t.def(o.extensions,".webgl_draw_buffers"));var c=e.constants,u=c.drawBuffer,h=c.backBuffer;a=r?r.append(e,t):t.def(l,".next"),n||t("if(",a,"!==",l,".cur){"),t("if(",a,"){",s,".bindFramebuffer(",36160,",",a,".framebuffer);"),j&&t(i,".drawBuffersWEBGL(",u,"[",a,".colorAttachments.length]);"),t("}else{",s,".bindFramebuffer(",36160,",null);"),j&&t(i,".drawBuffersWEBGL(",h,");"),t("}",l,".cur=",a,";"),n||t("}")}function et(e,t,r){var n=e.shared,i=n.gl,a=e.current,o=e.next,s=n.current,l=n.next,u=e.cond(s,".dirty");V.forEach(function(t){var n,h,f=G(t);if(!(f in r.state)){if(f in o){n=o[f],h=a[f];var p=c(N[f].length,function(e){return u.def(n,"[",e,"]")});u(e.cond(p.map(function(e,t){return e+"!=="+h+"["+t+"]"}).join("||")).then(i,".",H[f],"(",p,");",p.map(function(e,t){return h+"["+t+"]="+e}).join(";"),";"))}else{n=u.def(l,".",f);var d=e.cond(n,"!==",s,".",f);u(d),f in q?d(e.cond(n).then(i,".enable(",q[f],");").else(i,".disable(",q[f],");"),s,".",f,"=",n,";"):d(i,".",H[f],"(",n,");",s,".",f,"=",n,";")}}}),0===Object.keys(r.state).length&&u(s,".dirty=false;"),t(u)}function er(e,t,r,n){var i,a=e.shared,o=e.current,s=a.current,l=a.gl;e7(Object.keys(r)).forEach(function(a){var c=r[a];if(!n||n(c)){var u=c.append(e,t);if(q[a]){var h=q[a];te(c)?(i=e.link(u,{stable:!0}),t(e.cond(i).then(l,".enable(",h,");").else(l,".disable(",h,");")),t(s,".",a,"=",i,";")):(t(e.cond(u).then(l,".enable(",h,");").else(l,".disable(",h,");")),t(s,".",a,"=",u,";"))}else if(P(u)){var f=o[a];t(l,".",H[a],"(",u,");",u.map(function(e,t){return f+"["+t+"]="+e}).join(";"),";")}else te(c)?(i=e.link(u,{stable:!0}),t(l,".",H[a],"(",i,");",s,".",a,"=",i,";")):t(l,".",H[a],"(",u,");",s,".",a,"=",u,";")}})}function en(e,t){F&&(e.instancing=t.def(e.shared.extensions,".angle_instanced_arrays"))}function ei(e,t,r,n,i){var a,o,s,l=e.shared,c=e.stats,u=l.current,h=l.timer,f=r.profile;function p(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function d(e){e(a=t.def(),"=",p(),";"),"string"==typeof i?e(c,".count+=",i,";"):e(c,".count++;"),g&&(n?e(o=t.def(),"=",h,".getNumPendingQueries();"):e(h,".beginQuery(",c,");"))}function m(e){e(c,".cpuTime+=",p(),"-",a,";"),g&&(n?e(h,".pushScopeStats(",o,",",h,".getNumPendingQueries(),",c,");"):e(h,".endQuery();"))}function y(e){var r=t.def(u,".profile");t(u,".profile=",e,";"),t.exit(u,".profile=",r,";")}if(f){if(te(f)){f.enable?(d(t),m(t.exit),y("true")):y("false");return}y(s=f.append(e,t))}else s=t.def(u,".profile");var v=e.block();d(v),t("if(",s,"){",v,"}");var x=e.block();m(x),t.exit("if(",s,"){",x,"}")}function eW(e,t,r,n,i){var a=e.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(e,t)}else{if(!i(tn))return;var c=e.scopeAttrib(s);o={},Object.keys(new D).forEach(function(e){o[e]=t.def(c,".",e)})}!function(r,n,i){var o=a.gl,s=t.def(r,".location"),l=t.def(a.attributes,"[",s,"]"),c=i.state,u=i.buffer,h=[i.x,i.y,i.z,i.w],f=["buffer","normalized","offset","stride"];function p(){t("if(!",l,".buffer){",o,".enableVertexAttribArray(",s,");}");var r,a=i.type;if(r=i.size?t.def(i.size,"||",n):n,t("if(",l,".type!==",a,"||",l,".size!==",r,"||",f.map(function(e){return l+"."+e+"!=="+i[e]}).join("||"),"){",o,".bindBuffer(",34962,",",u,".buffer);",o,".vertexAttribPointer(",[s,r,a,i.normalized,i.stride,i.offset],");",l,".type=",a,";",l,".size=",r,";",f.map(function(e){return l+"."+e+"="+i[e]+";"}).join(""),"}"),F){var c=i.divisor;t("if(",l,".divisor!==",c,"){",e.instancing,".vertexAttribDivisorANGLE(",[s,c],");",l,".divisor=",c,";}")}}function d(){t("if(",l,".buffer){",o,".disableVertexAttribArray(",s,");",l,".buffer=null;","}if(",eu.map(function(e,t){return l+"."+e+"!=="+h[t]}).join("||"),"){",o,".vertexAttrib4f(",s,",",h,");",eu.map(function(e,t){return l+"."+e+"="+h[t]+";"}).join(""),"}")}1===c?p():2===c?d():(t("if(",c,"===",1,"){"),p(),t("}else{"),d(),t("}"))}(e.link(n),function(e){switch(e){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function eY(e,t,n,i,a,o){for(var s=e.shared,l=s.gl,u=0;u1){for(var M=[],S=[],E=0;E>1)",u],");")}function t(){r(h,".drawArraysInstancedANGLE(",[v,x,_,u],");")}g&&"null"!==g?w?e():(r("if(",g,"){"),e(),r("}else{"),t(),r("}")):t()}function k(){function e(){r(p+".drawElements("+[v,_,b,x+"<<(("+b+"-5121)>>1)"]+");")}function t(){r(p+".drawArrays("+[v,x,_]+");")}g&&"null"!==g?w?e():(r("if(",g,"){"),e(),r("}else{"),t(),r("}")):t()}F&&("number"!=typeof u||u>=0)?"string"==typeof u?(r("if(",u,">0){"),T(),r("}else if(",u,"<0){"),k(),r("}")):T():k()}function ti(e,t,r,n,i){var a=K(),o=a.proc("body",i);return F&&(a.instancing=o.def(a.shared.extensions,".angle_instanced_arrays")),e(a,o,r,n),a.compile().body}function ta(e,t,r,n){en(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,".setVAO(",r.drawVAO.append(e,t),");"):t(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(t(e.shared.vao,".setVAO(null);"),eW(e,t,r,n.attributes,function(){return!0})),eY(e,t,r,n.uniforms,function(){return!0},!1),eQ(e,t,t,r)}function to(e,t,r,n){function i(){return!0}e.batchId="a1",en(e,t),eW(e,t,r,n.attributes,i),eY(e,t,r,n.uniforms,i,!1),eQ(e,t,t,r)}function ts(e,t,r,n){en(e,t);var i=r.contextDep,a=t.def(),o=t.def();e.shared.props=o,e.batchId=a;var s=e.scope(),l=e.scope();function c(e){return e.contextDep&&i||e.propDep}function u(e){return!c(e)}if(t(s.entry,"for(",a,"=0;",a,"<","a1",";++",a,"){",o,"=","a0","[",a,"];",l,"}",s.exit),r.needsContext&&Q(e,l,r.context),r.needsFramebuffer&&ee(e,l,r.framebuffer),er(e,l,r.state,c),r.profile&&c(r.profile)&&ei(e,l,r,!1,!0),n)r.useVAO?r.drawVAO?c(r.drawVAO)?l(e.shared.vao,".setVAO(",r.drawVAO.append(e,l),");"):s(e.shared.vao,".setVAO(",r.drawVAO.append(e,s),");"):s(e.shared.vao,".setVAO(",e.shared.vao,".targetVAO);"):(s(e.shared.vao,".setVAO(null);"),eW(e,s,r,n.attributes,u),eW(e,l,r,n.attributes,c)),eY(e,s,r,n.uniforms,u,!1),eY(e,l,r,n.uniforms,c,!0),eQ(e,s,l,r);else{var h=e.global.def("{}"),f=r.shader.progVar.append(e,l),p=l.def(f,".id"),d=l.def(h,"[",p,"]");l(e.shared.gl,".useProgram(",f,".program);","if(!",d,"){",d,"=",h,"[",p,"]=",e.link(function(t){return ti(to,e,r,t,2)}),"(",f,");}",d,".call(this,a0[",a,"],",a,");")}}function tl(e,t,r){var n=t.static[r];if(n&&function(e){if(!("object"!=typeof e||P(e))){for(var t=Object.keys(e),r=0;r0)return null;var n=t.static,i=Object.keys(n);if(i.length>0&&"number"==typeof n[i[0]]){for(var a=[],o=0;o0,j={framebuffer:S,draw:L,shader:z,state:I,dirty:F,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(j.profile=function(e){var t,r=e.static,n=e.dynamic;if(ej in r){var i=!!r[ej];(t=tt(function(e,t){return i})).enable=i}else if(ej in n){var a=n[ej];t=tr(a,function(e,t){return e.invoke(t,a)})}return t}(e,l),j.uniforms=(g=i.static,y=i.dynamic,v={},Object.keys(g).forEach(function(e){var t,r=g[e];if("number"==typeof r||"boolean"==typeof r)t=tt(function(){return r});else if("function"==typeof r){var n=r._reglType;"texture2d"===n||"textureCube"===n?t=tt(function(e){return e.link(r)}):("framebuffer"===n||"framebufferCube"===n)&&(t=tt(function(e){return e.link(r.color[0])}))}else P(r)&&(t=tt(function(e){return e.global.def("[",c(r.length,function(e){return r[e]}),"]")}));t.value=r,v[e]=t}),Object.keys(y).forEach(function(e){var t=y[e];v[e]=tr(t,function(e,r){return e.invoke(r,t)})}),v),j.drawVAO=j.scopeVAO=L.vao,!j.drawVAO&&z.program&&!M&&n.angle_instanced_arrays&&L.static.elements){var B=!0,N=z.program.attributes.map(function(e){var r=t.static[e];return B=B&&!!r,r});if(B&&N.length>0){var U=f.getVAO(f.createVAO({attributes:N,elements:L.static.elements}));j.drawVAO=new e9(null,null,null,function(e,t){return e.link(U)}),j.useVAO=!0}}return M?j.useVAO=!0:j.attributes=(x=t.static,b=t.dynamic,w={},Object.keys(x).forEach(function(e){var t=x[e],n=r.id(e),i=new D;if(e8(t))i.state=1,i.buffer=o.getBuffer(o.create(t,34962,!1,!0)),i.type=0;else{var a=o.getBuffer(t);if(a)i.state=1,i.buffer=a,i.type=0;else if("constant"in t){var s=t.constant;i.buffer="null",i.state=2,"number"==typeof s?i.x=s:eu.forEach(function(e,t){t"+t+"?"+n+".constant["+t+"]:0;"}).join(""),"}}else{","if(",o,"(",n,".buffer)){",u,"=",s,".createStream(",34962,",",n,".buffer);","}else{",u,"=",s,".getBuffer(",n,".buffer);","}",h,'="type" in ',n,"?",a.glTypes,"[",n,".type]:",u,".dtype;",l.normalized,"=!!",n,".normalized;"),f("size"),f("offset"),f("stride"),f("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),w),j.context=(T=a.static,k=a.dynamic,A={},Object.keys(T).forEach(function(e){var t=T[e];A[e]=tt(function(e,r){return"number"==typeof t||"boolean"==typeof t?""+t:e.link(t)})}),Object.keys(k).forEach(function(e){var t=k[e];A[e]=tr(t,function(e,r){return e.invoke(r,t)})}),A),j}(t,i,a,l,d);return m.shader.program&&(m.shader.program.attributes.sort(function(e,t){return e.name0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),function(e,t){var n=e.proc("scope",3);e.batchId="a2";var i=e.shared,a=i.current;if(Q(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),e7(Object.keys(t.state)).forEach(function(r){var a=t.state[r],o=a.append(e,n);P(o)?o.forEach(function(t,i){Y(t)?n.set(e.next[r],"["+i+"]",t):n.set(e.next[r],"["+i+"]",e.link(t,{stable:!0}))}):te(a)?n.set(i.next,"."+r,e.link(o,{stable:!0})):n.set(i.next,"."+r,o)}),ei(e,n,t,!0,!0),[eV,eG,eH,eZ,eq].forEach(function(r){var a=t.draw[r];if(a){var o=a.append(e,n);Y(o)?n.set(i.draw,"."+r,o):n.set(i.draw,"."+r,e.link(o),{stable:!0})}}),Object.keys(t.uniforms).forEach(function(a){var o=t.uniforms[a].append(e,n);Array.isArray(o)&&(o="["+o.map(function(t){return Y(t)?t:e.link(t,{stable:!0})})+"]"),n.set(i.uniforms,"["+e.link(r.id(a),{stable:!0})+"]",o)}),Object.keys(t.attributes).forEach(function(r){var i=t.attributes[r].append(e,n),a=e.scopeAttrib(r);Object.keys(new D).forEach(function(e){n.set(a,"."+e,i[e])})}),t.scopeVAO){var o=t.scopeVAO.append(e,n);Y(o)?n.set(i.vao,".targetVAO",o):n.set(i.vao,".targetVAO",e.link(o,{stable:!0}))}function s(r){var a=t.shader[r];if(a){var o=a.append(e,n);Y(o)?n.set(i.shader,"."+r,o):n.set(i.shader,"."+r,e.link(o,{stable:!0}))}}s(eN),s(eU),Object.keys(t.state).length>0&&(n(a,".dirty=true;"),n.exit(a,".dirty=true;")),n("a1(",e.shared.context,",a0,",e.batchId,");")}(d,m),function(e,t){var r=e.proc("batch",2);e.batchId="0",en(e,r);var n=!1,i=!0;Object.keys(t.context).forEach(function(e){n=n||t.context[e].propDep}),n||(Q(e,r,t.context),i=!1);var a=t.framebuffer,o=!1;function s(e){return e.contextDep&&n||e.propDep}a?(a.propDep?n=o=!0:a.contextDep&&n&&(o=!0),o||ee(e,r,a)):ee(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),et(e,r,t),er(e,r,t.state,function(e){return!s(e)}),t.profile&&s(t.profile)||ei(e,r,t,!1,"a1"),t.contextDep=n,t.needsContext=i,t.needsFramebuffer=o;var l=t.shader.progVar;if(l.contextDep&&n||l.propDep)ts(e,r,t,null);else{var c=l.append(e,r);if(r(e.shared.gl,".useProgram(",c,".program);"),t.shader.program)ts(e,r,t,t.shader.program);else{r(e.shared.vao,".setVAO(null);");var u=e.global.def("{}"),h=r.def(c,".id"),f=r.def(u,"[",h,"]");r(e.cond(f).then(f,".call(this,a0,a1);").else(f,"=",u,"[",h,"]=",e.link(function(r){return ti(ts,e,t,r,2)}),"(",c,");",f,".call(this,a0,a1);"))}}Object.keys(t.state).length>0&&r(e.shared.current,".dirty=true;"),e.shared.vao&&r(e.shared.vao,".setVAO(null);")}(d,m),e(d.compile(),{destroy:function(){m.shader.program.destroy()}})}}}(h,C,q,tl,tc,tu,0,tm,{},th,tf,eQ,eY,H,R,u),ty=function(e,t,r,n,i,a,o){function s(i){a=null===t.next?5121:t.next.colorAttachments[0].texture._texture.type;var a,o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;d(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r();var h=l*c*4;return u||(5121===a?u=new Uint8Array(h):5126===a&&(u=u||new Float32Array(h))),e.pixelStorei(3333,4),e.readPixels(o,s,l,c,6408,a,u),u}return function(e){var r;return e&&"framebuffer"in e?(t.setFBO({framebuffer:e.framebuffer},function(){r=s(e)}),r):s(e)}}(h,tm,tg.procs.poll,eY,0,0,0),tv=tg.next,tx=h.canvas,t_=[],tb=[],tw=[],tT=[u.onDestroy],tk=null;function tA(){if(0===t_.length){H&&H.update(),tk=null;return}tk=a.next(tA),tD();for(var e=t_.length-1;e>=0;--e){var t=t_[e];t&&t(eY,null,0)}h.flush(),H&&H.update()}function tM(){!tk&&t_.length>0&&(tk=a.next(tA))}function tS(){tk&&(a.cancel(tA),tk=null)}function tE(e){e.preventDefault(),tS(),tb.forEach(function(e){e()})}function tC(e){h.getError(),x.restore(),tf.restore(),tc.restore(),tp.restore(),td.restore(),tm.restore(),th.restore(),H&&H.restore(),tg.procs.refresh(),tM(),tw.forEach(function(e){e()})}function tL(t){function r(e,t){var r={},n={};return Object.keys(e).forEach(function(a){var o=e[a];if(i.isDynamic(o)){n[a]=i.unbox(o,a);return}if(t&&Array.isArray(o)){for(var s=0;s0)return h.call(this,function(e){for(;p.length=0},read:ty,destroy:function(){t_.length=0,tS(),tx&&(tx.removeEventListener(ta,tE),tx.removeEventListener(to,tC)),tf.clear(),tm.clear(),td.clear(),th.clear(),tp.clear(),tu.clear(),tc.clear(),H&&H.clear(),tT.forEach(function(e){e()})},_gl:h,_refresh:tR,poll:function(){tD(),H&&H.update()},now:tF,stats:L,getCachedCode:function(){return R},preloadCachedCode:function(e){Object.entries(e).forEach(function(e){R[e[0]]=e[1]})}});return u.onDone(null,tj),tj}},"object"==typeof e&&void 0!==t?t.exports=r():e.createREGL=r()}}),gR=ed({"src/lib/prepare_regl.js"(e,t){var r=f4(),n=gD();t.exports=function(e,t,i){var a=e._fullLayout,o=!0;return a._glcanvas.each(function(r){if(r.regl){r.regl.preloadCachedCode(i);return}if(!r.pick||a._has("parcoords")){try{r.regl=n({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},pixelRatio:e._context.plotGlPixelRatio||window.devicePixelRatio,extensions:t||[],cachedCode:i||{}})}catch(e){o=!1}r.regl||(o=!1),o&&this.addEventListener("webglcontextlost",function(t){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:t,layer:r.key})},!1)}}),o||r({container:a._glcontainer.node()}),o}}}),gF=ed({"src/traces/scattergl/plot.js"(e,t){var r=d4(),n=gs(),i=gc(),a=gO(),o=tQ(),s=no().selectMode,l=gR(),c=rC(),u=iE(),h=d$().styleTextSelection,f={},e=t.exports=function(e,t,p){if(p.length){var d,m,g=e._fullLayout,y=t._scene,v=t.xaxis,x=t.yaxis;if(y){if(!l(e,["ANGLE_instanced_arrays","OES_element_index_uint"],f)){y.init();return}var _,b,w,T,k,A,M,S,E,C,L=y.count,I=g._glcanvas.data()[0].regl;if(u(e,t,p),y.dirty){if((y.line2d||y.error2d)&&!(y.scatter2d||y.fill2d||y.glText)&&I.clear({color:!0,depth:!0}),!0===y.error2d&&(y.error2d=i(I)),!0===y.line2d&&(y.line2d=n(I)),!0===y.scatter2d&&(y.scatter2d=r(I)),!0===y.fill2d&&(y.fill2d=n(I)),!0===y.glText)for(d=0,y.glText=Array(L);dy.glText.length){var P=L-y.glText.length;for(d=0;dr&&(isNaN(t[n])||isNaN(t[n+1]));)n-=2;e.positions=t.slice(r,n+2)}return e}),y.line2d.update(y.lineOptions)),y.error2d){var O=(y.errorXOptions||[]).concat(y.errorYOptions||[]);y.error2d.update(O)}y.scatter2d&&y.scatter2d.update(y.markerOptions),y.fillOrder=o.repeat(null,L),y.fill2d&&(y.fillOptions=y.fillOptions.map(function(e,t){var r,n,i,a,o=p[t];if(e&&o&&o[0]&&o[0].trace){var s=o[0],l=s.trace,c=s.t,u=y.lineOptions[t],h=[];l._ownfill&&h.push(t),l._nexttrace&&h.push(t+1),h.length&&(y.fillOrder[t]=h);var f=[],d=u&&u.positions||c.positions;if("tozeroy"===l.fill){for(i=0;ii&&isNaN(d[a+1]);)a-=2;0!==d[i+1]&&(f=[d[i],0]),f=f.concat(d.slice(i,a+2)),0!==d[a+1]&&(f=f.concat([d[a],0]))}else if("tozerox"===l.fill){for(i=0;ii&&isNaN(d[a]);)a-=2;0!==d[i]&&(f=[0,d[i+1]]),f=f.concat(d.slice(i,a+2)),0!==d[a]&&(f=f.concat([0,d[a+1]]))}else if("toself"===l.fill||"tonext"===l.fill){for(n=0,f=[],r=0,e.splitNull=!0;n-1;for(let[e]of p)if(e){var F=e.trace,j=e.t,B=j.index,N=F._length,U=j.x,V=j.y;if(F.selectedpoints||D||R){if(D||(D=!0),F.selectedpoints){var q=y.selectBatch[B]=o.selIndices2selPoints(F),H={};for(m=0;ma&&l?r._splomSubplots[S]=1:ih?_.sizeAvg||Math.max(_.size,3):i(t,x),p=0;p2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function h(e){if("number"==typeof e)return[e,e,e,e];{if(2===e.length)return[e[0],e[1],e[0],e[1]];let t=s(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}t.exports=c,c.prototype.render=function(...e){return(e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer)?this.draw():(this.dirty?null==this.planned&&(this.planned=a(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,a(()=>{this.dirty=!1})),this)},c.prototype.update=function(...e){if(!e.length)return;for(let t=0;tt||!c.lower&&e{t[a+r]=n})}this.scatter.draw(...t)}else this.scatter.draw();return this},c.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this}}}),gX=ed({"src/traces/splom/plot.js"(e,t){var r=gY(),n=tQ(),i=re(),a=no().selectMode;t.exports=function(e,t,o){if(o.length)for(var s=0;s-1,I=a(x)||!!p.selectedpoints||L,P=!0;if(I){var z=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var O=p.selectedpoints,D={};for(l=0;l=t[r][0]&&e<=t[r][1])return!0;return!1}(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var u=t[a],h=u,f=a;i*ft){p=n;break}}if(isNaN(o=h)&&(o=isNaN(f)||isNaN(p)?isNaN(f)?p:f:t-u[f][1]e[1]+n)&&!(t=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}(g,t);y&&(s.interval=c[o],s.intervalPix=g,s.region=y)}}if(e.ordinal&&!s.region){var v=e.unitTickvals,x=e.unitToPaddedPx.invert(t);for(n=0;n=_[0]&&x<=_[1]){s.clickableOrdinalRange=_;break}}}return s}function x(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[i-a.grabPoint,i+a.barLength-a.grabPoint].map(t.unitToPaddedPx.invert):a.newExtent=[a.startExtent,t.unitToPaddedPx.invert(i)].sort(o),t.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(t),y(e.parentNode)}function _(e,t){var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=v(t,i),o="crosshair";a.clickableOrdinalRange?o="pointer":a.region&&(o=a.region+"-resize"),n.select(document.body).style("cursor",o)}function b(e){e.on("mousemove",function(e){n.event.preventDefault(),e.parent.inBrushDrag||_(this,e)}).on("mouseleave",function(e){e.parent.inBrushDrag||m()}).call(n.behavior.drag().on("dragstart",function(e){!function(e,t){n.event.sourceEvent.stopPropagation();var i=t.height-n.mouse(e)[1]-2*r.verticalPadding,a=t.unitToPaddedPx.invert(i),o=t.brush,s=v(t,i),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(t.unitToPaddedPx);c.grabPoint=i-u[0]-r.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=t.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter(function(e){return e[0]!==l[0]&&e[1]!==l[1]})),c.startExtent=s.region?l["s"===s.region?1:0]:a,t.parent.inBrushDrag=!0,c.brushStartCallback()}(this,e)}).on("drag",function(e){x(this,e)}).on("dragend",function(e){!function(e,t){var r=t.brush,i=r.filter,a=r.svgBrush;a._dragging||(_(e,t),x(e,t),t.brush.svgBrush.wasDragged=!1),a._dragging=!1,n.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,t.parent.inBrushDrag=!1,m(),!a.wasDragged){a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&t.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&T(r)):T(r),a.brushCallback(t),y(e.parentNode),a.brushEndCallback(r.filterSpecified?i.getConsolidated():[]);return}var s=function(){i.set(i.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||T(r),a.brushCallback(t),c?y(e.parentNode,s):(s(),y(e.parentNode))}else s();a.brushEndCallback(r.filterSpecified?i.getConsolidated():[])}(this,e)}))}function w(e,t){return e[0]-t[0]}function T(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function k(e){for(var t,r=e.slice(),n=[],i=r.shift();i;){for(t=i.slice();(i=r.shift())&&i[0]<=t[1];)t[1]=Math.max(t[1],i[1]);n.push(t)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(e,t,r,n,i,a){var s,l,c,u=(c=[],{set:function(e){1===(c=e.map(function(e){return e.slice().sort(o)}).sort(w)).length&&c[0][0]===-1/0&&c[0][1]===1/0&&(c=[[0,-1]]),s=k(c),l=c.reduce(function(e,t){return[Math.min(e[0],t[0]),Math.max(e[1],t[1])]},[1/0,-1/0])},get:function(){return c.slice()},getConsolidated:function(){return s},getBounds:function(){return l}});return u.set(r),{filter:u,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:function(e){var t=e.brush,r=t.svgBrush.extent.map(function(e){return e.slice()}).slice();t.filter.set(r),i()},brushEndCallback:a}}},ensureAxisBrush:function(e,t,n){var o,l,c,u,p=e.selectAll("."+r.cn.axisBrush).data(a,i);p.enter().append("g").classed(r.cn.axisBrush,!0),o=n._context.staticPlot,(l=p.selectAll(".background").data(a)).enter().append("rect").classed("background",!0).call(h).call(f).style("pointer-events",o?"none":"auto").attr("transform",s(0,r.verticalPadding)),l.call(b).attr("height",function(e){return e.height-r.verticalPadding}),(c=p.selectAll(".highlight-shadow").data(a)).enter().append("line").classed("highlight-shadow",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width+r.bar.strokeWidth).attr("stroke",t).attr("opacity",r.bar.strokeOpacity).attr("stroke-linecap","butt"),c.attr("y1",function(e){return e.height}).call(g),(u=p.selectAll(".highlight").data(a)).enter().append("line").classed("highlight",!0).attr("x",-r.bar.width/2).attr("stroke-width",r.bar.width-r.bar.strokeWidth).attr("stroke",r.bar.fillColor).attr("opacity",r.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",function(e){return e.height}).call(g)},cleanRanges:function(e,t){if(Array.isArray(e[0])?(e=e.map(function(e){return e.sort(o)}),e=t.multiselect?k(e.sort(w)):[e[0]]):e=[e.sort(o)],t.tickvals){var r=t.tickvals.slice().sort(o);if(!(e=e.map(function(e){var t=[u(0,r,e[0],[]),u(1,r,e[1],[])];if(t[1]>t[0])return t}).filter(function(e){return e})).length)return}return e.length>1?e:e[0]}}}}),g7=ed({"src/traces/parcoords/defaults.js"(e,t){var r=tQ(),n=rc().hasColorscale,i=rk(),a=aI().defaults,o=r_(),s=rB(),l=g5(),c=g8(),u=g4().maxDimensionCount,h=gU();function f(e,t,n,i){function a(n,i){return r.coerce(e,t,l.dimensions,n,i)}var o=a("values"),u=a("visible");if(o&&o.length||(u=t.visible=!1),u){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var h=a("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:h},s.setConvert(t._ax,i.layout),a("multiselect");var f=a("constraintrange");f&&(t.constraintrange=c.cleanRanges(f,t))}}t.exports=function(e,t,s,c){function p(n,i){return r.coerce(e,t,l,n,i)}var d=e.dimensions;Array.isArray(d)&&d.length>u&&(r.log("parcoords traces support up to "+u+" dimensions at the moment"),d.splice(u));var m=o(e,t,{name:"dimensions",layout:c,handleItemDefaults:f}),g=function(e,t,a,o,s){var l=s("line.color",a);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,s,c,p);a(t,c,p),Array.isArray(m)&&m.length||(t.visible=!1),h(t,m,"values",g);var y=r.extendFlat({},c.font,{size:Math.round(c.font.size/1.2)});r.coerceFont(p,"labelfont",y),r.coerceFont(p,"tickfont",y,{autoShadowDflt:!0}),r.coerceFont(p,"rangefont",y),p("labelangle"),p("labelside"),p("unselected.line.color"),p("unselected.line.opacity")}}}),g9=ed({"src/traces/parcoords/calc.js"(e,t){var r=tQ().isArrayOrTypedArray,n=rE(),i=g6().wrap;t.exports=function(e,t){var a,o;return n.hasColorscale(t,"line")&&r(t.line.color)?(a=t.line.color,o=n.extractOpts(t.line).colorscale,n.calc(e,t,{vals:a,containerStr:"line",cLetter:"c"})):(a=function(e){for(var t=Array(e),r=0;r>>16,(65280&e)>>>8,255&e],alpha:1};if(e=String(e).toLowerCase(),Y.default[e])a=Y.default[e].slice(),i="rgb";else if("transparent"===e)o=0,i="rgb",a=[0,0,0];else if("#"===e[0]){var s=e.slice(1),l=s.length;o=1,l<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===l&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===l&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),i="rgb"}else if(n=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var c="cmyk"===(i=n[1].replace(/a$/,""))?4:"gray"===i?1:3;a=n[2].trim().split(/\s*[,\/]\s*|\s+/),"color"===i&&(i=a.shift()),o=(a=a.map(function(e,t){if("%"===e[e.length-1])return(e=parseFloat(e)/100,3===t)?e:"rgb"===i?255*e:"h"!==i[0]&&("l"!==i[0]||t)?"lab"===i?125*e:"lch"===i?t<2?150*e:360*e:"o"!==i[0]||t?"oklab"===i?.4*e:"oklch"===i?t<2?.4*e:360*e:e:e:100*e;if("h"===i[t]||2===t&&"h"===i[i.length-1]){if(void 0!==$[e])return $[e];if(e.endsWith("deg"))return parseFloat(e);if(e.endsWith("turn"))return 360*parseFloat(e);if(e.endsWith("grad"))return 360*parseFloat(e)/400;if(e.endsWith("rad"))return 180*parseFloat(e)/Math.PI}return"none"===e?0:parseFloat(e)})).length>c?a.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(a=e.match(/([0-9]+)/g).map(function(e){return parseFloat(e)}),i=(null==(r=null==(t=e.match(/([a-z])/ig))?void 0:t.join(""))?void 0:r.toLowerCase())||"rgb");return{space:i,values:a,alpha:o}}var yt=ep({"node_modules/color-parse/index.js"(){Y=ey(fV(),1),X=ye,$={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}}),yr=ep({"node_modules/color-space/rgb.js"(){J={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}}}),yn=ep({"node_modules/color-space/hsl.js"(){yr(),K={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t,r,n,i,a,o=e[0]/360,s=e[1]/100,l=e[2]/100,c=0;if(0===s)return[a=255*l,a,a];for(r=l<.5?l*(1+s):l+s-l*s,t=2*l-r,i=[0,0,0];c<3;)(n=o+-(1/3*(c-1)))<0?n++:n>1&&n--,a=6*n<1?t+(r-t)*6*n:2*n<1?r:3*n<2?t+(r-t)*(2/3-n)*6:t,i[c++]=255*a;return i}},J.hsl=function(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?t=0:n===s?t=(i-a)/l:i===s?t=2+(a-n)/l:a===s&&(t=4+(n-i)/l),(t=Math.min(60*t,360))<0&&(t+=360),r=(o+s)/2,[t,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}}}),yi={};function ya(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r=X(e);if(!r.space)return[];let n="h"===r.space[0]?K.min:J.min,i="h"===r.space[0]?K.max:J.max;return(t=[,,,])[0]=Math.min(Math.max(r.values[0],n[0]),i[0]),t[1]=Math.min(Math.max(r.values[1],n[1]),i[1]),t[2]=Math.min(Math.max(r.values[2],n[2]),i[2]),"h"===r.space[0]&&(t=K.rgb(t)),t.push(Math.min(Math.max(r.alpha,0),1)),t}em(yi,{default:()=>ya});var yo=ep({"node_modules/color-rgba/index.js"(){yt(),yr(),yn()}}),ys=ed({"src/traces/parcoords/helpers.js"(e){var t=tQ().isTypedArray;e.convertTypedArray=function(e){return t(e)?Array.prototype.slice.call(e):e},e.isOrdinal=function(e){return!!e.tickvals},e.isVisible=function(e){return e.visible||!("visible"in e)}}}),yl=ed({"src/traces/parcoords/lines.js"(e,t){var r=g4().maxDimensionCount,n=tQ(),i=new Uint8Array(4),a=new Uint8Array(4),o={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function s(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function l(e,t){return(e>>>8*t)%256/255}function c(e){return("0"+e).slice(-2)}function u(e){return e 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(maskTexture,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}",frag:"precision highp float;\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}",primitive:"lines",lineWidth:_,attributes:w,uniforms:{resolution:y.prop("resolution"),viewBoxPos:y.prop("viewBoxPos"),viewBoxSize:y.prop("viewBoxSize"),dim0A:y.prop("dim0A"),dim1A:y.prop("dim1A"),dim0B:y.prop("dim0B"),dim1B:y.prop("dim1B"),dim0C:y.prop("dim0C"),dim1C:y.prop("dim1C"),dim0D:y.prop("dim0D"),dim1D:y.prop("dim1D"),loA:y.prop("loA"),hiA:y.prop("hiA"),loB:y.prop("loB"),hiB:y.prop("hiB"),loC:y.prop("loC"),hiC:y.prop("hiC"),loD:y.prop("loD"),hiD:y.prop("hiD"),palette:T,contextColor:y.prop("contextColor"),maskTexture:y.prop("maskTexture"),drwLayer:y.prop("drwLayer"),maskHeight:y.prop("maskHeight")},offset:y.prop("offset"),count:y.prop("count")});function M(e){c=e.model,p=(f=e.viewModel.dimensions.slice())[0]?f[0].values.length:0;var t=c.lines,i=g?t.color.map(function(e,r){return r/t.color.length}):t.color,a=function(e,t,n){for(var i=Array(e*(r+4)),a=0,o=0;ox&&(x=e[a].dim1.canvasX,l=a);0===u&&s(y,0,0,c.canvasWidth,c.canvasHeight);var _=function(e){var t,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!e&&ns._length&&(D=D.slice(0,s._length));var R=s.tickvals;function F(e,t){return{val:e,text:E[t]}}function j(e,t){return e.val-t.val}if(i(R)&&R.length){n.isTypedArray(R)&&(R=Array.from(R)),i(E=s.ticktext)&&E.length?E.length>R.length?E=E.slice(0,R.length):R.length>E.length&&(R=R.slice(0,E.length)):E=R.map(a(s.tickformat));for(var B=1;B=n)&&!(l>=i)){var c=e.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:t.clientX,clientY:t.clientY,dataIndex:e.model.key,curveNumber:h};h!==B&&(u?a.hover(f):a.unhover&&a.unhover(f),B=h)}}}),j.style("opacity",function(e){return e.pick?0:1}),T.style("background","rgba(255, 255, 255, 0)");var N=T.selectAll("."+v.cn.parcoords).data(F,d);N.exit().remove(),N.enter().append("g").classed(v.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),N.attr("transform",function(e){return c(e.model.translateX,e.model.translateY)});var U=N.selectAll("."+v.cn.parcoordsControlView).data(m,d);U.enter().append("g").classed(v.cn.parcoordsControlView,!0),U.attr("transform",function(e){return c(e.model.pad.l,e.model.pad.t)});var V=U.selectAll("."+v.cn.yAxis).data(function(e){return e.dimensions},d);V.enter().append("g").classed(v.cn.yAxis,!0),U.each(function(e){L(V,e,O)}),j.each(function(e){if(e.viewModel){!e.lineLayer||a?e.lineLayer=_(this,e):e.lineLayer.update(e),(e.key||0===e.key)&&(e.viewModel[e.key]=e.lineLayer);var t=!e.context||a;e.lineLayer.render(e.viewModel.panels,t)}}),V.attr("transform",function(e){return c(e.xScale(e.xIndex),0)}),V.call(r.behavior.drag().origin(function(e){return e}).on("drag",function(e){var t=e.parent;R.linePickActive(!1),e.x=Math.max(-v.overdrag,Math.min(e.model.width+v.overdrag,r.event.x)),e.canvasX=e.x*e.model.canvasPixelRatio,V.sort(function(e,t){return e.x-t.x}).each(function(t,r){t.xIndex=r,t.x=e===t?t.x:t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio}),L(V,t,O),V.filter(function(t){return 0!==Math.abs(e.xIndex-t.xIndex)}).attr("transform",function(e){return c(e.xScale(e.xIndex),0)}),r.select(this).attr("transform",c(e.x,0)),V.each(function(r,n,i){i===e.parent.key&&(t.dimensions[n]=r)}),t.contextLayer&&t.contextLayer.render(t.panels,!1,!A(t)),t.focusLayer.render&&t.focusLayer.render(t.panels)}).on("dragend",function(e){var t=e.parent;e.x=e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio,L(V,t,O),r.select(this).attr("transform",function(e){return c(e.x,0)}),t.contextLayer&&t.contextLayer.render(t.panels,!1,!A(t)),t.focusLayer&&t.focusLayer.render(t.panels),t.pickLayer&&t.pickLayer.render(t.panels,!0),R.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(t.key,t.dimensions.map(function(e){return e.crossfilterDimensionIndex}))})),V.exit().remove();var q=V.selectAll("."+v.cn.axisOverlays).data(m,d);q.enter().append("g").classed(v.cn.axisOverlays,!0),q.selectAll("."+v.cn.axis).remove();var H=q.selectAll("."+v.cn.axis).data(m,d);H.enter().append("g").classed(v.cn.axis,!0),H.each(function(e){var t=e.model.height/e.model.tickDistance,n=e.domainScale,i=n.domain();r.select(this).call(r.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(t,e.tickFormat).tickValues(e.ordinal?i:null).tickFormat(function(t){return y.isOrdinal(e)?t:I(e.model.dimensions[e.visibleIndex],t)}).scale(n)),h.font(H.selectAll("text"),e.model.tickFont)}),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("cursor","default");var G=q.selectAll("."+v.cn.axisHeading).data(m,d);G.enter().append("g").classed(v.cn.axisHeading,!0);var Z=G.selectAll("."+v.cn.axisTitle).data(m,d);Z.enter().append("text").classed(v.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",p?"none":"auto"),Z.text(function(e){return e.label}).each(function(t){var n=r.select(this);h.font(n,t.model.labelFont),u.convertToTspans(n,e)}).attr("transform",function(e){var t=C(e.model.labelAngle,e.model.labelSide),r=v.axisTitleOffset;return(t.dir>0?"":c(0,2*r+e.model.height))+l(t.degrees)+c(-r*t.dx,-r*t.dy)}).attr("text-anchor",function(e){var t=C(e.model.labelAngle,e.model.labelSide);return 2*Math.abs(t.dx)>Math.abs(t.dy)?t.dir*t.dx<0?"start":"end":"middle"});var W=q.selectAll("."+v.cn.axisExtent).data(m,d);W.enter().append("g").classed(v.cn.axisExtent,!0);var Y=W.selectAll("."+v.cn.axisExtentTop).data(m,d);Y.enter().append("g").classed(v.cn.axisExtentTop,!0),Y.attr("transform",c(0,-v.axisExtentOffset));var X=Y.selectAll("."+v.cn.axisExtentTopText).data(m,d);X.enter().append("text").classed(v.cn.axisExtentTopText,!0).call(E),X.text(function(e){return P(e,!0)}).each(function(e){h.font(r.select(this),e.model.rangeFont)});var $=W.selectAll("."+v.cn.axisExtentBottom).data(m,d);$.enter().append("g").classed(v.cn.axisExtentBottom,!0),$.attr("transform",function(e){return c(0,e.model.height+v.axisExtentOffset)});var J=$.selectAll("."+v.cn.axisExtentBottomText).data(m,d);J.enter().append("text").classed(v.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(E),J.text(function(e){return P(e,!1)}).each(function(e){h.font(r.select(this),e.model.rangeFont)}),x.ensureAxisBrush(q,D,e)}}}),yu=ed({"src/traces/parcoords/plot.js"(e,t){var r=yc(),n=gR(),i=ys().isVisible,a={};function o(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return -1===i&&(i+=t.length),i}var e=t.exports=function(e,t){var s=e._fullLayout;if(n(e,[],a)){var l={},c={},u={},h={},f=s._size;t.forEach(function(t,r){var n=t[0].trace;u[r]=n.index;var i=h[r]=n.index;l[r]=e.data[i].dimensions,c[r]=e.data[i].dimensions.slice()}),r(e,t,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(t,r,n){var i=c[t][r],a=n.map(function(e){return e.slice()}),o="dimensions["+r+"].constraintrange",l=s._tracePreGUI[e._fullData[u[t]]._fullInput.uid];if(void 0===l[o]){var f=i.constraintrange;l[o]=f||null}var p=e._fullData[u[t]].dimensions[r];a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,p.constraintrange=a.slice(),a=[a]):(delete i.constraintrange,delete p.constraintrange,a=null);var d={};d[o]=a,e.emit("plotly_restyle",[d,[h[t]]])},hover:function(t){e.emit("plotly_hover",t)},unhover:function(t){e.emit("plotly_unhover",t)},axesMoved:function(t,r){var n,a=(n=c[t].filter(i),function(e,t){return o(r,n,e)-o(r,n,t)});l[t].sort(a),c[t].filter(function(e){return!i(e)}).sort(function(e){return c[t].indexOf(e)}).forEach(function(e){l[t].splice(l[t].indexOf(e),1),l[t].splice(c[t].indexOf(e),0,e)}),e.emit("plotly_restyle",[{dimensions:[l[t]]},[h[t]]])}})}};e.reglPrecompiled=a}}),yh=ed({"src/traces/parcoords/base_plot.js"(e){var t=eb(),r=rn().getModuleCalcData,n=yu(),i=ro();e.name="parcoords",e.plot=function(e){var t=r(e.calcdata,"parcoords")[0];t.length&&n(e,t)},e.clean=function(e,t,r,n){var i=n._has&&n._has("parcoords"),a=t._has&&t._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(e){var r=e._fullLayout._glimages,n=t.select(e).selectAll(".svg-container");n.filter(function(e,t){return t===n.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var e=this.toDataURL("image/png");r.append("svg:image").attr({xmlns:i.svg,"xlink:href":e,preserveAspectRatio:"none",x:0,y:0,width:this.style.width,height:this.style.height})}),window.setTimeout(function(){t.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}}}),yf=ed({"src/traces/parcoords/base_index.js"(e,t){t.exports={attributes:g5(),supplyDefaults:g7(),calc:g9(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:yh(),categories:["gl","regl","noOpacity","noHover"],meta:{}}}}),yp=ed({"src/traces/parcoords/index.js"(e,t){var r=yf();r.plot=yu(),t.exports=r}}),yd=ed({"lib/parcoords.js"(e,t){t.exports=yp()}}),ym=ed({"src/traces/parcats/attributes.js"(e,t){var r=ej().extendFlat,n=eq(),i=eB(),a=rp(),{hovertemplateAttrs:o,templatefallbackAttrs:s}=tS(),l=aI().attributes,c=r({editType:"calc"},a("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability"]}),hovertemplatefallback:s({editType:"plot"})});t.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:r({},n.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:o({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),hovertemplatefallback:s({editType:"plot"}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:i({editType:"calc"}),tickfont:i({autoShadowDflt:!0,editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:c,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}}}),yg=ed({"src/traces/parcats/defaults.js"(e,t){var r=tQ(),n=rc().hasColorscale,i=rk(),a=aI().defaults,o=r_(),s=ym(),l=gU(),c=eL().isTypedArraySpec;function u(e,t){function n(n,i){return r.coerce(e,t,s.dimensions,n,i)}var i=n("values"),a=n("visible");if(i&&i.length||(a=t.visible=!1),a){n("label"),n("displayindex",t._index);var o,l=e.categoryarray,u=r.isArrayOrTypedArray(l)&&l.length>0||c(l);u&&(o="array");var h=n("categoryorder",o);"array"===h?(n("categoryarray"),n("ticktext")):(delete e.categoryarray,delete e.ticktext),u||"array"!==h||(t.categoryorder="trace")}}t.exports=function(e,t,c,h){function f(n,i){return r.coerce(e,t,s,n,i)}var p=o(e,t,{name:"dimensions",handleItemDefaults:u}),d=function(e,t,a,o,s){s("line.shape"),s("line.hovertemplate"),s("line.hovertemplatefallback");var l=s("line.color",o.colorway[0]);if(n(e,"line")&&r.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(e,t,o,s,{prefix:"line.",cLetter:"c"}),l.length;t.line.color=a}return 1/0}(e,t,c,h,f);a(t,h,f),Array.isArray(p)&&p.length||(t.visible=!1),l(t,p,"values",d),f("hoveron"),f("hovertemplate"),f("hovertemplatefallback"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var m=h.font;r.coerceFont(f,"labelfont",m,{overrideDflt:{size:Math.round(m.size)}}),r.coerceFont(f,"tickfont",m,{autoShadowDflt:!0,overrideDflt:{size:Math.round(m.size/1.2)}})}}}),yy=ed({"src/traces/parcats/calc.js"(e,t){var r=g6().wrap,n=rc().hasColorscale,i=rS(),a=tX(),o=rO(),s=tQ(),l=eM();t.exports=function(e,t){var c,u,h,f,p,d,m,g,y=s.filterVisible(t.dimensions);if(0===y.length)return[];var v=y.map(function(e){var t;if("trace"===e.categoryorder)t=null;else if("array"===e.categoryorder)t=e.categoryarray;else{t=a(e.values);for(var r=!0,n=0;n=e.length||void 0!==t[e[r]])return!1;t[e[r]]=!0}return!0}(e.map(function(e){return e.displayindex})))for(t=0;tt.model.rawColor?1:e.model.rawColor"),C=r.mouse(h)[0];a.loneHover({trace:f,x:b-d.left+m.left,y:w-d.top+m.top,text:E,color:e.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:C1&&f.displayInd===h.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var m=u.model.count,g=u.model.categoryLabel,y=m/u.parcatsViewModel.model.count,v={countLabel:m,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",v.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+v.categoryLabel+"):",v.probabilityLabel].join(" "));var _=x.join("
");return{trace:p,x:o*(i-t.left),y:s*(d-t.top),text:_,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:v,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:y}]}}function S(e){if(!e.parcatsViewModel.dragDimension&&-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!(r.mouse(this)[1]<-1)){var t,n,i,s,l=e.parcatsViewModel.graphDiv,u=l._fullLayout,h=u._paperdiv.node().getBoundingClientRect(),f=e.parcatsViewModel.hoveron;"color"===f?(_(i=T(n=r.select(this).datum())),i.each(function(){o.raiseToTop(this)}),r.select(this.parentNode).selectAll("rect.bandrect").filter(function(e){return e.color===n.color}).each(function(){o.raiseToTop(this),function(e){e.attr("stroke","black").attr("stroke-width",1.5)}(r.select(this))}),A(this,"plotly_hover",r.event)):(r.select(this.parentNode).selectAll("rect.bandrect").each(function(e){var t=T(e);_(t),t.each(function(){o.raiseToTop(this)})}),function(e){e.select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(r.select(this.parentNode)),k(this,"plotly_hover",r.event)),-1===e.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===f?t=M(l,h,this):"color"===f?t=function(e,t,n){e._fullLayout._calcInverseTransform(e);var i,a,o=e._fullLayout._invScaleX,s=e._fullLayout._invScaleY,l=n.getBoundingClientRect(),u=r.select(n).datum(),h=u.categoryViewModel,f=h.parcatsViewModel,p=f.model.dimensions[h.model.dimensionInd],d=f.trace,m=l.y+l.height/2;f.dimensions.length>1&&p.displayInd===f.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=h.model.categoryLabel,y=u.parcatsViewModel.model.count,v=0;u.categoryViewModel.bands.forEach(function(e){e.color===u.color&&(v+=e.count)});var x=h.model.count,_=0;f.pathSelection.each(function(e){e.model.color===u.color&&(_+=e.model.count)});var b=v/y,w=v/_,T=v/x,k={countLabel:v,categoryLabel:g,probabilityLabel:b.toFixed(3)},A=[];-1!==h.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==h.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-t.left),y:s*(m-t.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:b,categorycount:x,colorcount:_,bandcolorcount:v}]}}(l,h,this):"dimension"===f&&(s=[],r.select(this.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){s.push(M(l,h,this))}),t=s),t&&a.loneHover(t,{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:l}))}}function E(e){var t=e.parcatsViewModel;t.dragDimension||(x(t.pathSelection),b(t.dimensionSelection.selectAll("g.category")),w(t.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),a.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(p),-1!==t.hoverinfoItems.indexOf("skip"))||("color"===e.parcatsViewModel.hoveron?A(this,"plotly_unhover",r.event):k(this,"plotly_unhover",r.event))}function C(e){"fixed"!==e.parcatsViewModel.arrangement&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(e){return e.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,r.select(this).selectAll("g.category").select("rect.catrect").each(function(t){var n=r.mouse(this)[0],i=r.mouse(this)[1];-2<=n&&n<=t.width+2&&-2<=i&&i<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(e){return e.displayInd}),t.model.dragY=t.y,o.raiseToTop(this.parentNode),r.select(this.parentNode).selectAll("rect.bandrect").each(function(t){t.yc.y+c.height/2&&(i.model.displayInd=c.model.displayInd,c.model.displayInd=o),e.dragCategoryDisplayInd=i.model.displayInd}if(null===e.dragCategoryDisplayInd||"freeform"===e.parcatsViewModel.arrangement){n.model.dragX=r.event.x;var u=e.parcatsViewModel.dimensions[t-1],h=e.parcatsViewModel.dimensions[t+1];void 0!==u&&n.model.dragXh.x&&(n.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=n.model.displayInd}j(e.parcatsViewModel),F(e.parcatsViewModel),O(e.parcatsViewModel),z(e.parcatsViewModel)}}function I(e){if("fixed"!==e.parcatsViewModel.arrangement&&null!==e.dragDimensionDisplayInd){r.select(this).selectAll("text").attr("font-weight","normal");var t={},n=P(e.parcatsViewModel),a=e.parcatsViewModel.model.dimensions.map(function(e){return e.displayInd}),o=e.initialDragDimensionDisplayInds.some(function(e,t){return e!==a[t]});o&&a.forEach(function(r,n){t["dimensions["+e.parcatsViewModel.model.dimensions[n].containerInd+"].displayindex"]=r});var s=!1;if(null!==e.dragCategoryDisplayInd){var l=e.model.categories.map(function(e){return e.displayInd});if(s=e.initialDragCategoryDisplayInds.some(function(e,t){return e!==l[t]})){var c=e.model.categories.slice().sort(function(e,t){return e.displayInd-t.displayInd}),u=c.map(function(e){return e.categoryValue}),h=c.map(function(e){return e.categoryLabel});t["dimensions["+e.model.containerInd+"].categoryarray"]=[u],t["dimensions["+e.model.containerInd+"].ticktext"]=[h],t["dimensions["+e.model.containerInd+"].categoryorder"]="array"}}-1===e.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!e.dragHasMoved&&e.potentialClickBand&&("color"===e.parcatsViewModel.hoveron?A(e.potentialClickBand,"plotly_click",r.event.sourceEvent):k(e.potentialClickBand,"plotly_click",r.event.sourceEvent)),e.model.dragX=null,null!==e.dragCategoryDisplayInd&&(e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd].model.dragY=null,e.dragCategoryDisplayInd=null),e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,j(e.parcatsViewModel),F(e.parcatsViewModel),r.transition().duration(300).ease("cubic-in-out").each(function(){O(e.parcatsViewModel,!0),z(e.parcatsViewModel,!0)}).each("end",function(){(o||s)&&i.restyle(e.parcatsViewModel.graphDiv,t,[n])})}}function P(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(t[s+1]+i)+" "+l[s]+","+(t[s]+i)+" "+(e[s]+r[s])+","+(t[s]+i)+"l-"+r[s]+",0 ";return u+"Z"}function F(e){var t=e.dimensions,r=e.model,n=t.map(function(e){return e.categories.map(function(e){return e.y})}),i=e.model.dimensions.map(function(e){return e.categories.map(function(e){return e.displayInd})}),a=e.model.dimensions.map(function(e){return e.displayInd}),o=e.dimensions.map(function(e){return e.model.dimensionInd}),s=t.map(function(e){return e.x}),l=t.map(function(e){return e.width}),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(e){var t=e.categoryInds.map(function(e,t){return i[t][e]});return o.map(function(e){return t[e]})}c.sort(function(t,r){var n=h(t),i=h(r);return("backward"===e.sortpaths&&(n.reverse(),i.reverse()),n.push(t.valueInds[0]),i.push(r.valueInds[0]),e.bundlecolors&&(n.unshift(t.rawColor),i.unshift(r.rawColor)),ni?1:0});for(var f=Array(c.length),p=t[0].model.count,d=t[0].categories.map(function(e){return e.height}).reduce(function(e,t){return e+t}),m=0;m0?v.count/p*d:0;for(var x=Array(n.length),_=0;_1?(e.width-80-16)/(l-1):0)*c;var u=[],h=e.model.maxCats,f=t.categories.length,p=t.count,d=e.height-8*(h-1),m=(h-f)*8/2,g=t.categories.map(function(e){return{displayInd:e.displayInd,categoryInd:e.categoryInd}});for(g.sort(function(e,t){return e.displayInd-t.displayInd}),s=0;s0?i.count/p*d:0,a={key:i.valueInds[0],model:i,width:16,height:n,y:null!==i.dragY?i.dragY:m,bands:[],parcatsViewModel:e},m=m+n+8,u.push(a);return{key:t.dimensionInd,x:null!==t.dragX?t.dragX:r,y:0,width:16,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}(e,a))}e.dimensions=r}t.exports=function(e,t,n,i){var a,c,g,y,_,T,k,A,M,P,z,O;a=e._context.staticPlot,c=n.map(D.bind(0,e,i)),(g=t.selectAll("g.parcatslayer").data([null])).enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all"),_=(y=g.selectAll("g.trace.parcats").data(c,h)).enter().append("g").attr("class","trace parcats"),y.attr("transform",function(e){return s(e.x,e.y)}),_.append("g").attr("class","paths"),(T=y.select("g.paths").selectAll("path.path").data(function(e){return e.paths},h)).attr("fill",function(e){return e.model.color}),x(k=T.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(e){return e.model.color}).attr("fill-opacity",0)),T.attr("d",function(e){return e.svgD}),k.empty()||T.sort(p),T.exit().remove(),T.on("mouseover",d).on("mouseout",m).on("click",v),_.append("g").attr("class","dimensions"),(A=y.select("g.dimensions").selectAll("g.dimension").data(function(e){return e.dimensions},h)).enter().append("g").attr("class","dimension"),A.attr("transform",function(e){return s(e.x,0)}),A.exit().remove(),P=(M=A.selectAll("g.category").data(function(e){return e.categories},h)).enter().append("g").attr("class","category"),M.attr("transform",function(e){return s(0,e.y)}),P.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",function(e){return e.width}).attr("height",function(e){return e.height}),b(P),(z=M.selectAll("rect.bandrect").data(function(e){return e.bands},h)).each(function(){o.raiseToTop(this)}),z.attr("fill",function(e){return e.color}),O=z.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(e){return e.color}).attr("fill-opacity",0),z.attr("fill",function(e){return e.color}).attr("width",function(e){return e.width}).attr("height",function(e){return e.height}).attr("y",function(e){return e.y}).attr("cursor",function(e){return"fixed"===e.parcatsViewModel.arrangement?"default":"perpendicular"===e.parcatsViewModel.arrangement?"ns-resize":"move"}),w(O),z.exit().remove(),P.append("text").attr("class","catlabel").attr("pointer-events","none"),M.select("text.catlabel").attr("text-anchor",function(e){return f(e)?"start":"end"}).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",function(e){return f(e)?e.width+5:-5}).attr("y",function(e){return e.height/2}).text(function(e){return e.model.categoryLabel}).each(function(t){l.font(r.select(this),t.parcatsViewModel.categorylabelfont),u.convertToTspans(r.select(this),e)}),P.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(e){return"fixed"===e.parcatsViewModel.arrangement?"default":"ew-resize"}).attr("x",function(e){return e.width/2}).attr("y",-5).text(function(e,t){return 0===t?e.parcatsViewModel.model.dimensions[e.model.dimensionInd].dimensionLabel:null}).each(function(e){l.font(r.select(this),e.parcatsViewModel.labelfont)}),M.selectAll("rect.bandrect").on("mouseover",S).on("mouseout",E),M.exit().remove(),A.call(r.behavior.drag().origin(function(e){return{x:e.x,y:0}}).on("dragstart",C).on("drag",L).on("dragend",I)),y.each(function(e){e.traceSelection=r.select(this),e.pathSelection=r.select(this).selectAll("g.paths").selectAll("path.path"),e.dimensionSelection=r.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),y.exit().remove()}}}),yx=ed({"src/traces/parcats/plot.js"(e,t){var r=yv();t.exports=function(e,t,n,i){var a=e._fullLayout,o=a._paper,s=a._size;r(e,o,t,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}}}),y_=ed({"src/traces/parcats/base_plot.js"(e){var t=rn().getModuleCalcData,r=yx(),n="parcats";e.name=n,e.plot=function(e,i,a,o){var s=t(e.calcdata,n);s.length&&r(e,s[0],a,o)},e.clean=function(e,t,r,n){var i=n._has&&n._has("parcats"),a=t._has&&t._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}}}),yb=ed({"src/traces/parcats/index.js"(e,t){t.exports={attributes:ym(),supplyDefaults:yg(),calc:yy(),plot:yx(),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:y_(),categories:["noOpacity"],meta:{}}}}),yw=ed({"lib/parcats.js"(e,t){t.exports=yb()}}),yT=ed({"src/plots/mapbox/constants.js"(e,t){var r=tj(),n="1.13.4",i='\xa9 OpenStreetMap contributors',a=['\xa9 Carto',i].join(" "),o='Map tiles by Stamen Design under CC BY 3.0 | Data by OpenStreetMap contributors under ODbL',s={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:i,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:o,tiles:["https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:o,tiles:["https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:'Map tiles by Stamen Design under CC BY 3.0 | Data by OpenStreetMap contributors under CC BY SA',tiles:["https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},l=r(s);t.exports={requiredVersion:n,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install @plotly/mapbox-gl@"+n+"."].join("\n"),noAccessTokenErrorMsg:"Missing Mapbox access token.\nMapbox trace type require a Mapbox access token to be registered.\nFor example:\n Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\nMore info here: https://www.mapbox.com/help/define-access-token/",missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",l.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:"Set multiple mapbox access token across different mapbox subplot,\nusing first token found as mapbox-gl does not allow multipleaccess tokens on the same page.",mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}}}),yk=ed({"src/plots/mapbox/layout_attributes.js"(e,t){var r=tQ(),n=eZ().defaultLine,i=aI().attributes,a=eB(),o=nW().textposition,s=tk().overrideAll,l=t7().templatedArray,c=yT(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=s({_arrayAttrRegexps:[r.counterRegex("mapbox",".layers",!0)],domain:i({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:c.styleValuesMapbox.concat(c.styleValuesNonMapbox),dflt:c.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:l("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:n},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:n}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:u,textposition:r.extendFlat({},o,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),yA=ed({"src/traces/scattermapbox/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=tS(),a=nZ(),o=pH(),s=nW(),l=yk(),c=eq(),u=rp(),h=ej().extendFlat,f=tk().overrideAll,p=yk(),d=o.line,m=o.marker;t.exports=f({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:"boolean"},maxzoom:h({},p.layers.maxzoom,{}),step:{valType:"number",arrayOk:!0,dflt:-1,min:-1},size:{valType:"number",arrayOk:!0,dflt:20,min:0},color:{valType:"color",arrayOk:!0},opacity:h({},m.opacity,{dflt:1})},mode:h({},s.mode,{dflt:"markers"}),text:h({},s.text,{}),texttemplate:n({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:h({},s.hovertext,{}),line:{color:d.color,width:d.width},connectgaps:s.connectgaps,marker:h({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:m.opacity,size:m.size,sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode},u("marker")),fill:o.fill,fillcolor:a(),textfont:l.layers.symbol.textfont,textposition:l.layers.symbol.textposition,below:{valType:"string"},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:h({},c.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:r(),hovertemplatefallback:i()},"calc","nested")}}),yM=ed({"src/traces/scattermapbox/constants.js"(e,t){var r=["Metropolis Black Italic","Metropolis Black","Metropolis Bold Italic","Metropolis Bold","Metropolis Extra Bold Italic","Metropolis Extra Bold","Metropolis Extra Light Italic","Metropolis Extra Light","Metropolis Light Italic","Metropolis Light","Metropolis Medium Italic","Metropolis Medium","Metropolis Regular Italic","Metropolis Regular","Metropolis Semi Bold Italic","Metropolis Semi Bold","Metropolis Thin Italic","Metropolis Thin","Open Sans Bold Italic","Open Sans Bold","Open Sans Extrabold Italic","Open Sans Extrabold","Open Sans Italic","Open Sans Light Italic","Open Sans Light","Open Sans Regular","Open Sans Semibold Italic","Open Sans Semibold","Klokantech Noto Sans Bold","Klokantech Noto Sans CJK Bold","Klokantech Noto Sans CJK Regular","Klokantech Noto Sans Italic","Klokantech Noto Sans Regular"];t.exports={isSupportedFont:function(e){return -1!==r.indexOf(e)}}}}),yS=ed({"src/traces/scattermapbox/defaults.js"(e,t){var r=tQ(),n=rC(),i=il(),a=ic(),o=ih(),s=ip(),l=yA(),c=yM().isSupportedFont;t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,l,n,i)}function p(n,i){return r.coerce2(e,t,l,n,i)}if(d=f("lon")||[],m=f("lat")||[],g=Math.min(d.length,m.length),t._length=g,!g){t.visible=!1;return}if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),n.hasMarkers(t)){i(e,t,u,h,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var d,m,g,y=t.marker;"circle"!==y.symbol&&(r.isArrayOrTypedArray(y.size)&&(y.size=y.size[0]),r.isArrayOrTypedArray(y.color)&&(y.color=y.color[0]))}n.hasLines(t)&&(a(e,t,u,h,f,{noDash:!0}),f("connectgaps"));var v=p("cluster.maxzoom"),x=p("cluster.step"),_=p("cluster.color",t.marker&&t.marker.color||u),b=p("cluster.size"),w=p("cluster.opacity");if(f("cluster.enabled",!1!==v||!1!==x||!1!==_||!1!==b||!1!==w)||n.hasText(t)){var T=h.font.family;o(e,t,h,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:c(T)?T:"Open Sans Regular",weight:h.font.weight,style:h.font.style,size:h.font.size,color:h.font.color}})}f("fill"),"none"!==t.fill&&s(e,t,u,f),r.coerceSelectionMarkerOpacity(t,f)}}}),yE=ed({"src/traces/scattermapbox/format_labels.js"(e,t){var r=rB();t.exports=function(e,t,n){var i={},a=n[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=r.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=r.tickText(a,a.c2l(o[1]),!0).text,i}}}),yC=ed({"src/plots/mapbox/convert_text_opts.js"(e,t){var r=tQ();t.exports=function(e,t){var n=e.split(" "),i=n[0],a=n[1],o=r.isArrayOrTypedArray(t)?r.mean(t):t,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}}}),yL=ed({"src/traces/scattermapbox/convert.js"(e,t){var r=eM(),n=tQ(),i=eS().BADNUM,a=pJ(),o=rE(),s=rO(),l=rL(),c=rC(),u=yM().isSupportedFont,h=yC(),f=rI().appendArrayPointValue,p=rl().NEWLINES,d=rl().BR_TAG_ALL;function m(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(e,t){return n.isArrayOrTypedArray(e)?t?function(t){return r(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return""}function v(e,t){var r;if(n.isArrayOrTypedArray(e)&&n.isArrayOrTypedArray(t)){r=["step",["get","point_count"],e[0]];for(var i=1;i850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),u(s)||(s=r),s.split(", ")}t.exports=function(e,t){var u,_=t[0].trace,b=!0===_.visible&&0!==_._length,w="none"!==_.fill,T=c.hasLines(_),k=c.hasMarkers(_),A=c.hasText(_),M=k&&"circle"===_.marker.symbol,S=k&&"circle"!==_.marker.symbol,E=_.cluster&&_.cluster.enabled,C=m("fill"),L=m("line"),I=m("circle"),P=m("symbol"),z={fill:C,line:L,circle:I,symbol:P};if(!b)return z;if((w||T)&&(u=a.calcTraceToLineCoords(t)),w&&(C.geojson=a.makePolygon(u),C.layout.visibility="visible",n.extendFlat(C.paint,{"fill-color":_.fillcolor})),T&&(L.geojson=a.makeLine(u),L.layout.visibility="visible",n.extendFlat(L.paint,{"line-width":_.line.width,"line-color":_.line.color,"line-opacity":_.opacity})),M){var O=function(e){var t,a,c,u,h,f=e[0].trace,p=f.marker,d=f.selectedpoints,m=n.isArrayOrTypedArray(p.color),g=n.isArrayOrTypedArray(p.size),y=n.isArrayOrTypedArray(p.opacity);function v(e){return f.opacity*e}m&&(a=o.hasColorscale(f,"marker")?o.makeColorScaleFuncFromTrace(p):n.identity),g&&(c=l(f)),y&&(u=function(e){return v(r(e)?+n.constrain(e,0,1):0)});var x=[];for(t=0;t=0;r--){var n=t[r];i.removeLayer(u.layerIds[n])}e||i.removeSource(u.sourceIds.circle)}(e):function(e){for(var t=a.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];i.removeLayer(u.layerIds[n]),e||i.removeSource(u.sourceIds[n])}}(e)}function f(e){l?function(e){e||u.addSource("circle",o.circle,t.cluster);for(var r=a.cluster,n=0;n=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},t.exports=function(e,t){var r,i,s,l=t[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new o(e,l.uid,c,u),f=n(e.gd,t),p=h.below=e.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(e,t,a){var c=e.cd,u=c[0].trace,h=e.xa,f=e.ya,p=e.subplot,d=[],m=s+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;g&&(d=p.map.queryRenderedFeatures(null,{layers:[m]}).map(function(e){return e.id}));var y=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),v=t-y;if(r.getClosest(c,function(e){var t=e.lonlat;if(t[0]===o||g&&-1===d.indexOf(e.i+1))return 1/0;var r=n.modHalf(t[0],360),i=t[1],s=p.project([r,i]),l=s.x-h.c2p([v,i]),c=s.y-f.c2p([r,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)},e),!1!==e.index){var x=c[e.index],_=x.lonlat,b=[n.modHalf(_[0],360)+y,_[1]],w=h.c2p(b),T=f.c2p(b),k=x.mrc||1;e.x0=w-k,e.x1=w+k,e.y0=T-k,e.y1=T+k;var A={};A[u.subplot]={_subplot:p};var M=u._module.formatLabels(x,u,A);return e.lonLabel=M.lonLabel,e.latLabel=M.latLabel,e.color=i(u,x),e.extraText=l(u,x,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}},getExtraText:l}}}),yz=ed({"src/traces/scattermapbox/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}}),yO=ed({"src/traces/scattermapbox/select.js"(e,t){var r=tQ(),n=rC(),i=eS().BADNUM;t.exports=function(e,t){var a,o=e.cd,s=e.xaxis,l=e.yaxis,c=[],u=o[0].trace;if(!n.hasMarkers(u))return[];if(!1===t)for(a=0;aMath.abs(s))break;i-=a/s}if(r=0,n=1,(i=e)n)return n;for(;ra?r=i:n=i,i=(n-r)*.5+r;return i},m.prototype.solve=function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))},g.prototype={clone:function(){return new g(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),r=Math.sin(e),n=t*this.x-r*this.y,i=r*this.x+t*this.y;return this.x=n,this.y=i,this},_rotateAround:function(e,t){var r=Math.cos(e),n=Math.sin(e),i=t.x+r*(this.x-t.x)-n*(this.y-t.y),a=t.y+n*(this.x-t.x)+r*(this.y-t.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},g.convert=function(e){return e instanceof g?e:Array.isArray(e)?new g(e[0],e[1]):e};var y="undefined"!=typeof self?self:{};function v(e,t,r,n){var i=new m(e,t,r,n);return function(e){return i.solve(e)}}var x=v(.25,.1,.25,1);function _(e,t,r){return Math.min(r,Math.max(t,e))}function b(e,t,r){var n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function w(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0;n>t/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function M(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function S(e,t){e.forEach(function(e){t[e]&&(t[e]=t[e].bind(t))})}function E(e,t){return -1!==e.indexOf(t,e.length-t.length)}function C(e,t,r){var n={};for(var i in e)n[i]=t.call(r||this,e[i],i,e);return n}function L(e,t,r){var n={};for(var i in e)t.call(r||this,e[i],i,e)&&(n[i]=e[i]);return n}function I(e){return Array.isArray(e)?e.map(I):"object"==typeof e&&e?C(e,I):e}var P={};function z(e){P[e]||("undefined"!=typeof console&&console.warn(e),P[e]=!0)}function O(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function D(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function R(e){var t={};if(e.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(e,r,n,i){var a=n||i;return t[r]=!a||a.toLowerCase(),""}),t["max-age"]){var r=parseInt(t["max-age"],10);isNaN(r)?delete t["max-age"]:t["max-age"]=r}return t}var F=null;function j(e){if(null==F){var t=e.navigator?e.navigator.userAgent:null;F=!!e.safari||!!(t&&(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return F}function B(e){try{var t=y[e];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch(e){return!1}}var N=y.performance&&y.performance.now?y.performance.now.bind(y.performance):Date.now.bind(Date),U=y.requestAnimationFrame||y.mozRequestAnimationFrame||y.webkitRequestAnimationFrame||y.msRequestAnimationFrame,V=y.cancelAnimationFrame||y.mozCancelAnimationFrame||y.webkitCancelAnimationFrame||y.msCancelAnimationFrame,q={now:N,frame:function(e){var t=U(e);return{cancel:function(){return V(t)}}},getImageData:function(e,t){void 0===t&&(t=0);var r=y.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw Error("failed to create canvas 2d context");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(-t,-t,e.width+2*t,e.height+2*t)},resolveURL:function(e){return a||(a=y.document.createElement("a")),a.href=e,a.href},hardwareConcurrency:y.navigator&&y.navigator.hardwareConcurrency||4,get devicePixelRatio(){return y.devicePixelRatio},get prefersReducedMotion(){if(!y.matchMedia)return!1;return null==o&&(o=y.matchMedia("(prefers-reduced-motion: reduce)")),o.matches}},H={API_URL:"https://api.mapbox.com",get EVENTS_URL(){if(!this.API_URL)return null;if(0===this.API_URL.indexOf("https://api.mapbox.cn"))return"https://events.mapbox.cn/events/v2";if(0===this.API_URL.indexOf("https://api.mapbox.com"))return"https://events.mapbox.com/events/v2";return null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},G={supported:!1,testSupport:function(e){!Z&&l&&(W?Y(e):s=e)}},Z=!1,W=!1;function Y(e){var t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,l),e.isContextLost())return;G.supported=!0}catch(e){}e.deleteTexture(t),Z=!0}y.document&&((l=y.document.createElement("img")).onload=function(){s&&Y(s),s=null,W=!0},l.onerror=function(){Z=!0,s=null},l.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var X=function(e,t){this._transformRequestFn=e,this._customAccessToken=t,this._createSkuToken()};function $(e){return 0===e.indexOf("mapbox:")}X.prototype._createSkuToken=function(){var e=function(){for(var e="",t=0;t<10;t++)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1","01",e].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=e.token,this._skuTokenExpiresAt=e.tokenExpiresAt},X.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},X.prototype.transformRequest=function(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}},X.prototype.normalizeStyleURL=function(e,t){if(!$(e))return e;var r=ee(e);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},X.prototype.normalizeGlyphsURL=function(e,t){if(!$(e))return e;var r=ee(e);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||t)},X.prototype.normalizeSourceURL=function(e,t){if(!$(e))return e;var r=ee(e);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||t)},X.prototype.normalizeSpriteURL=function(e,t,r,n){var i=ee(e);return $(e)?(i.path="/styles/v1"+i.path+"/sprite"+t+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+t+r,et(i))},X.prototype.normalizeTileURL=function(e,t){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!$(e))return e;var r=ee(e),n=q.devicePixelRatio>=2||512===t?"@2x":"",i=G.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(e){for(var t=0;t=0&&e.params.splice(i,1)}if("/"!==n.path&&(e.path=""+n.path+e.path),!H.REQUIRE_ACCESS_TOKEN)return et(e);if(!(t=t||H.ACCESS_TOKEN))throw Error("An API access token is required to use Mapbox GL. "+r);if("s"===t[0])throw Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return e.params=e.params.filter(function(e){return -1===e.indexOf("access_token")}),e.params.push("access_token="+t),et(e)};var J=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function K(e){return J.test(e)}var Q=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function ee(e){var t=e.match(Q);if(!t)throw Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function et(e){var t=e.params.length?"?"+e.params.join("&"):"";return e.protocol+"://"+e.authority+e.path+t}var er="mapbox.eventData";function en(e){if(!e)return null;var t,r=e.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((t=r[1],decodeURIComponent(y.atob(t).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""))))}catch(e){return null}}var ei=function(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};ei.prototype.getStorageKey=function(e){var t,r=en(H.ACCESS_TOKEN),n="";return r&&r.u?(t=r.u,n=y.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode(Number("0x"+t))}))):n=H.ACCESS_TOKEN||"",e?er+"."+e+":"+n:er+":"+n},ei.prototype.fetchEventData=function(){var e=B("localStorage"),t=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{var n=y.localStorage.getItem(t);n&&(this.eventData=JSON.parse(n));var i=y.localStorage.getItem(r);i&&(this.anonId=i)}catch(e){z("Unable to read from LocalStorage")}},ei.prototype.saveEventData=function(){var e=B("localStorage"),t=this.getStorageKey(),r=this.getStorageKey("uuid");if(e)try{y.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&y.localStorage.setItem(t,JSON.stringify(this.eventData))}catch(e){z("Unable to write to LocalStorage")}},ei.prototype.processRequests=function(e){},ei.prototype.postEvent=function(e,t,r,n){var i=this;if(H.EVENTS_URL){var a=ee(H.EVENTS_URL);a.params.push("access_token="+(n||H.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(e).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:d,skuId:"01",userId:this.anonId},s=t?w(o,t):o,l={url:et(a),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=ew(l,function(e){i.pendingRequest=null,r(e),i.saveEventData(),i.processRequests(n)})}},ei.prototype.queueRequest=function(e,t){this.queue.push(e),this.processRequests(t)};var ea=function(e){function t(){e.call(this,"map.load"),this.success={},this.skuToken=""}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postMapLoadEvent=function(e,t,r,n){this.skuToken=r,(H.EVENTS_URL&&n||H.ACCESS_TOKEN&&Array.isArray(e)&&e.some(function(e){return $(e)||K(e)}))&&this.queueRequest({id:t,timestamp:Date.now()},n)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),M(this.anonId)||(this.anonId=A()),this.postEvent(i,{skuToken:this.skuToken},function(e){!e&&n&&(t.success[n]=!0)},e))}},t}(ei),eo=new(function(e){function t(t){e.call(this,"appUserTurnstile"),this._customAccessToken=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.postTurnstileEvent=function(e,t){H.EVENTS_URL&&H.ACCESS_TOKEN&&Array.isArray(e)&&e.some(function(e){return $(e)||K(e)})&&this.queueRequest(Date.now(),t)},t.prototype.processRequests=function(e){var t=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=en(H.ACCESS_TOKEN),n=r?r.u:H.ACCESS_TOKEN,i=n!==this.eventData.tokenU;M(this.anonId)||(this.anonId=A(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},function(e){e||(t.eventData.lastSuccess=a,t.eventData.tokenU=n)},e)}},t}(ei)),es=eo.postTurnstileEvent.bind(eo),el=new ea,ec=el.postMapLoadEvent.bind(el),eu="mapbox-tiles",eh=500,ef=50;function ep(){y.caches&&!c&&(c=y.caches.open(eu))}function ed(e){var t=e.indexOf("?");return t<0?e:e.slice(0,t)}var em=1/0;function eg(){return null==h&&(h=y.OffscreenCanvas&&new y.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof y.createImageBitmap),h}var ey={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(ey);var ev=function(e){function t(t,r,n){401===r&&K(n)&&(t+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),e.call(this,t),this.status=r,this.url=n,this.name=this.constructor.name,this.message=t}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},t}(Error),ex=D()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===y.location.protocol?y.parent:y).location.href},e_=function(e,t){var r,n,i,a,o,s,l,h,f;if(r=e.url,!(/^file:/.test(r)||/^file:/.test(ex())&&!/^\w+:/.test(r))){if(y.fetch&&y.Request&&y.AbortController&&y.Request.prototype.hasOwnProperty("signal"))return n=new y.AbortController,i=new y.Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,referrer:ex(),signal:n.signal}),a=!1,o=!1,l=(s=i.url).indexOf("sku=")>0&&K(s),"json"===e.type&&i.headers.set("Accept","application/json"),h=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&z(r),n&&a)return f(n);var s=Date.now();y.fetch(i).then(function(r){if(!r.ok)return t(new ev(r.statusText,r.status,e.url));var n=l?r.clone():null;return f(r,n,s)}).catch(function(e){20!==e.code&&t(Error(e.message))})}},f=function(r,n,s){("arrayBuffer"===e.type?r.arrayBuffer():"json"===e.type?r.json():r.text()).then(function(e){o||(n&&s&&function(e,t,r){if(ep(),c){var n={status:t.status,statusText:t.statusText,headers:new y.Headers};t.headers.forEach(function(e,t){return n.headers.set(t,e)});var i=R(t.headers.get("Cache-Control")||"");!i["no-store"]&&(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(e,t){if(void 0===u)try{new Response(new ReadableStream),u=!0}catch(e){u=!1}u?t(e.body):e.blob().then(t)}(t,function(t){var r=new y.Response(t,n);ep(),c&&c.then(function(t){return t.put(ed(e.url),r)}).catch(function(e){return z(e.message)})}))}}(i,n,s),a=!0,t(null,e,r.headers.get("Cache-Control"),r.headers.get("Expires")))}).catch(function(e){o||t(Error(e.message))})},l?function(e,t){if(ep(),!c)return t(null);var r=ed(e.url);c.then(function(e){e.match(r).then(function(n){var i=function(e){if(!e)return!1;var t=new Date(e.headers.get("Expires")||0),r=R(e.headers.get("Cache-Control")||"");return t>Date.now()&&!r["no-cache"]}(n);e.delete(r),i&&e.put(r,n.clone()),t(null,n,i)}).catch(t)}).catch(t)}(i,h):h(null,null),{cancel:function(){o=!0,a||n.abort()}};if(D()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",e,t,void 0,!0)}return function(e,t){var r=new y.XMLHttpRequest;for(var n in r.open(e.method||"GET",e.url,!0),"arrayBuffer"===e.type&&(r.responseType="arraybuffer"),e.headers)r.setRequestHeader(n,e.headers[n]);return"json"===e.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===e.credentials,r.onerror=function(){t(Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===e.type)try{n=JSON.parse(r.response)}catch(e){return t(e)}t(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else t(new ev(r.statusText,r.status,e.url))},r.send(e.body),{cancel:function(){return r.abort()}}}(e,t)},eb=function(e,t){return e_(w(e,{type:"arrayBuffer"}),t)},ew=function(e,t){return e_(w(e,{method:"POST"}),t)},eT="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";f=[],p=0;var ek=function(e,t){if(G.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),p>=H.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:e,callback:t,cancelled:!1,cancel:function(){this.cancelled=!0}};return f.push(r),r}p++;var n=!1,i=function(){if(!n)for(n=!0,p--;f.length&&p0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)},eC.prototype.setEventedParent=function(e,t){return this._eventedParent=e,this._eventedParentData=t,this};var eL={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},eI=function(e,t,r,n){this.message=(e?e+": ":"")+r,n&&(this.identifier=n),null!=t&&t.__line__&&(this.line=t.__line__)};function eP(e){var t=e.key,r=e.value;return r?[new eI(t,r,"constants have been deprecated as of v8")]:[]}function ez(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];for(var n=0;n":"value"===e.itemType.kind?"array":"array<"+t+">"}var e$=[ej,eB,eN,eU,eV,eZ,eq,eY(eH),eW];function eJ(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!eJ(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else if(e.kind===t.kind)return null;else if("value"===e.kind){for(var r=0;r255?255:e}function i(e){return e<0?0:e>1?1:e}function a(e){return"%"===e[e.length-1]?n(parseFloat(e)/100*255):n(parseInt(e))}function o(e){return"%"===e[e.length-1]?i(parseFloat(e)/100):i(parseFloat(e))}function s(e,t,r){return(r<0?r+=1:r>1&&(r-=1),6*r<1)?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}try{t.parseCSSColor=function(e){var t=e.replace(/ /g,"").toLowerCase();if(t in r)return r[t].slice();if("#"===t[0]){if(4===t.length){var i=parseInt(t.substr(1),16);return i>=0&&i<=4095?[(3840&i)>>4|(3840&i)>>8,240&i|(240&i)>>4,15&i|(15&i)<<4,1]:null}if(7===t.length){var i=parseInt(t.substr(1),16);return i>=0&&i<=16777215?[(16711680&i)>>16,(65280&i)>>8,255&i,1]:null}return null}var l=t.indexOf("("),c=t.indexOf(")");if(-1!==l&&c+1===t.length){var u=t.substr(0,l),h=t.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)break;f=o(h.pop());case"rgb":if(3!==h.length)break;return[a(h[0]),a(h[1]),a(h[2]),f];case"hsla":if(4!==h.length)break;f=o(h.pop());case"hsl":if(3!==h.length)break;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),m=o(h[2]),g=m<=.5?m*(d+1):m+d-m*d,y=2*m-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),f]}}return null}}catch(e){}}).parseCSSColor,e1=function(e,t,r,n){void 0===n&&(n=1),this.r=e,this.g=t,this.b=r,this.a=n};e1.parse=function(e){if(e){if(e instanceof e1)return e;if("string"==typeof e){var t=e0(e);if(t)return new e1(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3])}}},e1.prototype.toString=function(){var e=this.toArray();return"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+e[3]+")"},e1.prototype.toArray=function(){var e=this.r,t=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*e/n,255*t/n,255*r/n,n]},e1.black=new e1(0,0,0,1),e1.white=new e1(1,1,1,1),e1.transparent=new e1(0,0,0,0),e1.red=new e1(1,0,0,1);var e2=function(e,t,r){e?this.sensitivity=t?"variant":"case":this.sensitivity=t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};e2.prototype.compare=function(e,t){return this.collator.compare(e,t)},e2.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var e3=function(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i},e5=function(e){this.sections=e};e5.fromString=function(e){return new e5([new e3(e,null,null,null,null)])},e5.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some(function(e){return 0!==e.text.length||e.image&&0!==e.image.name.length})},e5.factory=function(e){return e instanceof e5?e:e5.fromString(e)},e5.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map(function(e){return e.text}).join("")},e5.prototype.serialize=function(){for(var e=["format"],t=0,r=this.sections;t=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[e,t,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[e,t,r,n]:[e,t,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function e8(e){if(null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e)return!0;if(e instanceof e1)return!0;if(e instanceof e2)return!0;if(e instanceof e5)return!0;else if(e instanceof e4)return!0;else if(Array.isArray(e)){for(var t=0;t2){var i,a,o,s=e[1];if("string"!=typeof s||!(s in tr)||"object"===s)return t.error('The item type argument of "array" must be one of string, number, boolean',1);a=tr[s],r++}else a=eH;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],r++}i=eY(a,o)}else i=tr[n];for(var l=[];r1)&&t.push(n)}}return t.concat(this.args.map(function(e){return e.serialize()}))};var ti=function(e){this.type=eZ,this.sections=e};ti.parse=function(e,t){if(e.length<2)return t.error("Expected at least one argument.");var r=e[1];if(!Array.isArray(r)&&"object"==typeof r)return t.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=e.length-1;++a){var o=e[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=t.parse(o["font-scale"],1,eB)))return null;var l=null;if(o["text-font"]&&!(l=t.parse(o["text-font"],1,eY(eN))))return null;var c=null;if(o["text-color"]&&!(c=t.parse(o["text-color"],1,eV)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=t.parse(e[a],1,eH);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new ti(n)},ti.prototype.evaluate=function(e){return new e5(this.sections.map(function(t){var r=t.content.evaluate(e);return e7(r)===eW?new e3("",r,null,null,null):new e3(e9(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)}))},ti.prototype.eachChild=function(e){for(var t=0,r=this.sections;t-1),r},ta.prototype.eachChild=function(e){e(this.input)},ta.prototype.outputDefined=function(){return!1},ta.prototype.serialize=function(){return["image",this.input.serialize()]};var to={"to-boolean":eU,"to-color":eV,"to-number":eB,"to-string":eN},ts=function(e,t){this.type=e,this.args=t};ts.parse=function(e,t){if(e.length<2)return t.error("Expected at least one argument.");var r=e[0];if(("to-boolean"===r||"to-string"===r)&&2!==e.length)return t.error("Expected one argument.");for(var n=to[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(t)+": expected an array containing either three or four numeric values.":e6(t[0],t[1],t[2],t[3])))return new e1(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new tt(r||"Could not parse color from value '"+("string"==typeof t?t:String(JSON.stringify(t)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=t[2])&&!(e[1]<=t[1])&&!(e[3]>=t[3])}function td(e,t){for(var r=!1,n=0,i=t.length;ne[1]!=o[1]>e[1]&&e[0]<(o[0]-a[0])*(e[1]-a[1])/(o[1]-a[1])+a[0]&&(r=!r)}return r}function tm(e,t,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=t[0]-r[0],s=t[1]-r[1],l=n[0]-r[0],c=n[1]-r[1],u=i*c-l*a,h=o*c-l*s;return u>0&&h<0||u<0&&h>0}function tg(e,t){for(var r=0;rr[2]){var i=.5*n,a=e[0]-r[0]>i?-n:r[0]-e[0]>i?n:0;0===a&&(a=e[0]-r[2]>i?-n:r[2]-e[0]>i?n:0),e[0]+=a}tf(t,e)}function t_(e,t,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0;s=0)return!1;var r=!0;return e.eachChild(function(e){r&&!tA(e,t)&&(r=!1)}),r}tw.parse=function(e,t){if(2!==e.length)return t.error("'within' expression requires exactly one argument, but found "+(e.length-1)+" instead.");if(e8(e[1])){var r=e[1];if("FeatureCollection"===r.type)for(var n=0;nt)o=s-1;else throw new tt("Input is not a number.");return 0}tS.prototype.parse=function(e,t,r,n,i){return(void 0===i&&(i={}),t)?this.concat(t,r,n)._parse(e,i):this._parse(e,i)},tS.prototype._parse=function(e,t){function r(e,t,r){return"assert"===r?new tn(t,[e]):"coerce"===r?new ts(t,[e]):e}if((null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e)&&(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=e[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(e,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if(("string"===o.kind||"number"===o.kind||"boolean"===o.kind||"object"===o.kind||"array"===o.kind)&&"value"===s.kind)a=r(a,o,t.typeAnnotation||"assert");else if(("color"===o.kind||"formatted"===o.kind||"resolvedImage"===o.kind)&&("value"===s.kind||"string"===s.kind))a=r(a,o,t.typeAnnotation||"coerce");else if(this.checkSubtype(o,s))return null}if(!(a instanceof te)&&"resolvedImage"!==a.type.kind&&function e(t){if(t instanceof tM)return e(t.boundExpression);if(t instanceof tu&&"error"===t.name||t instanceof th||t instanceof tw)return!1;var r=t instanceof ts||t instanceof tn,n=!0;return t.eachChild(function(t){n=r?n&&e(t):n&&t instanceof te}),!!n&&tT(t)&&tA(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}(a)){var l=new tc;try{a=new te(a.type,a.evaluate(l))}catch(e){return this.error(e.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===e?this.error("'undefined' value invalid. Use null instead."):"object"==typeof e?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof e+" instead.")},tS.prototype.concat=function(e,t,r){var n="number"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new tS(this.registry,n,t||null,i,this.errors)},tS.prototype.error=function(e){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];var n=""+this.key+t.map(function(e){return"["+e+"]"}).join("");this.errors.push(new eR(n,e))},tS.prototype.checkSubtype=function(e,t){var r=eJ(e,t);return r&&this.error(r),r};var tC=function(e,t,r){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(var n=0;n=o)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=t.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new tC(i,r,n)},tC.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[tE(t,n)].evaluate(e)},tC.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e};var tI=Object.freeze({__proto__:null,number:tL,color:function(e,t,r){return new e1(tL(e.r,t.r,r),tL(e.g,t.g,r),tL(e.b,t.b,r),tL(e.a,t.a,r))},array:function(e,t,r){return e.map(function(e,n){return tL(e,t[n],r)})}}),tP=4/29,tz=6/29,tO=6/29*3*(6/29),tD=6/29*(6/29)*(6/29),tR=Math.PI/180,tF=180/Math.PI;function tj(e){return e>tD?Math.pow(e,1/3):e/tO+tP}function tB(e){return e>tz?e*e*e:tO*(e-tP)}function tN(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function tU(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function tV(e){var t=tU(e.r),r=tU(e.g),n=tU(e.b),i=tj((.4124564*t+.3575761*r+.1804375*n)/.95047),a=tj((.2126729*t+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-tj((.0193339*t+.119192*r+.9503041*n)/1.08883)),alpha:e.a}}function tq(e){var t=(e.l+16)/116,r=isNaN(e.a)?t:t+e.a/500,n=isNaN(e.b)?t:t-e.b/200;return t=1*tB(t),new e1(tN(3.2404542*(r=.95047*tB(r))-1.5371385*t-.4985314*(n=1.08883*tB(n))),tN(-.969266*r+1.8760108*t+.041556*n),tN(.0556434*r-.2040259*t+1.0572252*n),e.alpha)}var tH={forward:tV,reverse:tq,interpolate:function(e,t,r){return{l:tL(e.l,t.l,r),a:tL(e.a,t.a,r),b:tL(e.b,t.b,r),alpha:tL(e.alpha,t.alpha,r)}}},tG={forward:function(e){var t=tV(e),r=t.l,n=t.a,i=t.b,a=Math.atan2(i,n)*tF;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:e.a}},reverse:function(e){var t=e.h*tR,r=e.c;return tq({l:e.l,a:Math.cos(t)*r,b:Math.sin(t)*r,alpha:e.alpha})},interpolate:function(e,t,r){var n,i;return{h:(n=e.h,i=t.h-n,n+r*(i>180||i<-180?i-360*Math.round(i/360):i)),c:tL(e.c,t.c,r),l:tL(e.l,t.l,r),alpha:tL(e.alpha,t.alpha,r)}}},tZ=Object.freeze({__proto__:null,lab:tH,hcl:tG}),tW=function(e,t,r,n,i){this.type=e,this.operator=t,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0;a1}))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(e.length-1<4)return t.error("Expected at least 4 arguments, but found only "+(e.length-1)+".");if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(!(i=t.parse(i,2,eB)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=eV:t.expectedType&&"value"!==t.expectedType.kind&&(c=t.expectedType);for(var u=0;u=h)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var m=t.parse(f,d,c);if(!m)return null;c=c||m.type,l.push([h,m])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new tW(c,r,n,i,l):t.error("Type "+eX(c)+" is not interpolatable.")},tW.prototype.evaluate=function(e){var t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);var n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);var i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);var a=tE(t,n),o=t[a],s=t[a+1],l=tW.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(e),u=r[a+1].evaluate(e);return"interpolate"===this.operator?tI[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?tG.reverse(tG.interpolate(tG.forward(c),tG.forward(u),l)):tH.reverse(tH.interpolate(tH.forward(c),tH.forward(u),l))},tW.prototype.eachChild=function(e){e(this.input);for(var t=0,r=this.outputs;t=r.length)throw new tt("Array index out of bounds: "+t+" > "+(r.length-1)+".");if(t!==Math.floor(t))throw new tt("Array index must be an integer, but found "+t+" instead.");return r[t]},tJ.prototype.eachChild=function(e){e(this.index),e(this.input)},tJ.prototype.outputDefined=function(){return!1},tJ.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var tK=function(e,t){this.type=eU,this.needle=e,this.haystack=t};tK.parse=function(e,t){if(3!==e.length)return t.error("Expected 2 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,eH),n=t.parse(e[2],2,eH);return r&&n?eK(r.type,[eU,eN,eB,ej,eH])?new tK(r,n):t.error("Expected first argument to be of type boolean, string, number or null, but found "+eX(r.type)+" instead"):null},tK.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!eQ(t,["boolean","string","number","null"]))throw new tt("Expected first argument to be of type boolean, string, number or null, but found "+eX(e7(t))+" instead.");if(!eQ(r,["string","array"]))throw new tt("Expected second argument to be of type array or string, but found "+eX(e7(r))+" instead.");return r.indexOf(t)>=0},tK.prototype.eachChild=function(e){e(this.needle),e(this.haystack)},tK.prototype.outputDefined=function(){return!0},tK.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var tQ=function(e,t,r){this.type=eB,this.needle=e,this.haystack=t,this.fromIndex=r};tQ.parse=function(e,t){if(e.length<=2||e.length>=5)return t.error("Expected 3 or 4 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,eH),n=t.parse(e[2],2,eH);if(!r||!n)return null;if(!eK(r.type,[eU,eN,eB,ej,eH]))return t.error("Expected first argument to be of type boolean, string, number or null, but found "+eX(r.type)+" instead");if(4!==e.length)return new tQ(r,n);var i=t.parse(e[3],3,eB);return i?new tQ(r,n,i):null},tQ.prototype.evaluate=function(e){var t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!eQ(t,["boolean","string","number","null"]))throw new tt("Expected first argument to be of type boolean, string, number or null, but found "+eX(e7(t))+" instead.");if(!eQ(r,["string","array"]))throw new tt("Expected second argument to be of type array or string, but found "+eX(e7(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(e);return r.indexOf(t,n)}return r.indexOf(t)},tQ.prototype.eachChild=function(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)},tQ.prototype.outputDefined=function(){return!1},tQ.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var t0=function(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};t0.parse=function(e,t){if(e.length<5)return t.error("Expected at least 4 arguments, but found only "+(e.length-1)+".");if(e.length%2!=1)return t.error("Expected an even number of arguments.");t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);for(var r,n,i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,e7(f)))return null}else r=e7(f);if(void 0!==i[String(f)])return c.error("Branch labels must be unique.");i[String(f)]=a.length}var p=t.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=t.parse(e[1],1,eH);if(!d)return null;var m=t.parse(e[e.length-1],e.length-1,n);return!m||"value"!==d.type.kind&&t.concat(1).checkSubtype(r,d.type)?null:new t0(r,n,d,i,a,m)},t0.prototype.evaluate=function(e){var t=this.input.evaluate(e);return(e7(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)},t0.prototype.eachChild=function(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)},t0.prototype.outputDefined=function(){return this.outputs.every(function(e){return e.outputDefined()})&&this.otherwise.outputDefined()},t0.prototype.serialize=function(){for(var e=this,t=["match",this.input.serialize()],r=Object.keys(this.cases).sort(),n=[],i={},a=0;a=5)return t.error("Expected 3 or 4 arguments, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1,eH),n=t.parse(e[2],2,eB);if(!r||!n)return null;if(!eK(r.type,[eY(eH),eN,eH]))return t.error("Expected first argument to be of type array or string, but found "+eX(r.type)+" instead");if(4!==e.length)return new t2(r.type,r,n);var i=t.parse(e[3],3,eB);return i?new t2(r.type,r,n,i):null},t2.prototype.evaluate=function(e){var t=this.input.evaluate(e),r=this.beginIndex.evaluate(e);if(!eQ(t,["string","array"]))throw new tt("Expected first argument to be of type array or string, but found "+eX(e7(t))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(e);return t.slice(r,n)}return t.slice(r)},t2.prototype.eachChild=function(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)},t2.prototype.outputDefined=function(){return!1},t2.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var t6=t4("==",function(e,t,r){return t===r},t5),t8=t4("!=",function(e,t,r){return t!==r},function(e,t,r,n){return!t5(e,t,r,n)}),t7=t4("<",function(e,t,r){return tn.compare(t,r)}),t9=t4(">",function(e,t,r){return t>r},function(e,t,r,n){return n.compare(t,r)>0}),re=t4("<=",function(e,t,r){return t<=r},function(e,t,r,n){return 0>=n.compare(t,r)}),rt=t4(">=",function(e,t,r){return t>=r},function(e,t,r,n){return n.compare(t,r)>=0}),rr=function(e,t,r,n,i){this.type=eN,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};rr.parse=function(e,t){if(3!==e.length)return t.error("Expected two arguments.");var r=t.parse(e[1],1,eB);if(!r)return null;var n=e[2];if("object"!=typeof n||Array.isArray(n))return t.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=t.parse(n.locale,1,eN)))return null;var a=null;if(n.currency&&!(a=t.parse(n.currency,1,eN)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=t.parse(n["min-fraction-digits"],1,eB)))return null;var s=null;return!n["max-fraction-digits"]||(s=t.parse(n["max-fraction-digits"],1,eB))?new rr(r,i,a,o,s):null},rr.prototype.evaluate=function(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))},rr.prototype.eachChild=function(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)},rr.prototype.outputDefined=function(){return!1},rr.prototype.serialize=function(){var e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]};var rn=function(e){this.type=eB,this.input=e};rn.parse=function(e,t){if(2!==e.length)return t.error("Expected 1 argument, but found "+(e.length-1)+" instead.");var r=t.parse(e[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?t.error("Expected argument of type string or array, but found "+eX(r.type)+" instead."):new rn(r):null},rn.prototype.evaluate=function(e){var t=this.input.evaluate(e);if("string"==typeof t||Array.isArray(t))return t.length;throw new tt("Expected value to be of type string or array, but found "+eX(e7(t))+" instead.")},rn.prototype.eachChild=function(e){e(this.input)},rn.prototype.outputDefined=function(){return!1},rn.prototype.serialize=function(){var e=["length"];return this.eachChild(function(t){e.push(t.serialize())}),e};var ri={"==":t6,"!=":t8,">":t9,"<":t7,">=":rt,"<=":re,array:tn,at:tJ,boolean:tn,case:t1,coalesce:tX,collator:th,format:ti,image:ta,in:tK,"index-of":tQ,interpolate:tW,"interpolate-hcl":tW,"interpolate-lab":tW,length:rn,let:t$,literal:te,match:t0,number:tn,"number-format":rr,object:tn,slice:t2,step:tC,string:tn,"to-boolean":ts,"to-color":ts,"to-number":ts,"to-string":ts,var:tM,within:tw};function ra(e,t){var r=t[0],n=t[1],i=t[2],a=t[3];r=r.evaluate(e),n=n.evaluate(e),i=i.evaluate(e);var o=a?a.evaluate(e):1,s=e6(r,n,i,o);if(s)throw new tt(s);return new e1(r/255*o,n/255*o,i/255*o,o)}function ro(e,t){var r=t[e];return void 0===r?null:r}function rs(e){return{result:"success",value:e}}function rl(e){return{result:"error",value:e}}function rc(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function ru(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function rh(e){return!!e.expression&&e.expression.interpolated}function rf(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function rp(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function rd(e){return e}function rm(e,t,r){return void 0!==e?e:void 0!==t?t:void 0!==r?r:void 0}function rg(e,t,r,n,i){return rm(typeof r===i?n[r]:void 0,e.default,t.default)}function ry(e,t,r){if("number"!==rf(r))return rm(e.default,t.default);var n=e.stops.length;if(1===n||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];var i=tE(e.stops.map(function(e){return e[0]}),r);return e.stops[i][1]}function rv(e,t,r){var n,i,a,o=void 0!==e.base?e.base:1;if("number"!==rf(r))return rm(e.default,t.default);var s=e.stops.length;if(1===s||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[s-1][0])return e.stops[s-1][1];var l=tE(e.stops.map(function(e){return e[0]}),r),c=(n=e.stops[l][0],i=e.stops[l+1][0]-n,a=r-n,0===i?0:1===o?a/i:(Math.pow(o,a)-1)/(Math.pow(o,i)-1)),u=e.stops[l][1],h=e.stops[l+1][1],f=tI[t.type]||rd;if(e.colorSpace&&"rgb"!==e.colorSpace){var p=tZ[e.colorSpace];f=function(e,t){return p.reverse(p.interpolate(p.forward(e),p.forward(t),c))}}return"function"==typeof u.evaluate?{evaluate:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var r=u.evaluate.apply(void 0,e),n=h.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return f(r,n,c)}}:f(u,h,c)}function rx(e,t,r){return"color"===t.type?r=e1.parse(r):"formatted"===t.type?r=e5.fromString(r.toString()):"resolvedImage"===t.type?r=e4.fromString(r.toString()):rf(r)===t.type||"enum"===t.type&&t.values[r]||(r=void 0),rm(r,e.default,t.default)}tu.register(ri,{error:[{kind:"error"},[eN],function(e,t){throw new tt(t[0].evaluate(e))}],typeof:[eN,[eH],function(e,t){return eX(e7(t[0].evaluate(e)))}],"to-rgba":[eY(eB,4),[eV],function(e,t){return t[0].evaluate(e).toArray()}],rgb:[eV,[eB,eB,eB],ra],rgba:[eV,[eB,eB,eB,eB],ra],has:{type:eU,overloads:[[[eN],function(e,t){return t[0].evaluate(e) in e.properties()}],[[eN,eq],function(e,t){var r=t[0],n=t[1];return r.evaluate(e) in n.evaluate(e)}]]},get:{type:eH,overloads:[[[eN],function(e,t){return ro(t[0].evaluate(e),e.properties())}],[[eN,eq],function(e,t){var r=t[0],n=t[1];return ro(r.evaluate(e),n.evaluate(e))}]]},"feature-state":[eH,[eN],function(e,t){return ro(t[0].evaluate(e),e.featureState||{})}],properties:[eq,[],function(e){return e.properties()}],"geometry-type":[eN,[],function(e){return e.geometryType()}],id:[eH,[],function(e){return e.id()}],zoom:[eB,[],function(e){return e.globals.zoom}],"heatmap-density":[eB,[],function(e){return e.globals.heatmapDensity||0}],"line-progress":[eB,[],function(e){return e.globals.lineProgress||0}],accumulated:[eH,[],function(e){return void 0===e.globals.accumulated?null:e.globals.accumulated}],"+":[eB,{type:eB},function(e,t){for(var r=0,n=0;n":[eU,[eN,eH],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[eU,[eH],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[eU,[eN,eH],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[eU,[eH],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[eU,[eN,eH],function(e,t){var r=t[0],n=t[1],i=e.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[eU,[eH],function(e,t){var r=t[0],n=e.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[eU,[eH],function(e,t){return t[0].value in e.properties()}],"filter-has-id":[eU,[],function(e){return null!==e.id()&&void 0!==e.id()}],"filter-type-in":[eU,[eY(eN)],function(e,t){return t[0].value.indexOf(e.geometryType())>=0}],"filter-id-in":[eU,[eY(eH)],function(e,t){return t[0].value.indexOf(e.id())>=0}],"filter-in-small":[eU,[eN,eY(eH)],function(e,t){var r=t[0];return t[1].value.indexOf(e.properties()[r.value])>=0}],"filter-in-large":[eU,[eN,eY(eH)],function(e,t){var r=t[0],n=t[1];return function(e,t,r,n){for(;r<=n;){var i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1}(e.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:eU,overloads:[[[eU,eU],function(e,t){var r=t[0],n=t[1];return r.evaluate(e)&&n.evaluate(e)}],[{type:eU},function(e,t){for(var r=0;r0&&"string"==typeof e[0]&&e[0]in ri}function rw(e,t){var r,n=new tS(ri,[],t?(r={color:eV,string:eN,number:eB,enum:eN,boolean:eU,formatted:eZ,resolvedImage:eW},"array"===t.type?eY(r[t.value]||eH,t.length):r[t.type]):void 0),i=n.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return i?rs(new r_(i,t)):rl(n.errors)}r_.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},r_.prototype.evaluate=function(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new tt("Expected value to be one of "+Object.keys(this._enumValues).map(function(e){return JSON.stringify(e)}).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}};var rT=function(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!tk(t.expression)};rT.prototype.evaluateWithoutErrorHandling=function(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)},rT.prototype.evaluate=function(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)};var rk=function(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent="camera"!==e&&!tk(t.expression),this.interpolationType=n};function rA(e,t){if("error"===(e=rw(e,t)).result)return e;var r=e.value.expression,n=tT(r);if(!n&&!rc(t))return rl([new eR("","data expressions not supported")]);var i=tA(r,["zoom"]);if(!i&&!ru(t))return rl([new eR("","zoom expressions not supported")]);var a=function e(t){var r=null;if(t instanceof t$)r=e(t.result);else if(t instanceof tX)for(var n=0,i=t.args;nn.maximum?[new eI(t,r,r+" is greater than the maximum value "+n.maximum)]:[]}function rL(e){var t,r,n,i=e.valueSpec,a=eO(e.value.type),o={},s="categorical"!==a&&void 0===e.value.property,l="array"===rf(e.value.stops)&&"array"===rf(e.value.stops[0])&&"object"===rf(e.value.stops[0][0]),c=rS({key:e.key,value:e.value,valueSpec:e.styleSpec.function,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===a)return[new eI(e.key,e.value,'identity function may not have a "stops" property')];var t=[],r=e.value;return t=t.concat(rE({key:e.key,value:r,valueSpec:e.valueSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:u})),"array"===rf(r)&&0===r.length&&t.push(new eI(e.key,r,"array must have at least one stop")),t},default:function(e){return rJ({key:e.key,value:e.value,valueSpec:i,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===a&&s&&c.push(new eI(e.key,e.value,'missing required property "property"')),"identity"===a||e.value.stops||c.push(new eI(e.key,e.value,'missing required property "stops"')),"exponential"===a&&e.valueSpec.expression&&!rh(e.valueSpec)&&c.push(new eI(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(s||rc(e.valueSpec)?s&&!ru(e.valueSpec)&&c.push(new eI(e.key,e.value,"zoom functions not supported")):c.push(new eI(e.key,e.value,"property functions not supported"))),("categorical"===a||l)&&void 0===e.value.property&&c.push(new eI(e.key,e.value,'"property" property is required')),c;function u(e){var t=[],a=e.value,s=e.key;if("array"!==rf(a))return[new eI(s,a,"array expected, "+rf(a)+" found")];if(2!==a.length)return[new eI(s,a,"array length 2 expected, length "+a.length+" found")];if(l){if("object"!==rf(a[0]))return[new eI(s,a,"object expected, "+rf(a[0])+" found")];if(void 0===a[0].zoom)return[new eI(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new eI(s,a,"object stop key must have value")];if(n&&n>eO(a[0].zoom))return[new eI(s,a[0].zoom,"stop zoom values must appear in ascending order")];eO(a[0].zoom)!==n&&(n=eO(a[0].zoom),r=void 0,o={}),t=t.concat(rS({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:rC,value:h}}))}else t=t.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:e.style,styleSpec:e.styleSpec},a));return rb(eD(a[1]))?t.concat([new eI(s+"[1]",a[1],"expressions are not allowed in function stops.")]):t.concat(rJ({key:s+"[1]",value:a[1],valueSpec:i,style:e.style,styleSpec:e.styleSpec}))}function h(e,n){var s=rf(e.value),l=eO(e.value),c=null!==e.value?e.value:n;if(t){if(s!==t)return[new eI(e.key,c,s+" stop domain type must match previous stop domain type "+t)]}else t=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new eI(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return rc(i)&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new eI(e.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(var t=0,r=e.slice(1);t"===r||"<="===r||">="===r?rF(t[1],t[2],r):"any"===r?["any"].concat(t.slice(1).map(e)):"all"===r?["all"].concat(t.slice(1).map(e)):"none"===r?["all"].concat(t.slice(1).map(e).map(rN)):"in"===r?rj(t[1],t.slice(2)):"!in"===r?rN(rj(t[1],t.slice(2))):"has"===r?rB(t[1]):"!has"===r?rN(rB(t[1])):"within"!==r||t}(e));var t=rw(e,rO);if("error"!==t.result)return{filter:function(e,r,n){return t.value.evaluate(e,r,{},n)},needGeometry:function e(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var r=1;rt?1:0}function rF(e,t,r){switch(e){case"$type":return["filter-type-"+r,t];case"$id":return["filter-id-"+r,t];default:return["filter-"+r,e,t]}}function rj(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:if(t.length>200&&!t.some(function(e){return typeof e!=typeof t[0]}))return["filter-in-large",e,["literal",t.sort(rR)]];return["filter-in-small",e,["literal",t]]}}function rB(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function rN(e){return["!",e]}function rU(e){return rz(eD(e.value))?rI(ez({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function e(t){var r,n=t.value,i=t.key;if("array"!==rf(n))return[new eI(i,n,"array expected, "+rf(n)+" found")];var a=t.styleSpec,o=[];if(n.length<1)return[new eI(i,n,"filter array must have at least 1 element")];switch(o=o.concat(rP({key:i+"[0]",value:n[0],valueSpec:a.filter_operator,style:t.style,styleSpec:t.styleSpec})),eO(n[0])){case"<":case"<=":case">":case">=":n.length>=2&&"$type"===eO(n[1])&&o.push(new eI(i,n,'"$type" cannot be use with operator "'+n[0]+'"'));case"==":case"!=":3!==n.length&&o.push(new eI(i,n,'filter array for operator "'+n[0]+'" must have 3 elements'));case"in":case"!in":n.length>=2&&"string"!==(r=rf(n[1]))&&o.push(new eI(i+"[1]",n[1],"string expected, "+r+" found"));for(var s=2;s=u[p+0]&&n>=u[p+1])?(o[f]=!0,a.push(c[f])):o[f]=!1}}},r6.prototype._forEachCell=function(e,t,r,n,i,a,o,s){for(var l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&i.call(this,e,t,r,n,d,a,o,s))return}},r6.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},r6.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},r6.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=3+this.cells.length+1+1,r=0,n=0;n=0)){var c=e[l];s[l]=r9[o].shallow.indexOf(l)>=0?c:ni(c,t)}e instanceof Error&&(s.message=e.message)}if(s.$name)throw Error("$name property is reserved for worker serialization logic.");return"Object"!==o&&(s.$name=o),s}throw Error("can't serialize object of type "+typeof e)}function na(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||nr(e)||nn(e)||ArrayBuffer.isView(e)||e instanceof r8)return e;if(Array.isArray(e))return e.map(na);if("object"==typeof e){var t=e.$name||"Object",r=r9[t].klass;if(!r)throw Error("can't deserialize unregistered class "+t);if(r.deserialize)return r.deserialize(e);for(var n=Object.create(r.prototype),i=0,a=Object.keys(e);i=0?s:na(s)}}return n}throw Error("can't deserialize object of type "+typeof e)}var no=function(){this.first=!0};no.prototype.update=function(e,t){var r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoom=128&&e<=255},Arabic:function(e){return e>=1536&&e<=1791},"Arabic Supplement":function(e){return e>=1872&&e<=1919},"Arabic Extended-A":function(e){return e>=2208&&e<=2303},"Hangul Jamo":function(e){return e>=4352&&e<=4607},"Unified Canadian Aboriginal Syllabics":function(e){return e>=5120&&e<=5759},Khmer:function(e){return e>=6016&&e<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(e){return e>=6320&&e<=6399},"General Punctuation":function(e){return e>=8192&&e<=8303},"Letterlike Symbols":function(e){return e>=8448&&e<=8527},"Number Forms":function(e){return e>=8528&&e<=8591},"Miscellaneous Technical":function(e){return e>=8960&&e<=9215},"Control Pictures":function(e){return e>=9216&&e<=9279},"Optical Character Recognition":function(e){return e>=9280&&e<=9311},"Enclosed Alphanumerics":function(e){return e>=9312&&e<=9471},"Geometric Shapes":function(e){return e>=9632&&e<=9727},"Miscellaneous Symbols":function(e){return e>=9728&&e<=9983},"Miscellaneous Symbols and Arrows":function(e){return e>=11008&&e<=11263},"CJK Radicals Supplement":function(e){return e>=11904&&e<=12031},"Kangxi Radicals":function(e){return e>=12032&&e<=12255},"Ideographic Description Characters":function(e){return e>=12272&&e<=12287},"CJK Symbols and Punctuation":function(e){return e>=12288&&e<=12351},Hiragana:function(e){return e>=12352&&e<=12447},Katakana:function(e){return e>=12448&&e<=12543},Bopomofo:function(e){return e>=12544&&e<=12591},"Hangul Compatibility Jamo":function(e){return e>=12592&&e<=12687},Kanbun:function(e){return e>=12688&&e<=12703},"Bopomofo Extended":function(e){return e>=12704&&e<=12735},"CJK Strokes":function(e){return e>=12736&&e<=12783},"Katakana Phonetic Extensions":function(e){return e>=12784&&e<=12799},"Enclosed CJK Letters and Months":function(e){return e>=12800&&e<=13055},"CJK Compatibility":function(e){return e>=13056&&e<=13311},"CJK Unified Ideographs Extension A":function(e){return e>=13312&&e<=19903},"Yijing Hexagram Symbols":function(e){return e>=19904&&e<=19967},"CJK Unified Ideographs":function(e){return e>=19968&&e<=40959},"Yi Syllables":function(e){return e>=40960&&e<=42127},"Yi Radicals":function(e){return e>=42128&&e<=42191},"Hangul Jamo Extended-A":function(e){return e>=43360&&e<=43391},"Hangul Syllables":function(e){return e>=44032&&e<=55215},"Hangul Jamo Extended-B":function(e){return e>=55216&&e<=55295},"Private Use Area":function(e){return e>=57344&&e<=63743},"CJK Compatibility Ideographs":function(e){return e>=63744&&e<=64255},"Arabic Presentation Forms-A":function(e){return e>=64336&&e<=65023},"Vertical Forms":function(e){return e>=65040&&e<=65055},"CJK Compatibility Forms":function(e){return e>=65072&&e<=65103},"Small Form Variants":function(e){return e>=65104&&e<=65135},"Arabic Presentation Forms-B":function(e){return e>=65136&&e<=65279},"Halfwidth and Fullwidth Forms":function(e){return e>=65280&&e<=65519}};function nl(e){for(var t=0;t=65097&&e<=65103)||ns["CJK Compatibility Ideographs"](e)||ns["CJK Compatibility"](e)||ns["CJK Radicals Supplement"](e)||ns["CJK Strokes"](e)||ns["CJK Symbols and Punctuation"](e)&&!(e>=12296&&e<=12305)&&!(e>=12308&&e<=12319)&&12336!==e||ns["CJK Unified Ideographs Extension A"](e)||ns["CJK Unified Ideographs"](e)||ns["Enclosed CJK Letters and Months"](e)||ns["Hangul Compatibility Jamo"](e)||ns["Hangul Jamo Extended-A"](e)||ns["Hangul Jamo Extended-B"](e)||ns["Hangul Jamo"](e)||ns["Hangul Syllables"](e)||ns.Hiragana(e)||ns["Ideographic Description Characters"](e)||ns.Kanbun(e)||ns["Kangxi Radicals"](e)||ns["Katakana Phonetic Extensions"](e)||ns.Katakana(e)&&12540!==e||ns["Halfwidth and Fullwidth Forms"](e)&&65288!==e&&65289!==e&&65293!==e&&!(e>=65306&&e<=65310)&&65339!==e&&65341!==e&&65343!==e&&!(e>=65371&&e<=65503)&&65507!==e&&!(e>=65512&&e<=65519)||ns["Small Form Variants"](e)&&!(e>=65112&&e<=65118)&&!(e>=65123&&e<=65126)||ns["Unified Canadian Aboriginal Syllabics"](e)||ns["Unified Canadian Aboriginal Syllabics Extended"](e)||ns["Vertical Forms"](e)||ns["Yijing Hexagram Symbols"](e)||ns["Yi Syllables"](e)||ns["Yi Radicals"](e))}function nu(e){return!(nc(e)||ns["Latin-1 Supplement"](e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||ns["General Punctuation"](e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||ns["Letterlike Symbols"](e)||ns["Number Forms"](e)||ns["Miscellaneous Technical"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||ns["Control Pictures"](e)&&9251!==e||ns["Optical Character Recognition"](e)||ns["Enclosed Alphanumerics"](e)||ns["Geometric Shapes"](e)||ns["Miscellaneous Symbols"](e)&&!(e>=9754&&e<=9759)||ns["Miscellaneous Symbols and Arrows"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||ns["CJK Symbols and Punctuation"](e)||ns.Katakana(e)||ns["Private Use Area"](e)||ns["CJK Compatibility Forms"](e)||ns["Small Form Variants"](e)||ns["Halfwidth and Fullwidth Forms"](e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}function nh(e){return e>=1424&&e<=2303||ns["Arabic Presentation Forms-A"](e)||ns["Arabic Presentation Forms-B"](e)}var nf={unavailable:"unavailable",deferred:"deferred",loading:"loading",loaded:"loaded",error:"error"},np=null,nd=nf.unavailable,nm=null,ng=function(e){e&&"string"==typeof e&&e.indexOf("NetworkError")>-1&&(nd=nf.error),np&&np(e)};function ny(){nv.fire(new eS("pluginStateChange",{pluginStatus:nd,pluginURL:nm}))}var nv=new eC,nx=function(){return nd},n_=function(){if(nd!==nf.deferred||!nm)throw Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");nd=nf.loading,ny(),nm&&eb({url:nm},function(e){e?ng(e):(nd=nf.loaded,ny())})},nb={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return nd===nf.loaded||null!=nb.applyArabicShaping},isLoading:function(){return nd===nf.loading},setState:function(e){nd=e.pluginStatus,nm=e.pluginURL},isParsed:function(){return null!=nb.applyArabicShaping&&null!=nb.processBidirectionalText&&null!=nb.processStyledBidirectionalText},getPluginURL:function(){return nm}},nw=function(){nb.isLoading()||nb.isLoaded()||"deferred"!==nx()||n_()},nT=function(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new no,this.transition={})};nT.prototype.isSupportedScript=function(e){return function(e,t){for(var r,n=0;n=2304&&r<=3583||r>=3840&&r<=4255||ns.Khmer(r))return!1;return!0}(e,nb.isLoaded())},nT.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},nT.prototype.getCrossfadeParameters=function(){var e=this.zoom,t=e-Math.floor(e),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}};var nk=function(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(rp(e))return new rM(e,t);if(rb(e)){var r=rA(e,t);if("error"===r.result)throw Error(r.value.map(function(e){return e.key+": "+e.message}).join(", "));return r.value}var n=e;return"string"==typeof e&&"color"===t.type&&(n=e1.parse(e)),{kind:"constant",evaluate:function(){return n}}}(void 0===t?e.specification.default:t,e.specification)};nk.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},nk.prototype.possiblyEvaluate=function(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)};var nA=function(e){this.property=e,this.value=new nk(e,void 0)};nA.prototype.transitioned=function(e,t){return new nS(this.property,this.value,t,w({},e.transition,this.transition),e.now)},nA.prototype.untransitioned=function(){return new nS(this.property,this.value,null,{},0)};var nM=function(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)};nM.prototype.getValue=function(e){return I(this._values[e].value.value)},nM.prototype.setValue=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new nA(this._values[e].property)),this._values[e].value=new nk(this._values[e].property,null===t?void 0:I(t))},nM.prototype.getTransition=function(e){return I(this._values[e].transition)},nM.prototype.setTransition=function(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new nA(this._values[e].property)),this._values[e].transition=I(t)||void 0},nM.prototype.serialize=function(){for(var e={},t=0,r=Object.keys(this._values);tthis.end||this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))};var nE=function(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)};nE.prototype.possiblyEvaluate=function(e,t,r){for(var n=new nI(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},t.prototype.interpolate=function(e){return e},t}(nz),nD=function(e){this.specification=e};nD.prototype.possiblyEvaluate=function(e,t,r,n){if(void 0!==e.value){if("constant"!==e.expression.kind)return this._calculate(e.expression.evaluate(new nT(Math.floor(t.zoom-1),t)),e.expression.evaluate(new nT(Math.floor(t.zoom),t)),e.expression.evaluate(new nT(Math.floor(t.zoom+1),t)),t);var i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}},nD.prototype._calculate=function(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}},nD.prototype.interpolate=function(e){return e};var nR=function(e){this.specification=e};nR.prototype.possiblyEvaluate=function(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)},nR.prototype.interpolate=function(){return!1};var nF=function(e){for(var t in this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],e){var r=e[t];r.specification.overridable&&this.overridableProperties.push(t);var n=this.defaultPropertyValues[t]=new nk(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new nA(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}};ne("DataDrivenProperty",nz),ne("DataConstantProperty",nP),ne("CrossFadedDataDrivenProperty",nO),ne("CrossFadedProperty",nD),ne("ColorRampProperty",nR);var nj="-transition",nB=function(e){function t(t,r){if(e.call(this),this.id=t.id,this.type=t.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),r.layout&&(this._unevaluatedLayout=new nC(r.layout)),r.paint)){for(var n in this._transitionablePaint=new nM(r.paint),t.paint)this.setPaintProperty(n,t.paint[n],{validate:!1});for(var i in t.layout)this.setLayoutProperty(i,t.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new nI(r.paint)}}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},t.prototype.getLayoutProperty=function(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)},t.prototype.setLayoutProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n="layers."+this.id+".layout."+e;if(this._validate(r5,n,e,t,r))return}if("visibility"===e){this.visibility=t;return}this._unevaluatedLayout.setValue(e,t)},t.prototype.getPaintProperty=function(e){return E(e,nj)?this._transitionablePaint.getTransition(e.slice(0,-nj.length)):this._transitionablePaint.getValue(e)},t.prototype.setPaintProperty=function(e,t,r){if(void 0===r&&(r={}),null!=t){var n="layers."+this.id+".paint."+e;if(this._validate(r3,n,e,t,r))return!1}if(E(e,nj))return this._transitionablePaint.setTransition(e.slice(0,-nj.length),t||void 0),!1;var i=this._transitionablePaint._values[e],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);var l=this._transitionablePaint._values[e].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(e,s,l)},t.prototype._handleSpecialPaintPropertyUpdate=function(e){},t.prototype._handleOverridablePaintPropertyUpdate=function(e,t,r){return!1},t.prototype.isHidden=function(e){return!!this.minzoom&&e=this.maxzoom||"none"===this.visibility},t.prototype.updateTransitions=function(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)},t.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},t.prototype.recalculate=function(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)},t.prototype.serialize=function(){var e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),L(e,function(e,t){return void 0!==e&&!("layout"===t&&!Object.keys(e).length)&&!("paint"===t&&!Object.keys(e).length)})},t.prototype._validate=function(e,t,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&r4(this,e.call(rQ,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:eL,style:{glyphs:!0,sprite:!0}}))},t.prototype.is3D=function(){return!1},t.prototype.isTileClipped=function(){return!1},t.prototype.hasOffscreenPass=function(){return!1},t.prototype.resize=function(){},t.prototype.isStateDependent=function(){for(var e in this.paint._values){var t=this.paint.get(e);if(t instanceof nL&&rc(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1},t}(eC),nN={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},nU=function(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},nV=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function nq(e,t){void 0===t&&(t=1);var r=0,n=0;return{members:e.map(function(e){var i=nN[e.type].BYTES_PER_ELEMENT,a=r=nH(r,Math.max(t,i)),o=e.components||1;return n=Math.max(n,i),r+=i*o,{name:e.name,type:e.type,components:o,offset:a}}),size:nH(r,Math.max(n,t)),alignment:t}}function nH(e,t){return Math.ceil(e/t)*t}nV.serialize=function(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}},nV.deserialize=function(e){var t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t},nV.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},nV.prototype.clear=function(){this.length=0},nV.prototype.resize=function(e){this.reserve(e),this.length=e},nV.prototype.reserve=function(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}},nV.prototype._refreshViews=function(){throw Error("_refreshViews() must be implemented by each concrete StructArray layout")};var nG=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e},t}(nV);nG.prototype.bytesPerElement=4,ne("StructArrayLayout2i4",nG);var nZ=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e},t}(nV);nZ.prototype.bytesPerElement=8,ne("StructArrayLayout4i8",nZ);var nW=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(nV);nW.prototype.bytesPerElement=12,ne("StructArrayLayout2i4i12",nW);var nY=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e},t}(nV);nY.prototype.bytesPerElement=8,ne("StructArrayLayout2i4ub8",nY);var nX=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e},t}(nV);nX.prototype.bytesPerElement=8,ne("StructArrayLayout2f8",nX);var n$=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l,c)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u){var h=10*e;return this.uint16[h+0]=t,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,e},t}(nV);n$.prototype.bytesPerElement=20,ne("StructArrayLayout10ui20",n$);var nJ=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,n,i,a,o,s,l,c,u,h)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f){var p=12*e;return this.int16[p+0]=t,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,e},t}(nV);nJ.prototype.bytesPerElement=24,ne("StructArrayLayout4i4ui4i24",nJ);var nK=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e},t}(nV);nK.prototype.bytesPerElement=12,ne("StructArrayLayout3f12",nK);var nQ=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){return this.uint32[1*e+0]=t,e},t}(nV);nQ.prototype.bytesPerElement=4,ne("StructArrayLayout1ul4",nQ);var n0=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c){var u=10*e;return this.int16[u+0]=t,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[5*e+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e},t}(nV);n0.prototype.bytesPerElement=20,ne("StructArrayLayout6i1ul2ui20",n0);var n1=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)},t.prototype.emplace=function(e,t,r,n,i,a,o){var s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e},t}(nV);n1.prototype.bytesPerElement=12,ne("StructArrayLayout2i2i2i12",n1);var n2=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)},t.prototype.emplace=function(e,t,r,n,i,a){var o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e},t}(nV);n2.prototype.bytesPerElement=16,ne("StructArrayLayout2f1f2i16",n2);var n3=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=12*e,o=3*e;return this.uint8[a+0]=t,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,e},t}(nV);n3.prototype.bytesPerElement=12,ne("StructArrayLayout2ub2f12",n3);var n5=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e},t}(nV);n5.prototype.bytesPerElement=6,ne("StructArrayLayout3ui6",n5);var n4=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){var y=this.length;return this.resize(y+1),this.emplace(y,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){var v=24*e,x=12*e,_=48*e;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,e},t}(nV);n4.prototype.bytesPerElement=48,ne("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",n4);var n6=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)},t.prototype.emplace=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){var C=34*e,L=17*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.float32[L+15]=S,this.float32[L+16]=E,e},t}(nV);n6.prototype.bytesPerElement=68,ne("StructArrayLayout8i15ui1ul4f68",n6);var n8=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){return this.float32[1*e+0]=t,e},t}(nV);n8.prototype.bytesPerElement=4,ne("StructArrayLayout1f4",n8);var n7=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e},t}(nV);n7.prototype.bytesPerElement=6,ne("StructArrayLayout3i6",n7);var n9=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r){var n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)},t.prototype.emplace=function(e,t,r,n){var i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=r,this.uint16[i+3]=n,e},t}(nV);n9.prototype.bytesPerElement=8,ne("StructArrayLayout1ul2ui8",n9);var ie=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t){var r=this.length;return this.resize(r+1),this.emplace(r,e,t)},t.prototype.emplace=function(e,t,r){var n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e},t}(nV);ie.prototype.bytesPerElement=4,ne("StructArrayLayout2ui4",ie);var it=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e){var t=this.length;return this.resize(t+1),this.emplace(t,e)},t.prototype.emplace=function(e,t){return this.uint16[1*e+0]=t,e},t}(nV);it.prototype.bytesPerElement=2,ne("StructArrayLayout1ui2",it);var ir=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},t.prototype.emplaceBack=function(e,t,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)},t.prototype.emplace=function(e,t,r,n,i){var a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e},t}(nV);ir.prototype.bytesPerElement=16,ne("StructArrayLayout4f16",ir);var ii=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new g(this.anchorPointX,this.anchorPointY)},Object.defineProperties(t.prototype,r),t}(nU);ii.prototype.size=20;var ia=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new ii(this,e)},t}(n0);ne("CollisionBoxArray",ia);var io=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(e){this._structArray.uint8[this._pos1+37]=e},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(e){this._structArray.uint8[this._pos1+38]=e},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+10]=e},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(t.prototype,r),t}(nU);io.prototype.size=48;var is=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new io(this,e)},t}(n4);ne("PlacedSymbolArray",is);var il=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(e){this._structArray.uint32[this._pos4+12]=e},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(t.prototype,r),t}(nU);il.prototype.size=68;var ic=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new il(this,e)},t}(n6);ne("SymbolInstanceArray",ic);var iu=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getoffsetX=function(e){return this.float32[1*e+0]},t}(n8);ne("GlyphOffsetArray",iu);var ih=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.getx=function(e){return this.int16[3*e+0]},t.prototype.gety=function(e){return this.int16[3*e+1]},t.prototype.gettileUnitDistanceFromAnchor=function(e){return this.int16[3*e+2]},t}(n7);ne("SymbolLineVertexArray",ih);var ip=function(e){function t(){e.apply(this,arguments)}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(t.prototype,r),t}(nU);ip.prototype.size=8;var id=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.get=function(e){return new ip(this,e)},t}(n9);ne("FeatureIndexArray",id);var im=nq([{name:"a_pos",components:2,type:"Int16"}],4).members,ig=function(e){void 0===e&&(e=[]),this.segments=e};function iy(e,t){return 256*(e=_(Math.floor(e),0,255))+(t=_(Math.floor(t),0,255))}ig.prototype.prepareSegment=function(e,t,r,n){var i=this.segments[this.segments.length-1];return e>ig.MAX_VERTEX_ARRAY_LENGTH&&z("Max vertices per segment is "+ig.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+e),(!i||i.vertexLength+e>ig.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},ig.prototype.get=function(){return this.segments},ig.prototype.destroy=function(){for(var e=0,t=this.segments;e>>16)*3432918353&65535)<<16)&4294967295)<<15|o>>>17))*461845907+(((o>>>16)*461845907&65535)<<16)&4294967295,i=(65535&(a=(65535&(i=i<<13|i>>>19))*5+(((i>>>16)*5&65535)<<16)&4294967295))+27492+(((a>>>16)+58964&65535)<<16);switch(o=0,r){case 3:o^=(255&e.charCodeAt(s+2))<<16;case 2:o^=(255&e.charCodeAt(s+1))<<8;case 1:o^=255&e.charCodeAt(s),i^=o=(65535&(o=(o=(65535&o)*3432918353+(((o>>>16)*3432918353&65535)<<16)&4294967295)<<15|o>>>17))*461845907+(((o>>>16)*461845907&65535)<<16)&4294967295}return i^=e.length,i^=i>>>16,i=(65535&i)*2246822507+(((i>>>16)*2246822507&65535)<<16)&4294967295,i^=i>>>13,i=(65535&i)*3266489909+(((i>>>16)*3266489909&65535)<<16)&4294967295,(i^=i>>>16)>>>0}}),i_=t(function(e){e.exports=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))*1540483477+(((r>>>16)*1540483477&65535)<<16),r^=r>>>24,i=(65535&i)*1540483477+(((i>>>16)*1540483477&65535)<<16)^(r=(65535&r)*1540483477+(((r>>>16)*1540483477&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i^=255&e.charCodeAt(a),i=(65535&i)*1540483477+(((i>>>16)*1540483477&65535)<<16)}return i^=i>>>13,i=(65535&i)*1540483477+(((i>>>16)*1540483477&65535)<<16),(i^=i>>>15)>>>0}});ix.murmur3=ix,ix.murmur2=i_;var ib=function(){this.ids=[],this.positions=[],this.indexed=!1};function iw(e){var t=+e;return!isNaN(t)&&t<=9007199254740991?t:ix(String(e))}function iT(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}ib.prototype.add=function(e,t,r,n){this.ids.push(iw(e)),this.positions.push(t,r,n)},ib.prototype.getPositions=function(e){for(var t=iw(e),r=0,n=this.ids.length-1;r>1;this.ids[i]>=t?n=i:r=i+1}for(var a=[];this.ids[r]===t;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},ib.serialize=function(e,t){var r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return function e(t,r,n,i){for(;n>1],o=n-1,s=i+1;;){do o++;while(t[o]a);if(o>=s)break;iT(t,o,s),iT(r,3*o,3*s),iT(r,3*o+1,3*s+1),iT(r,3*o+2,3*s+2)}s-no.x+1||lo.y+1)&&z("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function iq(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?iV(e):[]}}function iH(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}iN.prototype.populatePaintArrays=function(e,t,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(e,t,n,i,a);void 0!==t.id&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0},iN.prototype.updatePaintArrays=function(e,t,r,n){for(var i=0;i1?e.distSqr(r):e.distSqr(r.sub(t)._mult(i)._add(t))}function iJ(e,t){for(var r,n,i,a=!1,o=0;ot.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function iK(e,t){for(var r=!1,n=0,i=e.length-1;nt.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function iQ(e,t,r){var n=t.paint.get(e).value;return"constant"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function i0(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function i1(e,t,r,n,i){if(!t[0]&&!t[1])return e;var a=g.convert(t)._mult(i);"viewport"===r&&a._rotate(-n);for(var o=[],s=0;s=8192)&&!(c<0)&&!(c>=8192)){var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),h=u.vertexLength;iH(this.layoutVertexArray,l,c,-1,-1),iH(this.layoutVertexArray,l,c,1,-1),iH(this.layoutVertexArray,l,c,1,1),iH(this.layoutVertexArray,l,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),u.vertexLength+=4,u.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)},ne("CircleBucket",iG,{omit:["layers"]});var i2=new nF({"circle-sort-key":new nz(eL.layout_circle["circle-sort-key"])}),i3={paint:new nF({"circle-radius":new nz(eL.paint_circle["circle-radius"]),"circle-color":new nz(eL.paint_circle["circle-color"]),"circle-blur":new nz(eL.paint_circle["circle-blur"]),"circle-opacity":new nz(eL.paint_circle["circle-opacity"]),"circle-translate":new nP(eL.paint_circle["circle-translate"]),"circle-translate-anchor":new nP(eL.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new nP(eL.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new nP(eL.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new nz(eL.paint_circle["circle-stroke-width"]),"circle-stroke-color":new nz(eL.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new nz(eL.paint_circle["circle-stroke-opacity"])}),layout:i2},i5="undefined"!=typeof Float32Array?Float32Array:Array;function i4(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function i6(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],m=t[12],g=t[13],y=t[14],v=t[15],x=r[0],_=r[1],b=r[2],w=r[3];return e[0]=x*n+_*s+b*h+w*m,e[1]=x*i+_*l+b*f+w*g,e[2]=x*a+_*c+b*p+w*y,e[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],e[4]=x*n+_*s+b*h+w*m,e[5]=x*i+_*l+b*f+w*g,e[6]=x*a+_*c+b*p+w*y,e[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],e[8]=x*n+_*s+b*h+w*m,e[9]=x*i+_*l+b*f+w*g,e[10]=x*a+_*c+b*p+w*y,e[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],e[12]=x*n+_*s+b*h+w*m,e[13]=x*i+_*l+b*f+w*g,e[14]=x*a+_*c+b*p+w*y,e[15]=x*o+_*u+b*d+w*v,e}function i8(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e}Math.hypot||(Math.hypot=function(){for(var e=arguments,t=0,r=arguments.length;r--;)t+=e[r]*e[r];return Math.sqrt(t)}),r=new i5(3),i5!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),n=new i5(4),i5!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0),i=new i5(2),i5!=Float32Array&&(i[0]=0,i[1]=0);var i7=function(e){function t(t){e.call(this,t,i3)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.createBucket=function(e){return new iG(e)},t.prototype.queryRadius=function(e){return iQ("circle-radius",this,e)+iQ("circle-stroke-width",this,e)+i0(this.paint.get("circle-translate"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,a,o,s){for(var l=i1(e,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(t,r)+this.paint.get("circle-stroke-width").evaluate(t,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:l.map(function(e){return i9(e,s)}),f=u?c*o:c,p=0;pe.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw RangeError("out of range source coordinates for image copy");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw RangeError("out of range destination coordinates for image copy");for(var o=e.data,s=t.data,l=0;l=a.next.y&&a.next.y!==a.y){var c=a.x+(s-a.y)*(a.next.x-a.x)/(a.next.y-a.y);if(c<=o&&c>l){if(l=c,c===o){if(s===a.y)return a;if(s===a.next.y)return a.next}i=a.x=a.x&&a.x>=f&&o!==a.x&&av(si.x||a.x===i.x&&(r=i,n=a,0>ax(r.prev,r,n.prev)&&0>ax(n.next,r,r.next))))&&(i=a,d=u)),a=a.next;while(a!==h);return i}(e,t)){var r=aA(t,e);am(t,t.next),am(r,r.next)}})(c[i],r),r=am(r,r.next);return r}(e,t,f,r)),e.length>80*r){n=a=e[0],i=o=e[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return function e(t,r,n,i,a,o,s){if(t){!s&&o&&function(e,t,r,n){var i=e;do null===i.z&&(i.z=ay(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,r,n,i,a,o,s,l,c=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,i,a,o);for(var l,c,u=t;t.prev!==t.next;){if(l=t.prev,c=t.next,o?function(e,t,r,n){var i=e.prev,a=e.next;if(ax(i,e,a)>=0)return!1;for(var o=i.xe.x?i.x>a.x?i.x:a.x:e.x>a.x?e.x:a.x,c=i.y>e.y?i.y>a.y?i.y:a.y:e.y>a.y?e.y:a.y,u=ay(o,s,t,r,n),h=ay(l,c,t,r,n),f=e.prevZ,p=e.nextZ;f&&f.z>=u&&p&&p.z<=h;){if(f!==e.prev&&f!==e.next&&av(i.x,i.y,e.x,e.y,a.x,a.y,f.x,f.y)&&ax(f.prev,f,f.next)>=0||(f=f.prevZ,p!==e.prev&&p!==e.next&&av(i.x,i.y,e.x,e.y,a.x,a.y,p.x,p.y)&&ax(p.prev,p,p.next)>=0))return!1;p=p.nextZ}for(;f&&f.z>=u;){if(f!==e.prev&&f!==e.next&&av(i.x,i.y,e.x,e.y,a.x,a.y,f.x,f.y)&&ax(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;p&&p.z<=h;){if(p!==e.prev&&p!==e.next&&av(i.x,i.y,e.x,e.y,a.x,a.y,p.x,p.y)&&ax(p.prev,p,p.next)>=0)return!1;p=p.nextZ}return!0}(t,i,a,o):function(e){var t=e.prev,r=e.next;if(ax(t,e,r)>=0)return!1;for(var n=e.next.next;n!==e.prev;){if(av(t.x,t.y,e.x,e.y,r.x,r.y,n.x,n.y)&&ax(n.prev,n,n.next)>=0)return!1;n=n.next}return!0}(t)){r.push(l.i/n),r.push(t.i/n),r.push(c.i/n),aS(t),t=c.next,u=c.next;continue}if((t=c)===u){s?1===s?e(t=function(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!a_(i,a)&&ab(i,n,n.next,a)&&ak(i,a)&&ak(a,i)&&(t.push(i.i/r),t.push(n.i/r),t.push(a.i/r),aS(n),aS(n.next),n=e=a),n=n.next}while(n!==e);return am(n)}(am(t),r,n),r,n,i,a,o,2):2===s&&function(t,r,n,i,a,o){var s=t;do{for(var l,c,u=s.next.next;u!==s.prev;){if(s.i!==u.i&&(l=s,c=u,l.next.i!==c.i&&l.prev.i!==c.i&&!function(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&ab(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(l,c)&&(ak(l,c)&&ak(c,l)&&function(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}(l,c)&&(ax(l.prev,l,c.prev)||ax(l,c.prev,c))||a_(l,c)&&ax(l.prev,l,l.next)>0&&ax(c.prev,c,c.next)>0))){var h=aA(s,u);s=am(s,s.next),h=am(h,h.next),e(s,r,n,i,a,o),e(h,r,n,i,a,o);return}u=u.next}s=s.next}while(s!==t)}(t,r,n,i,a,o):e(am(t),r,n,i,a,o,1);break}}}}(f,p,r,n,i,c),p}function ad(e,t,r,n,i){var a,o;if(i===aC(e,t,r,n)>0)for(a=t;a=t;a-=n)o=aM(a,e[a],e[a+1],o);return o&&a_(o,o.next)&&(aS(o),o=o.next),o}function am(e,t){if(!e)return e;t||(t=e);var r,n=e;do if(r=!1,!n.steiner&&(a_(n,n.next)||0===ax(n.prev,n,n.next))){if(aS(n),(n=t=n.prev)===n.next)break;r=!0}else n=n.next;while(r||n!==t);return t}function ag(e,t){return e.x-t.x}function ay(e,t,r,n,i){return(e=((e=((e=((e=((e=32767*(e-r)*i)|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)|(t=((t=((t=((t=((t=32767*(t-n)*i)|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)<<1}function av(e,t,r,n,i,a,o,s){return(i-o)*(t-s)-(e-o)*(a-s)>=0&&(e-o)*(n-s)-(r-o)*(t-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function ax(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function a_(e,t){return e.x===t.x&&e.y===t.y}function ab(e,t,r,n){var i=aT(ax(e,t,r)),a=aT(ax(e,t,n)),o=aT(ax(r,n,e)),s=aT(ax(r,n,t));return!!(i!==a&&o!==s||0===i&&aw(e,r,t)||0===a&&aw(e,n,t)||0===o&&aw(r,e,n)||0===s&&aw(r,t,n))}function aw(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function aT(e){return e>0?1:e<0?-1:0}function ak(e,t){return 0>ax(e.prev,e,e.next)?ax(e,t,e.next)>=0&&ax(e,e.prev,t)>=0:0>ax(e,t,e.prev)||0>ax(e,e.next,t)}function aA(e,t){var r=new aE(e.i,e.x,e.y),n=new aE(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function aM(e,t,r,n){var i=new aE(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function aS(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function aE(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function aC(e,t,r,n){for(var i=0,a=t,o=r-n;at?1:0}function aP(e,t){var r,n,i,a=e.length;if(a<=1)return[e];for(var o=[],s=0;s1)for(var c=0;cn;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1),h=Math.max(n,Math.floor(r-s*c/o+u)),f=Math.min(i,Math.floor(r+(o-s)*c/o+u));e(t,r,h,f,a)}var p=t[r],d=n,m=i;for(aL(t,n,r),a(t[i],p)>0&&aL(t,n,i);da(t[d],p);)d++;for(;a(t[m],p)>0;)m--}0===a(t[n],p)?aL(t,n,m):aL(t,++m,i),m<=r&&(n=m+1),r<=m&&(i=m-1)}}(r=o[c],t,1,o[c].length-1||r.length-1,az||aI),o[c]=o[c].slice(0,t));return o}function az(e,t){return t.area-e.area}function aO(e,t,r){for(var n=r.patternDependencies,i=!1,a=0;a0&&(n+=e[i-1].length,r.holes.push(n))}return r},af.default=ap;var aR=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(function(e){return e.id}),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new nG,this.indexArray=new n5,this.indexArray2=new ie,this.programConfigurations=new iN(e.layers,e.zoom),this.segments=new ig,this.segments2=new ig,this.stateDependentLayerIds=this.layers.filter(function(e){return e.isStateDependent()}).map(function(e){return e.id})};aR.prototype.populate=function(e,t,r){this.hasPattern=aO("fill",this.layers,t);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0;a>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}function aG(e,t,r){if(3===e){var n=new aq(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}aU.types=["Unknown","Point","LineString","Polygon"],aU.prototype.loadGeometry=function(){var e=this._pbf;e.pos=this._geometry;for(var t,r=e.readVarint()+e.pos,n=1,i=0,a=0,o=0,s=[];e.pos>3}if(i--,1===n||2===n)a+=e.readSVarint(),o+=e.readSVarint(),1===n&&(t&&s.push(t),t=[]),t.push(new g(a,o));else if(7===n)t&&t.push(t[0].clone());else throw Error("unknown command "+n)}return t&&s.push(t),s},aU.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;e.pos>3}if(n--,1===r||2===r)i+=e.readSVarint(),a+=e.readSVarint(),is&&(s=i),ac&&(c=a);else if(7!==r)throw Error("unknown command "+r)}return[o,l,s,c]},aU.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),c=aU.types[this.type];function u(e){for(var t=0;t=this._features.length)throw Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new aU(this._pbf,t,this.extent,this._keys,this._values)};var aZ={VectorTile:function(e,t){this.layers=e.readFields(aG,{},t)},VectorTileFeature:aU,VectorTileLayer:aq},aW=aZ.VectorTileFeature.types;function aY(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(8192*n)+o,16384*i,16384*a,Math.round(s))}var aX=function(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(function(e){return e.id}),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new nW,this.indexArray=new n5,this.programConfigurations=new iN(e.layers,e.zoom),this.segments=new ig,this.stateDependentLayerIds=this.layers.filter(function(e){return e.isStateDependent()}).map(function(e){return e.id})};aX.prototype.populate=function(e,t,r){this.features=[],this.hasPattern=aO("fill-extrusion",this.layers,t);for(var n=0;n8192})||g.every(function(e){return e.y<0})||g.every(function(e){return e.y>8192})))for(var p=0,d=0;d=1){var g,y=f[d-1];if((m.x!==y.x||!(m.x<0)&&!(m.x>8192))&&(m.y!==y.y||!(m.y<0)&&!(m.y>8192))){u.vertexLength+4>ig.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var v=m.sub(y)._perp()._unit(),x=y.dist(m);p+x>32768&&(p=0),aY(this.layoutVertexArray,m.x,m.y,v.x,v.y,0,0,p),aY(this.layoutVertexArray,m.x,m.y,v.x,v.y,0,1,p),p+=x,aY(this.layoutVertexArray,y.x,y.y,v.x,v.y,0,0,p),aY(this.layoutVertexArray,y.x,y.y,v.x,v.y,0,1,p);var _=u.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),u.vertexLength+=4,u.primitiveLength+=2}}}}if(u.vertexLength+l>ig.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===aW[e.type]){for(var b=[],w=[],T=u.vertexLength,k=0;k=2&&e[c-1].equals(e[c-2]);)c--;for(var u=0;u0;if(T&&y>u){var A=o.dist(p);if(A>2*h){var M=o.sub(o.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,f),p=M}}var S=p&&d,E=S?r:l?"butt":n;if(S&&"round"===E&&(bi&&(E="bevel"),"bevel"===E&&(b>2&&(E="flipbevel"),b100)v=g.mult(-1);else{var C=b*m.add(g).mag()/m.sub(g).mag();v._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(o,v,0,0,f),this.addCurrentVertex(o,v.mult(-1),0,0,f)}else if("bevel"===E||"fakeround"===E){var L=-Math.sqrt(b*b-1),I=k?L:0,P=k?0:L;if(p&&this.addCurrentVertex(o,m,I,P,f),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O2*h){var V=o.add(d.sub(o)._mult(h/U)._round());this.updateDistance(o,V),this.addCurrentVertex(V,g,0,0,f),o=V}}}}},a5.prototype.addCurrentVertex=function(e,t,r,n,i,a){void 0===a&&(a=!1);var o=t.x+t.y*r,s=t.y-t.x*r,l=-t.x+t.y*n,c=-t.y-t.x*n;this.addHalfVertex(e,o,s,a,!1,r,i),this.addHalfVertex(e,l,c,a,!0,-n,i),this.distance>16384&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(e,t,r,n,i,a))},a5.prototype.addHalfVertex=function(e,t,r,n,i,a,o){var s=e.x,l=e.y,c=(this.lineClips?32767*this.scaledDistance:this.scaledDistance)*.5;if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*t)+128,Math.round(63*r)+128,(0===a?0:a<0?-1:1)+1|(63&c)<<2,c>>6),this.lineClips){var u=this.scaledDistance-this.lineClips.start,h=this.lineClips.end-this.lineClips.start;this.layoutVertexArray2.emplaceBack(u/h,this.lineClipsArray.length)}var f=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,f),o.primitiveLength++),i?this.e2=f:this.e1=f},a5.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},a5.prototype.updateDistance=function(e,t){this.distance+=e.dist(t),this.updateScaledDistance()},ne("LineBucket",a5,{omit:["layers","patternFeatures"]});var a4=new nF({"line-cap":new nP(eL.layout_line["line-cap"]),"line-join":new nz(eL.layout_line["line-join"]),"line-miter-limit":new nP(eL.layout_line["line-miter-limit"]),"line-round-limit":new nP(eL.layout_line["line-round-limit"]),"line-sort-key":new nz(eL.layout_line["line-sort-key"])}),a6={paint:new nF({"line-opacity":new nz(eL.paint_line["line-opacity"]),"line-color":new nz(eL.paint_line["line-color"]),"line-translate":new nP(eL.paint_line["line-translate"]),"line-translate-anchor":new nP(eL.paint_line["line-translate-anchor"]),"line-width":new nz(eL.paint_line["line-width"]),"line-gap-width":new nz(eL.paint_line["line-gap-width"]),"line-offset":new nz(eL.paint_line["line-offset"]),"line-blur":new nz(eL.paint_line["line-blur"]),"line-dasharray":new nD(eL.paint_line["line-dasharray"]),"line-pattern":new nO(eL.paint_line["line-pattern"]),"line-gradient":new nR(eL.paint_line["line-gradient"])}),layout:a4},a8=new(function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.possiblyEvaluate=function(t,r){return r=new nT(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),e.prototype.possiblyEvaluate.call(this,t,r)},t.prototype.evaluate=function(t,r,n,i){return r=w({},r,{zoom:Math.floor(r.zoom)}),e.prototype.evaluate.call(this,t,r,n,i)},t}(nz))(a6.paint.properties["line-width"].specification);a8.useIntegerZoom=!0;var a7=function(e){function t(t){e.call(this,t,a6),this.gradientVersion=0}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype._handleSpecialPaintPropertyUpdate=function(e){if("line-gradient"===e){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=t._styleExpression.expression instanceof tC,this.gradientVersion=(this.gradientVersion+1)%9007199254740991}},t.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},t.prototype.recalculate=function(t,r){e.prototype.recalculate.call(this,t,r),this.paint._values["line-floorwidth"]=a8.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)},t.prototype.createBucket=function(e){return new a5(e)},t.prototype.queryRadius=function(e){var t,r;return t=iQ("line-width",this,e),((r=iQ("line-gap-width",this,e))>0?r+2*t:t)/2+Math.abs(iQ("line-offset",this,e))+i0(this.paint.get("line-translate"))},t.prototype.queryIntersectsFeature=function(e,t,r,n,i,a,o){var s,l,c=i1(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),a.angle,o),u=o/2*(s=this.paint.get("line-width").evaluate(t,r),(l=this.paint.get("line-gap-width").evaluate(t,r))>0?l+2*s:s),h=this.paint.get("line-offset").evaluate(t,r);return h&&(n=function(e,t){for(var r=[],n=new g(0,0),i=0;i=3){for(var a=0;a1){if(iY(e,t))return!0;for(var n=0;n":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","\xa2":"¢","\xa3":"£","\xa5":"¥","\xa6":"¦","\xac":"¬","\xaf":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"},oa=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},oo=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?5960464477539062e-23:0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+h>=1?t+=f/l:t+=f*Math.pow(2,1-h),t*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m};function os(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}os.Varint=0,os.Fixed64=1,os.Bytes=2,os.Fixed32=5;var ol="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function oc(e){return e.type===os.Bytes?e.readVarint()+e.pos:e.pos+1}function ou(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function oh(e,t){for(var r=0;r>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function ow(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}function oT(e,t,r){1===e&&r.readMessage(ok,t)}function ok(e,t,r){if(3===e){var n=r.readMessage(oA,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;t.push({id:i,bitmap:new ai({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function oA(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}function oM(e){for(var t=0,r=0,n=0;n=0;u--){var h=a[u];if(!(c.w>h.w)&&!(c.h>h.h)){if(c.x=h.x,c.y=h.y,s=Math.max(s,c.y+c.h),o=Math.max(o,c.x+c.w),c.w===h.w&&c.h===h.h){var f=a.pop();u>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=o_(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=ow(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=o_(this.buf,this.pos)+4294967296*o_(this.buf,this.pos+4);return this.pos+=8,e},readSFixed64:function(){var e=o_(this.buf,this.pos)+4294967296*ow(this.buf,this.pos+4);return this.pos+=8,e},readFloat:function(){var e=oa(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=oa(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return(t=127&(r=n[this.pos++]),r<128)?t:(t|=(127&(r=n[this.pos++]))<<7,r<128)?t:(t|=(127&(r=n[this.pos++]))<<14,r<128)?t:(t|=(127&(r=n[this.pos++]))<<21,r<128)?t:function(e,t,r){var n,i,a,o,s=r.buf;if(a=(112&(o=s[r.pos++]))>>4,o<128||(a|=(127&(o=s[r.pos++]))<<3,o<128)||(a|=(127&(o=s[r.pos++]))<<10,o<128)||(a|=(127&(o=s[r.pos++]))<<17,o<128)||(a|=(127&(o=s[r.pos++]))<<24,o<128)||(a|=(1&(o=s[r.pos++]))<<31,o<128)){return n=e,i=a,t?4294967296*i+(n>>>0):(i>>>0)*4294967296+(n>>>0)}throw Error("Expected varint not more than 10 bytes")}(t|=(15&(r=n[this.pos]))<<28,e,this)},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?-((e+1)/2):e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e,t=this.readVarint()+this.pos,r=this.pos;return(this.pos=t,t-r>=12&&ol)?(e=this.buf,ol.decode(e.subarray(r,t))):function(e,t,r){for(var n="",i=t;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?(192&(a=e[i+1]))==128&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=e[i+1],o=e[i+2],(192&a)==128&&(192&o)==128&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=e[i+1],o=e[i+2],s=e[i+3],(192&a)==128&&(192&o)==128&&(192&s)==128&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,r,t)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==os.Bytes)return e.push(this.readVarint(t));var r=oc(this);for(e=e||[];this.pos127;);else if(t===os.Bytes)this.pos=this.readVarint()+this.pos;else if(t===os.Fixed32)this.pos+=4;else if(t===os.Fixed64)this.pos+=8;else throw Error("Unimplemented type: "+t)},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0){(function(e,t){var r,n,i,a,o,s;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(r=~(-e%4294967296),n=~(-e/4294967296),4294967295^r?r=r+1|0:(r=0,n=n+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw Error("Given varint doesn't fit into 10 bytes");t.realloc(10),i=r,t.buf[t.pos++]=127&i|128,i>>>=7,t.buf[t.pos++]=127&i|128,i>>>=7,t.buf[t.pos++]=127&i|128,i>>>=7,t.buf[t.pos++]=127&i|128,i>>>=7,t.buf[t.pos]=127&i,a=n,o=t,s=(7&a)<<4,o.buf[o.pos++]|=s|((a>>>=3)?128:0),!a||(o.buf[o.pos++]=127&a|((a>>>=7)?128:0),!a)||(o.buf[o.pos++]=127&a|((a>>>=7)?128:0),!a)||(o.buf[o.pos++]=127&a|((a>>>=7)?128:0),!a)||(o.buf[o.pos++]=127&a|((a>>>=7)?128:0),a&&(o.buf[o.pos++]=127&a))})(e,this);return}this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),!(e<=127))&&(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))},writeSVarint:function(e){this.writeVarint(e<0?-(2*e)-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a55295&&n<57344){if(i){if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else{n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&ou(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),oo(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),oo(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&ou(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,os.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,oh,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,of,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,om,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,op,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,od,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,og,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,oy,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,ov,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,ox,t)},writeBytesField:function(e,t){this.writeTag(e,os.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,os.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,os.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,os.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,os.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,os.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,os.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,os.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,os.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,os.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}};var oS=function(e,t){var r=t.pixelRatio,n=t.version,i=t.stretchX,a=t.stretchY,o=t.content;this.paddedRect=e,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},oE={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};oE.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},oE.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},oE.tlbr.get=function(){return this.tl.concat(this.br)},oE.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(oS.prototype,oE);var oC=function(e,t){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(e,r,i),this.addImages(t,n,i);var a=oM(i),o=new aa({width:a.w||1,height:a.h||1});for(var s in e){var l=e[s],c=r[s].paddedRect;aa.copy(l.data,o,{x:0,y:0},{x:c.x+1,y:c.y+1},l.data)}for(var u in t){var h=t[u],f=n[u].paddedRect,p=f.x+1,d=f.y+1,m=h.data.width,g=h.data.height;aa.copy(h.data,o,{x:0,y:0},{x:p,y:d},h.data),aa.copy(h.data,o,{x:0,y:g-1},{x:p,y:d-1},{width:m,height:1}),aa.copy(h.data,o,{x:0,y:0},{x:p,y:d+g},{width:m,height:1}),aa.copy(h.data,o,{x:m-1,y:0},{x:p-1,y:d},{width:1,height:g}),aa.copy(h.data,o,{x:0,y:0},{x:p+m,y:d},{width:1,height:g})}this.image=o,this.iconPositions=r,this.patternPositions=n};oC.prototype.addImages=function(e,t,r){for(var n in e){var i=e[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),t[n]=new oS(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},oC.prototype.patchUpdatedImages=function(e,t){for(var r in e.dispatchRenderCallbacks(this.haveRenderCallbacks),e.updatedImages)this.patchUpdatedImage(this.iconPositions[r],e.getImage(r),t),this.patchUpdatedImage(this.patternPositions[r],e.getImage(r),t)},oC.prototype.patchUpdatedImage=function(e,t,r){if(e&&t&&e.version!==t.version){e.version=t.version;var n=e.tl,i=n[0],a=n[1];r.update(t.data,void 0,{x:i,y:a})}},ne("ImagePosition",oS),ne("ImageAtlas",oC);var oL={horizontal:1,vertical:2,horizontalOnly:3},oI=function(){this.scale=1,this.fontStack="",this.imageName=null};oI.forText=function(e,t){var r=new oI;return r.scale=e||1,r.fontStack=t,r},oI.forImage=function(e){var t=new oI;return t.imageName=e,t};var oP=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function oz(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g,y=oP.fromFeature(e,i);h===oL.vertical&&y.verticalizePunctuation();var v=nb.processBidirectionalText,x=nb.processStyledBidirectionalText;if(v&&1===y.sections.length){g=[];for(var _=v(y.toString(),oB(y,c,a,t,n,p,d)),b=0;b<_.length;b+=1){var w=_[b],T=new oP;T.text=w,T.sections=y.sections;for(var k=0;k0&&F>k&&(k=F)}else{var j=r[M.fontStack],B=j&&j[E];if(B&&B.rect)I=B.rect,L=B.metrics;else{var N=t[M.fontStack],U=N&&N[E];if(!U)continue;L=U.metrics}C=(_-M.scale)*24}O?(e.verticalizable=!0,T.push({glyph:E,imageName:P,x:f,y:p+C,vertical:O,scale:M.scale,fontStack:M.fontStack,sectionIndex:S,metrics:L,rect:I}),f+=z*M.scale+c):(T.push({glyph:E,imageName:P,x:f,y:p+C,vertical:O,scale:M.scale,fontStack:M.fontStack,sectionIndex:S,metrics:L,rect:I}),f+=L.advance*M.scale+c)}0!==T.length&&(d=Math.max(f-c,d),function(e,t,r,n,i){if(n||i)for(var a=e[r],o=a.metrics.advance*a.scale,s=(e[r].x+o)*n,l=0;l<=r;l++)e[l].x-=s,e[l].y+=i}(T,0,T.length-1,g,k)),f=0;var V=a*_+k;w.lineOffset=Math.max(k,b),p+=V,m=Math.max(V,m),++y}var q=p- -17,H=oN(o),G=H.horizontalAlign,Z=H.verticalAlign;(function(e,t,r,n,i,a,o,s,l){var c=(t-r)*i,u=0;u=a!==o?-s*n- -17:(-n*l+.5)*o;for(var h=0;h=0&&n>=e&&oO[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(e,r),this.sectionIndex=this.sectionIndex.slice(e,r)},oP.prototype.substring=function(e,t){var r=new oP;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r},oP.prototype.toString=function(){return this.text},oP.prototype.getMaxScale=function(){var e=this;return this.sectionIndex.reduce(function(t,r){return Math.max(t,e.sections[r].scale)},0)},oP.prototype.addTextSection=function(e,t){this.text+=e.text,this.sections.push(oI.forText(e.scale,e.fontStack||t));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var oO={};oO[9]=!0,oO[10]=!0,oO[11]=!0,oO[12]=!0,oO[13]=!0,oO[32]=!0;var oD={};function oR(e,t,r,n,i,a){if(t.imageName){var o=n[t.imageName];return o?o.displaySize[0]*t.scale*24/a+i:0}var s=r[t.fontStack],l=s&&s[e];return l?l.metrics.advance*t.scale+i:0}function oF(e,t,r,n){var i=Math.pow(e-t,2);return n?e=0,u=0,h=0;h-r/2;){if(--o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=h.dist(f)}return!0}function oY(e){for(var t=0,r=0;r=n)||!(h.x>=n))&&(u.x>=n?u=new g(n,u.y+(h.y-u.y)*((n-u.x)/(h.x-u.x)))._round():h.x>=n&&(h=new g(n,u.y+(h.y-u.y)*((n-u.x)/(h.x-u.x)))._round()),u.y>=i&&h.y>=i||(u.y>=i?u=new g(u.x+(h.x-u.x)*((i-u.y)/(h.y-u.y)),i)._round():h.y>=i&&(h=new g(u.x+(h.x-u.x)*((i-u.y)/(h.y-u.y)),i)._round()),l&&u.equals(l[l.length-1])||(l=[u],a.push(l)),l.push(h)))}return a}function oJ(e,t,r,n){var i=[],a=e.image,o=a.pixelRatio,s=a.paddedRect.w-2,l=a.paddedRect.h-2,c=e.right-e.left,u=e.bottom-e.top,h=a.stretchX||[[0,s]],f=a.stretchY||[[0,l]],p=function(e,t){return e+t[1]-t[0]},d=h.reduce(p,0),m=f.reduce(p,0),y=s-d,v=l-m,x=0,_=d,b=0,w=m,T=0,k=y,A=0,M=v;if(a.content&&n){var S=a.content;x=oK(h,0,S[0]),b=oK(f,0,S[1]),_=oK(h,S[0],S[2]),w=oK(f,S[1],S[3]),T=S[0]-x,A=S[1]-b,k=S[2]-S[0]-_,M=S[3]-S[1]-w}var E=function(n,i,s,l){var h,f,p,y,v=(n.stretch-x)/_*c+e.left,S=(h=n.fixed-T,h-k*n.stretch/d),E=(i.stretch-b)/w*u+e.top,C=(f=i.fixed-A,f-M*i.stretch/m),L=(s.stretch-x)/_*c+e.left,I=(p=s.fixed-T,p-k*s.stretch/d),P=(l.stretch-b)/w*u+e.top,z=(y=l.fixed-A,y-M*l.stretch/m),O=new g(v,E),D=new g(L,E),R=new g(L,P),F=new g(v,P),j=new g(S/o,C/o),B=new g(I/o,z/o),N=t*Math.PI/180;if(N){var U=Math.sin(N),V=Math.cos(N),q=[V,-U,U,V];O._matMult(q),D._matMult(q),F._matMult(q),R._matMult(q)}var H=n.stretch+n.fixed,G=s.stretch+s.fixed,Z=i.stretch+i.fixed,W=l.stretch+l.fixed;return{tl:O,tr:D,bl:F,br:R,tex:{x:a.paddedRect.x+1+H,y:a.paddedRect.y+1+Z,w:G-H,h:W-Z},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:j,pixelOffsetBR:B,minFontScaleX:k/o/c,minFontScaleY:M/o/u,isSDF:r}};if(n&&(a.stretchX||a.stretchY))for(var C=oQ(h,y,d),L=oQ(f,v,m),I=0;I0&&(p=Math.max(10,p),this.circleDiameter=p)}else{var d=a.top*o-s,m=a.bottom*o+s,y=a.left*o-s,v=a.right*o+s,x=a.collisionPadding;if(x&&(y-=x[0]*o,d-=x[1]*o,v+=x[2]*o,m+=x[3]*o),c){var _=new g(y,d),b=new g(v,d),w=new g(y,m),T=new g(v,m),k=c*Math.PI/180;_._rotate(k),b._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(_.x,b.x,w.x,T.x),v=Math.max(_.x,b.x,w.x,T.x),d=Math.min(_.y,b.y,w.y,T.y),m=Math.max(_.y,b.y,w.y,T.y)}e.emplaceBack(t.x,t.y,y,d,v,m,r,n,i)}this.boxEndIndex=e.length},o1=function(e,t){if(void 0===e&&(e=[]),void 0===t&&(t=o2),this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function o2(e,t){return et?1:0}function o3(e,t){return t.max-e.max}function o5(e,t,r,n){this.p=new g(e,t),this.h=r,this.d=function(e,t){for(var r=!1,n=1/0,i=0;ie.y!=u.y>e.y&&e.x<(u.x-c.x)*(e.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,i$(e,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}o1.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},o1.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},o1.prototype.peek=function(){return this.data[0]},o1.prototype._up=function(e){for(var t=this.data,r=this.compare,n=t[e];e>0;){var i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n},o1.prototype._down=function(e){for(var t=this.data,r=this.compare,n=this.length>>1,i=t[e];er(t[s],o)&&(a=s,o=t[s]),r(o,i)>=0)break;t[e]=o,e=a}t[e]=i};var o4=Number.POSITIVE_INFINITY;function o6(e,t){return t[1]!==o4?function(e,t,r){var n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+7}switch(e){case"top-right":case"bottom-right":case"right":n=-t;break;case"top-left":case"bottom-left":case"left":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){var r=0,n=0;t<0&&(t=0);var i=t/Math.sqrt(2);switch(e){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=-i+7;break;case"bottom":n=-t+7;break;case"top":n=t-7}switch(e){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=t;break;case"right":r=-t}return[r,n]}(e,t[0])}function o8(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function o7(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d){var m=function(e,t,r,n,i,a,o,s){for(var l=n.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,c=[],u=0,h=t.positionedLines;u32640&&z(e.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'):"composite"===y.kind&&((v=[128*p.compositeTextSizes[0].evaluate(o,{},d),128*p.compositeTextSizes[1].evaluate(o,{},d)])[0]>32640||v[1]>32640)&&z(e.layerIds[0]+': Value for "text-size" is >= 255. Reduce your "text-size".'),e.addSymbols(e.text,m,v,s,a,o,c,t,l.lineStartIndex,l.lineLength,f,d);for(var x=0;x0)&&("constant"!==a.value.kind||a.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get("symbol-sort-key");if(this.features=[],l||c){for(var h=t.iconDependencies,f=t.glyphDependencies,p=t.availableImages,d=new nT(this.zoom),m=0;m=0;for(var P=0,z=T.sections;P=0;s--)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=t[s-1].dist(t[s]));for(var l=0;l0},so.prototype.hasIconData=function(){return this.icon.segments.get().length>0},so.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},so.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},so.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},so.prototype.addIndicesForPlacedSymbol=function(e,t){for(var r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1)&&!(this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(e)===r&&t.addIndicesForPlacedSymbol(t.text,e)}),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},ne("SymbolBucket",so,{omit:["layers","collisionBoxArray","features","compareText"]}),so.MAX_GLYPHS=65535,so.addDynamicAttributes=sn;var ss=new nF({"symbol-placement":new nP(eL.layout_symbol["symbol-placement"]),"symbol-spacing":new nP(eL.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new nP(eL.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new nz(eL.layout_symbol["symbol-sort-key"]),"symbol-z-order":new nP(eL.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new nP(eL.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new nP(eL.layout_symbol["icon-ignore-placement"]),"icon-optional":new nP(eL.layout_symbol["icon-optional"]),"icon-rotation-alignment":new nP(eL.layout_symbol["icon-rotation-alignment"]),"icon-size":new nz(eL.layout_symbol["icon-size"]),"icon-text-fit":new nP(eL.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new nP(eL.layout_symbol["icon-text-fit-padding"]),"icon-image":new nz(eL.layout_symbol["icon-image"]),"icon-rotate":new nz(eL.layout_symbol["icon-rotate"]),"icon-padding":new nP(eL.layout_symbol["icon-padding"]),"icon-keep-upright":new nP(eL.layout_symbol["icon-keep-upright"]),"icon-offset":new nz(eL.layout_symbol["icon-offset"]),"icon-anchor":new nz(eL.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new nP(eL.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new nP(eL.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new nP(eL.layout_symbol["text-rotation-alignment"]),"text-field":new nz(eL.layout_symbol["text-field"]),"text-font":new nz(eL.layout_symbol["text-font"]),"text-size":new nz(eL.layout_symbol["text-size"]),"text-max-width":new nz(eL.layout_symbol["text-max-width"]),"text-line-height":new nP(eL.layout_symbol["text-line-height"]),"text-letter-spacing":new nz(eL.layout_symbol["text-letter-spacing"]),"text-justify":new nz(eL.layout_symbol["text-justify"]),"text-radial-offset":new nz(eL.layout_symbol["text-radial-offset"]),"text-variable-anchor":new nP(eL.layout_symbol["text-variable-anchor"]),"text-anchor":new nz(eL.layout_symbol["text-anchor"]),"text-max-angle":new nP(eL.layout_symbol["text-max-angle"]),"text-writing-mode":new nP(eL.layout_symbol["text-writing-mode"]),"text-rotate":new nz(eL.layout_symbol["text-rotate"]),"text-padding":new nP(eL.layout_symbol["text-padding"]),"text-keep-upright":new nP(eL.layout_symbol["text-keep-upright"]),"text-transform":new nz(eL.layout_symbol["text-transform"]),"text-offset":new nz(eL.layout_symbol["text-offset"]),"text-allow-overlap":new nP(eL.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new nP(eL.layout_symbol["text-ignore-placement"]),"text-optional":new nP(eL.layout_symbol["text-optional"])}),sl={paint:new nF({"icon-opacity":new nz(eL.paint_symbol["icon-opacity"]),"icon-color":new nz(eL.paint_symbol["icon-color"]),"icon-halo-color":new nz(eL.paint_symbol["icon-halo-color"]),"icon-halo-width":new nz(eL.paint_symbol["icon-halo-width"]),"icon-halo-blur":new nz(eL.paint_symbol["icon-halo-blur"]),"icon-translate":new nP(eL.paint_symbol["icon-translate"]),"icon-translate-anchor":new nP(eL.paint_symbol["icon-translate-anchor"]),"text-opacity":new nz(eL.paint_symbol["text-opacity"]),"text-color":new nz(eL.paint_symbol["text-color"],{runtimeType:eV,getOverride:function(e){return e.textColor},hasOverride:function(e){return!!e.textColor}}),"text-halo-color":new nz(eL.paint_symbol["text-halo-color"]),"text-halo-width":new nz(eL.paint_symbol["text-halo-width"]),"text-halo-blur":new nz(eL.paint_symbol["text-halo-blur"]),"text-translate":new nP(eL.paint_symbol["text-translate"]),"text-translate-anchor":new nP(eL.paint_symbol["text-translate-anchor"])}),layout:ss},sc=function(e){this.type=e.property.overrides?e.property.overrides.runtimeType:ej,this.defaultValue=e};sc.prototype.evaluate=function(e){if(e.formattedSection){var t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default},sc.prototype.eachChild=function(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)},sc.prototype.outputDefined=function(){return!1},sc.prototype.serialize=function(){return null},ne("FormatSectionOverride",sc,{omit:["defaultValue"]});var su=function(e){function t(t){e.call(this,t,sl)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.recalculate=function(t,r){if(e.prototype.recalculate.call(this,t,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0;ai.indexOf(o)&&i.push(o)}this.layout._values["text-writing-mode"]=i}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()},t.prototype.getValueAndResolveTokens=function(e,t,r,n){var i,a=this.layout.get(e).evaluate(t,{},r,n),o=this._unevaluatedLayout._values[e];return o.isDataDriven()||rb(o.value)||!a?a:(i=t.properties,a.replace(/{([^{}]+)}/g,function(e,t){return t in i?String(i[t]):""}))},t.prototype.createBucket=function(e){return new so(e)},t.prototype.queryRadius=function(){return 0},t.prototype.queryIntersectsFeature=function(){return!1},t.prototype._setPaintOverrides=function(){for(var e=0,r=sl.paint.overridableProperties;e",targetMapId:n,sourceMapId:a.mapId})}}},sk.prototype.receive=function(e){var t=e.data,r=t.id;if(r&&(!t.targetMapId||this.mapId===t.targetMapId)){if(""===t.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else D()||t.mustQueue?(this.tasks[r]=t,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,t)}},sk.prototype.process=function(){if(this.taskQueue.length){var e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),t&&this.processTask(e,t)}},sk.prototype.processTask=function(e,t){var r=this;if(""===t.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(t.error?n(na(t.error)):n(null,na(t.data)))}else{var i=!1,a=j(this.globalScope)?void 0:[],o=t.hasCallback?function(t,n){i=!0,delete r.cancelCallbacks[e],r.target.postMessage({id:e,type:"",sourceMapId:r.mapId,error:t?ni(t):null,data:ni(n,a)},a)}:function(e){i=!0},s=null,l=na(t.data);if(this.parent[t.type])s=this.parent[t.type](t.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=t.type.split(".");s=this.parent.getWorkerSource(t.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(Error("Could not find function "+t.type));!i&&s&&s.cancel&&(this.cancelCallbacks[e]=s.cancel)}},sk.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var sM=function(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1]))};sM.prototype.setNorthEast=function(e){return this._ne=e instanceof sS?new sS(e.lng,e.lat):sS.convert(e),this},sM.prototype.setSouthWest=function(e){return this._sw=e instanceof sS?new sS(e.lng,e.lat):sS.convert(e),this},sM.prototype.extend=function(e){var t,r,n=this._sw,i=this._ne;if(e instanceof sS)t=e,r=e;else if(!(e instanceof sM))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(sM.convert(e)):this.extend(sS.convert(e)):this;else if(t=e._sw,r=e._ne,!t||!r)return this;return n||i?(n.lng=Math.min(t.lng,n.lng),n.lat=Math.min(t.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new sS(t.lng,t.lat),this._ne=new sS(r.lng,r.lat)),this},sM.prototype.getCenter=function(){return new sS((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},sM.prototype.getSouthWest=function(){return this._sw},sM.prototype.getNorthEast=function(){return this._ne},sM.prototype.getNorthWest=function(){return new sS(this.getWest(),this.getNorth())},sM.prototype.getSouthEast=function(){return new sS(this.getEast(),this.getSouth())},sM.prototype.getWest=function(){return this._sw.lng},sM.prototype.getSouth=function(){return this._sw.lat},sM.prototype.getEast=function(){return this._ne.lng},sM.prototype.getNorth=function(){return this._ne.lat},sM.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},sM.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},sM.prototype.isEmpty=function(){return!(this._sw&&this._ne)},sM.prototype.contains=function(e){var t=sS.convert(e),r=t.lng,n=t.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},sM.convert=function(e){return!e||e instanceof sM?e:new sM(e)};var sS=function(e,t){if(isNaN(e)||isNaN(t))throw Error("Invalid LngLat object: ("+e+", "+t+")");if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error("Invalid LngLat latitude value: must be between -90 and 90")};sS.prototype.wrap=function(){return new sS(b(this.lng,-180,180),this.lat)},sS.prototype.toArray=function(){return[this.lng,this.lat]},sS.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},sS.prototype.distanceTo=function(e){var t=Math.PI/180,r=this.lat*t,n=e.lat*t;return 6371008.8*Math.acos(Math.min(Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t),1))},sS.prototype.toBounds=function(e){void 0===e&&(e=0);var t=360*e/40075017,r=t/Math.cos(Math.PI/180*this.lat);return new sM(new sS(this.lng-r,this.lat-t),new sS(this.lng+r,this.lat+t))},sS.convert=function(e){if(e instanceof sS)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new sS(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new sS(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var sE=2*Math.PI*6371008.8;function sC(e){return sE*Math.cos(e*Math.PI/180)}function sL(e){return(180+e)/360}function sI(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function sP(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}var sz=function(e,t,r){void 0===r&&(r=0),this.x=+e,this.y=+t,this.z=+r};sz.fromLngLat=function(e,t){void 0===t&&(t=0);var r=sS.convert(e);return new sz(sL(r.lng),sI(r.lat),t/sC(r.lat))},sz.prototype.toLngLat=function(){return new sS(360*this.x-180,sP(this.y))},sz.prototype.toAltitude=function(){return this.z*sC(sP(this.y))},sz.prototype.meterInMercatorCoordinateUnits=function(){return 1/sE*(1/Math.cos(sP(this.y)*Math.PI/180))};var sO=function(e,t,r){this.z=e,this.x=t,this.y=r,this.key=sF(0,e,e,t,r)};sO.prototype.equals=function(e){return this.z===e.z&&this.x===e.x&&this.y===e.y},sO.prototype.url=function(e,t){var r,n,i,a,o,s=(r=this.x,n=this.y,a=sA(256*r,256*(n=Math.pow(2,i=this.z)-n-1),i),o=sA((r+1)*256,(n+1)*256,i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(e,t,r){for(var n,i="",a=e;a>0;a--)i+=(t&(n=1<this.canonical.z?new sR(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new sR(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)},sR.prototype.calculateScaledKey=function(e,t){var r=this.canonical.z-e;return e>this.canonical.z?sF(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):sF(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)},sR.prototype.isChildOf=function(e){if(e.wrap!==this.wrap)return!1;var t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t},sR.prototype.children=function(e){if(this.overscaledZ>=e)return[new sR(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new sR(t,this.wrap,t,r,n),new sR(t,this.wrap,t,r+1,n),new sR(t,this.wrap,t,r,n+1),new sR(t,this.wrap,t,r+1,n+1)]},sR.prototype.isLessThan=function(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.y=this.dim+1||t<-1||t>=this.dim+1)throw RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)},sj.prototype._unpackMapbox=function(e,t,r){return(65536*e+256*t+r)/10-1e4},sj.prototype._unpackTerrarium=function(e,t,r){return 256*e+t+r/256-32768},sj.prototype.getPixels=function(){return new aa({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},sj.prototype.backfillBorder=function(e,t,r){if(this.dim!==e.dim)throw Error("dem dimension mismatch");var n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case -1:n=i-1;break;case 1:i=n+1}switch(r){case -1:a=o-1;break;case 1:o=a+1}for(var s=-t*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},sq.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new aZ.VectorTile(new os(this.rawTileData)).layers,this.sourceLayerCoder=new sB(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},sq.prototype.query=function(e,t,r,n){var i,a=this;this.loadVTLayers();for(var o=e.params||{},s=8192/e.tileSize/e.scale,l=rD(o.filter),c=e.queryGeometry,u=e.queryPadding*s,h=sG(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=sG(e.cameraQueryGeometry),d=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,function(t,r,n,i){return function(e,t,r,n,i){for(var a=0;a=o.x&&i>=o.y)return!0}var s=[new g(t,r),new g(t,i),new g(n,i),new g(n,r)];if(e.length>2){for(var l=0;li.x&&t.x>i.x||e.yi.y&&t.y>i.y)return!1;var a=O(e,t,r[0]);return a!==O(e,t,r[1])||a!==O(e,t,r[2])||a!==O(e,t,r[3])}(e[c],e[c+1],s))return!0;return!1}(e.cameraQueryGeometry,t-u,r-u,n+u,i+u)}),m=0;m=0)return!0;return!1}(a,h)){var f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(i.needGeometry){var d=iq(p,!0);if(!i.filter(new nT(this.tileID.overscaledZ),d,this.tileID.canonical))return}else if(!i.filter(new nT(this.tileID.overscaledZ),p))return;for(var m=this.getId(p,f),g=0;ga.indexOf(y))){var v=s[y];if(v){var x={};void 0!==m&&c&&(x=c.getState(v.sourceLayer||"_geojsonTileLayer",m));var _=w({},l[y]);_.paint=sH(_.paint,v.paint,p,x,o),_.layout=sH(_.layout,v.layout,p,x,o);var b=!u||u(p,v,x);if(b){var T=new sN(p,this.z,this.x,this.y,m);T.layer=_;var k=e[y];void 0===k&&(k=e[y]=[]),k.push({featureIndex:n,feature:T,intersectionZ:b})}}}}}},sq.prototype.lookupSymbolFeatures=function(e,t,r,n,i,a,o,s){var l={};this.loadVTLayers();for(var c=rD(i),u=0;un)i=!1;else if(t){if(this.expirationTimeef&&(e.getActor().send("enforceCacheSizeLimit",eh),em=0)},e.clamp=_,e.clearTileCache=function(e){var t=y.caches.delete(eu);e&&t.catch(e).then(function(){return e()})},e.clipLine=o$,e.clone=function(e){var t=new i5(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.clone$1=I,e.clone$2=function(e){var t=new i5(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},e.collisionCircleLayout=on,e.config=H,e.create=function(){var e=new i5(16);return i5!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.create$1=function(){var e=new i5(9);return i5!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e},e.create$2=function(){var e=new i5(4);return i5!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e},e.createCommonjsModule=t,e.createExpression=rw,e.createLayout=nq,e.createStyleLayer=function(e){return"custom"===e.type?new sm(e):new sg[e.type](e)},e.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],l=r[2];return e[0]=i*l-a*s,e[1]=a*o-n*l,e[2]=n*s-i*o,e},e.deepEqual=function e(t,r){if(Array.isArray(t)){if(!Array.isArray(r)||t.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e},e.number=tL,e.offscreenCanvasSupported=eg,e.ortho=function(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*c,e[15]=1,e},e.parseGlyphPBF=function(e){return new os(e).readFields(oT,[])},e.pbf=os,e.performSymbolLayout=function(e,t,r,n,i,a,o){e.createArrays();var s=512*e.overscaling;e.tilePixelRatio=8192/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,c=e.layers[0]._unevaluatedLayout._values,u={};if("composite"===e.textSizeData.kind){var h=e.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new nT(f),o),c["text-size"].possiblyEvaluate(new nT(p),o)]}if("composite"===e.iconSizeData.kind){var d=e.iconSizeData,m=d.minZoom,y=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new nT(m),o),c["icon-size"].possiblyEvaluate(new nT(y),o)]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new nT(e.zoom+1),o),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new nT(e.zoom+1),o),u.textMaxSize=c["text-size"].possiblyEvaluate(new nT(18));for(var v=24*l.get("text-line-height"),x="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),_=l.get("text-keep-upright"),b=l.get("text-size"),w=0,T=e.features;w=8192||f.y<0||f.y>=8192||function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k){var A,M,S,E,C,L=e.addToLineVertexArray(t,r),I=0,P=0,O=0,D=0,R=-1,F=-1,j={},B=ix(""),N=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(N=(A=s.layout.get("text-offset").evaluate(_,{},T).map(function(e){return 24*e}))[0],U=A[1]):(N=24*s.layout.get("text-radial-offset").evaluate(_,{},T),U=o4),e.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(_,{},T)+90;E=new o0(l,t,c,u,h,n.vertical,f,p,d,V),o&&(C=new o0(l,t,c,u,h,o,g,y,d,V))}if(i){var q=s.layout.get("icon-rotate").evaluate(_,{}),H="none"!==s.layout.get("icon-text-fit"),G=oJ(i,q,w,H),Z=o?oJ(o,q,w,H):void 0;S=new o0(l,t,c,u,h,i,g,y,!1,q),I=4*G.length;var W=e.iconSizeData,Y=null;"source"===W.kind?(Y=[128*s.layout.get("icon-size").evaluate(_,{})])[0]>32640&&z(e.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'):"composite"===W.kind&&((Y=[128*b.compositeIconSizes[0].evaluate(_,{},T),128*b.compositeIconSizes[1].evaluate(_,{},T)])[0]>32640||Y[1]>32640)&&z(e.layerIds[0]+': Value for "icon-size" is >= 255. Reduce your "icon-size".'),e.addSymbols(e.icon,G,Y,x,v,_,!1,t,L.lineStartIndex,L.lineLength,-1,T),R=e.icon.placedSymbolArray.length-1,Z&&(P=4*Z.length,e.addSymbols(e.icon,Z,Y,x,v,_,oL.vertical,t,L.lineStartIndex,L.lineLength,-1,T),F=e.icon.placedSymbolArray.length-1)}for(var X in n.horizontal){var $=n.horizontal[X];M||(B=ix($.text),M=new o0(l,t,c,u,h,$,f,p,d,s.layout.get("text-rotate").evaluate(_,{},T)));var J=1===$.positionedLines.length;if(O+=o7(e,t,$,a,s,d,_,m,L,n.vertical?oL.horizontal:oL.horizontalOnly,J?Object.keys(n.horizontal):[X],j,R,b,T),J)break}n.vertical&&(D+=o7(e,t,n.vertical,a,s,d,_,m,L,oL.vertical,["vertical"],j,F,b,T));var K=M?M.boxStartIndex:e.collisionBoxArray.length,Q=M?M.boxEndIndex:e.collisionBoxArray.length,ee=E?E.boxStartIndex:e.collisionBoxArray.length,et=E?E.boxEndIndex:e.collisionBoxArray.length,er=S?S.boxStartIndex:e.collisionBoxArray.length,en=S?S.boxEndIndex:e.collisionBoxArray.length,ei=C?C.boxStartIndex:e.collisionBoxArray.length,ea=C?C.boxEndIndex:e.collisionBoxArray.length,eo=-1,es=function(e,t){return e&&e.circleDiameter?Math.max(e.circleDiameter,t):t};eo=es(M,-1),eo=es(E,eo),eo=es(S,eo);var el=(eo=es(C,eo))>-1?1:0;el&&(eo*=k/24),e.glyphOffsetArray.length>=so.MAX_GLYPHS&&z("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==_.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,_.sortKey),e.symbolInstances.emplaceBack(t.x,t.y,j.right>=0?j.right:-1,j.center>=0?j.center:-1,j.left>=0?j.left:-1,j.vertical||-1,R,F,B,K,Q,ee,et,er,en,ei,ea,c,O,D,I,P,el,0,f,N,U,eo)}(e,f,s,r,n,i,h,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,v,w,A,l,_,T,M,d,t,a,c,u,o)};if("line"===S)for(var I=0,P=o$(t.geometry,0,0,8192,8192);I=0&&b=0&&w=0&&p+u<=h){var T=new oV(b,w,x,m);T._round(),(!i||oW(t,T,o,i,a))&&d.push(T)}}f+=v}return l||d.length||s||(d=e(t,f/2,n,i,a,o,s,!0,c)),d}(e,f?t/2*s%t:(u/2+48)*o*s%t,t,c,r,h,f,!1,8192)}(O,b,k,r.vertical||m,n,0,x,e.overscaling,8192),R=0;R=0;o--)if(n.dist(a[o])1){var U=function(e,t,r,n,i,a){for(var o=r?.6*24*a:0,s=oX(r,n)*a,l=0,c=oY(e)/2,u=0;uc){var d=(c-l)/p,m=new oV(tL(h.x,f.x,d),tL(h.y,f.y,d),f.angleTo(h),u);if(m._round(),!o||oW(e,m,s,o,t))return m;return}l+=p}}(N,k,r.vertical||m,n,0,x);U&&L(N,U)}}else if("Polygon"===t.type)for(var V=0,q=aP(t.geometry,0);Va)&&(a=c.x),(!l||c.y>o)&&(o=c.y)}var u=Math.min(a-n,o-i),h=u/2,f=new o1([],o3);if(0===u)return new g(n,i);for(var p=n;pm.d||!m.d)&&(m=v,r&&console.log("found best %d after %d probes",Math.round(1e4*v.d)/1e4,y)),v.max-m.d<=t||(h=v.h/2,f.push(new o5(v.p.x-h,v.p.y-h,h,e)),f.push(new o5(v.p.x+h,v.p.y-h,h,e)),f.push(new o5(v.p.x-h,v.p.y+h,h,e)),f.push(new o5(v.p.x+h,v.p.y+h,h,e)),y+=4)}return r&&(console.log("num probes: "+y),console.log("best distance: "+m.d)),m.p}(H,16);L(H[0],new oV(G.x,G.y,0))}else if("LineString"===t.type)for(var Z=0,W=t.geometry;Z=E.maxzoom||"none"===E.visibility||(i(S,this.zoom,a),(m[E.id]=E.createBucket({index:d.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:_,sourceID:this.source})).populate(b,g,this.tileID.canonical),d.bucketLayerIDs.push(S.map(function(e){return e.id})))}}}var C=e.mapObject(g.glyphDependencies,function(e){return Object.keys(e).map(Number)});Object.keys(C).length?o.send("getGlyphs",{uid:this.uid,stacks:C},function(e,t){l||(l=e,c=t,P.call(f))}):c={};var L=Object.keys(g.iconDependencies);L.length?o.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"icons"},function(e,t){l||(l=e,u=t,P.call(f))}):u={};var I=Object.keys(g.patternDependencies);function P(){if(l)return s(l);if(c&&u&&h){var t=new r(c),n=new e.ImageAtlas(u,h);for(var o in m){var f=m[o];f instanceof e.SymbolBucket?(i(f.layers,this.zoom,a),e.performSymbolLayout(f,c,t.positions,u,n.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):f.hasPattern&&(f instanceof e.LineBucket||f instanceof e.FillBucket||f instanceof e.FillExtrusionBucket)&&(i(f.layers,this.zoom,a),f.addFeatures(g,this.tileID.canonical,n.patternPositions))}this.status="done",s(null,{buckets:e.values(m).filter(function(e){return!e.isEmpty()}),featureIndex:d,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:n,glyphMap:this.returnDependencies?c:null,iconMap:this.returnDependencies?u:null,glyphPositions:this.returnDependencies?t.positions:null})}}I.length?o.send("getImages",{icons:I,source:this.source,tileID:this.tileID,type:"patterns"},function(e,t){l||(l=e,h=t,P.call(f))}):h={},P.call(this)};var o=function(e,t,r,n){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=n||a,this.loading={},this.loaded={}};o.prototype.loadTile=function(t,r){var i=this,a=t.uid;this.loading||(this.loading={});var o=!!t&&!!t.request&&!!t.request.collectResourceTiming&&new e.RequestPerformance(t.request),s=this.loading[a]=new n(t);s.abort=this.loadVectorData(t,function(t,n){if(delete i.loading[a],t||!n)return s.status="done",i.loaded[a]=s,r(t);var l=n.rawData,c={};n.expires&&(c.expires=n.expires),n.cacheControl&&(c.cacheControl=n.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=n.vectorTile,s.parse(n.vectorTile,i.layerIndex,i.availableImages,i.actor,function(t,n){if(t||!n)return r(t);r(null,e.extend({rawTileData:l.slice(0)},n,c,u))}),i.loaded=i.loaded||{},i.loaded[a]=s})},o.prototype.reloadTile=function(e,t){var r=this,n=this.loaded,i=e.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=e.showCollisionBoxes;var s=function(e,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),t(e,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},o.prototype.abortTile=function(e,t){var r=this.loading,n=e.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),t()},o.prototype.removeTile=function(e,t){var r=this.loaded,n=e.uid;r&&r[n]&&delete r[n],t()};var s=e.window.ImageBitmap,l=function(){this.loaded={}};function c(e,t){if(0!==e.length){u(e[0],t);for(var r=1;r=0!=!!t&&e.reverse()}l.prototype.loadTile=function(t,r){var n=t.uid,i=t.encoding,a=t.rawImageData,o=s&&a instanceof s?this.getImageData(a):a,l=new e.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=l,r(null,l)},l.prototype.getImageData=function(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},l.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]};var h=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,f=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))};f.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,n=this._feature.geometry;r>31),t.writeVarint(p<<1^p>>31),i+=f,a+=p}3===n&&t.writeVarint(15)}}function T(e,t){var r=typeof e;"string"===r?t.writeStringField(1,e):"boolean"===r?t.writeBooleanField(7,e):"number"===r&&(e%1!=0?t.writeDoubleField(3,e):e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e))}function k(e,t,r,n){A(e,r,n),A(t,2*r,2*n),A(t,2*r+1,2*n+1)}function A(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function M(e,t,r,n){var i=e-r,a=t-n;return i*i+a*a}y.fromVectorTileJs=v,y.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var n in e)r[n]=new m(e[n].features,t),r[n].name=n,r[n].version=t.version,r[n].extent=t.extent;return v({layers:r})},y.GeoJSONWrapper=m;var S=function(e){return e[0]},E=function(e){return e[1]},C=function(e,t,r,n,i){void 0===t&&(t=S),void 0===r&&(r=E),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=e;for(var a=e.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(e.length),s=this.coords=new i(2*e.length),l=0;l>1;(function e(t,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1),f=Math.max(i,Math.floor(n-l*u/s+h)),p=Math.min(a,Math.floor(n+(s-l)*u/s+h));e(t,r,n,f,p,o)}var d=r[2*n+o],m=i,g=a;for(k(t,r,i,n),r[2*a+o]>d&&k(t,r,i,a);md;)g--}r[2*i+o]===d?k(t,r,i,g):k(t,r,++g,a),g<=n&&(i=g+1),n<=g&&(a=g-1)}})(t,r,s,i,a,o%2),e(t,r,n,i,s-1,o+1),e(t,r,n,s+1,a,o+1)}}(o,s,n,0,o.length-1,0)};C.prototype.range=function(e,t,r,n){return function(e,t,r,n,i,a,o){for(var s,l,c=[0,e.length-1,0],u=[];c.length;){var h=c.pop(),f=c.pop(),p=c.pop();if(f-p<=o){for(var d=p;d<=f;d++)s=t[2*d],l=t[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(e[d]);continue}var m=Math.floor((p+f)/2);s=t[2*m],l=t[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(e[m]);var g=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===h?i>=s:a>=l)&&(c.push(m+1),c.push(f),c.push(g))}return u}(this.ids,this.coords,e,t,r,n,this.nodeSize)},C.prototype.within=function(e,t,r){return function(e,t,r,n,i,a){for(var o=[0,e.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=a){for(var f=h;f<=u;f++)M(t[2*f],t[2*f+1],r,n)<=l&&s.push(e[f]);continue}var p=Math.floor((h+u)/2),d=t[2*p],m=t[2*p+1];M(d,m,r,n)<=l&&s.push(e[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(h),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}return s}(this.ids,this.coords,e,t,r,this.nodeSize)};var L={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},I=function(e){this.options=R(Object.create(L),e),this.trees=Array(this.options.maxZoom+1)};function P(e){return{type:"Feature",id:e.id,properties:z(e),geometry:{type:"Point",coordinates:[(e.x-.5)*360,360*Math.atan(Math.exp((180-360*e.y)*Math.PI/180))/Math.PI-90]}}}function z(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+"k":t>=1e3?Math.round(t/100)/10+"k":t;return R(R({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function O(e){return e/360+.5}function D(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function R(e,t){for(var r in t)e[r]=t[r];return e}function F(e){return e.x}function j(e){return e.y}function B(e,t,r,n){var i={id:void 0===e?null:e,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)N(e,t);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(n?o+=(i*c-l*a)/2:o+=Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=t.length-3;t[2]=1,function e(t,r,n,i){for(var a,o=i,s=n-r>>1,l=n-r,c=t[r],u=t[r+1],h=t[n],f=t[n+1],p=r+3;p1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=e-r)*o+(s=t-n)*s}(t[p],t[p+1],c,u,h,f);if(d>o)a=p,o=d;else if(d===o){var m=Math.abs(p-s);mi&&(a-r>3&&e(t,r,a,i),t[a+2]=o,n-a>3&&e(t,a,n,i))}(t,0,u,r),t[u+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function H(e,t,r,n){for(var i=0;i1?1:r}function Z(e,t,r,n,i,a,o,s){if(r/=t,n/=t,a>=r&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if("Point"===f||"MultiPoint"===f)(function(e,t,r,n,i){for(var a=0;a=r&&o<=n&&(t.push(e[a]),t.push(e[a+1]),t.push(e[a+2]))}})(h,m,r,n,i);else if("LineString"===f)W(h,m,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===f)X(h,m,r,n,i,!1);else if("Polygon"===f)X(h,m,r,n,i,!0);else if("MultiPolygon"===f)for(var g=0;gr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),t.push(c),c=Y(e)),o&&(h+=s)}var b=e.length-3;p=e[b],d=e[b+1],m=e[b+2],(v=0===i?p:d)>=r&&v<=n&&$(c,p,d,m),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&$(c,c[0],c[1],c[2]),c.length&&t.push(c)}function Y(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function X(e,t,r,n,i,a){for(var o=0;o0&&t.size<(i?o:n)){r.numPoints+=t.length/3;return}for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(t[l]),s.push(t[l+1])),r.numPoints++;i&&function(e,t){for(var r=0,n=0,i=e.length,a=i-2;n0===t)for(n=0,i=e.length;n24)throw Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw Error("promoteId and generateId cannot be used together.");var c=function(e,t){var r=[];if("FeatureCollection"===e.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new C(s,F,j,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},I.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],t),s=this.getClusters([-180,n,i,a],t);return o.concat(s)}for(var l=this.trees[this._limitZoom(t)],c=l.range(O(r),D(a),O(i),D(n)),u=[],h=0;ht&&(d+=y.numPoints||1)}if(d>=s){for(var v,x,_=u.x*p,b=u.y*p,w=o&&p>1?this._map(u,!0):null,T=(c<<5)+(t+1)+this.points.length,k=0;k1)for(var E=0;E>5},I.prototype._getOriginZoom=function(e){return(e-this.points.length)%32},I.prototype._map=function(e,t){if(e.numPoints)return t?R({},e.properties):e.properties;var r=this.points[e.index].properties,n=this.options.map(r);return t&&n===r?R({},n):n},ei.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},ei.prototype.splitTile=function(e,t,r,n,i,a,o){for(var s=[e,t,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),t=s.pop(),e=s.pop();var u=1<1&&console.time("creation"),f=this.tiles[h]=function(e,t,r,n,i){for(var a=t===i.maxZoom?0:i.tolerance/((1<o.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}(e,t,r,n,l),this.tileCoords.push({z:t,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=e,i){if(t===l.maxZoom||t===i)continue;var d=1<1&&console.time("clipping");var m,g,y,v,x,_,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,k=1+b;m=g=y=v=null,x=Z(e,u,r-b,r+T,0,f.minX,f.maxX,l),_=Z(e,u,r+w,r+k,0,f.minX,f.maxX,l),e=null,x&&(m=Z(x,u,n-b,n+T,1,f.minY,f.maxY,l),g=Z(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),_&&(y=Z(_,u,n-b,n+T,1,f.minY,f.maxY,l),v=Z(_,u,n+w,n+k,1,f.minY,f.maxY,l),_=null),c>1&&console.timeEnd("clipping"),s.push(m||[],t+1,2*r,2*n),s.push(g||[],t+1,2*r,2*n+1),s.push(y||[],t+1,2*r+1,2*n),s.push(v||[],t+1,2*r+1,2*n+1)}}},ei.prototype.getTile=function(e,t,r){var n=this.options,i=n.extent,a=n.debug;if(e<0||e>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);for(var l,c=e,u=t,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[ea(c,u,h)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,h),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,e,t,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?et(this.tiles[s],i):null):null};var es=function(t){function r(e,r,n,i){t.call(this,e,r,n,eo),i&&(this.loadGeoJSON=i)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.loadData=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=t,this._pendingLoadDataParams=e,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!n&&!!n.request&&!!n.request.collectResourceTiming&&new e.RequestPerformance(n.request);this.loadGeoJSON(n,function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));(function e(t,r){var n,i=t&&t.type;if("FeatureCollection"===i)for(n=0;n=0?0:t.button},o.remove=function(e){e.parentNode&&e.parentNode.removeChild(e)};var d=function(t){function r(){t.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.RGBAImage({width:1,height:1}),this.dirty=!0}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(e){if(this.loaded!==e&&(this.loaded=e,e)){for(var t=0,r=this.requestors;t=0?1.2:1))}function g(e,t,r,n,i,a,o){for(var s=0;s65535){t(Error("glyphs > 65535 not supported"));return}if(a.ranges[s]){t(null,{stack:r,id:i,glyph:o});return}var l=a.requests[s];l||(l=a.requests[s]=[],v.loadGlyphRange(r,s,n.url,n.requestManager,function(e,t){if(t){for(var r in t)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=t[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=e[++s]);var u=Math.min(Math.abs(c-l.left),Math.abs(c-l.right)),h=void 0,f=i/r*(n+1);if(l.isDash){var p=n-Math.abs(f);h=Math.sqrt(u*u+p*p)}else h=n-Math.sqrt(u*u+f*f);this.data[o+c]=Math.max(0,Math.min(255,h+128))}},T.prototype.addRegularDash=function(e){for(var t=e.length-1;t>=0;--t){var r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}var i=e[0],a=e[e.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=e[0],c=0;c1&&(l=e[++s]);var u=Math.min(Math.abs(c-l.left),Math.abs(c-l.right)),h=l.isDash?u:-u;this.data[o+c]=Math.max(0,Math.min(255,h+128))}},T.prototype.addDash=function(t,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return e.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n.minX&&t.x=n.minY&&t.y0&&(l[new e.OverscaledTileID(t.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,t.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new e.OverscaledTileID(t.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=t._resourceTiming,t._resourceTiming=[]),t.fire(new e.Event("data",n))})},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setData=function(t){var r=this;return this._data=t,this.fire(new e.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(t){if(t){r.fire(new e.ErrorEvent(t));return}var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new e.Event("data",n))}),this},r.prototype.getClusterExpansionZoom=function(e,t){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:e,source:this.id},t),this},r.prototype.getClusterChildren=function(e,t){return this.actor.send("geojson.getClusterChildren",{clusterId:e,source:this.id},t),this},r.prototype.getClusterLeaves=function(e,t,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:e,limit:t,offset:r},n),this},r.prototype._updateWorkerData=function(t){var r=this;this._loaded=!1;var n=e.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(e.browser.resolveURL(i),e.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,function(e,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),t(e))})},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(t,r){var n=this,i=t.actor?"reloadTile":"loadTile";t.actor=this.actor;var a={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:e.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.request=this.actor.send(i,a,function(e,a){return(delete t.request,t.unloadVectorData(),t.aborted)?r(null):e?r(e):(t.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))})},r.prototype.abortTile=function(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0},r.prototype.unloadTile=function(e){e.unloadVectorData(),this.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return e.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(e.Evented),I=e.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),P=function(t){function r(e,r,n,i){t.call(this),this.id=e,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(t,r){var n=this;this._loaded=!1,this.fire(new e.Event("dataloading",{dataType:"source"})),this.url=this.options.url,e.getImage(this.map._requestManager.transformRequest(this.url,e.ResourceType.Image),function(i,a){n._loaded=!0,i?n.fire(new e.ErrorEvent(i)):a&&(n.image=a,t&&(n.coordinates=t),r&&r(),n._finishLoading())})},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(e){var t=this;return this.image&&e.url&&(this.options.url=e.url,this.load(e.coordinates,function(){t.texture=null})),this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(e){this.map=e,this.load()},r.prototype.setCoordinates=function(t){var r=this;this.coordinates=t;var n=t.map(e.MercatorCoordinate.fromLngLat);this.tileID=function(t){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0;or.end(0)?this.fire(new e.ErrorEvent(new e.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=t}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(e){!this.map&&(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&!(this.video.readyState<2)){var t=this.map.painter.context,r=t.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new e.Texture(t,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),O=function(t){function r(r,n,i,a){t.call(this,r,n,i,a),n.coordinates?(!Array.isArray(n.coordinates)||4!==n.coordinates.length||n.coordinates.some(function(e){return!Array.isArray(e)||2!==e.length||e.some(function(e){return"number"!=typeof e})}))&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof e.window.HTMLCanvasElement||this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.ErrorEvent(new e.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof e.window.HTMLCanvasElement?this.options.canvas:e.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new e.ErrorEvent(Error("Canvas dimensions cannot be less than or equal to zero.")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,I.members)),this.boundsSegments||(this.boundsSegments=e.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var e=0,t=[this.canvas.width,this.canvas.height];ethis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(e){return e.wrapped().key in this.data},j.prototype.getAndRemove=function(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null},j.prototype._getAndRemoveByKey=function(e){var t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value},j.prototype.getByKey=function(e){var t=this.data[e];return t?t[0].value:null},j.prototype.get=function(e){return this.has(e)?this.data[e.wrapped().key][0].value:null},j.prototype.remove=function(e,t){if(!this.has(e))return this;var r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(e){for(this.max=e;this.order.length>this.max;){var t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this},j.prototype.filter=function(e){var t=[];for(var r in this.data)for(var n=0,i=this.data[r];n1)&&(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(e){return this.getTileByID(e.key)},r.prototype.getTileByID=function(e){return this._tiles[e]},r.prototype._retainLoadedChildren=function(e,t,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!n[i]&&a.hasData()&&!(a.tileID.overscaledZ<=t)&&!(a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>t+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>t;)if(e[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(e,t){if(e.key in this._loadedParentTiles){var r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(var n=e.overscaledZ-1;n>=t;n--){var i=e.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(e){var t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)},r.prototype.updateCacheSize=function(e){var t=Math.floor((Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1)*5),r="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,t):t;this._cache.setMaxSize(r)},r.prototype.handleWrapJump=function(e){var t=void 0===this._prevLng?e:this._prevLng,r=Math.round((e-t)/360);if(this._prevLng=e,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(t){var n,i=this;if(this.transform=t,this._sourceLoaded&&!this._paused){this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(t){return new e.OverscaledTileID(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)}):(n=t.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(n=n.filter(function(e){return i._source.hasTile(e)}))):n=[];var a=t.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(n,a);if(eI(this._source.type)){for(var c={},u={},h=Object.keys(l),f=0;fthis._source.maxzoom){var d=f.children(this._source.maxzoom)[0],m=this.getTile(d);if(m&&m.hasData()){n[d.key]=d;continue}}else{var g=f.children(this._source.maxzoom);if(n[g[0].key]&&n[g[1].key]&&n[g[2].key]&&n[g[3].key])continue}for(var y=p.wasRequested(),v=f.overscaledZ-1;v>=a;--v){var x=f.scaledTo(v);if(i[x.key]||(i[x.key]=!0,(p=this.getTile(x))||!y||(p=this._addTile(x)),p&&(n[x.key]=x,y=p.wasRequested(),p.hasData())))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var e in this._loadedParentTiles={},this._tiles){for(var t=[],r=void 0,n=this._tiles[e].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}t.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0;a0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))},r.prototype.clearTiles=function(){for(var e in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(e);this._cache.reset()},r.prototype.tilesIn=function(t,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(t):t,l=t.map(function(e){return o.pointCoordinate(e)}),c=s.map(function(e){return o.pointCoordinate(e)}),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,m=0;m=0&&y[1].y+g>=0){var v=l.map(function(e){return s.getTilePoint(e)}),x=c.map(function(e){return s.getTilePoint(e)});a.push({tile:n,tileID:s,queryGeometry:v,cameraQueryGeometry:x,scale:m})}}}(y);return a},r.prototype.getVisibleCoordinates=function(e){for(var t=this,r=this.getRenderableIds(e).map(function(e){return t._tiles[e].tileID}),n=0;n=e.browser.now())return!0}return!1},r.prototype.setFeatureState=function(e,t,r){e=e||"_geojsonTileLayer",this._state.updateState(e,t,r)},r.prototype.removeFeatureState=function(e,t,r){e=e||"_geojsonTileLayer",this._state.removeFeatureState(e,t,r)},r.prototype.getFeatureState=function(e,t){return e=e||"_geojsonTileLayer",this._state.getState(e,t)},r.prototype.setDependencies=function(e,t,r){var n=this._tiles[e];n&&n.setDependencies(t,r)},r.prototype.reloadTilesForDependencies=function(e,t){for(var r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,"reloading");this._cache.filter(function(r){return!r.hasDependency(e,t)})},r}(e.Evented);function eL(e,t){var r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function eI(e){return"raster"===e||"image"===e||"video"===e}function eP(){return new e.window.Worker(nj.workerUrl)}eC.maxOverzooming=10,eC.maxUnderzooming=3;var ez="mapboxgl_preloaded_worker_pool",eO=function(){this.active={}};eO.prototype.acquire=function(e){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var eG=function(e,t,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(var a=0;aMath.abs(n.x-r.x)*i?{useVertical:!0}:(t===e.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function eK(t,r,n,i,a,o,s,l,c,u,h,f,p,d){var m,g=r/24,y=t.lineOffsetX*g,v=t.lineOffsetY*g;if(t.numGlyphs>1){var x=t.glyphStartIndex+t.numGlyphs,_=t.lineStartIndex,b=t.lineStartIndex+t.lineLength,w=e$(g,l,y,v,n,h,f,t,c,o,p);if(!w)return{notEnoughRoom:!0};var T=eY(w.first.point,s).point,k=eY(w.last.point,s).point;if(i&&!n){var A=eJ(t.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=t.glyphStartIndex+1;M0?L.point:eQ(f,C,S,1,a),P=eJ(t.writingMode,S,I,d);if(P)return P}var z=e0(g*l.getoffsetX(t.glyphStartIndex),y,v,n,h,f,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};m=[z]}for(var O=0,D=m;O0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,v=a,x=0,_=0,b=Math.abs(p),w=[];x+_<=b;){if((g+=d)=c)return null;if(v=y,w.push(y),void 0===(y=f[g])){var T=new e.Point(u.getx(g),u.gety(g)),k=eY(T,h);if(k.signedDistanceFromCamera>0)y=f[g]=k.point;else{var A=g-d;y=eQ(0===x?o:new e.Point(u.getx(A),u.gety(A)),T,v,b-x+1,h)}}x+=_,_=v.dist(y)}var M=(b-x)/_,S=y.sub(v),E=S.mult(M)._add(v);E._add(S._unit()._perp()._mult(n*d));var C=m+Math.atan2(y.y-v.y,y.x-v.x);return w.push(E),{point:E,angle:C,path:w}}eG.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},eG.prototype.insert=function(e,t,r,n,i){this._forEachCell(t,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(e),this.bboxes.push(t),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},eG.prototype.insertCircle=function(e,t,r,n){this._forEachCell(t-n,r-n,t+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(e),this.circles.push(t),this.circles.push(r),this.circles.push(n)},eG.prototype._insertBoxCell=function(e,t,r,n,i,a){this.boxCells[i].push(a)},eG.prototype._insertCircleCell=function(e,t,r,n,i,a){this.circleCells[i].push(a)},eG.prototype._query=function(e,t,r,n,i,a){if(r<0||e>this.width||n<0||t>this.height)return!i&&[];var o=[];if(!(e<=0)||!(t<=0)||!(this.width<=r)||!(this.height<=n))return this._forEachCell(e,t,r,n,this._queryCell,o,{hitTest:i,seenUids:{box:{},circle:{}}},a),i?o.length>0:o;if(i)return!0;for(var s=0;sthis.width||l<0||s>this.height)return!n&&[];var c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}},i),n?c.length>0:c},eG.prototype.query=function(e,t,r,n,i){return this._query(e,t,r,n,!1,i)},eG.prototype.hitTest=function(e,t,r,n,i){return this._query(e,t,r,n,!0,i)},eG.prototype.hitTestCircle=function(e,t,r,n){return this._queryCircle(e,t,r,!0,n)},eG.prototype._queryCell=function(e,t,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,h=0;h=u[p+0]&&n>=u[p+1]&&(!s||s(this.boxKeys[f]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[f],x1:u[p],y1:u[p+1],x2:u[p+2],y2:u[p+3]})}}}var d=this.circleCells[i];if(null!==d)for(var m=this.circles,g=0;go*o+s*s},eG.prototype._circleAndRectCollide=function(e,t,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(t-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var e1=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function e2(e,t){for(var r=0;r=1;z--)P.push(L.path[z]);for(var O=1;O0){for(var j=P[0].clone(),B=P[0].clone(),N=1;N=S.x&&B.x<=E.x&&j.y>=S.y&&B.y<=E.y?[P]:B.xE.x||B.yE.y?[]:e.clipLine([P],S.x,S.y,E.x,E.y)}for(var U=0,V=F;U=this.screenRightBoundary||n<100||t>this.screenBottomBoundary},e5.prototype.isInsideGrid=function(e,t,r,n){return r>=0&&e=0&&t0)return this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(m=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:g,width:r,height:n,anchor:e,textBoxScale:i,prevAnchor:m},this.markUsedJustification(f,e,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:y,placedGlyphBoxes:v}},ti.prototype.placeLayerBucketPart=function(t,r,n){var i=this,a=t.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,f=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),v=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),_="map"===s.get("text-rotation-alignment"),b="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=v&&(x||!o.hasIconData()||y),A=x&&(v||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(t,a){if(!r[t.crossTileID]){if(f){i.placements[t.crossTileID]=new e7(!1,!1,!1);return}var p=!1,T=!1,M=!0,S=null,E={box:null,offscreen:null},C={box:null,offscreen:null},L=null,I=null,P=null,z=0,O=0,D=0;a.textFeatureIndex?z=a.textFeatureIndex:t.useRuntimeCollisionCircles&&(z=t.featureIndex),a.verticalTextFeatureIndex&&(O=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=e.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[t.crossTileID];a&&(i.placedOrientations[t.crossTileID]=a,n=a,i.markUsedOrientation(o,n,t))}return n},j=function(r,n){if(o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(B=B.filter(function(e){return e!==N.anchor})).unshift(N.anchor)}var U=function(e,r,n){for(var a=e.x2-e.x1,s=e.y2-e.y1,c=t.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},d=v?2*B.length:B.length,g=0;g=B.length,k=i.attemptAnchorPlacement(y,e,a,s,c,_,b,h,l,m,T,t,o,n,u);if(k&&(f=k.placedGlyphBoxes)&&f.box&&f.box.length){p=!0,S=k.shift;break}}return f};j(function(){return U(R,a.iconBox,e.WritingMode.horizontal)},function(){var r=a.verticalTextBox,n=E&&E.box&&E.box.length;return o.allowVerticalPlacement&&!n&&t.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,e.WritingMode.vertical):{box:null,offscreen:null}}),E&&(p=E.box,M=E.offscreen);var V=F(E&&E.box);if(!p&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[t.crossTileID];q&&(i.variableOffsets[t.crossTileID]=q,i.markUsedJustification(o,q.anchor,t,V))}}else{var H=function(e,r){var n=i.collisionIndex.placeCollisionBox(e,v,h,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,t),i.placedOrientations[t.crossTileID]=r),n};j(function(){return H(R,e.WritingMode.horizontal)},function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&r?H(r,e.WritingMode.vertical):{box:null,offscreen:null}}),F(E&&E.box&&E.box.length)}}if(p=(L=E)&&L.box&&L.box.length>0,M=L&&L.offscreen,t.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),Z=e.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get("text-padding"),Y=t.collisionCircleDiameter;I=i.collisionIndex.placeCollisionCircles(v,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,c,u,n,b,m.predicate,Y,W),p=v||I.circles.length>0&&!I.collisionDetected,M=M&&I.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var X=function(e){var t=w&&S?tn(e,S.x,S.y,_,b,i.transform.angle):e;return i.collisionIndex.placeCollisionBox(t,x,h,l,m.predicate)};T=C&&C.box&&C.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,M=M&&P.offscreen}var $=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,J=y||0===t.numIconVertices;if($||J?J?$||(T=T&&p):p=T&&p:T=p=T&&p,p&&L&&L.box&&(C&&C.box&&O?i.collisionIndex.insertCollisionBox(L.box,s.get("text-ignore-placement"),o.bucketInstanceId,O,m.ID):i.collisionIndex.insertCollisionBox(L.box,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID)),T&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,m.ID),I&&(p&&i.collisionIndex.insertCollisionCircles(I.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID),n)){var K=o.bucketInstanceId,Q=i.collisionCircleArrays[K];void 0===Q&&(Q=i.collisionCircleArrays[K]=new e9);for(var ee=0;ee=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=t.symbolInstanceStart;L=0&&(a>=0&&c!==a?t.text.placedSymbolArray.get(c).crossTileID=0:t.text.placedSymbolArray.get(c).crossTileID=n.crossTileID)}},ti.prototype.markUsedOrientation=function(t,r,n){for(var i=r===e.WritingMode.horizontal||r===e.WritingMode.horizontalOnly?r:0,a=r===e.WritingMode.vertical?r:0,o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex],s=0;s0||l>0,x=a.numIconVertices>0,_=i.placedOrientations[a.crossTileID],b=_===e.WritingMode.vertical,w=_===e.WritingMode.horizontal||_===e.WritingMode.horizontalOnly;if(v){var T=to(y.text),k=b?ts:T;d(t.text,s,k);var A=w?ts:T;d(t.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach(function(e){e>=0&&(t.text.placedSymbolArray.get(e).hidden=M||b?1:0)}),a.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(t,S.anchor,a,_);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(t,"left",a,E),i.markUsedOrientation(t,E,a))}if(x){var C=to(y.icon),L=!(f&&a.verticalPlacedIconSymbolIndex&&b);if(a.placedIconSymbolIndex>=0){var I=L?C:ts;d(t.icon,a.numIconVertices,I),t.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=L?ts:C;d(t.icon,a.numVerticalIconVertices,P),t.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){var z=t.collisionArrays[n];if(z){var O=new e.Point(0,0);if(z.textBox||z.verticalTextBox){var D=!0;if(c){var R=i.variableOffsets[m];R?(O=tr(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&O._rotate(h?i.transform.angle:-i.transform.angle)):D=!1}z.textBox&&ta(t.textCollisionBox.collisionVertexArray,y.text.placed,!D||b,O.x,O.y),z.verticalTextBox&&ta(t.textCollisionBox.collisionVertexArray,y.text.placed,!D||w,O.x,O.y)}var F=!!(!w&&z.verticalIconBox);z.iconBox&&ta(t.iconCollisionBox.collisionVertexArray,y.icon.placed,F,f?O.x:0,f?O.y:0),z.verticalIconBox&&ta(t.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,f?O.x:0,f?O.y:0)}}}(m);if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays){var g=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=g.invProjMatrix,t.placementViewportMatrix=g.viewportMatrix,t.collisionCircleArray=g.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}},ti.prototype.symbolFadeChange=function(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},ti.prototype.zoomAdjustment=function(e){return Math.max(0,(this.transform.zoom-e)/1.5)},ti.prototype.hasTransitions=function(e){return this.stale||e-this.lastPlacementChangeTimee},ti.prototype.setStale=function(){this.stale=!0};var ts=0,tl=function(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&void 0!==e.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};tl.prototype.continuePlacement=function(e,t,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[t[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new tl(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},tc.prototype.commit=function(e){return this.placement.commit(e),this.placement};var tu=512/e.EXTENT/2,th=function(e,t,r){this.tileID=e,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;ne.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(e)&&l.findMatches(t.symbolInstances,e,i)}else{var c=o[e.scaledTo(Number(a)).key];c&&c.findMatches(t.symbolInstances,e,i)}}for(var u=0;u1?"@2x":"",l=e.getJSON(r.transformRequest(r.normalizeSpriteURL(t,s,".json"),e.ResourceType.SpriteJSON),function(e,t){l=null,o||(o=e,i=t,u())}),c=e.getImage(r.transformRequest(r.normalizeSpriteURL(t,s,".png"),e.ResourceType.SpriteImage),function(e,t){c=null,o||(o=e,a=t,u())});function u(){if(o)n(o);else if(i&&a){var t=e.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,y=l.content,v=new e.RGBAImage({width:c,height:u});e.RGBAImage.copy(t,v,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:v,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(t,this.map._requestManager,function(t,n){if(r._spriteRequest=null,t)r.fire(new e.ErrorEvent(t));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new e.Event("data",{dataType:"style"}))})},r.prototype._validateLayer=function(t){var r=this.sourceCaches[t.source];if(r){var n=t.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new e.ErrorEvent(Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+t.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(e){for(var t=[],r=0;r0)throw Error("Unimplemented: "+i.map(function(e){return e.command}).join(", ")+".");return n.forEach(function(e){"setTransition"!==e.command&&r[e.command].apply(r,e.args)}),this.stylesheet=t,!0},r.prototype.addImage=function(t,r){if(this.getImage(t))return this.fire(new e.ErrorEvent(Error("An image with this name already exists.")));this.imageManager.addImage(t,r),this._afterImageUpdated(t)},r.prototype.updateImage=function(e,t){this.imageManager.updateImage(e,t)},r.prototype.getImage=function(e){return this.imageManager.getImage(e)},r.prototype.removeImage=function(t){if(!this.getImage(t))return this.fire(new e.ErrorEvent(Error("No image with this name exists.")));this.imageManager.removeImage(t),this._afterImageUpdated(t)},r.prototype._afterImageUpdated=function(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new e.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(t,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[t])throw Error("There is already a source with this ID");if(!r.type)throw Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(e.validateStyle.source,"sources."+t,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[t]=new eC(t,r,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:t}}),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===t)return this.fire(new e.ErrorEvent(Error('Source "'+t+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],n.fire(new e.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(e,t){this._checkLoaded(),this.sourceCaches[e].getSource().setData(t),this._changed=!0},r.prototype.getSource=function(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()},r.prototype.addLayer=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i,a=t.id;if(this.getLayer(a)){this.fire(new e.ErrorEvent(Error('Layer with id "'+a+'" already exists on this map')));return}if("custom"===t.type){if(tm(this,e.validateCustomStyleLayer(t)))return;i=e.createStyleLayer(t)}else{if("object"==typeof t.source&&(this.addSource(a,t.source),t=e.clone$1(t),t=e.extend(t,{source:a})),this._validate(e.validateStyle.layer,"layers."+a,t,{arrayIndex:-1},n))return;i=e.createStyleLayer(t),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}}),this._serializedLayers[i.id]=i.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o){this.fire(new e.ErrorEvent(Error('Layer with id "'+r+'" does not exist on this map.')));return}if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)},r.prototype.moveLayer=function(t,r){if(this._checkLoaded(),this._changed=!0,!this._layers[t]){this.fire(new e.ErrorEvent(Error("The layer '"+t+"' does not exist in the map's style and cannot be moved.")));return}if(t!==r){var n=this._order.indexOf(t);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;if(r&&-1===i){this.fire(new e.ErrorEvent(Error('Layer with id "'+r+'" does not exist on this map.')));return}this._order.splice(i,0,t),this._layerOrderChanged=!0}},r.prototype.removeLayer=function(t){this._checkLoaded();var r=this._layers[t];if(!r){this.fire(new e.ErrorEvent(Error("The layer '"+t+"' does not exist in the map's style and cannot be removed.")));return}r.setEventedParent(null);var n=this._order.indexOf(t);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=r,delete this._layers[t],delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],r.onRemove&&r.onRemove(this.map)},r.prototype.getLayer=function(e){return this._layers[e]},r.prototype.hasLayer=function(e){return e in this._layers},r.prototype.setLayerZoomRange=function(t,r,n){this._checkLoaded();var i=this.getLayer(t);if(!i){this.fire(new e.ErrorEvent(Error("The layer '"+t+"' does not exist in the map's style and cannot have zoom extent.")));return}(i.minzoom!==r||i.maxzoom!==n)&&(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i))},r.prototype.setFilter=function(t,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(t);if(!i){this.fire(new e.ErrorEvent(Error("The layer '"+t+"' does not exist in the map's style and cannot be filtered.")));return}if(!e.deepEqual(i.filter,r)){if(null==r){i.filter=void 0,this._updateLayer(i);return}this._validate(e.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=e.clone$1(r),this._updateLayer(i))}},r.prototype.getFilter=function(t){return e.clone$1(this.getLayer(t).filter)},r.prototype.setLayoutProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);if(!a){this.fire(new e.ErrorEvent(Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")));return}e.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a))},r.prototype.getLayoutProperty=function(t,r){var n=this.getLayer(t);if(!n){this.fire(new e.ErrorEvent(Error("The layer '"+t+"' does not exist in the map's style.")));return}return n.getLayoutProperty(r)},r.prototype.setPaintProperty=function(t,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(t);if(!a){this.fire(new e.ErrorEvent(Error("The layer '"+t+"' does not exist in the map's style and cannot be styled.")));return}e.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[t]=!0)},r.prototype.getPaintProperty=function(e,t){return this.getLayer(e).getPaintProperty(t)},r.prototype.setFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=t.sourceLayer,a=this.sourceCaches[n];if(void 0===a){this.fire(new e.ErrorEvent(Error("The source '"+n+"' does not exist in the map's style.")));return}var o=a.getSource().type;if("geojson"===o&&i){this.fire(new e.ErrorEvent(Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if("vector"===o&&!i){this.fire(new e.ErrorEvent(Error("The sourceLayer parameter must be provided for vector source types.")));return}void 0===t.id&&this.fire(new e.ErrorEvent(Error("The feature id parameter must be provided."))),a.setFeatureState(i,t.id,r)},r.prototype.removeFeatureState=function(t,r){this._checkLoaded();var n=t.source,i=this.sourceCaches[n];if(void 0===i){this.fire(new e.ErrorEvent(Error("The source '"+n+"' does not exist in the map's style.")));return}var a=i.getSource().type,o="vector"===a?t.sourceLayer:void 0;if("vector"===a&&!o){this.fire(new e.ErrorEvent(Error("The sourceLayer parameter must be provided for vector source types.")));return}if(r&&"string"!=typeof t.id&&"number"!=typeof t.id){this.fire(new e.ErrorEvent(Error("A feature id is required to remove its specific state property.")));return}i.removeFeatureState(o,t.id,r)},r.prototype.getFeatureState=function(t){this._checkLoaded();var r=t.source,n=t.sourceLayer,i=this.sourceCaches[r];if(void 0===i){this.fire(new e.ErrorEvent(Error("The source '"+r+"' does not exist in the map's style.")));return}if("vector"===i.getSource().type&&!n){this.fire(new e.ErrorEvent(Error("The sourceLayer parameter must be provided for vector source types.")));return}return void 0===t.id&&this.fire(new e.ErrorEvent(Error("The feature id parameter must be provided."))),i.getFeatureState(n,t.id)},r.prototype.getTransition=function(){return e.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return e.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:e.mapObject(this.sourceCaches,function(e){return e.serialize()}),layers:this._serializeLayers(this._order)},function(e){return void 0!==e})},r.prototype._updateLayer=function(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&"raster"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(e){for(var t=this,r=function(e){return"fill-extrusion"===t._layers[e].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0;s=0;f--){var p=this._order[f];if(r(p))for(var d=i.length-1;d>=0;d--){var m=i[d].feature;if(n[m.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),tC=tH("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),tL=tH("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),tI=tH("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),tP=tH("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),tz=tH("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),tO=tH("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),tD=tH("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),tR=tH("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),tF=tH("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),tj=tH("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),tB=tH("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),tN=tH("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),tU=tH("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),tV=tH("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),tq=tH("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}");function tH(e,t){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=t.match(/attribute ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(r,function(e,t,r,n,i){return(s[i]=!0,"define"===t)?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"}),vertexSource:t=t.replace(r,function(e,t,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===t?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"}),staticAttributes:n,staticUniforms:o}}var tG=Object.freeze({__proto__:null,prelude:tb,background:tw,backgroundPattern:tT,circle:tk,clippingMask:tA,heatmap:tM,heatmapTexture:tS,collisionBox:tE,collisionCircle:tC,debug:tL,fill:tI,fillOutline:tP,fillOutlinePattern:tz,fillPattern:tO,fillExtrusion:tD,fillExtrusionPattern:tR,hillshadePrepare:tF,hillshade:tj,line:tB,lineGradient:tN,linePattern:tU,lineSDF:tV,raster:tq,symbolIcon:tH("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),symbolSDF:tH("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:tH("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}")}),tZ=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function tW(e){for(var t=[],r=0;rp.indexOf(m)&&p.push(m)}var g=n?n.defines():[];a&&g.push("#define OVERDRAW_INSPECTOR;");var y=g.concat(tb.fragmentSource,r.fragmentSource).join("\n"),v=g.concat(tb.vertexSource,r.vertexSource).join("\n"),x=o.createShader(o.FRAGMENT_SHADER);if(o.isContextLost()){this.failedToCreate=!0;return}o.shaderSource(x,y),o.compileShader(x),o.attachShader(this.program,x);var _=o.createShader(o.VERTEX_SHADER);if(o.isContextLost()){this.failedToCreate=!0;return}o.shaderSource(_,v),o.compileShader(_),o.attachShader(this.program,_),this.attributes={};var b={};this.numAttributes=c.length;for(var w=0;w>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}tY.prototype.draw=function(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g,y=e.gl;if(!this.failedToCreate){for(var v in e.program.set(this.program),e.setDepthMode(r),e.setStencilMode(n),e.setColorMode(i),e.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(o[v]);p&&p.setUniforms(e,this.binderUniforms,h,{zoom:f});for(var x=((g={})[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[t],_=0,b=u.get();_>16,m>>16],u_pixel_coord_lower:[65535&d,65535&m]}),{u_matrix:t,u_opacity:r})},ri={fillExtrusion:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fillExtrusionPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_lightpos:new e.Uniform3f(t,r.u_lightpos),u_lightintensity:new e.Uniform1f(t,r.u_lightintensity),u_lightcolor:new e.Uniform3f(t,r.u_lightcolor),u_vertical_gradient:new e.Uniform1f(t,r.u_vertical_gradient),u_height_factor:new e.Uniform1f(t,r.u_height_factor),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade),u_opacity:new e.Uniform1f(t,r.u_opacity)}},fill:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},fillPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},fillOutline:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world)}},fillOutlinePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_texsize:new e.Uniform2f(t,r.u_texsize),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},circle:function(t,r){return{u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_scale_with_map:new e.Uniform1i(t,r.u_scale_with_map),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},collisionBox:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pixels_to_tile_units:new e.Uniform1f(t,r.u_pixels_to_tile_units),u_extrude_scale:new e.Uniform2f(t,r.u_extrude_scale),u_overscale_factor:new e.Uniform1f(t,r.u_overscale_factor)}},collisionCircle:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_inv_matrix:new e.UniformMatrix4f(t,r.u_inv_matrix),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_viewport_size:new e.Uniform2f(t,r.u_viewport_size)}},debug:function(t,r){return{u_color:new e.UniformColor(t,r.u_color),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_overlay:new e.Uniform1i(t,r.u_overlay),u_overlay_scale:new e.Uniform1f(t,r.u_overlay_scale)}},clippingMask:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmap:function(t,r){return{u_extrude_scale:new e.Uniform1f(t,r.u_extrude_scale),u_intensity:new e.Uniform1f(t,r.u_intensity),u_matrix:new e.UniformMatrix4f(t,r.u_matrix)}},heatmapTexture:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_world:new e.Uniform2f(t,r.u_world),u_image:new e.Uniform1i(t,r.u_image),u_color_ramp:new e.Uniform1i(t,r.u_color_ramp),u_opacity:new e.Uniform1f(t,r.u_opacity)}},hillshade:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_latrange:new e.Uniform2f(t,r.u_latrange),u_light:new e.Uniform2f(t,r.u_light),u_shadow:new e.UniformColor(t,r.u_shadow),u_highlight:new e.UniformColor(t,r.u_highlight),u_accent:new e.UniformColor(t,r.u_accent)}},hillshadePrepare:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_image:new e.Uniform1i(t,r.u_image),u_dimension:new e.Uniform2f(t,r.u_dimension),u_zoom:new e.Uniform1f(t,r.u_zoom),u_unpack:new e.Uniform4f(t,r.u_unpack)}},line:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels)}},lineGradient:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_image:new e.Uniform1i(t,r.u_image),u_image_height:new e.Uniform1f(t,r.u_image_height)}},linePattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_texsize:new e.Uniform2f(t,r.u_texsize),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_image:new e.Uniform1i(t,r.u_image),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_scale:new e.Uniform3f(t,r.u_scale),u_fade:new e.Uniform1f(t,r.u_fade)}},lineSDF:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_ratio:new e.Uniform1f(t,r.u_ratio),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.Uniform2f(t,r.u_units_to_pixels),u_patternscale_a:new e.Uniform2f(t,r.u_patternscale_a),u_patternscale_b:new e.Uniform2f(t,r.u_patternscale_b),u_sdfgamma:new e.Uniform1f(t,r.u_sdfgamma),u_image:new e.Uniform1i(t,r.u_image),u_tex_y_a:new e.Uniform1f(t,r.u_tex_y_a),u_tex_y_b:new e.Uniform1f(t,r.u_tex_y_b),u_mix:new e.Uniform1f(t,r.u_mix)}},raster:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_tl_parent:new e.Uniform2f(t,r.u_tl_parent),u_scale_parent:new e.Uniform1f(t,r.u_scale_parent),u_buffer_scale:new e.Uniform1f(t,r.u_buffer_scale),u_fade_t:new e.Uniform1f(t,r.u_fade_t),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image0:new e.Uniform1i(t,r.u_image0),u_image1:new e.Uniform1i(t,r.u_image1),u_brightness_low:new e.Uniform1f(t,r.u_brightness_low),u_brightness_high:new e.Uniform1f(t,r.u_brightness_high),u_saturation_factor:new e.Uniform1f(t,r.u_saturation_factor),u_contrast_factor:new e.Uniform1f(t,r.u_contrast_factor),u_spin_weights:new e.Uniform3f(t,r.u_spin_weights)}},symbolIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture)}},symbolSDF:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texture:new e.Uniform1i(t,r.u_texture),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},symbolTextAndIcon:function(t,r){return{u_is_size_zoom_constant:new e.Uniform1i(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.Uniform1i(t,r.u_is_size_feature_constant),u_size_t:new e.Uniform1f(t,r.u_size_t),u_size:new e.Uniform1f(t,r.u_size),u_camera_to_center_distance:new e.Uniform1f(t,r.u_camera_to_center_distance),u_pitch:new e.Uniform1f(t,r.u_pitch),u_rotate_symbol:new e.Uniform1i(t,r.u_rotate_symbol),u_aspect_ratio:new e.Uniform1f(t,r.u_aspect_ratio),u_fade_change:new e.Uniform1f(t,r.u_fade_change),u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_label_plane_matrix:new e.UniformMatrix4f(t,r.u_label_plane_matrix),u_coord_matrix:new e.UniformMatrix4f(t,r.u_coord_matrix),u_is_text:new e.Uniform1i(t,r.u_is_text),u_pitch_with_map:new e.Uniform1i(t,r.u_pitch_with_map),u_texsize:new e.Uniform2f(t,r.u_texsize),u_texsize_icon:new e.Uniform2f(t,r.u_texsize_icon),u_texture:new e.Uniform1i(t,r.u_texture),u_texture_icon:new e.Uniform1i(t,r.u_texture_icon),u_gamma_scale:new e.Uniform1f(t,r.u_gamma_scale),u_device_pixel_ratio:new e.Uniform1f(t,r.u_device_pixel_ratio),u_is_halo:new e.Uniform1i(t,r.u_is_halo)}},background:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_color:new e.UniformColor(t,r.u_color)}},backgroundPattern:function(t,r){return{u_matrix:new e.UniformMatrix4f(t,r.u_matrix),u_opacity:new e.Uniform1f(t,r.u_opacity),u_image:new e.Uniform1i(t,r.u_image),u_pattern_tl_a:new e.Uniform2f(t,r.u_pattern_tl_a),u_pattern_br_a:new e.Uniform2f(t,r.u_pattern_br_a),u_pattern_tl_b:new e.Uniform2f(t,r.u_pattern_tl_b),u_pattern_br_b:new e.Uniform2f(t,r.u_pattern_br_b),u_texsize:new e.Uniform2f(t,r.u_texsize),u_mix:new e.Uniform1f(t,r.u_mix),u_pattern_size_a:new e.Uniform2f(t,r.u_pattern_size_a),u_pattern_size_b:new e.Uniform2f(t,r.u_pattern_size_b),u_scale_a:new e.Uniform1f(t,r.u_scale_a),u_scale_b:new e.Uniform1f(t,r.u_scale_b),u_pixel_coord_upper:new e.Uniform2f(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.Uniform2f(t,r.u_pixel_coord_lower),u_tile_units_to_pixels:new e.Uniform1f(t,r.u_tile_units_to_pixels)}}};function ra(t,r,i,a,o,s,l){for(var c=t.context,u=c.gl,h=t.useProgram("collisionBox"),f=[],p=0,d=0,m=0;m0){var w=e.create(),T=x;e.mul(w,v.placementInvProjMatrix,t.transform.glCoordMatrix),e.mul(w,w,v.placementViewportMatrix),f.push({circleArray:b,circleOffset:d,transform:T,invTransform:w}),p+=b.length/4,d=p}_&&h.draw(c,u.LINES,ek.disabled,eA.disabled,t.colorModeForRenderPass(),eS.disabled,t0(x,t.transform,y),i.id,_.layoutVertexBuffer,_.indexBuffer,_.segments,null,t.transform.zoom,null,null,_.collisionVertexBuffer)}}if(l&&f.length){var k=t.useProgram("collisionCircle"),A=new e.StructArrayLayout2f1f2i16;A.resize(4*p),A._trim();for(var M=0,S=0;S=-t[0]&&r<=t[0]&&n>=-t[1]&&n<=t[1]}(x,h)){e2(v.numGlyphs,f);continue}var _=x[3],b=eX(n.transform.cameraToCenterDistance,_),w=e.evaluateSizeForFeature(c,u,v),T=s?w/b:w*b,k=new e.Point(v.anchorX,v.anchorY),A=eY(k,a).point,M={},S=eK(v,T,!1,l,r,a,o,t.glyphOffsetArray,p,f,A,k,M,m);g=S.useVertical,(S.notEnoughRoom||g||S.needsFlipping&&eK(v,T,!0,l,r,a,o,t.glyphOffsetArray,p,f,A,k,M,m).notEnoughRoom)&&e2(v.numGlyphs,f)}i?t.text.dynamicLayoutVertexBuffer.updateData(f):t.icon.dynamicLayoutVertexBuffer.updateData(f)}(I,C.posMatrix,t,a,Y,X,y,u);var K=t.translatePosMatrix(C.posMatrix,L,o,s),Q=v||a&&T||J?ro:Y,ee=t.translatePosMatrix(X,L,o,s,!0),et=O&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1),er=void 0;O?I.iconsInText?(M=D.kind,S=B,E=N,er=e.extend(rr(M,j,x,y,t,K,Q,ee,!0,S,!0),{u_texsize_icon:E,u_texture_icon:1})):er=rr(D.kind,j,x,y,t,K,Q,ee,a,B,!0):er=rt(D.kind,j,x,y,t,K,Q,ee,a,B);var en={program:F,buffers:P,uniformValues:er,atlasTexture:U,atlasTextureIcon:q,atlasInterpolation:V,atlasInterpolationIcon:H,isSDF:O,hasHalo:et};if(_&&I.canOverlap){b=!0;for(var ei=P.segments.get(),ea=0;ea=0&&(m[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else e2(y.numGlyphs,p)}if(h){d.clear();for(var L=t.icon.placedSymbolArray,I=0;I0))return{opacity:1,mix:0};var s=e.browser.now(),l=(s-t.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),p=f&&t.refreshedUponExpiration?1:e.clamp(f?l:1-c,0,1);return(t.refreshedUponExpiration&&l>=1&&(t.refreshedUponExpiration=!1),r)?{opacity:1,mix:1-p}:{opacity:p,mix:0}}(_,w,r,n,t.transform),k=void 0,A=void 0,M="nearest"===n.paint.get("raster-resampling")?o.NEAREST:o.LINEAR;a.activeTexture.set(o.TEXTURE0),_.texture.bind(M,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.activeTexture.set(o.TEXTURE1),w?(w.texture.bind(M,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),k=Math.pow(2,w.tileID.overscaledZ-_.tileID.overscaledZ),A=[_.tileID.canonical.x*k%1,_.tileID.canonical.y*k%1]):_.texture.bind(M,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST);var S={u_matrix:b,u_tl_parent:A||[0,0],u_scale_parent:k||1,u_buffer_scale:1,u_fade_t:T.mix,u_opacity:T.opacity*n.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:n.paint.get("raster-brightness-min"),u_brightness_high:n.paint.get("raster-brightness-max"),u_saturation_factor:(g=n.paint.get("raster-saturation"))>0?1-1/(1.001-g):-g,u_contrast_factor:(y=n.paint.get("raster-contrast"))>0?1/(1-y):1+y,u_spin_weights:function(e){var t=Math.sin(e*=Math.PI/180),r=Math.cos(e);return[(2*r+1)/3,(-Math.sqrt(3)*t-r+1)/3,(Math.sqrt(3)*t-r+1)/3]}(n.paint.get("raster-hue-rotate"))};s instanceof P?l.draw(a,o.TRIANGLES,x,eA.disabled,c,eS.disabled,S,n.id,s.boundsBuffer,t.quadTriangleIndexBuffer,s.boundsSegments):l.draw(a,o.TRIANGLES,x,h[v.overscaledZ],c,eS.disabled,S,n.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(e,t,r){var n=r.paint.get("background-color"),i=r.paint.get("background-opacity");if(0!==i){var a=e.context,o=a.gl,s=e.transform,l=s.tileSize,c=r.paint.get("background-pattern");if(!e.isPatternMissing(c)){var u=!c&&1===n.a&&1===i&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass===u){var h=eA.disabled,f=e.depthModeForSublayer(0,"opaque"===u?ek.ReadWrite:ek.ReadOnly),p=e.colorModeForRenderPass(),d=e.useProgram(c?"backgroundPattern":"background"),m=s.coveringTiles({tileSize:l});c&&(a.activeTexture.set(o.TEXTURE0),e.imageManager.bind(e.context));for(var g=r.getCrossfadeParameters(),y=0;y "+n.overscaledZ),function(e,t){e.initDebugOverlayCanvas();var r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(t,m+" "+p+"kb"),s.draw(i,a.TRIANGLES,l,c,eM.alphaBlended,eS.disabled,t1(o,e.Color.transparent,d),h,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments)})(t,r,n[i])},custom:function(e,t,r){var n=e.context,i=r.implementation;if("offscreen"===e.renderPass){var a=i.prerender;a&&(e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),a.call(i,n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState())}else if("translucent"===e.renderPass){e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),n.setStencilMode(eA.disabled);var o="3d"===i.renderingMode?new ek(e.context.gl.LEQUAL,ek.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,ek.ReadOnly);n.setDepthMode(o),i.render(n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState(),n.bindFramebuffer.set(null)}}},r_=function(e,t){this.context=new eE(e),this.transform=t,this._tileTextures={},this.setup(),this.numSublayers=eC.maxUnderzooming+eC.maxOverzooming+1,this.depthEpsilon=1/65536,this.crossTileSymbolIndex=new td,this.gpuTimers={}};r_.prototype.resize=function(t,r){if(this.width=t*e.browser.devicePixelRatio,this.height=r*e.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n256&&this.clearStencil(),r.setColorMode(eM.disabled),r.setDepthMode(ek.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0;a256&&this.clearStencil();var e=this.nextStencilID++,t=this.context.gl;return new eA({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)},r_.prototype.stencilModeForClipping=function(e){var t=this.context.gl;return new eA({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)},r_.prototype.stencilConfigForOverlap=function(e){var t,r=this.context.gl,n=e.sort(function(e,t){return t.overscaledZ-e.overscaledZ}),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var A=this.style._layers[u[this.currentLayer]],M=h[A.source],S=d[A.source];this._renderTileClippingMasks(A,S),this.renderLayer(this,M,A,S)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?t.pop():null},r_.prototype.isPatternMissing=function(e){if(!e)return!1;if(!e.from||!e.to)return!0;var t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r},r_.prototype.useProgram=function(e,t){this.cache=this.cache||{};var r=""+e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new tY(this.context,e,tG[e],t,ri[e],this._showOverdrawInspector)),this.cache[r]},r_.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},r_.prototype.setBaseState=function(){var e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)},r_.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=e.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var t=this.context.gl;this.debugOverlayTexture=new e.Texture(this.context,this.debugOverlayCanvas,t.RGBA)}},r_.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var rb=function(e,t){this.points=e,this.planes=t};rb.fromInvProjectionMatrix=function(t,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(function(r){return e.transformMat4([],r,t)}).map(function(t){return e.scale$1([],t,1/t[3]/r*i)}),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(function(t){var r=e.sub([],a[t[0]],a[t[1]]),n=e.sub([],a[t[2]],a[t[1]]),i=e.normalize([],e.cross([],r,n)),o=-e.dot(i,a[t[1]]);return i.concat(o)});return new rb(a,o)};var rw=function(t,r){this.min=t,this.max=r,this.center=e.scale$2([],e.add([],this.min,this.max),.5)};rw.prototype.quadrant=function(t){for(var r=[t%2==0,t<2],n=e.clone$2(this.min),i=e.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;hthis.max[l]-this.min[l])return 0}return 1};var rT=function(e,t,r,n){if(void 0===e&&(e=0),void 0===t&&(t=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=r,this.right=n};rT.prototype.interpolate=function(t,r,n){return null!=r.top&&null!=t.top&&(this.top=e.number(t.top,r.top,n)),null!=r.bottom&&null!=t.bottom&&(this.bottom=e.number(t.bottom,r.bottom,n)),null!=r.left&&null!=t.left&&(this.left=e.number(t.left,r.left,n)),null!=r.right&&null!=t.right&&(this.right=e.number(t.right,r.right,n)),this},rT.prototype.getCenter=function(t,r){var n=e.clamp((this.left+t-this.right)/2,0,t),i=e.clamp((this.top+r-this.bottom)/2,0,r);return new e.Point(n,i)},rT.prototype.equals=function(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right},rT.prototype.clone=function(){return new rT(this.top,this.bottom,this.left,this.right)},rT.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var rk=function(t,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=t||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new rT,this._posMatrixCache={},this._alignedPosMatrixCache={}},rA={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};rk.prototype.clone=function(){var e=new rk(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.tileSize=this.tileSize,e.latRange=this.latRange,e.width=this.width,e.height=this.height,e._center=this._center,e.zoom=this.zoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._calcMatrices(),e},rA.minZoom.get=function(){return this._minZoom},rA.minZoom.set=function(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))},rA.maxZoom.get=function(){return this._maxZoom},rA.maxZoom.set=function(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))},rA.minPitch.get=function(){return this._minPitch},rA.minPitch.set=function(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))},rA.maxPitch.get=function(){return this._maxPitch},rA.maxPitch.set=function(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))},rA.renderWorldCopies.get=function(){return this._renderWorldCopies},rA.renderWorldCopies.set=function(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e},rA.worldSize.get=function(){return this.tileSize*this.scale},rA.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},rA.size.get=function(){return new e.Point(this.width,this.height)},rA.bearing.get=function(){return-this.angle/Math.PI*180},rA.bearing.set=function(t){var r=-e.wrap(t,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=e.create$2(),e.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},rA.pitch.get=function(){return this._pitch/Math.PI*180},rA.pitch.set=function(t){var r=e.clamp(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},rA.fov.get=function(){return this._fov/Math.PI*180},rA.fov.set=function(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())},rA.zoom.get=function(){return this._zoom},rA.zoom.set=function(e){var t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.scale=this.zoomScale(t),this.tileZoom=Math.floor(t),this.zoomFraction=t-this.tileZoom,this._constrain(),this._calcMatrices())},rA.center.get=function(){return this._center},rA.center.set=function(e){(e.lat!==this._center.lat||e.lng!==this._center.lng)&&(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())},rA.padding.get=function(){return this._edgeInsets.toJSON()},rA.padding.set=function(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())},rA.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},rk.prototype.isPaddingEqual=function(e){return this._edgeInsets.equals(e)},rk.prototype.interpolatePadding=function(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()},rk.prototype.coveringZoomLevel=function(e){return Math.max(0,(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize)))},rk.prototype.getVisibleUnwrappedCoordinates=function(t){var r=[new e.UnwrappedTileID(0,t)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new e.Point(0,0)),i=this.pointCoordinate(new e.Point(this.width,0)),a=this.pointCoordinate(new e.Point(this.width,this.height)),o=this.pointCoordinate(new e.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new e.UnwrappedTileID(c,t));return r},rk.prototype.coveringTiles=function(t){var r=this.coveringZoomLevel(t),n=r;if(void 0!==t.minzoom&&rt.maxzoom&&(r=t.maxzoom);var i=e.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=rb.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=t.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(e){return{aabb:new rw([e*a,0,0],[(e+1)*a,a,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}},u=[],h=[],f=r,p=t.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,y=m.y,v=m.fullyVisible;if(!v){var x=m.aabb.intersects(s);if(0===x)continue;v=2===x}var _=Math.max(Math.abs(m.aabb.distanceX(o)),Math.abs(m.aabb.distanceY(o))),b=3+(1<b&&m.zoom>=l){h.push({tileID:new e.OverscaledTileID(m.zoom===f?p:m.zoom,m.wrap,m.zoom,g,y),distanceSq:e.sqrLen([o[0]-.5-g,o[1]-.5-y])});continue}for(var w=0;w<4;w++){var T=(g<<1)+w%2,k=(y<<1)+(w>>1);u.push({aabb:m.aabb.quadrant(w),zoom:m.zoom+1,x:T,y:k,wrap:m.wrap,fullyVisible:v})}}return h.sort(function(e,t){return e.distanceSq-t.distanceSq}).map(function(e){return e.tileID})},rk.prototype.resize=function(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()},rA.unmodified.get=function(){return this._unmodified},rk.prototype.zoomScale=function(e){return Math.pow(2,e)},rk.prototype.scaleZoom=function(e){return Math.log(e)/Math.LN2},rk.prototype.project=function(t){var r=e.clamp(t.lat,-this.maxValidLatitude,this.maxValidLatitude);return new e.Point(e.mercatorXfromLng(t.lng)*this.worldSize,e.mercatorYfromLat(r)*this.worldSize)},rk.prototype.unproject=function(t){return new e.MercatorCoordinate(t.x/this.worldSize,t.y/this.worldSize).toLngLat()},rA.point.get=function(){return this.project(this.center)},rk.prototype.setLocationAtPoint=function(t,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(t),o=new e.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},rk.prototype.locationPoint=function(e){return this.coordinatePoint(this.locationCoordinate(e))},rk.prototype.pointLocation=function(e){return this.coordinateLocation(this.pointCoordinate(e))},rk.prototype.locationCoordinate=function(t){return e.MercatorCoordinate.fromLngLat(t)},rk.prototype.coordinateLocation=function(e){return e.toLngLat()},rk.prototype.pointCoordinate=function(t){var r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.transformMat4(r,r,this.pixelMatrixInverse),e.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,h=n[2]/a,f=u===h?0:(0-u)/(h-u);return new e.MercatorCoordinate(e.number(o,s,f)/this.worldSize,e.number(l,c,f)/this.worldSize)},rk.prototype.coordinatePoint=function(t){var r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix),new e.Point(r[0]/r[3],r[1]/r[3])},rk.prototype.getBounds=function(){return new e.LngLatBounds().extend(this.pointLocation(new e.Point(0,0))).extend(this.pointLocation(new e.Point(this.width,0))).extend(this.pointLocation(new e.Point(this.width,this.height))).extend(this.pointLocation(new e.Point(0,this.height)))},rk.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new e.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},rk.prototype.setMaxBounds=function(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},rk.prototype.calculatePosMatrix=function(t,r){void 0===r&&(r=!1);var n=t.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=t.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*t.wrap,l=e.identity(new Float64Array(16));return e.translate(l,l,[s*o,a.y*o,0]),e.scale(l,l,[o/e.EXTENT,o/e.EXTENT,1]),e.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},rk.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},rk.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var t,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=e.mercatorYfromLat(h[1])*this.worldSize,t=(o=e.mercatorYfromLat(h[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,v=c.x/2;y-vl&&(n=l-v)}(void 0!==n||void 0!==i)&&(this.center=this.unproject(new e.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},rk.prototype._calcMatrices=function(){if(this.height){var t=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(t)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(e.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance,u=this.height/50,h=new Float64Array(16);e.perspective(h,this._fov,this.width/this.height,u,1.01*c),h[8]=-(2*r.x)/this.width,h[9]=2*r.y/this.height,e.scale(h,h,[1,-1,1]),e.translate(h,h,[0,0,-this.cameraToCenterDistance]),e.rotateX(h,h,this._pitch),e.rotateZ(h,h,this.angle),e.translate(h,h,[-s,-l,0]),this.mercatorMatrix=e.scale([],h,[this.worldSize,this.worldSize,this.worldSize]),e.scale(h,h,[1,1,e.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=h,this.invProjMatrix=e.invert([],this.projMatrix);var f=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*f+m*p,y=l-Math.round(l)+d*p+m*f,v=new Float64Array(h);if(e.translate(v,v,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=v,h=e.create(),e.scale(h,h,[this.width/2,-this.height/2,1]),e.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=e.create(),e.scale(h,h,[1,-1,1]),e.translate(h,h,[-1,-1,0]),e.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=e.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(h=e.invert(new Float64Array(16),this.pixelMatrix)))throw Error("failed to invert matrix");this.pixelMatrixInverse=h,this._posMatrixCache={},this._alignedPosMatrixCache={}}},rk.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var t=this.pointCoordinate(new e.Point(0,0)),r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},rk.prototype.getCameraPoint=function(){var t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.Point(0,t))},rk.prototype.getCameraQueryGeometry=function(t){var r=this.getCameraPoint();if(1===t.length)return[t[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0;s=3&&!e.some(function(e){return isNaN(e)})){var t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},rM.prototype._updateHashUnthrottled=function(){var t=e.window.location.href.replace(/(#.+)?$/,this.getHashString());try{e.window.history.replaceState(e.window.history.state,null,t)}catch(e){}};var rS={linearity:.3,easing:e.bezier(0,0,.3,1)},rE=e.extend({deceleration:2500,maxSpeed:1400},rS),rC=e.extend({deceleration:20,maxSpeed:1400},rS),rL=e.extend({deceleration:1e3,maxSpeed:360},rS),rI=e.extend({deceleration:1e3,maxSpeed:90},rS),rP=function(e){this._map=e,this.clear()};function rz(e,t){(!e.duration||e.duration0&&r-t[0].time>160;)t.shift()},rP.prototype._onMoveEnd=function(t){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new e.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new rD(e.type,this._map,e))},rj.prototype.dblclick=function(e){return this._firePreventable(new rD(e.type,this._map,e))},rj.prototype.mouseover=function(e){this._map.fire(new rD(e.type,this._map,e))},rj.prototype.mouseout=function(e){this._map.fire(new rD(e.type,this._map,e))},rj.prototype.touchstart=function(e){return this._firePreventable(new rR(e.type,this._map,e))},rj.prototype.touchmove=function(e){this._map.fire(new rR(e.type,this._map,e))},rj.prototype.touchend=function(e){this._map.fire(new rR(e.type,this._map,e))},rj.prototype.touchcancel=function(e){this._map.fire(new rR(e.type,this._map,e))},rj.prototype._firePreventable=function(e){if(this._map.fire(e),e.defaultPrevented)return{}},rj.prototype.isEnabled=function(){return!0},rj.prototype.isActive=function(){return!1},rj.prototype.enable=function(){},rj.prototype.disable=function(){};var rB=function(e){this._map=e};rB.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},rB.prototype.mousemove=function(e){this._map.fire(new rD(e.type,this._map,e))},rB.prototype.mousedown=function(){this._delayContextMenu=!0},rB.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new rD("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},rB.prototype.contextmenu=function(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new rD(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()},rB.prototype.isEnabled=function(){return!0},rB.prototype.isActive=function(){return!1},rB.prototype.enable=function(){},rB.prototype.disable=function(){};var rN=function(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1};function rU(e,t){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),n.length===this.numTouches&&(this.centroid=function(t){for(var r=new e.Point(0,0),n=0;n30)&&(this.aborted=!0)}}},rV.prototype.touchend=function(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var rq=function(e){this.singleTap=new rV(e),this.numTaps=e.numTaps,this.reset()};rq.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},rq.prototype.touchstart=function(e,t,r){this.singleTap.touchstart(e,t,r)},rq.prototype.touchmove=function(e,t,r){this.singleTap.touchmove(e,t,r)},rq.prototype.touchend=function(e,t,r){var n=this.singleTap.touchend(e,t,r);if(n){var i=e.timeStamp-this.lastTime<500,a=!this.lastTap||30>this.lastTap.dist(n);if(i&&a||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var rH=function(){this._zoomIn=new rq({numTouches:1,numTaps:2}),this._zoomOut=new rq({numTouches:2,numTaps:1}),this.reset()};rH.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},rH.prototype.touchstart=function(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)},rH.prototype.touchmove=function(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)},rH.prototype.touchend=function(e,t,r){var n=this,i=this._zoomIn.touchend(e,t,r),a=this._zoomOut.touchend(e,t,r);return i?(this._active=!0,e.preventDefault(),setTimeout(function(){return n.reset()},0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(i)},{originalEvent:e})}}):a?(this._active=!0,e.preventDefault(),setTimeout(function(){return n.reset()},0),{cameraAnimation:function(t){return t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(a)},{originalEvent:e})}}):void 0},rH.prototype.touchcancel=function(){this.reset()},rH.prototype.enable=function(){this._enabled=!0},rH.prototype.disable=function(){this._enabled=!1,this.reset()},rH.prototype.isEnabled=function(){return this._enabled},rH.prototype.isActive=function(){return this._active};var rG={};rG[0]=1,rG[2]=2;var rZ=function(e){this.reset(),this._clickTolerance=e.clickTolerance||1};rZ.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},rZ.prototype._correctButton=function(e,t){return!1},rZ.prototype._move=function(e,t){return{}},rZ.prototype.mousedown=function(e,t){if(!this._lastPoint){var r=o.mouseButton(e);this._correctButton(e,r)&&(this._lastPoint=t,this._eventButton=r)}},rZ.prototype.mousemoveWindow=function(e,t){var r,n=this._lastPoint;if(n){if(e.preventDefault(),r=rG[this._eventButton],void 0===e.buttons||(e.buttons&r)!==r){this.reset();return}if(!(!this._moved&&t.dist(n)0&&(this._active=!0);var i=rU(n,r),a=new e.Point(0,0),o=new e.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(rQ(this._distance,this._startDistance))))return this._active=!0,{zoomDelta:rQ(this._distance,r),pinchAround:t}},t}(rJ);function r1(e,t){return 180*e.angleWith(t)/Math.PI}var r2=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.reset=function(){e.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},t.prototype._start=function(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])},t.prototype._move=function(e,t){var r=this._vector;if(this._vector=e[0].sub(e[1]),!(!this._active&&this._isBelowThreshold(this._vector)))return this._active=!0,{bearingDelta:r1(this._vector,r),pinchAround:t}},t.prototype._isBelowThreshold=function(e){this._minDiameter=Math.min(this._minDiameter,e.mag());var t=Math.PI*this._minDiameter;return Math.abs(r1(e,this._startVector))<25/t*360},t}(rJ);function r3(e){return Math.abs(e.y)>Math.abs(e.x)}var r5=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.reset=function(){e.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},t.prototype._start=function(e){this._lastPoints=e,r3(e[0].sub(e[1]))&&(this._valid=!1)},t.prototype._move=function(e,t,r){var n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=e,this._active=!0,{pitchDelta:-((n.y+i.y)/2*.5)}},t.prototype.gestureBeginsVertically=function(e,t,r){if(void 0!==this._valid)return this._valid;var n=e.mag()>=2,i=t.mag()>=2;if(n||i){if(!n||!i){if(void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100)return;return!1}var a=e.y>0==t.y>0;return r3(e)&&r3(t)&&a}},t}(rJ),r4=function(){this._panStep=100,this._bearingStep=15,this._pitchStep=10,this._rotationDisabled=!1};function r6(e){return e*(2-e)}r4.prototype.reset=function(){this._active=!1},r4.prototype.keydown=function(e){var t=this;if(!e.altKey&&!e.ctrlKey&&!e.metaKey){var r=0,n=0,i=0,a=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),a=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),a=1);break;case 38:e.shiftKey?i=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?i=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:r6,zoom:r?Math.round(l)+r*(e.shiftKey?2:1):l,bearing:s.getBearing()+n*t._bearingStep,pitch:s.getPitch()+i*t._pitchStep,offset:[-a*t._panStep,-o*t._panStep],center:s.getCenter()},{originalEvent:e})}}}},r4.prototype.enable=function(){this._enabled=!0},r4.prototype.disable=function(){this._enabled=!1,this.reset()},r4.prototype.isEnabled=function(){return this._enabled},r4.prototype.isActive=function(){return this._active},r4.prototype.disableRotation=function(){this._rotationDisabled=!0},r4.prototype.enableRotation=function(){this._rotationDisabled=!1};var r8=1/450,r7=function(t,r){this._map=t,this._el=t.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=r8,e.bindAll(["_onTimeout"],this)};r7.prototype.setZoomRate=function(e){this._defaultZoomRate=e},r7.prototype.setWheelZoomRate=function(e){this._wheelZoomRate=e},r7.prototype.isEnabled=function(){return!!this._enabled},r7.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},r7.prototype.isZooming=function(){return!!this._zooming},r7.prototype.enable=function(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=e&&"center"===e.around)},r7.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},r7.prototype.wheel=function(t){if(this.isEnabled()){var r=t.deltaMode===e.window.WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY,n=e.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&4>Math.abs(r)?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,t)):!this._type&&(this._type=200>Math.abs(i*r)?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),t.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=t,this._delta-=r,this._active||this._start(t)),t.preventDefault()}},r7.prototype._onTimeout=function(e){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},r7.prototype._start=function(t){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var r=o.mousePos(this._el,t);this._around=e.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(r)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},r7.prototype.renderFrame=function(){var t,r=this;if(this._frameId&&(this._frameId=null,this.isActive())){var n=this._map.transform;if(0!==this._delta){var i="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,a=2/(1+Math.exp(-Math.abs(this._delta*i)));this._delta<0&&0!==a&&(a=1/a);var o="number"==typeof this._targetZoom?n.zoomScale(this._targetZoom):n.scale;this._targetZoom=Math.min(n.maxZoom,Math.max(n.minZoom,n.scaleZoom(o*a))),"wheel"===this._type&&(this._startZoom=n.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var s="number"==typeof this._targetZoom?this._targetZoom:n.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var h=Math.min((e.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);t=e.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else t=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout(function(){r._zooming=!1,r._handler._triggerRenderFrame(),delete r._targetZoom,delete r._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:t-n.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},r7.prototype._smoothOutEasing=function(t){var r=e.ease;if(this._prevEase){var n=this._prevEase,i=(e.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01;r=e.bezier(o,Math.sqrt(.0729-o*o),.25,1)}return this._prevEase={start:e.browser.now(),duration:t,easing:r},r},r7.prototype.reset=function(){this._active=!1};var r9=function(e,t){this._clickZoom=e,this._tapZoom=t};r9.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},r9.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},r9.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},r9.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var ne=function(){this.reset()};ne.prototype.reset=function(){this._active=!1},ne.prototype.dblclick=function(e,t){return e.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(e.shiftKey?-1:1),around:r.unproject(t)},{originalEvent:e})}}},ne.prototype.enable=function(){this._enabled=!0},ne.prototype.disable=function(){this._enabled=!1,this.reset()},ne.prototype.isEnabled=function(){return this._enabled},ne.prototype.isActive=function(){return this._active};var nt=function(){this._tap=new rq({numTouches:1,numTaps:1}),this.reset()};nt.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},nt.prototype.touchstart=function(e,t,r){!this._swipePoint&&(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=t[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(e,t,r))},nt.prototype.touchmove=function(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)},nt.prototype.touchend=function(e,t,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(e,t,r)&&(this._tapTime=e.timeStamp)},nt.prototype.touchcancel=function(){this.reset()},nt.prototype.enable=function(){this._enabled=!0},nt.prototype.disable=function(){this._enabled=!1,this.reset()},nt.prototype.isEnabled=function(){return this._enabled},nt.prototype.isActive=function(){return this._active};var nr=function(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r};nr.prototype.enable=function(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},nr.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},nr.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},nr.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var nn=function(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r};nn.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},nn.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},nn.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},nn.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var ni=function(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};ni.prototype.enable=function(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},ni.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},ni.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},ni.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},ni.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},ni.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var na=function(e){return e.zoom||e.drag||e.pitch||e.rotate},no=function(e){function t(){e.apply(this,arguments)}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t}(e.Event);function ns(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}var nl=function(t,r){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new rP(t),this._bearingSnap=r.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(r),e.bindAll(["handleEvent","handleWindowEvent"],this);var n=this._el;this._listeners=[[n,"touchstart",{passive:!0}],[n,"touchmove",{passive:!1}],[n,"touchend",void 0],[n,"touchcancel",void 0],[n,"mousedown",void 0],[n,"mousemove",void 0],[n,"mouseup",void 0],[e.window.document,"mousemove",{capture:!0}],[e.window.document,"mouseup",void 0],[n,"mouseover",void 0],[n,"mouseout",void 0],[n,"dblclick",void 0],[n,"click",void 0],[n,"keydown",{capture:!1}],[n,"keyup",void 0],[n,"wheel",{passive:!1}],[n,"contextmenu",void 0],[e.window,"blur",void 0]];for(var i=0,a=this._listeners;it.indexOf(n)))return!0;return!1},nl.prototype.handleWindowEvent=function(e){this.handleEvent(e,e.type+"Window")},nl.prototype._getMapTouches=function(e){for(var t=[],r=0;rs?Math.min(2,b):Math.max(.5,b),1-t),w=o.unproject(x.add(_.mult(t*v)).mult(y));o.setLocationAtPoint(o.renderWorldCopies?w.wrap():w,g)}a._fireMoveEvents(r)},function(e){a._afterEase(r,e)},t),this},r.prototype._prepareEase=function(t,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new e.Event("movestart",t)),this._zooming&&!n.zooming&&this.fire(new e.Event("zoomstart",t)),this._rotating&&!n.rotating&&this.fire(new e.Event("rotatestart",t)),this._pitching&&!n.pitching&&this.fire(new e.Event("pitchstart",t))},r.prototype._fireMoveEvents=function(t){this.fire(new e.Event("move",t)),this._zooming&&this.fire(new e.Event("zoom",t)),this._rotating&&this.fire(new e.Event("rotate",t)),this._pitching&&this.fire(new e.Event("pitch",t))},r.prototype._afterEase=function(t,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new e.Event("zoomend",t)),i&&this.fire(new e.Event("rotateend",t)),a&&this.fire(new e.Event("pitchend",t)),this.fire(new e.Event("moveend",t))}},r.prototype.flyTo=function(t,r){var n=this;if(!t.essential&&e.browser.prefersReducedMotion){var i=e.pick(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),t=e.extend({offset:[0,0],speed:1.2,curve:1.42,easing:e.ease},t);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in t?e.clamp(+t.zoom,a.minZoom,a.maxZoom):o,h="bearing"in t?this._normalizeBearing(t.bearing,s):s,f="pitch"in t?+t.pitch:l,p="padding"in t?t.padding:a.padding,d=a.zoomScale(u-o),m=e.Point.convert(t.offset),g=a.centerPoint.add(m),y=a.pointLocation(g),v=e.LngLat.convert(t.center||y);this._normalizeCenter(v);var x=a.project(y),_=a.project(v).sub(x),b=t.curve,w=Math.max(a.width,a.height),T=w/d,k=_.mag();if("minZoom"in t){var A=e.clamp(Math.min(t.minZoom,o,u),a.minZoom,a.maxZoom);b=Math.sqrt(w/a.zoomScale(A-o)/k*2)}var M=b*b;function S(e){var t=(T*T-w*w+(e?-1:1)*M*M*k*k)/(2*(e?T:w)*M*k);return Math.log(Math.sqrt(t*t+1)-t)}function E(e){return(Math.exp(e)-Math.exp(-e))/2}function C(e){return(Math.exp(e)+Math.exp(-e))/2}var L=S(0),I=function(e){return C(L)/C(L+b*e)},P=function(e){var t;return(C(L)*(E(t=L+b*e)/C(t))-E(L))/M*w/k},z=(S(1)-L)/b;if(1e-6>Math.abs(k)||!isFinite(z)){if(1e-6>Math.abs(w-T))return this.easeTo(t,r);var O=Tt.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease(function(t){var i=t*z,d=1/I(i);a.zoom=1===t?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=e.number(s,h,t)),n._pitching&&(a.pitch=e.number(l,f,t)),n._padding&&(a.interpolatePadding(c,p,t),g=a.centerPoint.add(m));var y=1===t?v:a.unproject(x.add(_.mult(P(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)},function(){return n._afterEase(r)},t),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,t)}if(!e){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(t,r,n){!1===n.animate||0===n.duration?(t(1),r()):(this._easeStart=e.browser.now(),this._easeOptions=n,this._onEaseFrame=t,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((e.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(t,r){var n=Math.abs((t=e.wrap(t,-180,180))-r);return Math.abs(t-360-r)180?-360:r<-180?360:0}},r}(e.Evented),nu=function(t){void 0===t&&(t={}),this.options=t,e.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};nu.prototype.getDefaultPosition=function(){return"bottom-right"},nu.prototype.onAdd=function(e){var t=this.options&&this.options.compact;return this._map=e,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),t&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===t&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},nu.prototype.onRemove=function(){o.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},nu.prototype._setElementTitle=function(e,t){var r=this._map._getUIString("AttributionControl."+t);e.title=r,e.setAttribute("aria-label",r)},nu.prototype._toggleAttribution=function(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","true"))},nu.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||e.config.ACCESS_TOKEN}];if(t){var n=r.reduce(function(e,t,n){return t.value&&(e+=t.key+"="+t.value+(ne.indexOf(a.attribution)&&e.push(a.attribution)}}e.sort(function(e,t){return e.length-t.length});var o=(e=e.filter(function(t,r){for(var n=r+1;n=0)return!1;return!0})).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,e.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},nu.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var nh=function(){e.bindAll(["_updateLogo"],this),e.bindAll(["_updateCompact"],this)};nh.prototype.onAdd=function(e){this._map=e,this._container=o.create("div","mapboxgl-ctrl");var t=o.create("a","mapboxgl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://www.mapbox.com/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},nh.prototype.onRemove=function(){o.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},nh.prototype.getDefaultPosition=function(){return"bottom-left"},nh.prototype._updateLogo=function(e){e&&"metadata"!==e.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},nh.prototype._logoRequired=function(){if(this._map.style){var e=this._map.style.sourceCaches;for(var t in e)if(e[t].getSource().mapbox_logo)return!0;return!1}},nh.prototype._updateCompact=function(){var e=this._container.children;if(e.length){var t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add("mapboxgl-compact"):t.classList.remove("mapboxgl-compact")}};var nf=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};nf.prototype.add=function(e){var t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t},nf.prototype.remove=function(e){for(var t=this._currentlyRunning,r=t?this._queue.concat(t):this._queue,n=0;nr.maxZoom)throw Error("maxZoom must be greater than or equal to minZoom");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw Error("maxPitch must be greater than or equal to minPitch");if(null!=r.minPitch&&r.minPitch<0)throw Error("minPitch must be greater than or equal to 0");if(null!=r.maxPitch&&r.maxPitch>60)throw Error("maxPitch must be less than or equal to 60");var i=new rk(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies);if(t.call(this,i,r),this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._failIfMajorPerformanceCaveat=r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=r.preserveDrawingBuffer,this._antialias=r.antialias,this._trackResize=r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=r.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=r.collectResourceTiming,this._renderTaskQueue=new nf,this._controls=[],this._mapId=e.uniqueId(),this._locale=e.extend({},np,r.locale),this._clickTolerance=r.clickTolerance,this._requestManager=new e.RequestManager(r.transformRequest,r.accessToken),"string"==typeof r.container){if(this._container=e.window.document.getElementById(r.container),!this._container)throw Error("Container '"+r.container+"' not found.")}else if(r.container instanceof nm)this._container=r.container;else throw Error("Invalid type: 'container' must be a String or HTMLElement.");if(r.maxBounds&&this.setMaxBounds(r.maxBounds),e.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw Error("Failed to initialize WebGL.");this.on("move",function(){return n._update(!1)}),this.on("moveend",function(){return n._update(!1)}),this.on("zoom",function(){return n._update(!0)}),void 0!==e.window&&(e.window.addEventListener("online",this._onWindowOnline,!1),e.window.addEventListener("resize",this._onWindowResize,!1),e.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new nl(this,r);var a="string"==typeof r.hash&&r.hash||void 0;this._hash=r.hash&&new rM(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,e.extend({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new nu({customAttribution:r.customAttribution})),this.addControl(new nh,r.logoPosition),this.on("style.load",function(){n.transform.unmodified&&n.jumpTo(n.style.stylesheet)}),this.on("data",function(t){n._update("style"===t.dataType),n.fire(new e.Event(t.dataType+"data",t))}),this.on("dataloading",function(t){n.fire(new e.Event(t.dataType+"dataloading",t))})}t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r;var n={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return r.prototype._getMapId=function(){return this._mapId},r.prototype.addControl=function(t,r){if(void 0===r&&(r=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.ErrorEvent(Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=t.onAdd(this);this._controls.push(t);var i=this._controlPositions[r];return -1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},r.prototype.removeControl=function(t){if(!t||!t.onRemove)return this.fire(new e.ErrorEvent(Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(t);return r>-1&&this._controls.splice(r,1),t.onRemove(this),this},r.prototype.hasControl=function(e){return this._controls.indexOf(e)>-1},r.prototype.resize=function(t){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new e.Event("movestart",t)).fire(new e.Event("move",t))),this.fire(new e.Event("resize",t)),a&&this.fire(new e.Event("moveend",t)),this},r.prototype.getBounds=function(){return this.transform.getBounds()},r.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},r.prototype.setMaxBounds=function(t){return this.transform.setMaxBounds(e.LngLatBounds.convert(t)),this._update()},r.prototype.setMinZoom=function(e){if((e=null==e?-2:e)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw Error("maxZoom must be greater than the current minZoom")},r.prototype.getMaxZoom=function(){return this.transform.maxZoom},r.prototype.setMinPitch=function(e){if((e=null==e?0:e)<0)throw Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()60)throw Error("maxPitch must be less than or equal to 60");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw Error("maxPitch must be greater than the current minPitch")},r.prototype.getMaxPitch=function(){return this.transform.maxPitch},r.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},r.prototype.setRenderWorldCopies=function(e){return this.transform.renderWorldCopies=e,this._update()},r.prototype.project=function(t){return this.transform.locationPoint(e.LngLat.convert(t))},r.prototype.unproject=function(t){return this.transform.pointLocation(e.Point.convert(t))},r.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},r.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},r.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},r.prototype._createDelegatedListener=function(e,t,r){var n,i=this;if("mouseenter"===e||"mouseover"===e){var a=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[];o.length?a||(a=!0,r.call(i,new rD(e,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"!==e&&"mouseout"!==e)return{layer:t,listener:r,delegates:((n={})[e]=function(e){var n=i.getLayer(t)?i.queryRenderedFeatures(e.point,{layers:[t]}):[];n.length&&(e.features=n,r.call(i,e),delete e.features)},n)};var o=!1;return{layer:t,listener:r,delegates:{mousemove:function(n){(i.getLayer(t)?i.queryRenderedFeatures(n.point,{layers:[t]}):[]).length?o=!0:o&&(o=!1,r.call(i,new rD(e,i,n.originalEvent)))},mouseout:function(t){o&&(o=!1,r.call(i,new rD(e,i,t.originalEvent)))}}}},r.prototype.on=function(e,r,n){if(void 0===n)return t.prototype.on.call(this,e,r);var i=this._createDelegatedListener(e,r,n);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(i),i.delegates)this.on(a,i.delegates[a]);return this},r.prototype.once=function(e,r,n){if(void 0===n)return t.prototype.once.call(this,e,r);var i=this._createDelegatedListener(e,r,n);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},r.prototype.off=function(e,r,n){var i=this;return void 0===n?t.prototype.off.call(this,e,r):(this._delegatedListeners&&this._delegatedListeners[e]&&function(t){for(var a=t[e],o=0;o180;){var s=n.locationPoint(t);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;t.lng>n.center.lng?t.lng-=360:t.lng+=360}return t}nw.prototype.down=function(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),o.disableDrag()},nw.prototype.move=function(e,t){var r=this.map,n=this.mouseRotate.mousemoveWindow(e,t);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(e,t);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},nw.prototype.off=function(){var e=this.element;o.removeEventListener(e,"mousedown",this.mousedown),o.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),o.removeEventListener(e,"touchmove",this.touchmove),o.removeEventListener(e,"touchend",this.touchend),o.removeEventListener(e,"touchcancel",this.reset),this.offTemp()},nw.prototype.offTemp=function(){o.enableDrag(),o.removeEventListener(e.window,"mousemove",this.mousemove),o.removeEventListener(e.window,"mouseup",this.mouseup)},nw.prototype.mousedown=function(t){this.down(e.extend({},t,{ctrlKey:!0,preventDefault:function(){return t.preventDefault()}}),o.mousePos(this.element,t)),o.addEventListener(e.window,"mousemove",this.mousemove),o.addEventListener(e.window,"mouseup",this.mouseup)},nw.prototype.mousemove=function(e){this.move(e,o.mousePos(this.element,e))},nw.prototype.mouseup=function(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp()},nw.prototype.touchstart=function(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return e.preventDefault()}},this._startPos))},nw.prototype.touchmove=function(e){1!==e.targetTouches.length?this.reset():(this._lastPos=o.touchPos(this.element,e.targetTouches)[0],this.move({preventDefault:function(){return e.preventDefault()}},this._lastPos))},nw.prototype.touchend=function(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new e.Event("dragstart"))),this.fire(new e.Event("drag")))},r.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new e.Event("dragend")),this._state="inactive"},r.prototype._addDragHandler=function(e){this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},r.prototype.setDraggable=function(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},r.prototype.isDraggable=function(){return this._draggable},r.prototype.setRotation=function(e){return this._rotation=e||0,this._update(),this},r.prototype.getRotation=function(){return this._rotation},r.prototype.setRotationAlignment=function(e){return this._rotationAlignment=e||"auto",this._update(),this},r.prototype.getRotationAlignment=function(){return this._rotationAlignment},r.prototype.setPitchAlignment=function(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this},r.prototype.getPitchAlignment=function(){return this._pitchAlignment},r}(e.Evented),nS={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},nE=0,nC=!1,nL=function(t){function r(r){t.call(this),this.options=e.extend({},nS,r),e.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){var r;return this._map=t,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),r=this._setupUI,void 0!==i?r(i):void 0!==e.window.navigator.permissions?e.window.navigator.permissions.query({name:"geolocation"}).then(function(e){r(i="denied"!==e.state)}):r(i=!!e.window.navigator.geolocation),this._container},r.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(e.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,nE=0,nC=!1},r.prototype._isOutOfMapMaxBounds=function(e){var t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitudet.getEast()||r.latitudet.getNorth())},r.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},r.prototype._onSuccess=function(t){if(this._map){if(this._isOutOfMapMaxBounds(t)){this._setErrorState(),this.fire(new e.Event("outofmaxbounds",t)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("geolocate",t)),this._finish()}},r.prototype._updateCamera=function(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude),n=t.coords.accuracy,i=this._map.getBearing(),a=e.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},r.prototype._updateMarker=function(t){if(t){var r=new e.LngLat(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},r.prototype._updateCircleRadius=function(){var e=this._map._container.clientHeight/2,t=this._map.unproject([0,e]),r=this._map.unproject([1,e]),n=t.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},r.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},r.prototype._onError=function(t){if(this._map){if(this.options.trackUserLocation){if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&nC)return;this._setErrorState()}}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new e.Event("error",t)),this._finish()}},r.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},r.prototype._setupUI=function(t){var r=this;if(this._container.addEventListener("contextmenu",function(e){return e.preventDefault()}),this._geolocateButton=o.create("button","mapboxgl-ctrl-geolocate",this._container),o.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===t){e.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var n=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n)}else{var i=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new nM(this._dotElement),this._circleElement=o.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new nM({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(t){var n=t.originalEvent&&"resize"===t.originalEvent.type;t.geolocateSource||"ACTIVE_LOCK"!==r._watchState||n||(r._watchState="BACKGROUND",r._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),r._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),r.fire(new e.Event("trackuserlocationend")))})},r.prototype.trigger=function(){if(!this._setup)return e.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new e.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":nE--,nC=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new e.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var t;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++nE>1?(t={maximumAge:6e5,timeout:0},nC=!0):(t=this.options.positionOptions,nC=!1),this._geolocationWatchID=e.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else e.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},r.prototype._clearWatch=function(){e.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},r}(e.Evented),nI={maxWidth:100,unit:"metric"},nP=function(t){this.options=e.extend({},nI,t),e.bindAll(["_onMove","setUnit"],this)};function nz(e,t,r){var n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?nO(t,n,l/5280,e._getUIString("ScaleControl.Miles")):nO(t,n,l,e._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?nO(t,n,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?nO(t,n,s/1e3,e._getUIString("ScaleControl.Kilometers")):nO(t,n,s,e._getUIString("ScaleControl.Meters"))}function nO(e,t,r,n){var i,a,o,s,l=(o=Math.pow(10,(""+Math.floor(r)).length-1),s=r/o,o*(s=s>=10?10:s>=5?5:s>=3?3:s>=2?2:s>=1?1:(a=Math.pow(10,Math.ceil(-Math.log(i=s)/Math.LN10)),Math.round(i*a)/a)));e.style.width=l/r*t+"px",e.innerHTML=l+" "+n}nP.prototype.getDefaultPosition=function(){return"bottom-left"},nP.prototype._onMove=function(){nz(this._map,this._container,this.options)},nP.prototype.onAdd=function(e){return this._map=e,this._container=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},nP.prototype.onRemove=function(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},nP.prototype.setUnit=function(e){this.options.unit=e,nz(this._map,this._container,this.options)};var nD=function(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof e.window.HTMLElement?this._container=t.container:e.warnOnce("Full screen control 'container' must be a DOM element.")),e.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in e.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in e.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in e.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in e.window.document&&(this._fullscreenchange="MSFullscreenChange")};nD.prototype.onAdd=function(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",e.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},nD.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,e.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},nD.prototype._checkFullscreenSupport=function(){return!!(e.window.document.fullscreenEnabled||e.window.document.mozFullScreenEnabled||e.window.document.msFullscreenEnabled||e.window.document.webkitFullscreenEnabled)},nD.prototype._setupUI=function(){var t=this._fullscreenButton=o.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o.create("span","mapboxgl-ctrl-icon",t).setAttribute("aria-hidden",!0),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),e.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},nD.prototype._updateTitle=function(){var e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e},nD.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},nD.prototype._isFullscreen=function(){return this._fullscreen},nD.prototype._changeIcon=function(){(e.window.document.fullscreenElement||e.window.document.mozFullScreenElement||e.window.document.webkitFullscreenElement||e.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},nD.prototype._onClickFullscreen=function(){this._isFullscreen()?e.window.document.exitFullscreen?e.window.document.exitFullscreen():e.window.document.mozCancelFullScreen?e.window.document.mozCancelFullScreen():e.window.document.msExitFullscreen?e.window.document.msExitFullscreen():e.window.document.webkitCancelFullScreen&&e.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var nR={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},nF=function(t){function r(r){t.call(this),this.options=e.extend(Object.create(nR),r),e.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return t&&(r.__proto__=t),r.prototype=Object.create(t&&t.prototype),r.prototype.constructor=r,r.prototype.addTo=function(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new e.Event("open")),this},r.prototype.isOpen=function(){return!!this._map},r.prototype.remove=function(){return this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new e.Event("close")),this},r.prototype.getLngLat=function(){return this._lngLat},r.prototype.setLngLat=function(t){return this._lngLat=e.LngLat.convert(t),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},r.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},r.prototype.getElement=function(){return this._container},r.prototype.setText=function(t){return this.setDOMContent(e.window.document.createTextNode(t))},r.prototype.setHTML=function(t){var r,n=e.window.document.createDocumentFragment(),i=e.window.document.createElement("body");for(i.innerHTML=t;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},r.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},r.prototype.setMaxWidth=function(e){return this.options.maxWidth=e,this._update(),this},r.prototype.setDOMContent=function(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this},r.prototype.addClassName=function(e){this._container&&this._container.classList.add(e)},r.prototype.removeClassName=function(e){this._container&&this._container.classList.remove(e)},r.prototype.setOffset=function(e){return this.options.offset=e,this._update(),this},r.prototype.toggleClassName=function(e){if(this._container)return this._container.classList.toggle(e)},r.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},r.prototype._onMouseUp=function(e){this._update(e.point)},r.prototype._onMouseMove=function(e){this._update(e.point)},r.prototype._onDrag=function(e){this._update(e.point)},r.prototype._update=function(t){var r=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(!this._container&&(this._container=o.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=o.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(e){return r._container.classList.add(e)}),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=nT(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,s=function t(r){if(!r)return t(new e.Point(0,0));if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new e.Point(0,0),top:new e.Point(0,r),"top-left":new e.Point(n,n),"top-right":new e.Point(-n,n),bottom:new e.Point(0,-r),"bottom-left":new e.Point(n,-n),"bottom-right":new e.Point(-n,-n),left:new e.Point(r,0),right:new e.Point(-r,0)}}if(!(r instanceof e.Point||Array.isArray(r)))return{center:e.Point.convert(r.center||[0,0]),top:e.Point.convert(r.top||[0,0]),"top-left":e.Point.convert(r["top-left"]||[0,0]),"top-right":e.Point.convert(r["top-right"]||[0,0]),bottom:e.Point.convert(r.bottom||[0,0]),"bottom-left":e.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":e.Point.convert(r["bottom-right"]||[0,0]),left:e.Point.convert(r.left||[0,0]),right:e.Point.convert(r.right||[0,0])};var i=e.Point.convert(r);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}(this.options.offset);if(!a){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=i.y+s.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-c/2&&l.push("right"),a=0===l.length?"bottom":l.join("-")}var h=i.add(s[a]).round();o.setTransform(this._container,nk[a]+" translate("+h.x+"px,"+h.y+"px)"),nA(this._container,a,"popup")}},r.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var e=this._container.querySelector("a[href], [tabindex]:not([tabindex='-1']), [contenteditable]:not([contenteditable='false']), button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])");e&&e.focus()}},r.prototype._onClose=function(){this.remove()},r}(e.Evented),nj={version:e.version,supported:a,setRTLTextPlugin:e.setRTLTextPlugin,getRTLTextPluginStatus:e.getRTLTextPluginStatus,Map:nv,NavigationControl:nb,GeolocateControl:nL,AttributionControl:nu,ScaleControl:nP,FullscreenControl:nD,Popup:nF,Marker:nM,Style:tx,LngLat:e.LngLat,LngLatBounds:e.LngLatBounds,Point:e.Point,MercatorCoordinate:e.MercatorCoordinate,Evented:e.Evented,config:e.config,prewarm:function(){eR().acquire(ez)},clearPrewarmedResources:function(){var e=r;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(ez),r=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return e.config.ACCESS_TOKEN},set accessToken(token){e.config.ACCESS_TOKEN=token},get baseApiUrl(){return e.config.API_URL},set baseApiUrl(url){e.config.API_URL=url},get workerCount(){return eO.workerCount},set workerCount(count){eO.workerCount=count},get maxParallelImageRequests(){return e.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(numRequests){e.config.MAX_PARALLEL_IMAGE_REQUESTS=numRequests},clearStorage:function(t){e.clearTileCache(t)},workerUrl:""};return nj}),r},"object"==typeof e&&void 0!==t?t.exports=n():(r=r||self).mapboxgl=n()}}),yR=ed({"src/plots/mapbox/layers.js"(e,t){var r=tQ(),n=rl().sanitizeHTML,i=yC(),a=yT();function o(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=a.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var n=0;n0}function c(e){var t={},n={};switch(e.type){case"circle":r.extendFlat(n,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":r.extendFlat(n,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":r.extendFlat(n,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var a=e.symbol,o=i(a.textposition,a.iconsize);r.extendFlat(t,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),r.extendFlat(n,{"icon-color":e.color,"text-color":a.textfont.color,"text-opacity":e.opacity});break;case"raster":r.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":e.opacity})}return{layout:t,paint:n}}s.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=l(e)},s.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},s.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},s.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},s.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapboxLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},s.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,l(e)){var r,i,a,o,s=(i=e.sourcetype,a=e.source,o={type:i},"geojson"===i?r="data":"vector"===i?r="string"==typeof a?"url":"tiles":"raster"===i?(r="tiles",o.tileSize=256):"image"===i&&(r="url",o.coordinates=e.coordinates),o[r]=a,e.sourceattribution&&(o.attribution=n(e.sourceattribution)),o);t.addSource(this.idSource,s)}},s.findFollowingMapboxLayerId=function(e){if("traces"===e)for(var t=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&m(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf("event")>-1&&l.click(n,t.originalEvent)}}},x.updateFx=function(e){var t,r=this,i=r.map,a=r.gd;if(!r.isStatic){var o=e.dragmode;t=function(e,t){t.isRect?(e.range={})[r.id]=[c([t.xmin,t.ymin]),c([t.xmax,t.ymax])]:(e.lassoPoints={})[r.id]=t.map(c)};var l=r.dragOptions;r.dragOptions=n.extendDeep(l||{},{dragmode:e.dragmode,element:r.div,gd:a,plotinfo:{id:r.id,domain:e[r.id].domain,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:t},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id}),i.off("click",r.onClickInPanHandler),h(o)||u(o)?(i.dragPan.disable(),i.on("zoomstart",r.clearOutline),r.dragOptions.prepFn=function(e,t,n){f(e,t,n,r.dragOptions,o)},s.init(r.dragOptions)):(i.dragPan.enable(),i.off("zoomstart",r.clearOutline),r.div.onmousedown=null,r.div.ontouchstart=null,r.div.removeEventListener("touchstart",r.div._ontouchstart),r.onClickInPanHandler=r.onClickInPanFn(r.dragOptions),i.on("click",r.onClickInPanHandler))}function c(e){var t=r.map.unproject(e);return[t.lng,t.lat]}},x.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])},x.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;t1&&r.warn(f.multipleTokensErrorMsg),i[0]):(a.length&&r.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(e,o);t.accessToken=s;for(var l=0;lw/2){var T=v.split("|").join("
");_.text(T).attr("data-unformatted",T).call(c.convertToTspans,e),b=l.bBox(_.node())}_.attr("transform",n(-3,-b.height+8)),x.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;b.width+6>w&&(k=w/(b.width+6));var A=[a.l+a.w*d.x[1],a.t+a.h*(1-d.y[0])];x.attr("transform",n(A[0],A[1])+i(k))}},e.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[h],n=0;n=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,i=new a(e,n.uid),o=i.sourceId,s=r(t),l=i.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}}}),yZ=ed({"src/traces/choroplethmapbox/index.js"(e,t){t.exports={attributes:yV(),supplyDefaults:yq(),colorbar:oR(),calc:dd(),plot:yG(),hoverPoints:dy(),eventData:dv(),selectPoints:dx(),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.updateOnSelect(t)},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water")){for(var a=n+1;a0?+p[t]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=a.extractOpts(l),b=_.reversescale?a.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,1>i.opacity(w)?w:i.addOpacity(w,0)];for(t=1;t=0;r--)e.removeLayer(t[r][1])},a.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,a=new i(e,n.uid),o=a.sourceId,s=r(t),l=a.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}}}),yQ=ed({"src/traces/densitymapbox/hover.js"(e,t){var r=rB(),n=yP().hoverPoints,i=yP().getExtraText;t.exports=function(e,t,a){var o=n(e,t,a);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=r.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=i(c,u,l[0].t.labels),[s]}}}}),y0=ed({"src/traces/densitymapbox/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}}}),y1=ed({"src/traces/densitymapbox/index.js"(e,t){t.exports={attributes:yY(),supplyDefaults:yX(),colorbar:oR(),formatLabels:yE(),calc:y$(),plot:yK(),hoverPoints:yQ(),eventData:y0(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;nESRI"},ortoInstaMaps:{type:"raster",tiles:["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],tileSize:256,maxzoom:13},ortoICGC:{type:"raster",tiles:["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:"vector",url:"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},sprite:"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1",glyphs:"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":"#F4F9F4"}},{id:"ortoEsri",type:"raster",source:"ortoEsri",maxzoom:16,layout:{visibility:"visible"}},{id:"ortoICGC",type:"raster",source:"ortoICGC",minzoom:13.1,maxzoom:19,layout:{visibility:"visible"}},{id:"ortoInstaMaps",type:"raster",source:"ortoInstaMaps",maxzoom:13,layout:{visibility:"visible"}},{id:"waterway_tunnel",type:"line",source:"openmaptiles","source-layer":"waterway",minzoom:14,filter:["all",["in","class","river","stream","canal"],["==","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,6]]},"line-dasharray":[2,4]}},{id:"waterway-other",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["!in","class","canal","river","stream"],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,2]]}}},{id:"waterway-stream-canal",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["all",["in","class","canal","stream"],["!=","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.3,stops:[[13,.5],[20,6]]}}},{id:"waterway-river",type:"line",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"waterway",filter:["all",["==","class","river"],["!=","brunnel","tunnel"]],layout:{"line-cap":"round"},paint:{"line-color":"#a0c8f0","line-width":{base:1.2,stops:[[10,.8],[20,4]]},"line-opacity":.5}},{id:"water-offset",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",maxzoom:8,filter:["==","$type","Polygon"],layout:{visibility:"visible"},paint:{"fill-opacity":0,"fill-color":"#a0c8f0","fill-translate":{base:1,stops:[[6,[2,0]],[8,[0,0]]]}}},{id:"water",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",layout:{visibility:"visible"},paint:{"fill-color":"hsl(210, 67%, 85%)","fill-opacity":0}},{id:"water-pattern",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"water",layout:{visibility:"visible"},paint:{"fill-translate":[0,2.5],"fill-pattern":"wave","fill-opacity":1}},{id:"landcover-ice-shelf",type:"fill",metadata:{"mapbox:group":"1444849382550.77"},source:"openmaptiles","source-layer":"landcover",filter:["==","subclass","ice_shelf"],layout:{visibility:"visible"},paint:{"fill-color":"#fff","fill-opacity":{base:1,stops:[[0,.9],[10,.3]]}}},{id:"tunnel-service-track-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","service","track"]],layout:{"line-join":"round"},paint:{"line-color":"#cfcdca","line-dasharray":[.5,.25],"line-width":{base:1.2,stops:[[15,1],[16,4],[20,11]]}}},{id:"tunnel-minor-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","minor"]],layout:{"line-join":"round"},paint:{"line-color":"#cfcdca","line-opacity":{stops:[[12,0],[12.5,1]]},"line-width":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:"tunnel-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:"tunnel-trunk-primary-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.7}},{id:"tunnel-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","motorway"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-dasharray":[.5,.25],"line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.5}},{id:"tunnel-path",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","tunnel"],["==","class","path"]]],paint:{"line-color":"#cba","line-dasharray":[1.5,.75],"line-width":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:"tunnel-service-track",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","service","track"]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-width":{base:1.2,stops:[[15.5,0],[16,2],[20,7.5]]}}},{id:"tunnel-minor",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","minor_road"]],layout:{"line-join":"round"},paint:{"line-color":"#fff","line-opacity":1,"line-width":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:"tunnel-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#fff4c6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,10]]}}},{id:"tunnel-trunk-primary",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#fff4c6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"tunnel-motorway",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","motorway"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"#ffdaa6","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"tunnel-railway",type:"line",metadata:{"mapbox:group":"1444849354174.1904"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","tunnel"],["==","class","rail"]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]},"line-dasharray":[2,2]}},{id:"ferry",type:"line",source:"openmaptiles","source-layer":"transportation",filter:["all",["in","class","ferry"]],layout:{"line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(108, 159, 182, 1)","line-width":1.1,"line-dasharray":[2,2]}},{id:"aeroway-taxiway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:12,filter:["all",["in","class","taxiway"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(153, 153, 153, 1)","line-width":{base:1.5,stops:[[11,2],[17,12]]},"line-opacity":1}},{id:"aeroway-runway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:12,filter:["all",["in","class","runway"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(153, 153, 153, 1)","line-width":{base:1.5,stops:[[11,5],[17,55]]},"line-opacity":1}},{id:"aeroway-taxiway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:4,filter:["all",["in","class","taxiway"],["==","$type","LineString"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(255, 255, 255, 1)","line-width":{base:1.5,stops:[[11,1],[17,10]]},"line-opacity":{base:1,stops:[[11,0],[12,1]]}}},{id:"aeroway-runway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"aeroway",minzoom:4,filter:["all",["in","class","runway"],["==","$type","LineString"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"rgba(255, 255, 255, 1)","line-width":{base:1.5,stops:[[11,4],[17,50]]},"line-opacity":{base:1,stops:[[11,0],[12,1]]}}},{id:"highway-motorway-link-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"highway-link-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"highway-minor-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#cfcdca","line-opacity":{stops:[[12,0],[12.5,0]]},"line-width":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:"highway-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":.5,"line-width":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:"highway-primary-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":{stops:[[7,0],[8,.6]]},"line-width":{base:1.2,stops:[[7,0],[8,.6],[9,1.5],[20,22]]}}},{id:"highway-trunk-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-opacity":{stops:[[5,0],[6,.5]]},"line-width":{base:1.2,stops:[[5,0],[6,.6],[7,1.5],[20,22]]}}},{id:"highway-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:4,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]],layout:{"line-cap":"butt","line-join":"round",visibility:"visible"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[4,0],[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":{stops:[[4,0],[5,.5]]}}},{id:"highway-path",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","path"]]],paint:{"line-color":"#cba","line-dasharray":[1.5,.75],"line-width":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:"highway-motorway-link",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:12,filter:["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"highway-link",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"highway-minor",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"#fff","line-opacity":.5,"line-width":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:"highway-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[8,.5],[20,13]]},"line-opacity":.5}},{id:"highway-primary",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[8.5,0],[9,.5],[20,18]]},"line-opacity":0}},{id:"highway-trunk",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"highway-motorway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",minzoom:5,filter:["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]]],layout:{"line-cap":"round","line-join":"round",visibility:"visible"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"railway-transit",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:"railway-transit-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:"railway-service",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],paint:{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:"railway-service-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],layout:{visibility:"visible"},paint:{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:"railway",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:"railway-hatching",type:"line",metadata:{"mapbox:group":"1444849345966.4436"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:"bridge-motorway-link-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway_link"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"bridge-link-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:"bridge-secondary-tertiary-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-opacity":1,"line-width":{base:1.2,stops:[[8,1.5],[20,28]]}}},{id:"bridge-trunk-primary-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"hsl(28, 76%, 67%)","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,26]]}}},{id:"bridge-motorway-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway"]],layout:{"line-join":"round"},paint:{"line-color":"#e9ac77","line-width":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},"line-opacity":.5}},{id:"bridge-path-casing",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],paint:{"line-color":"#f8f4f0","line-width":{base:1.2,stops:[[15,1.2],[20,18]]}}},{id:"bridge-path",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],paint:{"line-color":"#cba","line-width":{base:1.2,stops:[[15,1.2],[20,4]]},"line-dasharray":[1.5,.75]}},{id:"bridge-motorway-link",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway_link"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"bridge-link",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:"bridge-secondary-tertiary",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,20]]}}},{id:"bridge-trunk-primary",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],layout:{"line-join":"round"},paint:{"line-color":"#fea","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]}}},{id:"bridge-motorway",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","motorway"]],layout:{"line-join":"round"},paint:{"line-color":"#fc8","line-width":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},"line-opacity":.5}},{id:"bridge-railway",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","rail"]],paint:{"line-color":"#bbb","line-width":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:"bridge-railway-hatching",type:"line",metadata:{"mapbox:group":"1444849334699.1902"},source:"openmaptiles","source-layer":"transportation",filter:["all",["==","brunnel","bridge"],["==","class","rail"]],paint:{"line-color":"#bbb","line-dasharray":[.2,8],"line-width":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:"cablecar",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==","class","cable_car"],layout:{visibility:"visible","line-cap":"round"},paint:{"line-color":"hsl(0, 0%, 70%)","line-width":{base:1,stops:[[11,1],[19,2.5]]}}},{id:"cablecar-dash",type:"line",source:"openmaptiles","source-layer":"transportation",minzoom:13,filter:["==","class","cable_car"],layout:{visibility:"visible","line-cap":"round"},paint:{"line-color":"hsl(0, 0%, 70%)","line-width":{base:1,stops:[[11,3],[19,5.5]]},"line-dasharray":[2,3]}},{id:"boundary-land-level-4",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",[">=","admin_level",4],["<=","admin_level",8],["!=","maritime",1]],layout:{"line-join":"round"},paint:{"line-color":"#9e9cab","line-dasharray":[3,1,1,1],"line-width":{base:1.4,stops:[[4,.4],[5,1],[12,3]]},"line-opacity":.6}},{id:"boundary-land-level-2",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["==","admin_level",2],["!=","maritime",1],["!=","disputed",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(248, 7%, 66%)","line-width":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,2]]}}},{id:"boundary-land-disputed",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["!=","maritime",1],["==","disputed",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"hsl(248, 7%, 70%)","line-dasharray":[1,3],"line-width":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,8]]}}},{id:"boundary-water",type:"line",source:"openmaptiles","source-layer":"boundary",filter:["all",["in","admin_level",2,4],["==","maritime",1]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":"rgba(154, 189, 214, 1)","line-width":{base:1,stops:[[0,.6],[4,1],[5,1],[12,1]]},"line-opacity":{stops:[[6,0],[10,0]]}}},{id:"waterway-name",type:"symbol",source:"openmaptiles","source-layer":"waterway",minzoom:13,filter:["all",["==","$type","LineString"],["has","name"]],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin} {name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","text-letter-spacing":.2,"symbol-spacing":350},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-lakeline",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["==","$type","LineString"],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}\n{name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","symbol-spacing":350,"text-letter-spacing":.2},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-ocean",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["all",["==","$type","Point"],["==","class","ocean"]],layout:{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":.2},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"water-name-other",type:"symbol",source:"openmaptiles","source-layer":"water_name",filter:["all",["==","$type","Point"],["!in","class","ocean"]],layout:{"text-font":["Noto Sans Italic"],"text-size":{stops:[[0,10],[6,14]]},"text-field":"{name:latin}\n{name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":.2,visibility:"visible"},paint:{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{id:"poi-level-3",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:16,filter:["all",["==","$type","Point"],[">=","rank",25]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\n{name:nonlatin}","text-offset":[0,.6],"text-size":12,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"poi-level-2",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:15,filter:["all",["==","$type","Point"],["<=","rank",24],[">=","rank",15]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\n{name:nonlatin}","text-offset":[0,.6],"text-size":12,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"poi-level-1",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:14,filter:["all",["==","$type","Point"],["<=","rank",14],["has","name"]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\n{name:nonlatin}","text-offset":[0,.6],"text-size":11,"text-max-width":9},paint:{"text-halo-blur":.5,"text-color":"rgba(191, 228, 172, 1)","text-halo-width":1,"text-halo-color":"rgba(30, 29, 29, 1)"}},{id:"poi-railway",type:"symbol",source:"openmaptiles","source-layer":"poi",minzoom:13,filter:["all",["==","$type","Point"],["has","name"],["==","class","railway"],["==","subclass","station"]],layout:{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\n{name:nonlatin}","text-offset":[0,.6],"text-size":12,"text-max-width":9,"icon-optional":!1,"icon-ignore-placement":!1,"icon-allow-overlap":!1,"text-ignore-placement":!1,"text-allow-overlap":!1,"text-optional":!0},paint:{"text-halo-blur":.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{id:"road_oneway",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:15,filter:["all",["==","oneway",1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],layout:{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":90,"icon-size":{stops:[[15,.5],[19,1]]}},paint:{"icon-opacity":.5}},{id:"road_oneway_opposite",type:"symbol",source:"openmaptiles","source-layer":"transportation",minzoom:15,filter:["all",["==","oneway",-1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],layout:{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":-90,"icon-size":{stops:[[15,.5],[19,1]]}},paint:{"icon-opacity":.5}},{id:"highway-name-path",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15.5,filter:["==","class","path"],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-color":"#f8f4f0","text-color":"hsl(30, 23%, 62%)","text-halo-width":.5}},{id:"highway-name-minor",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:15,filter:["all",["==","$type","LineString"],["in","class","minor","service","track"]],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-blur":.5,"text-color":"#765","text-halo-width":1}},{id:"highway-name-major",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:12.2,filter:["in","class","primary","secondary","tertiary","trunk"],layout:{"text-size":{base:1,stops:[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},paint:{"text-halo-blur":.5,"text-color":"#765","text-halo-width":1}},{id:"highway-shield",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:8,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["!in","network","us-interstate","us-highway","us-state"]],layout:{"text-size":10,"icon-image":"road_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-opacity":1,"text-color":"rgba(20, 19, 19, 1)","text-halo-color":"rgba(230, 221, 221, 0)","text-halo-width":2,"icon-color":"rgba(183, 18, 18, 1)","icon-opacity":.3,"icon-halo-color":"rgba(183, 55, 55, 0)"}},{id:"highway-shield-us-interstate",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:7,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-interstate"]],layout:{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[7,"point"],[7,"line"],[8,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-color":"rgba(0, 0, 0, 1)"}},{id:"highway-shield-us-other",type:"symbol",source:"openmaptiles","source-layer":"transportation_name",minzoom:9,filter:["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-highway","us-state"]],layout:{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{base:1,stops:[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},paint:{"text-color":"rgba(0, 0, 0, 1)"}},{id:"place-other",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",minzoom:12,filter:["!in","class","city","town","village","country","continent"],layout:{"text-letter-spacing":.1,"text-size":{base:1.2,stops:[[12,10],[15,14]]},"text-font":["Noto Sans Bold"],"text-field":"{name:latin}\n{name:nonlatin}","text-transform":"uppercase","text-max-width":9,visibility:"visible"},paint:{"text-color":"rgba(255,255,255,1)","text-halo-width":1.2,"text-halo-color":"rgba(57, 28, 28, 1)"}},{id:"place-village",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",minzoom:10,filter:["==","class","village"],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[10,12],[15,16]]},"text-field":"{name:latin}\n{name:nonlatin}","text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(10, 9, 9, 0.8)"}},{id:"place-town",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["==","class","town"],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[10,14],[15,24]]},"text-field":"{name:latin}\n{name:nonlatin}","text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(22, 22, 22, 0.8)"}},{id:"place-city",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["!=","capital",2],["==","class","city"]],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[7,14],[11,24]]},"text-field":"{name:latin}\n{name:nonlatin}","text-max-width":8,visibility:"visible"},paint:{"text-color":"rgba(0, 0, 0, 1)","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-city-capital",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","capital",2],["==","class","city"]],layout:{"text-font":["Noto Sans Regular"],"text-size":{base:1.2,stops:[[7,14],[11,24]]},"text-field":"{name:latin}\n{name:nonlatin}","text-max-width":8,"icon-image":"star_11","text-offset":[.4,0],"icon-size":.8,"text-anchor":"left",visibility:"visible"},paint:{"text-color":"#333","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-other",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],[">=","rank",3],["!has","iso_a2"]],layout:{"text-font":["Noto Sans Italic"],"text-field":"{name:latin}","text-size":{stops:[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-3",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],[">=","rank",3],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-2",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],["==","rank",2],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[2,11],[5,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-country-1",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",filter:["all",["==","class","country"],["==","rank",1],["has","iso_a2"]],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{stops:[[1,11],[4,17]]},"text-transform":"uppercase","text-max-width":6.25,visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{id:"place-continent",type:"symbol",metadata:{"mapbox:group":"1444849242106.713"},source:"openmaptiles","source-layer":"place",maxzoom:1,filter:["==","class","continent"],layout:{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":14,"text-max-width":6.25,"text-transform":"uppercase",visibility:"visible"},paint:{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}}],id:"qebnlkra6"}}}),y5=ed({"src/plots/map/styles/arcgis-sat.js"(e,t){t.exports={version:8,name:"orto",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:"viewport",color:"white",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:"raster",tiles:["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],tileSize:256,maxzoom:18,attribution:"ESRI © ESRI"},ortoInstaMaps:{type:"raster",tiles:["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],tileSize:256,maxzoom:13},ortoICGC:{type:"raster",tiles:["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:"vector",url:"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},sprite:"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1",glyphs:"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf",layers:[{id:"background",type:"background",paint:{"background-color":"#F4F9F4"}},{id:"ortoEsri",type:"raster",source:"ortoEsri",maxzoom:16,layout:{visibility:"visible"}},{id:"ortoICGC",type:"raster",source:"ortoICGC",minzoom:13.1,maxzoom:19,layout:{visibility:"visible"}},{id:"ortoInstaMaps",type:"raster",source:"ortoInstaMaps",maxzoom:13,layout:{visibility:"visible"}}]}}}),y4=ed({"src/plots/map/constants.js"(e,t){var r=tj(),n=y3(),i=y5(),a="https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",o="https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json",s="https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json",l={basic:s,streets:s,outdoors:s,light:a,dark:o,satellite:i,"satellite-streets":n,"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'\xa9 OpenStreetMap contributors',tiles:["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":a,"carto-darkmatter":o,"carto-voyager":s,"carto-positron-nolabels":"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json","carto-darkmatter-nolabels":"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json","carto-voyager-nolabels":"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json"},c=r(l);t.exports={styleValueDflt:"basic",stylesMap:l,styleValuesMap:c,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",c.join(", "),"or use a tile service."].join("\n"),mapOnErrorMsg:"Map error."}}}),y6=ed({"src/plots/map/layout_attributes.js"(e,t){var r=tQ(),n=eZ().defaultLine,i=aI().attributes,a=eB(),o=nW().textposition,s=tk().overrideAll,l=t7().templatedArray,c=y4(),u=a({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});u.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=s({_arrayAttrRegexps:[r.counterRegex("map",".layers",!0)],domain:i({name:"map"}),style:{valType:"any",values:c.styleValuesMap,dflt:c.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:l("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:n},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:n}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:u,textposition:r.extendFlat({},o,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}}}),y8=ed({"src/traces/scattermap/attributes.js"(e,t){var{hovertemplateAttrs:r,texttemplateAttrs:n,templatefallbackAttrs:i}=tS(),a=nZ(),o=pH(),s=nW(),l=y6(),c=eq(),u=rp(),h=ej().extendFlat,f=tk().overrideAll,p=y6(),d=o.line,m=o.marker;t.exports=f({lon:o.lon,lat:o.lat,cluster:{enabled:{valType:"boolean"},maxzoom:h({},p.layers.maxzoom,{}),step:{valType:"number",arrayOk:!0,dflt:-1,min:-1},size:{valType:"number",arrayOk:!0,dflt:20,min:0},color:{valType:"color",arrayOk:!0},opacity:h({},m.opacity,{dflt:1})},mode:h({},s.mode,{dflt:"markers"}),text:h({},s.text,{}),texttemplate:n({editType:"plot"},{keys:["lat","lon","text"]}),texttemplatefallback:i({editType:"plot"}),hovertext:h({},s.hovertext,{}),line:{color:d.color,width:d.width},connectgaps:s.connectgaps,marker:h({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:m.opacity,size:m.size,sizeref:m.sizeref,sizemin:m.sizemin,sizemode:m.sizemode},u("marker")),fill:o.fill,fillcolor:a(),textfont:l.layers.symbol.textfont,textposition:l.layers.symbol.textposition,below:{valType:"string"},selected:{marker:s.selected.marker},unselected:{marker:s.unselected.marker},hoverinfo:h({},c.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:r(),hovertemplatefallback:i()},"calc","nested")}}),y7=ed({"src/traces/scattermap/constants.js"(e,t){var r=["Metropolis Black Italic","Metropolis Black","Metropolis Bold Italic","Metropolis Bold","Metropolis Extra Bold Italic","Metropolis Extra Bold","Metropolis Extra Light Italic","Metropolis Extra Light","Metropolis Light Italic","Metropolis Light","Metropolis Medium Italic","Metropolis Medium","Metropolis Regular Italic","Metropolis Regular","Metropolis Semi Bold Italic","Metropolis Semi Bold","Metropolis Thin Italic","Metropolis Thin","Open Sans Bold Italic","Open Sans Bold","Open Sans Extrabold Italic","Open Sans Extrabold","Open Sans Italic","Open Sans Light Italic","Open Sans Light","Open Sans Regular","Open Sans Semibold Italic","Open Sans Semibold","Klokantech Noto Sans Bold","Klokantech Noto Sans CJK Bold","Klokantech Noto Sans CJK Regular","Klokantech Noto Sans Italic","Klokantech Noto Sans Regular"];t.exports={isSupportedFont:function(e){return -1!==r.indexOf(e)}}}}),y9=ed({"src/traces/scattermap/defaults.js"(e,t){var r=tQ(),n=rC(),i=il(),a=ic(),o=ih(),s=ip(),l=y8(),c=y7().isSupportedFont;t.exports=function(e,t,u,h){function f(n,i){return r.coerce(e,t,l,n,i)}function p(n,i){return r.coerce2(e,t,l,n,i)}if(d=f("lon")||[],m=f("lat")||[],g=Math.min(d.length,m.length),t._length=g,!g){t.visible=!1;return}if(f("text"),f("texttemplate"),f("texttemplatefallback"),f("hovertext"),f("hovertemplate"),f("hovertemplatefallback"),f("mode"),f("below"),n.hasMarkers(t)){i(e,t,u,h,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var d,m,g,y=t.marker;"circle"!==y.symbol&&(r.isArrayOrTypedArray(y.size)&&(y.size=y.size[0]),r.isArrayOrTypedArray(y.color)&&(y.color=y.color[0]))}n.hasLines(t)&&(a(e,t,u,h,f,{noDash:!0}),f("connectgaps"));var v=p("cluster.maxzoom"),x=p("cluster.step"),_=p("cluster.color",t.marker&&t.marker.color||u),b=p("cluster.size"),w=p("cluster.opacity");if(f("cluster.enabled",!1!==v||!1!==x||!1!==_||!1!==b||!1!==w)||n.hasText(t)){var T=h.font.family;o(e,t,h,f,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:c(T)?T:"Open Sans Regular",weight:h.font.weight,style:h.font.style,size:h.font.size,color:h.font.color}})}f("fill"),"none"!==t.fill&&s(e,t,u,f),r.coerceSelectionMarkerOpacity(t,f)}}}),ve=ed({"src/traces/scattermap/format_labels.js"(e,t){var r=rB();t.exports=function(e,t,n){var i={},a=n[t.subplot]._subplot.mockAxis,o=e.lonlat;return i.lonLabel=r.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=r.tickText(a,a.c2l(o[1]),!0).text,i}}}),vt=ed({"src/plots/map/convert_text_opts.js"(e,t){var r=tQ();t.exports=function(e,t){var n=e.split(" "),i=n[0],a=n[1],o=r.isArrayOrTypedArray(t)?r.mean(t):t,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}}}),vr=ed({"src/traces/scattermap/convert.js"(e,t){var r=eM(),n=tQ(),i=eS().BADNUM,a=pJ(),o=rE(),s=rO(),l=rL(),c=rC(),u=y7().isSupportedFont,h=vt(),f=rI().appendArrayPointValue,p=rl().NEWLINES,d=rl().BR_TAG_ALL;function m(e){return{type:e,geojson:a.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(e,t){return n.isArrayOrTypedArray(e)?t?function(t){return r(e[t])?+e[t]:0}:function(t){return e[t]}:e?function(){return e}:y}function y(){return""}function v(e,t){var r;if(n.isArrayOrTypedArray(e)&&n.isArrayOrTypedArray(t)){r=["step",["get","point_count"],e[0]];for(var i=1;i850?s+=" Black":i>750?s+=" Extra Bold":i>650?s+=" Bold":i>550?s+=" Semi Bold":i>450?s+=" Medium":i>350?s+=" Regular":i>250?s+=" Light":i>150?s+=" Extra Light":s+=" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",i>750?s+=" Extrabold":i>650?s+=" Bold":i>550?s+=" Semibold":i>350?s+=" Regular":s+=" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),u(s)||(s=r),s.split(", ")}t.exports=function(e,t){var u,_=t[0].trace,b=!0===_.visible&&0!==_._length,w="none"!==_.fill,T=c.hasLines(_),k=c.hasMarkers(_),A=c.hasText(_),M=k&&"circle"===_.marker.symbol,S=k&&"circle"!==_.marker.symbol,E=_.cluster&&_.cluster.enabled,C=m("fill"),L=m("line"),I=m("circle"),P=m("symbol"),z={fill:C,line:L,circle:I,symbol:P};if(!b)return z;if((w||T)&&(u=a.calcTraceToLineCoords(t)),w&&(C.geojson=a.makePolygon(u),C.layout.visibility="visible",n.extendFlat(C.paint,{"fill-color":_.fillcolor})),T&&(L.geojson=a.makeLine(u),L.layout.visibility="visible",n.extendFlat(L.paint,{"line-width":_.line.width,"line-color":_.line.color,"line-opacity":_.opacity})),M){var O=function(e){var t,a,c,u,h,f=e[0].trace,p=f.marker,d=f.selectedpoints,m=n.isArrayOrTypedArray(p.color),g=n.isArrayOrTypedArray(p.size),y=n.isArrayOrTypedArray(p.opacity);function v(e){return f.opacity*e}m&&(a=o.hasColorscale(f,"marker")?o.makeColorScaleFuncFromTrace(p):n.identity),g&&(c=l(f)),y&&(u=function(e){return v(r(e)?+n.constrain(e,0,1):0)});var x=[];for(t=0;t=0;r--){var n=t[r];i.removeLayer(u.layerIds[n])}e||i.removeSource(u.sourceIds.circle)}(e):function(e){for(var t=a.nonCluster,r=t.length-1;r>=0;r--){var n=t[r];i.removeLayer(u.layerIds[n]),e||i.removeSource(u.sourceIds[n])}}(e)}function f(e){l?function(e){e||u.addSource("circle",o.circle,t.cluster);for(var r=a.cluster,n=0;n=0;r--){var n=t[r];e.removeLayer(this.layerIds[n]),e.removeSource(this.sourceIds[n])}},t.exports=function(e,t){var r,i,s,l=t[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new o(e,l.uid,c,u),f=n(e.gd,t),p=h.below=e.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(e,t,a){var c=e.cd,u=c[0].trace,h=e.xa,f=e.ya,p=e.subplot,d=[],m=s+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;g&&(d=p.map.queryRenderedFeatures(null,{layers:[m]}).map(function(e){return e.id}));var y=360*(t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360)),v=t-y;if(r.getClosest(c,function(e){var t=e.lonlat;if(t[0]===o||g&&-1===d.indexOf(e.i+1))return 1/0;var r=n.modHalf(t[0],360),i=t[1],s=p.project([r,i]),l=s.x-h.c2p([v,i]),c=s.y-f.c2p([r,a]),u=Math.max(3,e.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)},e),!1!==e.index){var x=c[e.index],_=x.lonlat,b=[n.modHalf(_[0],360)+y,_[1]],w=h.c2p(b),T=f.c2p(b),k=x.mrc||1;e.x0=w-k,e.x1=w+k,e.y0=T-k,e.y1=T+k;var A={};A[u.subplot]={_subplot:p};var M=u._module.formatLabels(x,u,A);return e.lonLabel=M.lonLabel,e.latLabel=M.latLabel,e.color=i(u,x),e.extraText=l(u,x,c[0].t.labels),e.hovertemplate=u.hovertemplate,[e]}},getExtraText:l}}}),va=ed({"src/traces/scattermap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e}}}),vo=ed({"src/traces/scattermap/select.js"(e,t){var r=tQ(),n=rC(),i=eS().BADNUM;t.exports=function(e,t){var a,o=e.cd,s=e.xaxis,l=e.yaxis,c=[],u=o[0].trace;if(!n.hasMarkers(u))return[];if(!1===t)for(a=0;a1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)Math.abs(a))break;r-=i/a}var o=0,s=1;for(r=e,n=0;n<20&&!(Math.abs((i=this.sampleCurveX(r))-e)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var E=_(S);function C(){return null==t&&(t="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),t}function L(){if(null==r&&(r=!1,C())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let t=0;t<25;t++){let r=4*t;e.fillStyle=`rgb(${r},${r+1},${r+2})`,e.fillRect(t%5,Math.floor(t/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let e=0;e<100;e++)if(e%4!=3&&t[e]!==e){r=!0;break}}}return r||!1}function I(e,t,r,n){let i=new E(e,t,r,n);return e=>i.solve(e)}let P=I(.25,.1,.25,1);function z(e,t,r){return Math.min(r,Math.max(t,e))}function O(e,t,r){let n=r-t,i=((e-t)%n+n)%n+t;return i===t?r:i}function D(e,...t){for(let r of t)for(let t in r)e[t]=r[t];return e}let R=1;function F(e,t,r){let n={};for(let r in e)n[r]=t.call(this,e[r],r,e);return n}function j(e,t,r){let n={};for(let r in e)t.call(this,e[r],r,e)&&(n[r]=e[r]);return n}function B(e){return Array.isArray(e)?e.map(B):"object"==typeof e&&e?F(e,B):e}let N={};function U(e){N[e]||("undefined"!=typeof console&&console.warn(e),N[e]=!0)}function V(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function q(e){return"undefined"!=typeof WorkerGlobalScope&&void 0!==e&&e instanceof WorkerGlobalScope}let H=null;function G(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap}let Z="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function W(e,t,r,n,i){return x(this,void 0,void 0,function*(){if("undefined"==typeof VideoFrame)throw Error("VideoFrame not supported");let a=new VideoFrame(e,{timestamp:0});try{let o=null==a?void 0:a.format;if(!o||!o.startsWith("BGR")&&!o.startsWith("RGB"))throw Error(`Unrecognized format ${o}`);let s=o.startsWith("BGR"),l=new Uint8ClampedArray(n*i*4);if(yield a.copyTo(l,function(e,t,r,n,i){let a=4*Math.max(-t,0),o=(Math.max(0,r)-r)*n*4+a,s=Math.max(0,t),l=Math.max(0,r);return{rect:{x:s,y:l,width:Math.min(e.width,t+n)-s,height:Math.min(e.height,r+i)-l},layout:[{offset:o,stride:4*n}]}}(e,t,r,n,i)),s)for(let e=0;eq(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href,et=function(e,t){var r;if(/:\/\//.test(e.url)&&!/^https?:|^file:/.test(e.url)){let r=J(e.url);if(r)return r(e,t);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:K},t)}if(!(/^file:/.test(r=e.url)||/^file:/.test(ee())&&!/^\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(e,t){return x(this,void 0,void 0,function*(){let r;let n=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:ee(),signal:t.signal});"json"!==e.type||n.headers.has("Accept")||n.headers.set("Accept","application/json");let i=yield fetch(n);if(!i.ok){let t=yield i.blob();throw new Q(i.status,i.statusText,e.url,t)}r="arrayBuffer"===e.type||"image"===e.type?i.arrayBuffer():"json"===e.type?i.json():i.text();let a=yield r;if(t.signal.aborted)throw X();return{data:a,cacheControl:i.headers.get("Cache-Control"),expires:i.headers.get("Expires")}})}(e,t);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:K},t)}return new Promise((r,n)=>{var i;let a=new XMLHttpRequest;for(let t in a.open(e.method||"GET",e.url,!0),"arrayBuffer"!==e.type&&"image"!==e.type||(a.responseType="arraybuffer"),e.headers)a.setRequestHeader(t,e.headers[t]);"json"===e.type&&(a.responseType="text",(null===(i=e.headers)||void 0===i?void 0:i.Accept)||a.setRequestHeader("Accept","application/json")),a.withCredentials="include"===e.credentials,a.onerror=()=>{n(Error(a.statusText))},a.onload=()=>{if(!t.signal.aborted){if((a.status>=200&&a.status<300||0===a.status)&&null!==a.response){let t=a.response;if("json"===e.type)try{t=JSON.parse(a.response)}catch(e){return void n(e)}r({data:t,cacheControl:a.getResponseHeader("Cache-Control"),expires:a.getResponseHeader("Expires")})}else{let t=new Blob([a.response],{type:a.getResponseHeader("Content-Type")});n(new Q(a.status,a.statusText,e.url,t))}}},t.signal.addEventListener("abort",()=>{a.abort(),n(X())}),a.send(e.body)})};function er(e){if(!e||0>=e.indexOf("://")||0===e.indexOf("data:image/")||0===e.indexOf("blob:"))return!0;let t=new URL(e),r=window.location;return t.protocol===r.protocol&&t.host===r.host}function en(e,t,r){r[e]&&-1!==r[e].indexOf(t)||(r[e]=r[e]||[],r[e].push(t))}function ei(e,t,r){if(r&&r[e]){let n=r[e].indexOf(t);-1!==n&&r[e].splice(n,1)}}class ea{constructor(e,t={}){D(this,t),this.type=e}}class eo extends ea{constructor(e,t={}){super("error",D({error:e},t))}}class es{on(e,t){return this._listeners=this._listeners||{},en(e,t,this._listeners),this}off(e,t){return ei(e,t,this._listeners),ei(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},en(e,t,this._oneTimeListeners),this):new Promise(t=>this.once(e,t))}fire(e,t){"string"==typeof e&&(e=new ea(e,t||{}));let r=e.type;if(this.listens(r)){for(let t of(e.target=this,this._listeners&&this._listeners[r]?this._listeners[r].slice():[]))t.call(this,e);for(let t of this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[])ei(r,t,this._oneTimeListeners),t.call(this,e);let t=this._eventedParent;t&&(D(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),t.fire(e))}else e instanceof eo&&console.error(e.error);return this}listens(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}var el={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};let ec=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function ef(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}let eF=[eT,ek,eA,eM,eS,eI,eE,eD(eC),eP,ez,eO];function ej(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!ej(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind){for(let e of eF)if(!ej(e,t))return null}}return`Expected ${eR(e)} but found ${eR(t)} instead.`}function eB(e,t){return t.some(t=>t.kind===e.kind)}function eN(e,t){return t.some(t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e)}function eU(e,t){return"array"===e.kind&&"array"===t.kind?e.itemType.kind===t.itemType.kind&&"number"==typeof e.N:e.kind===t.kind}let eV=4/29,eq=6/29,eH=6/29*3*(6/29),eG=6/29*(6/29)*(6/29),eZ=Math.PI/180,eW=180/Math.PI;function eY(e){return(e%=360)<0&&(e+=360),e}function eX([e,t,r,n]){let i,a;let o=eJ((.2225045*(e=e$(e))+.7168786*(t=e$(t))+.0606169*(r=e$(r)))/1);e===t&&t===r?i=a=o:(i=eJ((.4360747*e+.3850649*t+.1430804*r)/.96422),a=eJ((.0139322*e+.0971045*t+.7141733*r)/.82521));let s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),n]}function e$(e){return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function eJ(e){return e>eG?Math.pow(e,1/3):e/eH+eV}function eK([e,t,r,n]){let i=(e+16)/116,a=isNaN(t)?i:i+t/500,o=isNaN(r)?i:i-r/200;return i=1*e0(i),[eQ(3.1338561*(a=.96422*e0(a))-1.6168667*i-.4906146*(o=.82521*e0(o))),eQ(-.9787684*a+1.9161415*i+.033454*o),eQ(.0719453*a-.2289914*i+1.4052427*o),n]}function eQ(e){return(e=e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055)<0?0:e>1?1:e}function e0(e){return e>eq?e*e*e:eH*(e-eV)}function e1(e){return parseInt(e.padEnd(2,e),16)/255}function e2(e,t){return e3(t?e/100:e,0,1)}function e3(e,t,r){return Math.min(Math.max(t,e),r)}function e5(e){return!e.some(Number.isNaN)}let e4={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class e6{constructor(e,t,r,n=1,i=!0){this.r=e,this.g=t,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[e,t,r,n]))}static parse(e){if(e instanceof e6)return e;if("string"!=typeof e)return;let t=function(e){if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];let t=e4[e];if(t){let[e,r,n]=t;return[e/255,r/255,n/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let t=e.length<6?1:2,r=1;return[e1(e.slice(r,r+=t)),e1(e.slice(r,r+=t)),e1(e.slice(r,r+=t)),e1(e.slice(r,r+t)||"ff")]}if(e.startsWith("rgb")){let t=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(t){let[e,r,n,i,a,o,s,l,c,u,h,f]=t,p=[i||" ",s||" ",u].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){let e=[n,o,c].join(""),t="%%%"===e?100:""===e?255:0;if(t){let e=[e3(+r/t,0,1),e3(+a/t,0,1),e3(+l/t,0,1),h?e2(+h,f):1];if(e5(e))return e}}return}}let r=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){let[e,t,n,i,a,o,s,l,c]=r,u=[n||" ",a||" ",s].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){let e=[+t,e3(+i,0,100),e3(+o,0,100),l?e2(+l,c):1];if(e5(e))return function([e,t,r,n]){function i(n){let i=(n+e/30)%12,a=t*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return e=eY(e),t/=100,r/=100,[i(0),i(8),i(4),n]}(e)}}}(e);return t?new e6(...t,!1):void 0}get rgb(){let{r:e,g:t,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter("rgb",[e/i,t/i,r/i,n])}get hcl(){return this.overwriteGetter("hcl",function(e){let[t,r,n,i]=eX(e),a=Math.sqrt(r*r+n*n);return[Math.round(1e4*a)?eY(Math.atan2(n,r)*eW):NaN,a,t,i]}(this.rgb))}get lab(){return this.overwriteGetter("lab",eX(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){let[e,t,r,n]=this.rgb;return`rgba(${[e,t,r].map(e=>Math.round(255*e)).join(",")},${n})`}}e6.black=new e6(0,0,0,1),e6.white=new e6(1,1,1,1),e6.transparent=new e6(0,0,0,0),e6.red=new e6(1,0,0,1);class e8{constructor(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class e7{constructor(e,t,r,n,i){this.text=e,this.image=t,this.scale=r,this.fontStack=n,this.textColor=i}}class e9{constructor(e){this.sections=e}static fromString(e){return new e9([new e7(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(e=>0!==e.text.length||e.image&&0!==e.image.name.length)}static factory(e){return e instanceof e9?e:e9.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map(e=>e.text).join("")}}class te{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof te)return e;if("number"==typeof e)return new te([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(let t of e)if("number"!=typeof t)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new te(e)}}toString(){return JSON.stringify(this.values)}}let tt=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class tr{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof tr)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[e,t,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[e,t,r,n]:[e,t,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function ta(e){if(null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e||e instanceof e6||e instanceof e8||e instanceof e9||e instanceof te||e instanceof tr||e instanceof tn)return!0;if(Array.isArray(e)){for(let t of e)if(!ta(t))return!1;return!0}if("object"==typeof e){for(let t in e)if(!ta(e[t]))return!1;return!0}return!1}function to(e){if(null===e)return eT;if("string"==typeof e)return eA;if("boolean"==typeof e)return eM;if("number"==typeof e)return ek;if(e instanceof e6)return eS;if(e instanceof e8)return eL;if(e instanceof e9)return eI;if(e instanceof te)return eP;if(e instanceof tr)return eO;if(e instanceof tn)return ez;if(Array.isArray(e)){let t;let r=e.length;for(let r of e){let e=to(r);if(t){if(t===e)continue;t=eC;break}t=e}return eD(t||eC,r)}return eE}function ts(e){let t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof e6||e instanceof e9||e instanceof te||e instanceof tr||e instanceof tn?e.toString():JSON.stringify(e)}class tl{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!ta(e[1]))return t.error("invalid value");let r=e[1],n=to(r),i=t.expectedType;return"array"===n.kind&&0===n.N&&i&&"array"===i.kind&&("number"!=typeof i.N||0===i.N)&&(n=i),new tl(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class tc{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}let tu={string:eA,number:ek,boolean:eM,object:eE};class th{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r,n=1,i=e[0];if("array"===i){let i,a;if(e.length>2){let r=e[1];if("string"!=typeof r||!(r in tu)||"object"===r)return t.error('The item type argument of "array" must be one of string, number, boolean',1);i=tu[r],n++}else i=eC;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);a=e[2],n++}r=eD(i,a)}else{if(!tu[i])throw Error(`Types doesn't contain name = ${i}`);r=tu[i]}let a=[];for(;ne.outputDefined())}}let tf={"to-boolean":eM,"to-color":eS,"to-number":ek,"to-string":eA};class tp{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[0];if(!tf[r])throw Error(`Can't parse ${r} as it is not part of the known types`);if(("to-boolean"===r||"to-string"===r)&&2!==e.length)return t.error("Expected one argument.");let n=tf[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:ti(t[0],t[1],t[2],t[3])))return new e6(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new tc(r||`Could not parse color from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"padding":{let t;for(let r of this.args){t=r.evaluate(e);let n=te.parse(t);if(n)return n}throw new tc(`Could not parse padding from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"variableAnchorOffsetCollection":{let t;for(let r of this.args){t=r.evaluate(e);let n=tr.parse(t);if(n)return n}throw new tc(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"number":{let t=null;for(let r of this.args){if(null===(t=r.evaluate(e)))return 0;let n=Number(t);if(!isNaN(n))return n}throw new tc(`Could not convert ${JSON.stringify(t)} to number.`)}case"formatted":return e9.fromString(ts(this.args[0].evaluate(e)));case"resolvedImage":return tn.fromString(ts(this.args[0].evaluate(e)));default:return ts(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}let td=["Unknown","Point","LineString","Polygon"];class tm{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?td[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=e6.parse(e)),t}}class tg{constructor(e,t,r=[],n,i=new ew,a=[]){this.registry=e,this.path=r,this.key=r.map(e=>`[${e}]`).join(""),this.scope=i,this.errors=a,this.expectedType=n,this._isConstant=t}parse(e,t,r,n,i={}){return t?this.concat(t,r,n)._parse(e,i):this._parse(e,i)}_parse(e,t){function r(e,t,r){return"assert"===r?new th(t,[e]):"coerce"===r?new tp(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let n=e[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let i=this.registry[n];if(i){let n=i.parse(e,this);if(!n)return null;if(this.expectedType){let e=this.expectedType,i=n.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==i.kind){if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==i.kind&&"string"!==i.kind){if("padding"!==e.kind||"value"!==i.kind&&"number"!==i.kind&&"array"!==i.kind){if("variableAnchorOffsetCollection"!==e.kind||"value"!==i.kind&&"array"!==i.kind){if(this.checkSubtype(e,i))return null}else n=r(n,e,t.typeAnnotation||"coerce")}else n=r(n,e,t.typeAnnotation||"coerce")}else n=r(n,e,t.typeAnnotation||"coerce")}else n=r(n,e,t.typeAnnotation||"assert")}if(!(n instanceof tl)&&"resolvedImage"!==n.type.kind&&this._isConstant(n)){let e=new tm;try{n=new tl(n.type,n.evaluate(e))}catch(e){return this.error(e.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,r){let n="number"==typeof e?this.path.concat(e):this.path,i=r?this.scope.concat(r):this.scope;return new tg(this.registry,this._isConstant,n,t||null,i,this.errors)}error(e,...t){let r=`${this.key}${t.map(e=>`[${e}]`).join("")}`;this.errors.push(new eb(r,e))}checkSubtype(e,t){let r=ej(e,t);return r&&this.error(r),r}}class ty{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(let t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);let r=[];for(let n=1;n=r.length)throw new tc(`Array index out of bounds: ${t} > ${r.length-1}.`);if(t!==Math.floor(t))throw new tc(`Array index must be an integer, but found ${t} instead.`);return r[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class t_{constructor(e,t){this.type=eM,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,eC),n=t.parse(e[2],2,eC);return r&&n?eB(r.type,[eM,eA,ek,eT,eC])?new t_(r,n):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${eR(r.type)} instead`):null}evaluate(e){let t=this.needle.evaluate(e),r=this.haystack.evaluate(e);if(!r)return!1;if(!eN(t,["boolean","string","number","null"]))throw new tc(`Expected first argument to be of type boolean, string, number or null, but found ${eR(to(t))} instead.`);if(!eN(r,["string","array"]))throw new tc(`Expected second argument to be of type array or string, but found ${eR(to(r))} instead.`);return r.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class tb{constructor(e,t,r){this.type=ek,this.needle=e,this.haystack=t,this.fromIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,eC),n=t.parse(e[2],2,eC);if(!r||!n)return null;if(!eB(r.type,[eM,eA,ek,eT,eC]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${eR(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,ek);return i?new tb(r,n,i):null}return new tb(r,n)}evaluate(e){let t;let r=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!eN(r,["boolean","string","number","null"]))throw new tc(`Expected first argument to be of type boolean, string, number or null, but found ${eR(to(r))} instead.`);if(this.fromIndex&&(t=this.fromIndex.evaluate(e)),eN(n,["string"])){let e=n.indexOf(r,t);return -1===e?-1:[...n.slice(0,e)].length}if(eN(n,["array"]))return n.indexOf(r,t);throw new tc(`Expected second argument to be of type array or string, but found ${eR(to(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class tw{constructor(e,t,r,n,i,a){this.inputType=e,this.type=t,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a}static parse(e,t){let r,n;if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);let i={},a=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,to(e)))return null}else r=to(e);if(void 0!==i[String(e)])return c.error("Branch labels must be unique.");i[String(e)]=a.length}let u=t.parse(l,o,n);if(!u)return null;n=n||u.type,a.push(u)}let o=t.parse(e[1],1,eC);if(!o)return null;let s=t.parse(e[e.length-1],e.length-1,n);return s?"value"!==o.type.kind&&t.concat(1).checkSubtype(r,o.type)?null:new tw(r,n,o,i,a,s):null}evaluate(e){let t=this.input.evaluate(e);return(to(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}}class tT{constructor(e,t,r){this.type=e,this.branches=t,this.otherwise=r}static parse(e,t){let r;if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);let n=[];for(let i=1;it.outputDefined())&&this.otherwise.outputDefined()}}class tk{constructor(e,t,r,n){this.type=e,this.input=t,this.beginIndex=r,this.endIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);let r=t.parse(e[1],1,eC),n=t.parse(e[2],2,ek);if(!r||!n)return null;if(!eB(r.type,[eD(eC),eA,eC]))return t.error(`Expected first argument to be of type array or string, but found ${eR(r.type)} instead`);if(4===e.length){let i=t.parse(e[3],3,ek);return i?new tk(r.type,r,n,i):null}return new tk(r.type,r,n)}evaluate(e){let t;let r=this.input.evaluate(e),n=this.beginIndex.evaluate(e);if(this.endIndex&&(t=this.endIndex.evaluate(e)),eN(r,["string"]))return[...r].slice(n,t).join("");if(eN(r,["array"]))return r.slice(n,t);throw new tc(`Expected first argument to be of type array or string, but found ${eR(to(r))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function tA(e,t){let r=e.length-1,n,i,a=0,o=r,s=0;for(;a<=o;)if(n=e[s=Math.floor((a+o)/2)],i=e[s+1],n<=t){if(s===r||tt))throw new tc("Input is not a number.");o=s-1}return 0}class tM{constructor(e,t,r){for(let[n,i]of(this.type=e,this.input=t,this.labels=[],this.outputs=[],r))this.labels.push(n),this.outputs.push(i)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");let r=t.parse(e[1],1,ek);if(!r)return null;let n=[],i=null;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);for(let r=1;r=a)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);let c=t.parse(o,l,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new tM(i,r,n)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;return n>=t[i-1]?r[i-1].evaluate(e):r[tA(t,n)].evaluate(e)}eachChild(e){for(let t of(e(this.input),this.outputs))e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function tS(e,t,r,n){this.cx=3*e,this.bx=3*(r-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(n-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=r,this.p2y=n}tS.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(void 0===t&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var r=e,n=0;n<8;n++){var i=this.sampleCurveX(r)-e;if(Math.abs(i)Math.abs(a))break;r-=i/a}var o=0,s=1;for(r=e,n=0;n<20&&!(Math.abs((i=this.sampleCurveX(r))-e)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var tE=tS&&tS.__esModule&&Object.prototype.hasOwnProperty.call(tS,"default")?tS.default:tS;function tC(e,t,r){return e.map((e,n)=>e+r*(t[n]-e))}let tL={number:function(e,t,r){return e+r*(t-e)},color:function(e,t,r,n="rgb"){switch(n){case"rgb":{let[n,i,a,o]=tC(e.rgb,t.rgb,r);return new e6(n,i,a,o,!1)}case"hcl":{let n,i;let[a,o,s,l]=e.hcl,[c,u,h,f]=t.hcl;if(isNaN(a)||isNaN(c))isNaN(a)?isNaN(c)?n=NaN:(n=c,1!==s&&0!==s||(i=u)):(n=a,1!==h&&0!==h||(i=o));else{let e=c-a;c>a&&e>180?e-=360:c180&&(e+=360),n=a+r*e}let[p,d,m,g]=function([e,t,r,n]){return eK([r,Math.cos(e=isNaN(e)?0:e*eZ)*t,Math.sin(e)*t,n])}([n,null!=i?i:o+r*(u-o),s+r*(h-s),l+r*(f-l)]);return new e6(p,d,m,g,!1)}case"lab":{let[n,i,a,o]=eK(tC(e.lab,t.lab,r));return new e6(n,i,a,o,!1)}}},array:tC,padding:function(e,t,r){return new te(tC(e.values,t.values,r))},variableAnchorOffsetCollection:function(e,t,r){let n=e.values,i=t.values;if(n.length!==i.length)throw new tc(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);let a=[];for(let e=0;e"number"!=typeof e||e<0||e>1))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(!(i=t.parse(i,2,ek)))return null;let o=[],s=null;"interpolate-hcl"===r||"interpolate-lab"===r?s=eS:t.expectedType&&"value"!==t.expectedType.kind&&(s=t.expectedType);for(let e=0;e=r)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);let c=t.parse(n,l,s);if(!c)return null;s=s||c.type,o.push([r,c])}return eU(s,ek)||eU(s,eS)||eU(s,eP)||eU(s,eO)||eU(s,eD(ek))?new tI(s,r,n,i,o):t.error(`Type ${eR(s)} is not interpolatable.`)}evaluate(e){let t=this.labels,r=this.outputs;if(1===t.length)return r[0].evaluate(e);let n=this.input.evaluate(e);if(n<=t[0])return r[0].evaluate(e);let i=t.length;if(n>=t[i-1])return r[i-1].evaluate(e);let a=tA(t,n),o=tI.interpolationFactor(this.interpolation,n,t[a],t[a+1]),s=r[a].evaluate(e),l=r[a+1].evaluate(e);switch(this.operator){case"interpolate":return tL[this.type.kind](s,l,o);case"interpolate-hcl":return tL.color(s,l,o,"hcl");case"interpolate-lab":return tL.color(s,l,o,"lab")}}eachChild(e){for(let t of(e(this.input),this.outputs))e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function tP(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}class tz{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expectected at least one argument.");let r=null,n=t.expectedType;n&&"value"!==n.kind&&(r=n);let i=[];for(let n of e.slice(1)){let e=t.parse(n,1+i.length,r,void 0,{typeAnnotation:"omit"});if(!e)return null;r=r||e.type,i.push(e)}if(!r)throw Error("No output type");return new tz(n&&i.some(e=>ej(n,e.type))?eC:r,i)}evaluate(e){let t,r=null,n=0;for(let i of this.args)if(n++,(r=i.evaluate(e))&&r instanceof tn&&!r.available&&(t||(t=r.name),r=null,n===this.args.length&&(r=t)),null!==r)break;return r}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}function tO(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function tD(e,t,r,n){return 0===n.compare(t,r)}function tR(e,t,r){let n="=="!==e&&"!="!==e;return class i{constructor(e,t,r){this.type=eM,this.lhs=e,this.rhs=t,this.collator=r,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");let r=e[0],a=t.parse(e[1],1,eC);if(!a)return null;if(!tO(r,a.type))return t.concat(1).error(`"${r}" comparisons are not supported for type '${eR(a.type)}'.`);let o=t.parse(e[2],2,eC);if(!o)return null;if(!tO(r,o.type))return t.concat(2).error(`"${r}" comparisons are not supported for type '${eR(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error(`Cannot compare types '${eR(a.type)}' and '${eR(o.type)}'.`);n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new th(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new th(a.type,[o])));let s=null;if(4===e.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return t.error("Cannot use collator to compare non-string types.");if(!(s=t.parse(e[3],3,eL)))return null}return new i(a,o,s)}evaluate(i){let a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){let t=to(a),r=to(o);if(t.kind!==r.kind||"string"!==t.kind&&"number"!==t.kind)throw new tc(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){let e=to(a),r=to(o);if("string"!==e.kind||"string"!==r.kind)return t(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):t(i,a,o)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}let tF=tR("==",function(e,t,r){return t===r},tD),tj=tR("!=",function(e,t,r){return t!==r},function(e,t,r,n){return!tD(0,t,r,n)}),tB=tR("<",function(e,t,r){return tn.compare(t,r)}),tN=tR(">",function(e,t,r){return t>r},function(e,t,r,n){return n.compare(t,r)>0}),tU=tR("<=",function(e,t,r){return t<=r},function(e,t,r,n){return 0>=n.compare(t,r)}),tV=tR(">=",function(e,t,r){return t>=r},function(e,t,r,n){return n.compare(t,r)>=0});class tq{constructor(e,t,r){this.type=eL,this.locale=r,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(2!==e.length)return t.error("Expected one argument.");let r=e[1];if("object"!=typeof r||Array.isArray(r))return t.error("Collator options argument must be an object.");let n=t.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,eM);if(!n)return null;let i=t.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,eM);if(!i)return null;let a=null;return!r.locale||(a=t.parse(r.locale,1,eA))?new tq(n,i,a):null}evaluate(e){return new e8(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class tH{constructor(e,t,r,n,i){this.type=eA,this.number=e,this.locale=t,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,ek);if(!r)return null;let n=e[2];if("object"!=typeof n||Array.isArray(n))return t.error("NumberFormat options argument must be an object.");let i=null;if(n.locale&&!(i=t.parse(n.locale,1,eA)))return null;let a=null;if(n.currency&&!(a=t.parse(n.currency,1,eA)))return null;let o=null;if(n["min-fraction-digits"]&&!(o=t.parse(n["min-fraction-digits"],1,ek)))return null;let s=null;return!n["max-fraction-digits"]||(s=t.parse(n["max-fraction-digits"],1,ek))?new tH(r,i,a,o,s):null}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class tG{constructor(e){this.type=eI,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let r=e[1];if(!Array.isArray(r)&&"object"==typeof r)return t.error("First argument must be an image or text section.");let n=[],i=!1;for(let r=1;r<=e.length-1;++r){let a=e[r];if(i&&"object"==typeof a&&!Array.isArray(a)){i=!1;let e=null;if(a["font-scale"]&&!(e=t.parse(a["font-scale"],1,ek)))return null;let r=null;if(a["text-font"]&&!(r=t.parse(a["text-font"],1,eD(eA))))return null;let o=null;if(a["text-color"]&&!(o=t.parse(a["text-color"],1,eS)))return null;let s=n[n.length-1];s.scale=e,s.font=r,s.textColor=o}else{let a=t.parse(e[r],1,eC);if(!a)return null;let o=a.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:a,scale:null,font:null,textColor:null})}}return new tG(n)}evaluate(e){return new e9(this.sections.map(t=>{let r=t.content.evaluate(e);return to(r)===ez?new e7("",r,null,null,null):new e7(ts(r),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)}))}eachChild(e){for(let t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}}class tZ{constructor(e){this.type=ez,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");let r=t.parse(e[1],1,eA);return r?new tZ(r):t.error("No image name provided.")}evaluate(e){let t=this.input.evaluate(e),r=tn.fromString(t);return r&&e.availableImages&&(r.available=e.availableImages.indexOf(t)>-1),r}eachChild(e){e(this.input)}outputDefined(){return!1}}class tW{constructor(e){this.type=ek,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);let r=t.parse(e[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?t.error(`Expected argument of type string or array, but found ${eR(r.type)} instead.`):new tW(r):null}evaluate(e){let t=this.input.evaluate(e);if("string"==typeof t)return[...t].length;if(Array.isArray(t))return t.length;throw new tc(`Expected value to be of type string or array, but found ${eR(to(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}function tY(e,t){let r=Math.pow(2,t.z);return[(e[0]/8192+t.x)/r*360-180,360/Math.PI*Math.atan(Math.exp((180-(e[1]/8192+t.y)/r*360)*Math.PI/180))-90]}function tX(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function t$(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function tJ(e,t,r,n){var i,a;return 0!=(i=[n[0]-r[0],n[1]-r[1]])[0]*(a=[t[0]-e[0],t[1]-e[1]])[1]-i[1]*a[0]&&!(!t0(e,t,r,n)||!t0(r,n,e,t))}function tK(e,t,r=!1){var n,i;let a=!1;for(let o of t)for(let t=0;te[1]!=(i=o[t+1])[1]>e[1]&&e[0]<(i[0]-n[0])*(e[1]-n[1])/(i[1]-n[1])+n[0]&&(a=!a)}return a}function tQ(e,t){for(let r of e)if(!tK(r,t))return!1;for(let r=0;r0&&s<0||o<0&&s>0}function t1(e,t,r){let n=[];for(let i=0;ir[2]){let t=.5*n,i=e[0]-r[0]>t?-n:r[0]-e[0]>t?n:0;0===i&&(i=e[0]-r[2]>t?-n:r[2]-e[0]>t?n:0),e[0]+=i}tX(t,e)}function t5(e,t,r,n){let i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[];for(let n of e)for(let e of n){let n=[e.x+a[0],e.y+a[1]];t3(n,t,r,i),o.push(n)}return o}function t4(e,t,r,n){let i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[];for(let r of e){let e=[];for(let n of r){let r=[n.x+a[0],n.y+a[1]];tX(t,r),e.push(r)}o.push(e)}if(t[2]-t[0]<=i/2)for(let e of(t[0]=t[1]=1/0,t[2]=t[3]=-1/0,o))for(let n of e)t3(n,t,r,i);return o}class t6{constructor(e,t){this.type=eM,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(ta(e[1])){let t=e[1];if("FeatureCollection"===t.type){let e=[];for(let r of t.features){let{type:t,coordinates:n}=r.geometry;"Polygon"===t&&e.push(n),"MultiPolygon"===t&&e.push(...n)}if(e.length)return new t6(t,{type:"MultiPolygon",coordinates:e})}else if("Feature"===t.type){let e=t.geometry.type;if("Polygon"===e||"MultiPolygon"===e)return new t6(t,t.geometry)}else if("Polygon"===t.type||"MultiPolygon"===t.type)return new t6(t,t)}return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=t1(t.coordinates,n,i),o=t5(e.geometry(),r,n,i);if(!t$(r,n))return!1;for(let e of o)if(!tK(e,a))return!1}if("MultiPolygon"===t.type){let a=t2(t.coordinates,n,i),o=t5(e.geometry(),r,n,i);if(!t$(r,n))return!1;for(let e of o)if(!function(e,t){for(let r of t)if(tK(e,r))return!0;return!1}(e,a))return!1}return!0}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=e.canonicalID();if("Polygon"===t.type){let a=t1(t.coordinates,n,i),o=t4(e.geometry(),r,n,i);if(!t$(r,n))return!1;for(let e of o)if(!tQ(e,a))return!1}if("MultiPolygon"===t.type){let a=t2(t.coordinates,n,i),o=t4(e.geometry(),r,n,i);if(!t$(r,n))return!1;for(let e of o)if(!function(e,t){for(let r of t)if(tQ(e,r))return!0;return!1}(e,a))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let t8=class{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;er(t[a],t[n])&&(n=a),r(t[n],i)>=0)break;t[e]=t[n],e=n}t[e]=i}};function t7(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function t9(e,t){return et?1:0}function re(e,t){let r,n;if(e.length<=1)return[e];let i=[];for(let t of e){let e=function(e){let t=0;for(let r,n,i=0,a=e.length,o=a-1;i1)for(let e=0;en;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);e(t,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var h=t[r],f=n,p=i;for(t7(t,n,r),a(t[i],h)>0&&t7(t,n,i);fa(t[f],h);)f++;for(;a(t[p],h)>0;)p--}0===a(t[n],h)?t7(t,n,p):t7(t,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}(a=i[e],t,1,i[e].length-1||a.length-1,rt||t9),i[e]=i[e].slice(0,t))}return i}function rt(e,t){return t.area-e.area}let rr=1/298.257223563*(2-1/298.257223563),rn=Math.PI/180;class ri{constructor(e){let t=6378.137*rn*1e3,r=Math.cos(e*rn),n=1/(1-rr*(1-r*r)),i=Math.sqrt(n);this.kx=t*i*r,this.ky=t*i*n*(1-rr)}distance(e,t){let r=this.wrap(e[0]-t[0])*this.kx,n=(e[1]-t[1])*this.ky;return Math.sqrt(r*r+n*n)}pointOnLine(e,t){let r,n,i,a,o=1/0;for(let s=0;s1?(l=e[s+1][0],c=e[s+1][1]):f>0&&(l+=u/this.kx*f,c+=h/this.ky*f));let p=(u=this.wrap(t[0]-l)*this.kx)*u+(h=(t[1]-c)*this.ky)*h;p180;)e-=360;return e}}function ra(e,t){return t[0]-e[0]}function ro(e){return e[1]-e[0]+1}function rs(e,t){return e[1]>=e[0]&&e[1]e[1])return[null,null];let r=ro(e);if(t){if(2===r)return[e,null];let t=Math.floor(r/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(1===r)return[e,null];let n=Math.floor(r/2)-1;return[[e[0],e[0]+n],[e[0]+n+1,e[1]]]}function rc(e,t){if(!rs(t,e.length))return[1/0,1/0,-1/0,-1/0];let r=[1/0,1/0,-1/0,-1/0];for(let n=t[0];n<=t[1];++n)tX(r,e[n]);return r}function ru(e){let t=[1/0,1/0,-1/0,-1/0];for(let r of e)for(let e of r)tX(t,e);return t}function rh(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function rf(e,t,r){if(!rh(e)||!rh(t))return NaN;let n=0,i=0;return e[2]t[2]&&(n=e[0]-t[2]),e[1]>t[3]&&(i=e[1]-t[3]),e[3]0;){let i=o.pop();if(i[0]>=a)continue;let l=i[1],c=t?50:100;if(ro(l)<=c){if(!rs(l,e.length))return NaN;if(t){let t=function(e,t,r,n){if(!rs(t,e.length))return NaN;for(let n=t[0];n<=t[1];++n)if(tK(e[n],r,!0))return 0;let i=1/0;for(let a=t[0];a0;){let a=s.pop();if(a[0]>=o)continue;let l=a[1],c=a[2],u=t?50:100,h=n?50:100;if(ro(l)<=u&&ro(c)<=h){if(!rs(l,e.length)&&rs(c,r.length))return NaN;if(t&&n)o=Math.min(o,function(e,t,r,n,i){if(!rs(t,e.length)||!rs(n,r.length))return 1/0;let a=1/0;for(let o=t[0];o({type:"Polygon",coordinates:e})):"MultiLineString"===e.type?e.coordinates.map(e=>({type:"LineString",coordinates:e})):"MultiPoint"===e.type?e.coordinates.map(e=>({type:"Point",coordinates:e})):[e]}class rb{constructor(e,t){this.type=ek,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(ta(e[1])){let t=e[1];if("FeatureCollection"===t.type)return new rb(t,t.features.map(e=>r_(e.geometry)).flat());if("Feature"===t.type)return new rb(t,r_(t.geometry));if("type"in t&&"coordinates"in t)return new rb(t,r_(t))}return t.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map(t=>tY([t.x,t.y],e.canonical));if(0===r.length)return NaN;let i=new ri(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,rx(n,!1,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,rx(n,!1,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,rv(n,!1,e.coordinates,i,a))}if(0===a)break}return a}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){let r=e.geometry(),n=r.flat().map(t=>tY([t.x,t.y],e.canonical));if(0===r.length)return NaN;let i=new ri(n[0][1]),a=1/0;for(let e of t){switch(e.type){case"Point":a=Math.min(a,rx(n,!0,[e.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,rx(n,!0,e.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,rv(n,!0,e.coordinates,i,a))}if(0===a)break}return a}(e,this.geometries);if("Polygon"===e.geometryType())return function(e,t){let r=e.geometry();if(0===r.length||0===r[0].length)return NaN;let n=re(r,0).map(t=>t.map(t=>t.map(t=>tY([t.x,t.y],e.canonical)))),i=new ri(n[0][0][0][1]),a=1/0;for(let e of t)for(let t of n){switch(e.type){case"Point":a=Math.min(a,rv([e.coordinates],!1,t,i,a));break;case"LineString":a=Math.min(a,rv(e.coordinates,!0,t,i,a));break;case"Polygon":a=Math.min(a,function(e,t,r,n=1/0){let i=ru(e),a=ru(t);if(n!==1/0&&rf(i,a,r)>=n)return n;if(t$(i,a)){if(rm(e,t))return 0}else if(rm(t,e))return 0;let o=1/0;for(let n of e)for(let e=0,i=n.length,a=i-1;e":tN,"<":tB,">=":tV,"<=":tU,array:th,at:tx,boolean:th,case:tT,coalesce:tz,collator:tq,format:tG,image:tZ,in:t_,"index-of":tb,interpolate:tI,"interpolate-hcl":tI,"interpolate-lab":tI,length:tW,let:ty,literal:tl,match:tw,number:th,"number-format":tH,object:th,slice:tk,step:tM,string:th,"to-boolean":tp,"to-color":tp,"to-number":tp,"to-string":tp,var:tv,within:t6,distance:rb};class rT{constructor(e,t,r,n){this.name=e,this.type=t,this._evaluate=r,this.args=n}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){let r=e[0],n=rT.definitions[r];if(!n)return t.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);let i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter(([t])=>!Array.isArray(t)||t.length===e.length-1),s=null;for(let[n,a]of o){s=new tg(t.registry,rS,t.path,null,t.scope);let o=[],l=!1;for(let t=1;tArray.isArray(e)?`(${e.map(eR).join(", ")})`:`(${eR(e.type)}...)`).join(" | "),n=[];for(let r=1;r{r=t?r&&rS(e):r&&e instanceof tl}),!!r&&rE(e)&&rL(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function rE(e){if(e instanceof rT&&("get"===e.name&&1===e.args.length||"feature-state"===e.name||"has"===e.name&&1===e.args.length||"properties"===e.name||"geometry-type"===e.name||"id"===e.name||/^filter-/.test(e.name))||e instanceof t6||e instanceof rb)return!1;let t=!0;return e.eachChild(e=>{t&&!rE(e)&&(t=!1)}),t}function rC(e){if(e instanceof rT&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild(e=>{t&&!rC(e)&&(t=!1)}),t}function rL(e,t){if(e instanceof rT&&t.indexOf(e.name)>=0)return!1;let r=!0;return e.eachChild(e=>{r&&!rL(e,t)&&(r=!1)}),r}function rI(e){return{result:"success",value:e}}function rP(e){return{result:"error",value:e}}function rz(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function rO(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function rD(e){return!!e.expression&&e.expression.interpolated}function rR(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function rF(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function rj(e){return e}function rB(e,t,r){return void 0!==e?e:void 0!==t?t:void 0!==r?r:void 0}function rN(e,t,r,n,i){return rB(typeof r===i?n[r]:void 0,e.default,t.default)}function rU(e,t,r){if("number"!==rR(r))return rB(e.default,t.default);let n=e.stops.length;if(1===n||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];let i=tA(e.stops.map(e=>e[0]),r);return e.stops[i][1]}function rV(e,t,r){let n=void 0!==e.base?e.base:1;if("number"!==rR(r))return rB(e.default,t.default);let i=e.stops.length;if(1===i||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];let a=tA(e.stops.map(e=>e[0]),r),o=function(e,t,r,n){let i=n-r,a=e-r;return 0===i?0:1===t?a/i:(Math.pow(t,a)-1)/(Math.pow(t,i)-1)}(r,n,e.stops[a][0],e.stops[a+1][0]),s=e.stops[a][1],l=e.stops[a+1][1],c=tL[t.type]||rj;return"function"==typeof s.evaluate?{evaluate(...t){let r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o,e.colorSpace)}}:c(s,l,o,e.colorSpace)}function rq(e,t,r){switch(t.type){case"color":r=e6.parse(r);break;case"formatted":r=e9.fromString(r.toString());break;case"resolvedImage":r=tn.fromString(r.toString());break;case"padding":r=te.parse(r);break;default:rR(r)===t.type||"enum"===t.type&&t.values[r]||(r=void 0)}return rB(r,e.default,t.default)}rT.register(rw,{error:[{kind:"error"},[eA],(e,[t])=>{throw new tc(t.evaluate(e))}],typeof:[eA,[eC],(e,[t])=>eR(to(t.evaluate(e)))],"to-rgba":[eD(ek,4),[eS],(e,[t])=>{let[r,n,i,a]=t.evaluate(e).rgb;return[255*r,255*n,255*i,a]}],rgb:[eS,[ek,ek,ek],rk],rgba:[eS,[ek,ek,ek,ek],rk],has:{type:eM,overloads:[[[eA],(e,[t])=>t.evaluate(e) in e.properties()],[[eA,eE],(e,[t,r])=>t.evaluate(e) in r.evaluate(e)]]},get:{type:eC,overloads:[[[eA],(e,[t])=>rA(t.evaluate(e),e.properties())],[[eA,eE],(e,[t,r])=>rA(t.evaluate(e),r.evaluate(e))]]},"feature-state":[eC,[eA],(e,[t])=>rA(t.evaluate(e),e.featureState||{})],properties:[eE,[],e=>e.properties()],"geometry-type":[eA,[],e=>e.geometryType()],id:[eC,[],e=>e.id()],zoom:[ek,[],e=>e.globals.zoom],"heatmap-density":[ek,[],e=>e.globals.heatmapDensity||0],"line-progress":[ek,[],e=>e.globals.lineProgress||0],accumulated:[eC,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[ek,rM(ek),(e,t)=>{let r=0;for(let n of t)r+=n.evaluate(e);return r}],"*":[ek,rM(ek),(e,t)=>{let r=1;for(let n of t)r*=n.evaluate(e);return r}],"-":{type:ek,overloads:[[[ek,ek],(e,[t,r])=>t.evaluate(e)-r.evaluate(e)],[[ek],(e,[t])=>-t.evaluate(e)]]},"/":[ek,[ek,ek],(e,[t,r])=>t.evaluate(e)/r.evaluate(e)],"%":[ek,[ek,ek],(e,[t,r])=>t.evaluate(e)%r.evaluate(e)],ln2:[ek,[],()=>Math.LN2],pi:[ek,[],()=>Math.PI],e:[ek,[],()=>Math.E],"^":[ek,[ek,ek],(e,[t,r])=>Math.pow(t.evaluate(e),r.evaluate(e))],sqrt:[ek,[ek],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[ek,[ek],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[ek,[ek],(e,[t])=>Math.log(t.evaluate(e))],log2:[ek,[ek],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[ek,[ek],(e,[t])=>Math.sin(t.evaluate(e))],cos:[ek,[ek],(e,[t])=>Math.cos(t.evaluate(e))],tan:[ek,[ek],(e,[t])=>Math.tan(t.evaluate(e))],asin:[ek,[ek],(e,[t])=>Math.asin(t.evaluate(e))],acos:[ek,[ek],(e,[t])=>Math.acos(t.evaluate(e))],atan:[ek,[ek],(e,[t])=>Math.atan(t.evaluate(e))],min:[ek,rM(ek),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[ek,rM(ek),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[ek,[ek],(e,[t])=>Math.abs(t.evaluate(e))],round:[ek,[ek],(e,[t])=>{let r=t.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[ek,[ek],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[ek,[ek],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[eM,[eA,eC],(e,[t,r])=>e.properties()[t.value]===r.value],"filter-id-==":[eM,[eC],(e,[t])=>e.id()===t.value],"filter-type-==":[eM,[eA],(e,[t])=>e.geometryType()===t.value],"filter-<":[eM,[eA,eC],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n{let r=e.id(),n=t.value;return typeof r==typeof n&&r":[eM,[eA,eC],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>i}],"filter-id->":[eM,[eC],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>n}],"filter-<=":[eM,[eA,eC],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n<=i}],"filter-id-<=":[eM,[eC],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r<=n}],"filter->=":[eM,[eA,eC],(e,[t,r])=>{let n=e.properties()[t.value],i=r.value;return typeof n==typeof i&&n>=i}],"filter-id->=":[eM,[eC],(e,[t])=>{let r=e.id(),n=t.value;return typeof r==typeof n&&r>=n}],"filter-has":[eM,[eC],(e,[t])=>t.value in e.properties()],"filter-has-id":[eM,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[eM,[eD(eA)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[eM,[eD(eC)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[eM,[eA,eD(eC)],(e,[t,r])=>r.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[eM,[eA,eD(eC)],(e,[t,r])=>(function(e,t,r,n){for(;r<=n;){let i=r+n>>1;if(t[i]===e)return!0;t[i]>e?n=i-1:r=i+1}return!1})(e.properties()[t.value],r.value,0,r.value.length-1)],all:{type:eM,overloads:[[[eM,eM],(e,[t,r])=>t.evaluate(e)&&r.evaluate(e)],[rM(eM),(e,t)=>{for(let r of t)if(!r.evaluate(e))return!1;return!0}]]},any:{type:eM,overloads:[[[eM,eM],(e,[t,r])=>t.evaluate(e)||r.evaluate(e)],[rM(eM),(e,t)=>{for(let r of t)if(r.evaluate(e))return!0;return!1}]]},"!":[eM,[eM],(e,[t])=>!t.evaluate(e)],"is-supported-script":[eM,[eA],(e,[t])=>{let r=e.globals&&e.globals.isSupportedScript;return!r||r(t.evaluate(e))}],upcase:[eA,[eA],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[eA,[eA],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[eA,rM(eC),(e,t)=>t.map(t=>ts(t.evaluate(e))).join("")],"resolved-locale":[eA,[eL],(e,[t])=>t.evaluate(e).resolvedLocale()]});class rH{constructor(e,t){this.expression=e,this._warningHistory={},this._evaluator=new tm,this._defaultValue=t?"color"===t.type&&rF(t.default)?new e6(0,0,0,0):"color"===t.type?e6.parse(t.default)||null:"padding"===t.type?te.parse(t.default)||null:"variableAnchorOffsetCollection"===t.type?tr.parse(t.default)||null:void 0===t.default?null:t.default:null,this._enumValues=t&&"enum"===t.type?t.values:null}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,r,n,i,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{let e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new tc(`Expected value to be one of ${Object.keys(this._enumValues).map(e=>JSON.stringify(e)).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}}}function rG(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in rw}function rZ(e,t){let r=new tg(rw,rS,[],t?function(e){let t={color:eS,string:eA,number:ek,enum:eA,boolean:eM,formatted:eI,padding:eP,resolvedImage:ez,variableAnchorOffsetCollection:eO};return"array"===e.type?eD(t[e.value]||eC,e.length):t[e.type]}(t):void 0),n=r.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return n?rI(new rH(n,t)):rP(r.errors)}class rW{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!rC(t.expression)}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}}class rY{constructor(e,t,r,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent="camera"!==e&&!rC(t.expression),this.interpolationType=n}evaluateWithoutErrorHandling(e,t,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(e,t,r,n,i,a)}evaluate(e,t,r,n,i,a){return this._styleExpression.evaluate(e,t,r,n,i,a)}interpolationFactor(e,t,r){return this.interpolationType?tI.interpolationFactor(this.interpolationType,e,t,r):0}}function rX(e,t){let r=rZ(e,t);if("error"===r.result)return r;let n=r.value.expression,i=rE(n);if(!i&&!rz(t))return rP([new eb("","data expressions not supported")]);let a=rL(n,["zoom"]);if(!a&&!rO(t))return rP([new eb("","zoom expressions not supported")]);let o=function e(t){let r=null;if(t instanceof ty)r=e(t.result);else if(t instanceof tz){for(let n of t.args)if(r=e(n))break}else(t instanceof tM||t instanceof tI)&&t.input instanceof rT&&"zoom"===t.input.name&&(r=t);return r instanceof eb||t.eachChild(t=>{let n=e(t);n instanceof eb?r=n:!r&&n?r=new eb("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):r&&n&&r!==n&&(r=new eb("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),r}(n);return o||a?o instanceof eb?rP([o]):o instanceof tI&&!rD(t)?rP([new eb("",'"interpolate" expressions cannot be used with this property')]):rI(o?new rY(i?"camera":"composite",r.value,o.labels,o instanceof tI?o.interpolation:void 0):new rW(i?"constant":"source",r.value)):rP([new eb("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class r${constructor(e,t){this._parameters=e,this._specification=t,e_(this,function e(t,r){var n;let i,a,o;let s="color"===r.type,l=t.stops&&"object"==typeof t.stops[0][0],c=l||!(l||void 0!==t.property),u=t.type||(rD(r)?"exponential":"interval");if(s||"padding"===r.type){let e=s?e6.parse:te.parse;(t=e_({},t)).stops&&(t.stops=t.stops.map(t=>[t[0],e(t[1])])),t.default=e(t.default?t.default:r.default)}if(t.colorSpace&&"rgb"!==(n=t.colorSpace)&&"hcl"!==n&&"lab"!==n)throw Error(`Unknown color space: "${t.colorSpace}"`);if("exponential"===u)i=rV;else if("interval"===u)i=rU;else if("categorical"===u){for(let e of(i=rN,a=Object.create(null),t.stops))a[e[0]]=e[1];o=typeof t.stops[0][0]}else{if("identity"!==u)throw Error(`Unknown function type "${u}"`);i=rq}if(l){let n={},i=[];for(let e=0;ee[0]),evaluate:({zoom:e},n)=>rV({stops:a,base:t.base},r,e).evaluate(e,n)}}if(c){let e="exponential"===u?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:e,interpolationFactor:tI.interpolationFactor.bind(void 0,e),zoomStops:t.stops.map(e=>e[0]),evaluate:({zoom:e})=>i(t,r,e,a,o)}}return{kind:"source",evaluate(e,n){let s=n&&n.properties?n.properties[t.property]:void 0;return void 0===s?rB(t.default,r.default):i(t,r,s,a,o)}}}(this._parameters,this._specification))}static deserialize(e){return new r$(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function rJ(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(let t of e.slice(1))if(!rJ(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}let rK={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function rQ(e){if(null==e)return{filter:()=>!0,needGeometry:!1};rJ(e)||(e=function e(t){if(!t)return!0;let r=t[0];return t.length<=1?"any"!==r:"=="===r?r1(t[1],t[2],"=="):"!="===r?r5(r1(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?r1(t[1],t[2],r):"any"===r?["any"].concat(t.slice(1).map(e)):"all"===r?["all"].concat(t.slice(1).map(e)):"none"===r?["all"].concat(t.slice(1).map(e).map(r5)):"in"===r?r2(t[1],t.slice(2)):"!in"===r?r5(r2(t[1],t.slice(2))):"has"===r?r3(t[1]):"!has"!==r||r5(r3(t[1]))}(e));let t=rZ(e,rK);if("error"===t.result)throw Error(t.value.map(e=>`${e.key}: ${e.message}`).join(", "));return{filter:(e,r,n)=>t.value.evaluate(e,r,{},n),needGeometry:function e(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let r=1;rt?1:0}function r1(e,t,r){switch(e){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,e,t]}}function r2(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some(e=>typeof e!=typeof t[0])?["filter-in-large",e,["literal",t.sort(r0)]]:["filter-in-small",e,["literal",t]]}}function r3(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function r5(e){return["!",e]}function r4(e){let t=e.value;return t?[new ex(e.key,t,"constants have been deprecated as of v8")]:[]}function r6(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function r8(e){if(Array.isArray(e))return e.map(r8);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let r in e)t[r]=r8(e[r]);return t}return r6(e)}function r7(e){let t=e.key,r=e.value,n=e.valueSpec||{},i=e.objectElementValidators||{},a=e.style,o=e.styleSpec,s=e.validateSpec,l=[],c=rR(r);if("object"!==c)return[new ex(t,r,`object expected, ${c} found`)];for(let e in r){let c;let u=e.split(".")[0],h=n[u]||n["*"];if(i[u])c=i[u];else if(n[u])c=s;else if(i["*"])c=i["*"];else{if(!n["*"]){l.push(new ex(t,r[e],`unknown property "${e}"`));continue}c=s}l=l.concat(c({key:(t?`${t}.`:t)+e,value:r[e],valueSpec:h,style:a,styleSpec:o,object:r,objectKey:e,validateSpec:s},r))}for(let e in n)i[e]||n[e].required&&void 0===n[e].default&&void 0===r[e]&&l.push(new ex(t,r,`missing required property "${e}"`));return l}function r9(e){let t=e.value,r=e.valueSpec,n=e.style,i=e.styleSpec,a=e.key,o=e.arrayElementValidator||e.validateSpec;if("array"!==rR(t))return[new ex(a,t,`array expected, ${rR(t)} found`)];if(r.length&&t.length!==r.length)return[new ex(a,t,`array length ${r.length} expected, length ${t.length} found`)];if(r["min-length"]&&t.lengthn.maximum?[new ex(t,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function nt(e){let t=e.valueSpec,r=r6(e.value.type),n,i,a,o={},s="categorical"!==r&&void 0===e.value.property,l="array"===rR(e.value.stops)&&"array"===rR(e.value.stops[0])&&"object"===rR(e.value.stops[0][0]),c=r7({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===r)return[new ex(e.key,e.value,'identity function may not have a "stops" property')];let t=[],n=e.value;return t=t.concat(r9({key:e.key,value:n,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:u})),"array"===rR(n)&&0===n.length&&t.push(new ex(e.key,n,"array must have at least one stop")),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===r&&s&&c.push(new ex(e.key,e.value,'missing required property "property"')),"identity"===r||e.value.stops||c.push(new ex(e.key,e.value,'missing required property "stops"')),"exponential"===r&&e.valueSpec.expression&&!rD(e.valueSpec)&&c.push(new ex(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(s||rz(e.valueSpec)?s&&!rO(e.valueSpec)&&c.push(new ex(e.key,e.value,"zoom functions not supported")):c.push(new ex(e.key,e.value,"property functions not supported"))),("categorical"===r||l)&&void 0===e.value.property&&c.push(new ex(e.key,e.value,'"property" property is required')),c;function u(e){let r=[],n=e.value,s=e.key;if("array"!==rR(n))return[new ex(s,n,`array expected, ${rR(n)} found`)];if(2!==n.length)return[new ex(s,n,`array length 2 expected, length ${n.length} found`)];if(l){if("object"!==rR(n[0]))return[new ex(s,n,`object expected, ${rR(n[0])} found`)];if(void 0===n[0].zoom)return[new ex(s,n,"object stop key must have zoom")];if(void 0===n[0].value)return[new ex(s,n,"object stop key must have value")];if(a&&a>r6(n[0].zoom))return[new ex(s,n[0].zoom,"stop zoom values must appear in ascending order")];r6(n[0].zoom)!==a&&(a=r6(n[0].zoom),i=void 0,o={}),r=r.concat(r7({key:`${s}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:ne,value:h}}))}else r=r.concat(h({key:`${s}[0]`,value:n[0],valueSpec:{},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},n));return rG(r8(n[1]))?r.concat([new ex(`${s}[1]`,n[1],"expressions are not allowed in function stops.")]):r.concat(e.validateSpec({key:`${s}[1]`,value:n[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function h(e,a){let s=rR(e.value),l=r6(e.value),c=null!==e.value?e.value:a;if(n){if(s!==n)return[new ex(e.key,c,`${s} stop domain type must match previous stop domain type ${n}`)]}else n=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new ex(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==r){let n=`number expected, ${s} found`;return rz(t)&&void 0===r&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new ex(e.key,c,n)]}return"categorical"!==r||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==r&&"number"===s&&void 0!==i&&lnew ex(`${e.key}${t.key}`,e.value,t.message));let r=t.value.expression||t.value._styleExpression.expression;if("property"===e.expressionContext&&"text-font"===e.propertyKey&&!r.outputDefined())return[new ex(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===e.expressionContext&&"layout"===e.propertyType&&!rC(r))return[new ex(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===e.expressionContext&&!rC(r))return[new ex(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&0===e.expressionContext.indexOf("cluster")){if(!rL(r,["zoom","feature-state"]))return[new ex(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===e.expressionContext&&!rE(r))return[new ex(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function nn(e){let t=e.key,r=e.value,n=e.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(r6(r))&&i.push(new ex(t,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(r6(r))&&i.push(new ex(t,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),i}function ni(e){return rJ(r8(e.value))?nr(e_({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function e(t){let r=t.value,n=t.key;if("array"!==rR(r))return[new ex(n,r,`array expected, ${rR(r)} found`)];let i=t.styleSpec,a,o=[];if(r.length<1)return[new ex(n,r,"filter array must have at least 1 element")];switch(o=o.concat(nn({key:`${n}[0]`,value:r[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),r6(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===r6(r[1])&&o.push(new ex(n,r,`"$type" cannot be use with operator "${r[0]}"`));case"==":case"!=":3!==r.length&&o.push(new ex(n,r,`filter array for operator "${r[0]}" must have 3 elements`));case"in":case"!in":r.length>=2&&"string"!==(a=rR(r[1]))&&o.push(new ex(`${n}[1]`,r[1],`string expected, ${a} found`));for(let e=2;e{e in r&&t.push(new ex(n,r[e],`"${e}" is prohibited for ref layers`))}),i.layers.forEach(t=>{r6(t.id)===s&&(e=t)}),e?e.ref?t.push(new ex(n,r.ref,"ref cannot reference another ref layer")):o=r6(e.type):t.push(new ex(n,r.ref,`ref layer "${s}" not found`))}else if("background"!==o){if(r.source){let e=i.sources&&i.sources[r.source],a=e&&r6(e.type);e?"vector"===a&&"raster"===o?t.push(new ex(n,r.source,`layer "${r.id}" requires a raster source`)):"raster-dem"!==a&&"hillshade"===o?t.push(new ex(n,r.source,`layer "${r.id}" requires a raster-dem source`)):"raster"===a&&"raster"!==o?t.push(new ex(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==a||r["source-layer"]?"raster-dem"===a&&"hillshade"!==o?t.push(new ex(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"===o&&r.paint&&r.paint["line-gradient"]&&("geojson"!==a||!e.lineMetrics)&&t.push(new ex(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new ex(n,r,`layer "${r.id}" must specify a "source-layer"`)):t.push(new ex(n,r.source,`source "${r.source}" not found`))}else t.push(new ex(n,r,'missing required property "source"'))}return t=t.concat(r7({key:n,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:r,objectKey:"type"}),filter:ni,layout:e=>r7({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>ns(e_({layerType:o},e))}}),paint:e=>r7({layer:r,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>no(e_({layerType:o},e))}})}}))}function nc(e){let t=e.value,r=e.key,n=rR(t);return"string"!==n?[new ex(r,t,`string expected, ${n} found`)]:[]}let nu={promoteId:function({key:e,value:t}){if("string"===rR(t))return nc({key:e,value:t});{let r=[];for(let n in t)r.push(...nc({key:`${e}.${n}`,value:t[n]}));return r}}};function nh(e){let t;let r=e.value,n=e.key,i=e.styleSpec,a=e.style,o=e.validateSpec;if(!r.type)return[new ex(n,r,'"type" is required')];let s=r6(r.type);switch(s){case"vector":case"raster":return r7({key:n,value:r,valueSpec:i[`source_${s.replace("-","_")}`],style:e.style,styleSpec:i,objectElementValidators:nu,validateSpec:o});case"raster-dem":return function(e){var t;let r=null!==(t=e.sourceName)&&void 0!==t?t:"",n=e.value,i=e.styleSpec,a=i.source_raster_dem,o=e.style,s=[],l=rR(n);if(void 0===n)return s;if("object"!==l)return s.push(new ex("source_raster_dem",n,`object expected, ${l} found`)),s;let c="custom"===r6(n.encoding),u=["redFactor","greenFactor","blueFactor","baseShift"],h=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let t in n)!c&&u.includes(t)?s.push(new ex(t,n[t],`In "${r}": "${t}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):a[t]?s=s.concat(e.validateSpec({key:t,value:n[t],valueSpec:a[t],validateSpec:e.validateSpec,style:o,styleSpec:i})):s.push(new ex(t,n[t],`unknown property "${t}"`));return s}({sourceName:n,value:r,style:e.style,styleSpec:i,validateSpec:o});case"geojson":if(t=r7({key:n,value:r,valueSpec:i.source_geojson,style:a,styleSpec:i,validateSpec:o,objectElementValidators:nu}),r.cluster)for(let e in r.clusterProperties){let[i,a]=r.clusterProperties[e],s="string"==typeof i?[i,["accumulated"],["get",e]]:i;t.push(...nr({key:`${n}.${e}.map`,value:a,validateSpec:o,expressionContext:"cluster-map"})),t.push(...nr({key:`${n}.${e}.reduce`,value:s,validateSpec:o,expressionContext:"cluster-reduce"}))}return t;case"video":return r7({key:n,value:r,valueSpec:i.source_video,style:a,validateSpec:o,styleSpec:i});case"image":return r7({key:n,value:r,valueSpec:i.source_image,style:a,validateSpec:o,styleSpec:i});case"canvas":return[new ex(n,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return nn({key:`${n}.type`,value:r.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:a,validateSpec:o,styleSpec:i})}}function nf(e){let t=e.value,r=e.styleSpec,n=r.light,i=e.style,a=[],o=rR(t);if(void 0===t)return a;if("object"!==o)return a.concat([new ex("light",t,`object expected, ${o} found`)]);for(let o in t){let s=o.match(/^(.*)-transition$/);a=a.concat(s&&n[s[1]]&&n[s[1]].transition?e.validateSpec({key:o,value:t[o],valueSpec:r.transition,validateSpec:e.validateSpec,style:i,styleSpec:r}):n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new ex(o,t[o],`unknown property "${o}"`)])}return a}function np(e){let t=e.value,r=e.styleSpec,n=r.sky,i=e.style,a=rR(t);if(void 0===t)return[];if("object"!==a)return[new ex("sky",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new ex(a,t[a],`unknown property "${a}"`)]);return o}function nd(e){let t=e.value,r=e.styleSpec,n=r.terrain,i=e.style,a=[],o=rR(t);if(void 0===t)return a;if("object"!==o)return a.concat([new ex("terrain",t,`object expected, ${o} found`)]);for(let o in t)a=a.concat(n[o]?e.validateSpec({key:o,value:t[o],valueSpec:n[o],validateSpec:e.validateSpec,style:i,styleSpec:r}):[new ex(o,t[o],`unknown property "${o}"`)]);return a}function nm(e){let t=[],r=e.value,n=e.key;if(Array.isArray(r)){let i=[],a=[];for(let o in r)r[o].id&&i.includes(r[o].id)&&t.push(new ex(n,r,`all the sprites' ids must be unique, but ${r[o].id} is duplicated`)),i.push(r[o].id),r[o].url&&a.includes(r[o].url)&&t.push(new ex(n,r,`all the sprites' URLs must be unique, but ${r[o].url} is duplicated`)),a.push(r[o].url),t=t.concat(r7({key:`${n}[${o}]`,value:r[o],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:e.validateSpec}));return t}return nc({key:n,value:r})}let ng={"*":()=>[],array:r9,boolean:function(e){let t=e.value,r=e.key,n=rR(t);return"boolean"!==n?[new ex(r,t,`boolean expected, ${n} found`)]:[]},number:ne,color:function(e){let t=e.key,r=e.value,n=rR(r);return"string"!==n?[new ex(t,r,`color expected, ${n} found`)]:e6.parse(String(r))?[]:[new ex(t,r,`color expected, "${r}" found`)]},constants:r4,enum:nn,filter:ni,function:nt,layer:nl,object:r7,source:nh,light:nf,sky:np,terrain:nd,projection:function(e){let t=e.value,r=e.styleSpec,n=r.projection,i=e.style,a=rR(t);if(void 0===t)return[];if("object"!==a)return[new ex("projection",t,`object expected, ${a} found`)];let o=[];for(let a in t)o=o.concat(n[a]?e.validateSpec({key:a,value:t[a],valueSpec:n[a],style:i,styleSpec:r}):[new ex(a,t[a],`unknown property "${a}"`)]);return o},string:nc,formatted:function(e){return 0===nc(e).length?[]:nr(e)},resolvedImage:function(e){return 0===nc(e).length?[]:nr(e)},padding:function(e){let t=e.key,r=e.value;if("array"===rR(r)){if(r.length<1||r.length>4)return[new ex(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];let n={type:"number"},i=[];for(let a=0;a[]}})),e.constants&&(r=r.concat(r4({key:"constants",value:e.constants,style:e,styleSpec:t,validateSpec:ny}))),nb(r)}function n_(e){return function(t){return e(eh(eu({},t),{validateSpec:ny}))}}function nb(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function nw(e){return function(...t){return nb(e.apply(this,t))}}nx.source=nw(n_(nh)),nx.sprite=nw(n_(nm)),nx.glyphs=nw(n_(nv)),nx.light=nw(n_(nf)),nx.sky=nw(n_(np)),nx.terrain=nw(n_(nd)),nx.layer=nw(n_(nl)),nx.filter=nw(n_(ni)),nx.paintProperty=nw(n_(no)),nx.layoutProperty=nw(n_(ns));let nT=nx.light,nk=nx.sky,nA=nx.paintProperty,nM=nx.layoutProperty;function nS(e,t){let r=!1;if(t&&t.length)for(let n of t)e.fire(new eo(Error(n.message))),r=!0;return r}class nE{constructor(e,t,r){let n=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;let i=new Int32Array(this.arrayBuffer);e=i[0],this.d=(t=i[1])+2*(r=i[2]);for(let e=0;e=c[l+0]&&n>=c[l+1])?(o[h]=!0,a.push(i[h])):o[h]=!1}}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){let c=this.d*l+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(l),this._convertFromCellCoord(f+1),this._convertFromCellCoord(l+1)))&&i.call(this,e,t,r,n,c,a,o,s))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let e=this.cells,t=3+this.cells.length+1+1,r=0;for(let e=0;e=0)continue;let a=e[n];i[n]=nC[r].shallow.indexOf(n)>=0?a:nO(a,t)}e instanceof Error&&(i.message=e.message)}if(i.$name)throw Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(i.$name=r),i}function nD(e){if(nz(e))return e;if(Array.isArray(e))return e.map(nD);if("object"!=typeof e)throw Error("can't deserialize object of type "+typeof e);let t=nP(e)||"Object";if(!nC[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:r}=nC[t];if(!r)throw Error(`can't deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(e);let n=Object.create(r.prototype);for(let r of Object.keys(e)){if("$name"===r)continue;let i=e[r];n[r]=nC[t].shallow.indexOf(r)>=0?i:nD(i)}return n}class nR{constructor(){this.first=!0}update(e,t){let r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoome>=128&&e<=255,Khmer:e=>e>=6016&&e<=6143,"General Punctuation":e=>e>=8192&&e<=8303,"Letterlike Symbols":e=>e>=8448&&e<=8527,"Number Forms":e=>e>=8528&&e<=8591,"Miscellaneous Technical":e=>e>=8960&&e<=9215,"Control Pictures":e=>e>=9216&&e<=9279,"Optical Character Recognition":e=>e>=9280&&e<=9311,"Enclosed Alphanumerics":e=>e>=9312&&e<=9471,"Geometric Shapes":e=>e>=9632&&e<=9727,"Miscellaneous Symbols":e=>e>=9728&&e<=9983,"Miscellaneous Symbols and Arrows":e=>e>=11008&&e<=11263,"Ideographic Description Characters":e=>e>=12272&&e<=12287,"CJK Symbols and Punctuation":e=>e>=12288&&e<=12351,Katakana:e=>e>=12448&&e<=12543,Kanbun:e=>e>=12688&&e<=12703,"CJK Strokes":e=>e>=12736&&e<=12783,"Enclosed CJK Letters and Months":e=>e>=12800&&e<=13055,"CJK Compatibility":e=>e>=13056&&e<=13311,"Yijing Hexagram Symbols":e=>e>=19904&&e<=19967,"Private Use Area":e=>e>=57344&&e<=63743,"Vertical Forms":e=>e>=65040&&e<=65055,"CJK Compatibility Forms":e=>e>=65072&&e<=65103,"Small Form Variants":e=>e>=65104&&e<=65135,"Halfwidth and Fullwidth Forms":e=>e>=65280&&e<=65519};function nj(e){for(let t of e)if(nV(t.charCodeAt(0)))return!0;return!1}function nB(e){return RegExp(e.map(e=>{try{return RegExp(`\\p{sc=${e}}`,"u").source}catch(e){return null}}).filter(e=>e).join("|"),"u")}let nN=nB(["Arab","Dupl","Mong","Ougr","Syrc"]),nU=nB(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function nV(e){return!(746!==e&&747!==e&&(e<4352||!(nF["CJK Compatibility Forms"](e)&&!(e>=65097&&e<=65103)||nF["CJK Compatibility"](e)||nF["CJK Strokes"](e)||!(!nF["CJK Symbols and Punctuation"](e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||nF["Enclosed CJK Letters and Months"](e)||nF["Ideographic Description Characters"](e)||nF.Kanbun(e)||nF.Katakana(e)&&12540!==e||!(!nF["Halfwidth and Fullwidth Forms"](e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!nF["Small Form Variants"](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||nF["Vertical Forms"](e)||nF["Yijing Hexagram Symbols"](e)||RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(e))||RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(e))||nU.test(String.fromCodePoint(e)))))}function nq(e){return!(nV(e)||nF["Latin-1 Supplement"](e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||nF["General Punctuation"](e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||nF["Letterlike Symbols"](e)||nF["Number Forms"](e)||nF["Miscellaneous Technical"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||nF["Control Pictures"](e)&&9251!==e||nF["Optical Character Recognition"](e)||nF["Enclosed Alphanumerics"](e)||nF["Geometric Shapes"](e)||nF["Miscellaneous Symbols"](e)&&!(e>=9754&&e<=9759)||nF["Miscellaneous Symbols and Arrows"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||nF["CJK Symbols and Punctuation"](e)||nF.Katakana(e)||nF["Private Use Area"](e)||nF["CJK Compatibility Forms"](e)||nF["Small Form Variants"](e)||nF["Halfwidth and Fullwidth Forms"](e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}let nH=nB(["Adlm","Arab","Armi","Avst","Chrs","Cprt","Egyp","Elym","Gara","Hatr","Hebr","Hung","Khar","Lydi","Mand","Mani","Mend","Merc","Mero","Narb","Nbat","Nkoo","Orkh","Palm","Phli","Phlp","Phnx","Prti","Rohg","Samr","Sarb","Sogo","Syrc","Thaa","Todr","Yezi"]);function nG(e){return nH.test(String.fromCodePoint(e))}let nZ=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class nW{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.zoomHistory=t.zoomHistory,this.transition=t.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new nR,this.transition={})}isSupportedScript(e){return function(e,t){for(let n of e){var r;if(r=n.charCodeAt(0),!t&&nG(r)||r>=2304&&r<=3583||r>=3840&&r<=4255||nF.Khmer(r))return!1}return!0}(e,"loaded"===nZ.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}}}class nY{constructor(e,t){this.property=e,this.value=t,this.expression=function(e,t){if(rF(e))return new r$(e,t);if(rG(e)){let r=rX(e,t);if("error"===r.result)throw Error(r.value.map(e=>`${e.key}: ${e.message}`).join(", "));return r.value}{let r=e;return"color"===t.type&&"string"==typeof e?r=e6.parse(e):"padding"===t.type&&("number"==typeof e||Array.isArray(e))?r=te.parse(e):"variableAnchorOffsetCollection"===t.type&&Array.isArray(e)&&(r=tr.parse(e)),{kind:"constant",evaluate:()=>r}}}(void 0===t?e.specification.default:t,e.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)}}class nX{constructor(e){this.property=e,this.value=new nY(e,void 0)}transitioned(e,t){return new nJ(this.property,this.value,t,D({},e.transition,this.transition),e.now)}untransitioned(){return new nJ(this.property,this.value,null,{},0)}}class n${constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return B(this._values[e].value.value)}setValue(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new nX(this._values[e].property)),this._values[e].value=new nY(this._values[e].property,null===t?void 0:B(t))}getTransition(e){return B(this._values[e].transition)}setTransition(e,t){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new nX(this._values[e].property)),this._values[e].transition=B(t)||void 0}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r);let n=this.getTransition(t);void 0!==n&&(e[`${t}-transition`]=n)}return e}transitioned(e,t){let r=new nK(this._properties);for(let n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(e,t._values[n]);return r}untransitioned(){let e=new nK(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class nJ{constructor(e,t,r,n,i){this.property=e,this.value=t,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,e.specification.transition&&(n.delay||n.duration)&&(this.prior=r)}possiblyEvaluate(e,t,r){let n=e.now||0,i=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(a){if(n>this.end||this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;let t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}(o))}}return i}}class nK{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,r){let n=new n1(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class nQ{constructor(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)}hasValue(e){return void 0!==this._values[e].value}getValue(e){return B(this._values[e].value)}setValue(e,t){this._values[e]=new nY(this._values[e].property,null===t?void 0:B(t))}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);void 0!==r&&(e[t]=r)}return e}possiblyEvaluate(e,t,r){let n=new n1(this._properties);for(let i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(e,t,r);return n}}class n0{constructor(e,t,r){this.property=e,this.value=t,this.parameters=r}isConstant(){return"constant"===this.value.kind}constantOr(e){return"constant"===this.value.kind?this.value.value:e}evaluate(e,t,r,n){return this.property.evaluate(this.value,this.parameters,e,t,r,n)}}class n1{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class n2{constructor(e){this.specification=e}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error("Value should not be data driven");return e.expression.evaluate(t)}interpolate(e,t,r){let n=tL[this.specification.type];return n?n(e,t,r):e}}class n3{constructor(e,t){this.specification=e,this.overrides=t}possiblyEvaluate(e,t,r,n){return new n0(this,"constant"===e.expression.kind||"camera"===e.expression.kind?{kind:"constant",value:e.expression.evaluate(t,null,{},r,n)}:e.expression,t)}interpolate(e,t,r){if("constant"!==e.value.kind||"constant"!==t.value.kind)return e;if(void 0===e.value.value||void 0===t.value.value)return new n0(this,{kind:"constant",value:void 0},e.parameters);let n=tL[this.specification.type];return n?new n0(this,{kind:"constant",value:n(e.value.value,t.value.value,r)},e.parameters):e}evaluate(e,t,r,n,i,a){return"constant"===e.kind?e.value:e.evaluate(t,r,n,i,a)}}class n5 extends n3{possiblyEvaluate(e,t,r,n){if(void 0===e.value)return new n0(this,{kind:"constant",value:void 0},t);if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n),a="resolvedImage"===e.property.specification.type&&"string"!=typeof i?i.name:i;return new n0(this,{kind:"constant",value:this._calculate(a,a,a,t)},t)}return"camera"===e.expression.kind?new n0(this,{kind:"constant",value:this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t)},t):new n0(this,e.expression,t)}evaluate(e,t,r,n,i,a){if("source"===e.kind){let o=e.evaluate(t,r,n,i,a);return this._calculate(o,o,o,t)}return"composite"===e.kind?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,n),e.evaluate({zoom:Math.floor(t.zoom)},r,n),e.evaluate({zoom:Math.floor(t.zoom)+1},r,n),t):e.value}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class n4{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){if(void 0!==e.value){if("constant"===e.expression.kind){let i=e.expression.evaluate(t,null,{},r,n);return this._calculate(i,i,i,t)}return this._calculate(e.expression.evaluate(new nW(Math.floor(t.zoom-1),t)),e.expression.evaluate(new nW(Math.floor(t.zoom),t)),e.expression.evaluate(new nW(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}}class n6{constructor(e){this.specification=e}possiblyEvaluate(e,t,r,n){return!!e.expression.evaluate(t,null,{},r,n)}interpolate(){return!1}}class n8{constructor(e){for(let t in this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],e){let r=e[t];r.specification.overridable&&this.overridableProperties.push(t);let n=this.defaultPropertyValues[t]=new nY(r,void 0),i=this.defaultTransitionablePropertyValues[t]=new nX(r);this.defaultTransitioningPropertyValues[t]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=n.possiblyEvaluate({})}}}nL("DataDrivenProperty",n3),nL("DataConstantProperty",n2),nL("CrossFadedDataDrivenProperty",n5),nL("CrossFadedProperty",n4),nL("ColorRampProperty",n6);let n7="-transition";class n9 extends es{constructor(e,t){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),t.layout&&(this._unevaluatedLayout=new nQ(t.layout)),t.paint)){for(let r in this._transitionablePaint=new n$(t.paint),e.paint)this.setPaintProperty(r,e.paint[r],{validate:!1});for(let t in e.layout)this.setLayoutProperty(t,e.layout[t],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new n1(t.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t,r={}){null!=t&&this._validate(nM,`layers.${this.id}.layout.${e}`,e,t,r)||("visibility"!==e?this._unevaluatedLayout.setValue(e,t):this.visibility=t)}getPaintProperty(e){return e.endsWith(n7)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t,r={}){if(null!=t&&this._validate(nA,`layers.${this.id}.paint.${e}`,e,t,r))return!1;if(e.endsWith(n7))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let r=this._transitionablePaint._values[e],n="cross-faded-data-driven"===r.property.specification["property-type"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(e,a,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,r){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),j(e,(e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length))}_validate(e,t,r,n,i={}){return(!i||!1!==i.validate)&&nS(this,e.call(nx,{key:t,layerType:this.type,objectKey:r,value:n,styleSpec:el,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof n0&&rz(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}}let ie={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class it{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class ir{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function ii(e,t=1){let r=0,n=0;return{members:e.map(e=>{let i=ie[e.type].BYTES_PER_ELEMENT,a=r=ia(r,Math.max(t,i)),o=e.components||1;return n=Math.max(n,i),r+=i*o,{name:e.name,type:e.type,components:o,offset:a}}),size:ia(r,Math.max(n,t)),alignment:t}}function ia(e,t){return Math.ceil(e/t)*t}class io extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.int16[n+0]=t,this.int16[n+1]=r,e}}io.prototype.bytesPerElement=4,nL("StructArrayLayout2i4",io);class is extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.int16[i+0]=t,this.int16[i+1]=r,this.int16[i+2]=n,e}}is.prototype.bytesPerElement=6,nL("StructArrayLayout3i6",is);class il extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,e}}il.prototype.bytesPerElement=8,nL("StructArrayLayout4i8",il);class ic extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}ic.prototype.bytesPerElement=12,nL("StructArrayLayout2i4i12",ic);class iu extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=4*e,l=8*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,e}}iu.prototype.bytesPerElement=8,nL("StructArrayLayout2i4ub8",iu);class ih extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.float32[n+0]=t,this.float32[n+1]=r,e}}ih.prototype.bytesPerElement=8,nL("StructArrayLayout2f8",ih);class ip extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,n,i,a,o,s,l,c)}emplace(e,t,r,n,i,a,o,s,l,c,u){let h=10*e;return this.uint16[h+0]=t,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,e}}ip.prototype.bytesPerElement=20,nL("StructArrayLayout10ui20",ip);class id extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c,u,h){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,n,i,a,o,s,l,c,u,h)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f){let p=12*e;return this.int16[p+0]=t,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,e}}id.prototype.bytesPerElement=24,nL("StructArrayLayout4i4ui4i24",id);class im extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.float32[i+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}im.prototype.bytesPerElement=12,nL("StructArrayLayout3f12",im);class ig extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}ig.prototype.bytesPerElement=4,nL("StructArrayLayout1ul4",ig);class iy extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l){let c=this.length;return this.resize(c+1),this.emplace(c,e,t,r,n,i,a,o,s,l)}emplace(e,t,r,n,i,a,o,s,l,c){let u=10*e;return this.int16[u+0]=t,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[5*e+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,e}}iy.prototype.bytesPerElement=20,nL("StructArrayLayout6i1ul2ui20",iy);class iv extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=6*e;return this.int16[s+0]=t,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,e}}iv.prototype.bytesPerElement=12,nL("StructArrayLayout2i2i2i12",iv);class ix extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,n,i)}emplace(e,t,r,n,i,a){let o=4*e,s=8*e;return this.float32[o+0]=t,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,e}}ix.prototype.bytesPerElement=16,nL("StructArrayLayout2f1f2i16",ix);class i_ extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a){let o=this.length;return this.resize(o+1),this.emplace(o,e,t,r,n,i,a)}emplace(e,t,r,n,i,a,o){let s=16*e,l=4*e,c=8*e;return this.uint8[s+0]=t,this.uint8[s+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[c+6]=a,this.int16[c+7]=o,e}}i_.prototype.bytesPerElement=16,nL("StructArrayLayout2ub2f2i16",i_);class ib extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[i+0]=t,this.uint16[i+1]=r,this.uint16[i+2]=n,e}}ib.prototype.bytesPerElement=6,nL("StructArrayLayout3ui6",ib);class iw extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){let y=this.length;return this.resize(y+1),this.emplace(y,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){let v=24*e,x=12*e,_=48*e;return this.int16[v+0]=t,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,e}}iw.prototype.bytesPerElement=48,nL("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",iw);class iT extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){let E=this.length;return this.resize(E+1),this.emplace(E,e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)}emplace(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){let C=32*e,L=16*e;return this.int16[C+0]=t,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.uint16[C+30]=S,this.uint16[C+31]=E,e}}iT.prototype.bytesPerElement=64,nL("StructArrayLayout8i15ui1ul2f2ui64",iT);class ik extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}ik.prototype.bytesPerElement=4,nL("StructArrayLayout1f4",ik);class iA extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=3*e;return this.uint16[6*e+0]=t,this.float32[i+1]=r,this.float32[i+2]=n,e}}iA.prototype.bytesPerElement=12,nL("StructArrayLayout1ui2f12",iA);class iM extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r)}emplace(e,t,r,n){let i=4*e;return this.uint32[2*e+0]=t,this.uint16[i+2]=r,this.uint16[i+3]=n,e}}iM.prototype.bytesPerElement=8,nL("StructArrayLayout1ul2ui8",iM);class iS extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let n=2*e;return this.uint16[n+0]=t,this.uint16[n+1]=r,e}}iS.prototype.bytesPerElement=4,nL("StructArrayLayout2ui4",iS);class iE extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}iE.prototype.bytesPerElement=2,nL("StructArrayLayout1ui2",iE);class iC extends ir{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,n){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r,n)}emplace(e,t,r,n,i){let a=4*e;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,e}}iC.prototype.bytesPerElement=16,nL("StructArrayLayout4f16",iC);class iL extends it{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new M(this.anchorPointX,this.anchorPointY)}}iL.prototype.size=20;class iI extends iy{get(e){return new iL(this,e)}}nL("CollisionBoxArray",iI);class iP extends it{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}iP.prototype.size=48;class iz extends iw{get(e){return new iP(this,e)}}nL("PlacedSymbolArray",iz);class iO extends it{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}iO.prototype.size=64;class iD extends iT{get(e){return new iO(this,e)}}nL("SymbolInstanceArray",iD);class iR extends ik{getoffsetX(e){return this.float32[1*e+0]}}nL("GlyphOffsetArray",iR);class iF extends is{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}nL("SymbolLineVertexArray",iF);class ij extends it{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}ij.prototype.size=12;class iB extends iA{get(e){return new ij(this,e)}}nL("TextAnchorOffsetArray",iB);class iN extends it{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}iN.prototype.size=8;class iU extends iM{get(e){return new iN(this,e)}}nL("FeatureIndexArray",iU);class iV extends io{}class iq extends io{}class iH extends io{}class iG extends ic{}class iZ extends iu{}class iW extends ih{}class iY extends ip{}class iX extends id{}class i$ extends im{}class iJ extends ig{}class iK extends iv{}class iQ extends i_{}class i0 extends ib{}class i1 extends iS{}let{members:i2}=ii([{name:"a_pos",components:2,type:"Int16"}],4);class i3{constructor(e=[]){this.segments=e}prepareSegment(e,t,r,n){let i=this.segments[this.segments.length-1];return e>i3.MAX_VERTEX_ARRAY_LENGTH&&U(`Max vertices per segment is ${i3.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!i||i.vertexLength+e>i3.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(let e of this.segments)for(let t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,r,n){return new i3([{vertexOffset:e,primitiveOffset:t,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function i5(e,t){return 256*(e=z(Math.floor(e),0,255))+z(Math.floor(t),0,255)}i3.MAX_VERTEX_ARRAY_LENGTH=65535,nL("SegmentVector",i3);let i4=ii([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var i6={exports:{}},i8={exports:{}};i8.exports=function(e,t){var r,n,i,a,o,s;for(n=e.length-(r=3&e.length),i=t,s=0;s>>16)*3432918353&65535)<<16)&4294967295)<<15|o>>>17))*461845907+(((o>>>16)*461845907&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(o=0,r){case 3:o^=(255&e.charCodeAt(s+2))<<16;case 2:o^=(255&e.charCodeAt(s+1))<<8;case 1:i^=o=(65535&(o=(o=(65535&(o^=255&e.charCodeAt(s)))*3432918353+(((o>>>16)*3432918353&65535)<<16)&4294967295)<<15|o>>>17))*461845907+(((o>>>16)*461845907&65535)<<16)&4294967295}return i^=e.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var i7=i8.exports,i9={exports:{}};i9.exports=function(e,t){for(var r,n=e.length,i=t^n,a=0;n>=4;)r=1540483477*(65535&(r=255&e.charCodeAt(a)|(255&e.charCodeAt(++a))<<8|(255&e.charCodeAt(++a))<<16|(255&e.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&e.charCodeAt(a+2))<<16;case 2:i^=(255&e.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&e.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var ae=i9.exports;i6.exports=i7,i6.exports.murmur3=i7,i6.exports.murmur2=ae;var at=_(i6.exports);class ar{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,t,r,n){this.ids.push(an(e)),this.positions.push(t,r,n)}getPositions(e){if(!this.indexed)throw Error("Trying to get index, but feature positions are not indexed");let t=an(e),r=0,n=this.ids.length-1;for(;r>1;this.ids[e]>=t?n=e:r=e+1}let i=[];for(;this.ids[r]===t;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(e,t){let r=new Float64Array(e.ids),n=new Uint32Array(e.positions);return function e(t,r,n,i){for(;n>1],o=n-1,s=i+1;for(;;){do o++;while(t[o]a);if(o>=s)break;ai(t,o,s),ai(r,3*o,3*s),ai(r,3*o+1,3*s+1),ai(r,3*o+2,3*s+2)}s-n`u_${e}`),this.type=r}setUniform(e,t,r){e.set(r.constantOr(this.value))}getBinding(e,t,r){return"color"===this.type?new al(e,t):new ao(e,t)}}class af{constructor(e,t){this.uniformNames=t.map(e=>`u_${e}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setUniform(e,t,r,n){let i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&e.set(i)}getBinding(e,t,r){return"u_pattern"===r.substr(0,9)?new as(e,t):new ao(e,t)}}class ap{constructor(e,t,r,n){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:"Float32",components:"color"===r?2:1,offset:0})),this.paintVertexArray=new n}populatePaintArray(e,t,r,n,i){let a=this.paintVertexArray.length,o=this.expression.evaluate(new nW(0),t,{},n,[],i);this.paintVertexArray.resize(e),this._setPaintValue(a,e,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(e,t,i)}_setPaintValue(e,t,r){if("color"===this.type){let n=au(r);for(let r=e;r`u_${e}_t`),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=t.map(e=>({name:`a_${e}`,type:"Float32",components:"color"===r?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,r,n,i){let a=this.expression.evaluate(new nW(this.zoom),t,{},n,[],i),o=this.expression.evaluate(new nW(this.zoom+1),t,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(s,e,a,o)}updatePaintArray(e,t,r,n){let i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(e,t,i,a)}_setPaintValue(e,t,r,n){if("color"===this.type){let i=au(r),a=au(n);for(let r=e;r`#define HAS_UNIFORM_${e}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof ap||r instanceof ad)for(let t=0;t!0){for(let n of(this.programConfigurations={},e))this.programConfigurations[n.id]=new ag(n,t,r);this.needsUpload=!1,this._featureMap=new ar,this._bufferOffset=0}populatePaintArrays(e,t,r,n,i,a){for(let r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(e,t,n,i,a);void 0!==t.id&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,r,n){for(let i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(e,this._featureMap,t,i,n)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}}function av(e,t,r){let n={"line-pattern":{source:iY,composite:iY},"fill-pattern":{source:iY,composite:iY},"fill-extrusion-pattern":{source:iY,composite:iY}}[e];return n&&n[r]||({color:{source:ih,composite:iC},number:{source:ik,composite:ih}})[t][r]}nL("ConstantBinder",ah),nL("CrossFadedConstantBinder",af),nL("SourceExpressionBinder",ap),nL("CrossFadedCompositeBinder",am),nL("CompositeExpressionBinder",ad),nL("ProgramConfiguration",ag,{omit:["_buffers"]}),nL("ProgramConfigurationSet",ay);let ax=-16383-1;function a_(e){let t=8192/e.extent,r=e.loadGeometry();for(let e=0;er.x+1||ar.y+1)&&U("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function ab(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?a_(e):[]}}function aw(e,t,r,n,i){e.emplaceBack(2*t+(n+1)/2,2*r+(i+1)/2)}class aT{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new iq,this.indexArray=new i0,this.segments=new i3,this.programConfigurations=new ay(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,r){let n=this.layers[0],i=[],a=null,o=!1;for(let{feature:t,id:s,index:l,sourceLayerIndex:c}of("circle"===n.type&&(o=!(a=n.layout.get("circle-sort-key")).isConstant()),e)){let e=this.layers[0]._featureFilter.needGeometry,n=ab(t,e);if(!this.layers[0]._featureFilter.filter(new nW(this.zoom),n,r))continue;let u=o?a.evaluate(n,{},r):void 0,h={id:s,properties:t.properties,type:t.type,sourceLayerIndex:c,index:l,geometry:e?n.geometry:a_(t),patterns:{},sortKey:u};i.push(h)}for(let n of(o&&i.sort((e,t)=>e.sortKey-t.sortKey),i)){let{geometry:i,index:a,sourceLayerIndex:o}=n,s=e[a].feature;this.addFeature(n,i,a,r),t.featureIndex.insert(s,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,i2),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,r,n){for(let r of t)for(let t of r){let r=t.x,n=t.y;if(r<0||r>=8192||n<0||n>=8192)continue;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),a=i.vertexLength;aw(this.layoutVertexArray,r,n,-1,-1),aw(this.layoutVertexArray,r,n,1,-1),aw(this.layoutVertexArray,r,n,1,1),aw(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{},n)}}function ak(e,t){for(let r=0;r1?r:r.sub(t)._mult(i)._add(t))}function aC(e,t){let r,n,i,a=!1;for(let o=0;ot.y!=i.y>t.y&&t.x<(i.x-n.x)*(t.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function aL(e,t){let r=!1;for(let n=0,i=e.length-1;nt.y!=o.y>t.y&&t.x<(o.x-a.x)*(t.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function aI(e,t,r){let n=t.paint.get(e).value;return"constant"===n.kind?n.value:r.programConfigurations.get(t.id).getMaxValue(e)}function aP(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function az(e,t,r,n,i){if(!t[0]&&!t[1])return e;let a=M.convert(t)._mult(i);"viewport"===r&&a._rotate(-n);let o=[];for(let t=0;taN(e,s)),p=h?u*o:u;for(let e of n)for(let t of e){let e=h?t:aN(t,s),r=p,n=aj([],[t.x,t.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?r*=n[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(r*=a.cameraToCenterDistance/n[3]),l=r,aL(f,e)||aS(e,f,l))return!0}return!1}}function aN(e,t){let r=aj([],[e.x,e.y,0,1],t);return new M(r[0]/r[3],r[1]/r[3])}class aU extends aT{}nL("HeatmapBucket",aU,{omit:["layers"]});var aV={get paint(){return s=s||new n8({"heatmap-radius":new n3(el.paint_heatmap["heatmap-radius"]),"heatmap-weight":new n3(el.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new n2(el.paint_heatmap["heatmap-intensity"]),"heatmap-color":new n6(el.paint_heatmap["heatmap-color"]),"heatmap-opacity":new n2(el.paint_heatmap["heatmap-opacity"])})}};function aq(e,{width:t,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==t*r*n)throw RangeError(`mismatched image size. expected: ${i.length} but got: ${t*r*n}`)}else i=new Uint8Array(t*r*n);return e.width=t,e.height=r,e.data=i,e}function aH(e,{width:t,height:r},n){if(t===e.width&&r===e.height)return;let i=aq({},{width:t,height:r},n);aG(e,i,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,r)},n),e.width=t,e.height=r,e.data=i.data}function aG(e,t,r,n,i,a){if(0===i.width||0===i.height)return t;if(i.width>e.width||i.height>e.height||r.x>e.width-i.width||r.y>e.height-i.height)throw RangeError("out of range source coordinates for image copy");if(i.width>t.width||i.height>t.height||n.x>t.width-i.width||n.y>t.height-i.height)throw RangeError("out of range destination coordinates for image copy");let o=e.data,s=t.data;if(o===s)throw Error("srcData equals dstData, so image is already copied");for(let l=0;l{t[e.evaluationKey]=a;let o=e.expression.evaluate(t);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a)};if(e.clips)for(let t=0,i=0;t=r.next.y&&r.next.y!==r.y){let e=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(e<=n&&e>o&&(o=e,a=r.x=r.x&&r.x>=l&&n!==r.x&&a4(ia.x||r.x===a.x&&(h=a,f=r,0>a6(h.prev,h,f.prev)&&0>a6(f.next,h,h.next))))&&(a=r,u=t)}r=r.next}while(r!==s);return a}(e,t);if(!r)return t;let n=or(r,e);return a2(n,n.next),a2(r,r.next)}(i[e],r);return r}(e,t,l,r)),e.length>80*r){n=1/0,i=1/0;let t=-1/0,o=-1/0;for(let a=r;at&&(t=r),s>o&&(o=s)}a=0!==(a=Math.max(t-n,o-i))?32767/a:0}return function e(t,r,n,i,a,o,s){if(!t)return;!s&&o&&function(e,t,r,n){let i=e;do 0===i.z&&(i.z=a5(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,r=1;do{let n,i=e;e=null;let a=null;for(t=0;i;){t++;let o=i,s=0;for(let e=0;e0||l>0&&o;)0!==s&&(0===l||!o||i.z<=o.z)?(n=i,i=i.nextZ,s--):(n=o,o=o.nextZ,l--),a?a.nextZ=n:e=n,n.prevZ=a,a=n;i=o}a.nextZ=null,r*=2}while(t>1)}(i)}(t,i,a,o);let l=t;for(;t.prev!==t.next;){let c=t.prev,u=t.next;if(o?function(e,t,r,n){let i=e.prev,a=e.next;if(a6(i,e,a)>=0)return!1;let o=i.x,s=e.x,l=a.x,c=i.y,u=e.y,h=a.y,f=os?o>l?o:l:s>l?s:l,m=c>u?c>h?c:h:u>h?u:h,g=a5(f,p,t,r,n),y=a5(d,m,t,r,n),v=e.prevZ,x=e.nextZ;for(;v&&v.z>=g&&x&&x.z<=y;){if(v.x>=f&&v.x<=d&&v.y>=p&&v.y<=m&&v!==i&&v!==a&&a4(o,c,s,u,l,h,v.x,v.y)&&a6(v.prev,v,v.next)>=0||(v=v.prevZ,x.x>=f&&x.x<=d&&x.y>=p&&x.y<=m&&x!==i&&x!==a&&a4(o,c,s,u,l,h,x.x,x.y)&&a6(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;v&&v.z>=g;){if(v.x>=f&&v.x<=d&&v.y>=p&&v.y<=m&&v!==i&&v!==a&&a4(o,c,s,u,l,h,v.x,v.y)&&a6(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;x&&x.z<=y;){if(x.x>=f&&x.x<=d&&x.y>=p&&x.y<=m&&x!==i&&x!==a&&a4(o,c,s,u,l,h,x.x,x.y)&&a6(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}(t,i,a,o):function(e){let t=e.prev,r=e.next;if(a6(t,e,r)>=0)return!1;let n=t.x,i=e.x,a=r.x,o=t.y,s=e.y,l=r.y,c=ni?n>a?n:a:i>a?i:a,f=o>s?o>l?o:l:s>l?s:l,p=r.next;for(;p!==t;){if(p.x>=c&&p.x<=h&&p.y>=u&&p.y<=f&&a4(n,o,i,s,a,l,p.x,p.y)&&a6(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}(t))r.push(c.i,t.i,u.i),oi(t),t=u.next,l=u.next;else if((t=u)===l){s?1===s?e(t=function(e,t){let r=e;do{let n=r.prev,i=r.next.next;!a8(n,i)&&a7(n,r,r.next,i)&&ot(n,i)&&ot(i,n)&&(t.push(n.i,r.i,i.i),oi(r),oi(r.next),r=e=i),r=r.next}while(r!==e);return a2(r)}(a2(t),r),r,n,i,a,o,2):2===s&&function(t,r,n,i,a,o){let s=t;do{let t=s.next.next;for(;t!==s.prev;){var l,c;if(s.i!==t.i&&(l=s,c=t,l.next.i!==c.i&&l.prev.i!==c.i&&!function(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&a7(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}(l,c)&&(ot(l,c)&&ot(c,l)&&function(e,t){let r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}(l,c)&&(a6(l.prev,l,c.prev)||a6(l,c.prev,c))||a8(l,c)&&a6(l.prev,l,l.next)>0&&a6(c.prev,c,c.next)>0))){let l=or(s,t);return s=a2(s,s.next),l=a2(l,l.next),e(s,r,n,i,a,o,0),void e(l,r,n,i,a,o,0)}t=t.next}s=s.next}while(s!==t)}(t,r,n,i,a,o):e(a2(t),r,n,i,a,o,1);break}}}(l,c,r,n,i,a,0),c}function a1(e,t,r,n,i){let a;if(i===function(e,t,r,n){let i=0;for(let a=t,o=r-n;a0)for(let i=t;i=t;i-=n)a=on(i/n|0,e[i],e[i+1],a);return a&&a8(a,a.next)&&(oi(a),a=a.next),a}function a2(e,t){if(!e)return e;t||(t=e);let r,n=e;do if(r=!1,n.steiner||!a8(n,n.next)&&0!==a6(n.prev,n,n.next))n=n.next;else{if(oi(n),(n=t=n.prev)===n.next)break;r=!0}while(r||n!==t);return t}function a3(e,t){return e.x-t.x}function a5(e,t,r,n,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function a4(e,t,r,n,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function a6(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function a8(e,t){return e.x===t.x&&e.y===t.y}function a7(e,t,r,n){let i=oe(a6(e,t,r)),a=oe(a6(e,t,n)),o=oe(a6(r,n,e)),s=oe(a6(r,n,t));return i!==a&&o!==s||!(0!==i||!a9(e,r,t))||!(0!==a||!a9(e,n,t))||!(0!==o||!a9(r,e,n))||!(0!==s||!a9(r,t,n))}function a9(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function oe(e){return e>0?1:e<0?-1:0}function ot(e,t){return 0>a6(e.prev,e,e.next)?a6(e,t,e.next)>=0&&a6(e,e.prev,t)>=0:0>a6(e,t,e.prev)||0>a6(e,e.next,t)}function or(e,t){let r=oa(e.i,e.x,e.y),n=oa(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function on(e,t,r,n){let i=oa(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function oi(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function oa(e,t,r){return{i:e,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function oo(e,t,r){let n=r.patternDependencies,i=!1;for(let r of t){let t=r.paint.get(`${e}-pattern`);t.isConstant()||(i=!0);let a=t.constantOr(null);a&&(i=!0,n[a.to]=!0,n[a.from]=!0)}return i}function os(e,t,r,n,i){let a=i.patternDependencies;for(let o of t){let t=o.paint.get(`${e}-pattern`).value;if("constant"!==t.kind){let e=t.evaluate({zoom:n-1},r,{},i.availableImages),s=t.evaluate({zoom:n},r,{},i.availableImages),l=t.evaluate({zoom:n+1},r,{},i.availableImages);e=e&&e.name?e.name:e,s=s&&s.name?s.name:s,l=l&&l.name?l.name:l,a[e]=!0,a[s]=!0,a[l]=!0,r.patterns[o.id]={min:e,mid:s,max:l}}}return r}class ol{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new iH,this.indexArray=new i0,this.indexArray2=new i1,this.programConfigurations=new ay(e.layers,e.zoom),this.segments=new i3,this.segments2=new i3,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,r){this.hasPattern=oo("fill",this.layers,t);let n=this.layers[0].layout.get("fill-sort-key"),i=!n.isConstant(),a=[];for(let{feature:o,id:s,index:l,sourceLayerIndex:c}of e){let e=this.layers[0]._featureFilter.needGeometry,u=ab(o,e);if(!this.layers[0]._featureFilter.filter(new nW(this.zoom),u,r))continue;let h=i?n.evaluate(u,{},r,t.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:e?u.geometry:a_(o),patterns:{},sortKey:h};a.push(f)}for(let n of(i&&a.sort((e,t)=>e.sortKey-t.sortKey),a)){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=os("fill",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,aQ),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,t,r,n,i){for(let e of re(t,500)){let t=0;for(let r of e)t+=r.length;let r=this.segments.prepareSegment(t,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(let t of e){if(0===t.length)continue;t!==e[0]&&a.push(i.length/2);let r=this.segments2.prepareSegment(t.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(t[0].x,t[0].y),this.indexArray2.emplaceBack(n+t.length-1,n),i.push(t[0].x),i.push(t[0].y);for(let e=1;e>3;t=1===n?e.readString():2===n?e.readFloat():3===n?e.readDouble():4===n?e.readVarint64():5===n?e.readVarint():6===n?e.readSVarint():7===n?e.readBoolean():null}return t}(r))}function ox(e,t,r){if(3===e){var n=new oy(r,r.readVarint()+r.pos);n.length&&(t[n.name]=n)}}om.types=["Unknown","Point","LineString","Polygon"],om.prototype.loadGeometry=function(){var e=this._pbf;e.pos=this._geometry;for(var t,r=e.readVarint()+e.pos,n=1,i=0,a=0,o=0,s=[];e.pos>3}if(i--,1===n||2===n)a+=e.readSVarint(),o+=e.readSVarint(),1===n&&(t&&s.push(t),t=[]),t.push(new b(a,o));else{if(7!==n)throw Error("unknown command "+n);t&&t.push(t[0].clone())}}return t&&s.push(t),s},om.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;e.pos>3}if(n--,1===r||2===r)(i+=e.readSVarint())s&&(s=i),(a+=e.readSVarint())c&&(c=a);else if(7!==r)throw Error("unknown command "+r)}return[o,l,s,c]},om.prototype.toGeoJSON=function(e,t,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*e,s=this.extent*t,l=this.loadGeometry(),c=om.types[this.type];function u(e){for(var t=0;t=this._features.length)throw Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new om(this._pbf,t,this.extent,this._keys,this._values)},od.VectorTile=function(e,t){this.layers=e.readFields(ox,{},t)},od.VectorTileFeature=om,od.VectorTileLayer=oy;let o_=od.VectorTileFeature.types;function ob(e,t,r,n,i,a,o,s){e.emplaceBack(t,r,2*Math.floor(8192*n)+o,16384*i,16384*a,Math.round(s))}class ow{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(e=>e.id),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new iG,this.centroidVertexArray=new iV,this.indexArray=new i0,this.programConfigurations=new ay(e.layers,e.zoom),this.segments=new i3,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,r){for(let{feature:n,id:i,index:a,sourceLayerIndex:o}of(this.features=[],this.hasPattern=oo("fill-extrusion",this.layers,t),e)){let e=this.layers[0]._featureFilter.needGeometry,s=ab(n,e);if(!this.layers[0]._featureFilter.filter(new nW(this.zoom),s,r))continue;let l={id:i,sourceLayerIndex:o,index:a,geometry:e?s.geometry:a_(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(os("fill-extrusion",this.layers,l,this.zoom,t)):this.addFeature(l,l.geometry,a,r,{}),t.featureIndex.insert(n,l.geometry,a,o,this.index,!0)}}addFeatures(e,t,r){for(let e of this.features){let{geometry:n}=e;this.addFeature(e,n,e.index,t,r)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,op),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,of.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,t,r,n,i){for(let r of re(t,500)){let t={x:0,y:0,vertexCount:0},n=0;for(let e of r)n+=e.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let e of r){var a;if(0===e.length||(a=e).every(e=>e.x<0)||a.every(e=>e.x>8192)||a.every(e=>e.y<0)||a.every(e=>e.y>8192))continue;let r=0;for(let n=0;n=1){let o=e[n-1];if((a.x!==o.x||!(a.x<0)&&!(a.x>8192))&&(a.y!==o.y||!(a.y<0)&&!(a.y>8192))){i.vertexLength+4>i3.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let e=a.sub(o)._perp()._unit(),n=o.dist(a);r+n>32768&&(r=0),ob(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,0,r),ob(this.layoutVertexArray,a.x,a.y,e.x,e.y,0,1,r),t.x+=2*a.x,t.y+=2*a.y,t.vertexCount+=2,r+=n,ob(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,0,r),ob(this.layoutVertexArray,o.x,o.y,e.x,e.y,0,1,r),t.x+=2*o.x,t.y+=2*o.y,t.vertexCount+=2;let s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+n>i3.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),"Polygon"!==o_[e.type])continue;let o=[],s=[],l=i.vertexLength;for(let e of r)if(0!==e.length){e!==r[0]&&s.push(o.length/2);for(let r=0;re.id),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(e=>{this.gradients[e.id]={}}),this.layoutVertexArray=new iZ,this.layoutVertexArray2=new iW,this.indexArray=new i0,this.programConfigurations=new ay(e.layers,e.zoom),this.segments=new i3,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id)}populate(e,t,r){this.hasPattern=oo("line",this.layers,t);let n=this.layers[0].layout.get("line-sort-key"),i=!n.isConstant(),a=[];for(let{feature:t,id:o,index:s,sourceLayerIndex:l}of e){let e=this.layers[0]._featureFilter.needGeometry,c=ab(t,e);if(!this.layers[0]._featureFilter.filter(new nW(this.zoom),c,r))continue;let u=i?n.evaluate(c,{},r):void 0,h={id:o,properties:t.properties,type:t.type,sourceLayerIndex:l,index:s,geometry:e?c.geometry:a_(t),patterns:{},sortKey:u};a.push(h)}for(let n of(i&&a.sort((e,t)=>e.sortKey-t.sortKey),a)){let{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){let e=os("line",this.layers,n,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(n,i,a,r,{});t.featureIndex.insert(e[a].feature,i,a,o,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,r)}addFeatures(e,t,r){for(let e of this.patternFeatures)this.addFeature(e,e.geometry,e.index,t,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,oE)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,oS),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,r,n,i){let a=this.layers[0].layout,o=a.get("line-join").evaluate(e,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");for(let r of(this.lineClips=this.lineFeatureClips(e),t))this.addLine(r,e,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,i,n)}addLine(e,t,r,n,i,a){let o,s,l,c,u;if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t=2&&e[f-1].equals(e[f-2]);)f--;let p=0;for(;p0;if(b&&t>p){let e=o.dist(s);if(e>2*d){let t=o.sub(o.sub(s)._mult(d/e)._round());this.updateDistance(s,t),this.addCurrentVertex(t,c,0,0,m),s=t}}let T=s&&l,k=T?r:h?"butt":n;if(T&&"round"===k&&(xi&&(k="bevel"),"bevel"===k&&(x>2&&(k="flipbevel"),x100)g=u.mult(-1);else{let e=x*c.add(u).mag()/c.sub(u).mag();g._perp()._mult(e*(w?-1:1))}this.addCurrentVertex(o,g,0,0,m),this.addCurrentVertex(o,g.mult(-1),0,0,m)}else if("bevel"===k||"fakeround"===k){let e=-Math.sqrt(x*x-1),t=w?e:0,r=w?0:e;if(s&&this.addCurrentVertex(o,c,t,r,m),"fakeround"===k){let e=Math.round(180*_/Math.PI/20);for(let t=1;t2*d){let t=o.add(l.sub(o)._mult(d/e)._round());this.updateDistance(o,t),this.addCurrentVertex(t,u,0,0,m),o=t}}}}addCurrentVertex(e,t,r,n,i,a=!1){let o=t.y*n-t.x,s=-t.y-t.x*n;this.addHalfVertex(e,t.x+t.y*r,t.y-t.x*r,a,!1,r,i),this.addHalfVertex(e,o,s,a,!0,-n,i),this.distance>16384&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,r,n,i,a))}addHalfVertex({x:e,y:t},r,n,i,a,o,s){let l=.5*(this.lineClips?32767*this.scaledDistance:this.scaledDistance);this.layoutVertexArray.emplaceBack((e<<1)+(i?1:0),(t<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}nL("LineBucket",oI,{omit:["layers","patternFeatures"]});var oP={get paint(){return p=p||new n8({"line-opacity":new n3(el.paint_line["line-opacity"]),"line-color":new n3(el.paint_line["line-color"]),"line-translate":new n2(el.paint_line["line-translate"]),"line-translate-anchor":new n2(el.paint_line["line-translate-anchor"]),"line-width":new n3(el.paint_line["line-width"]),"line-gap-width":new n3(el.paint_line["line-gap-width"]),"line-offset":new n3(el.paint_line["line-offset"]),"line-blur":new n3(el.paint_line["line-blur"]),"line-dasharray":new n4(el.paint_line["line-dasharray"]),"line-pattern":new n5(el.paint_line["line-pattern"]),"line-gradient":new n6(el.paint_line["line-gradient"])})},get layout(){return f=f||new n8({"line-cap":new n2(el.layout_line["line-cap"]),"line-join":new n3(el.layout_line["line-join"]),"line-miter-limit":new n2(el.layout_line["line-miter-limit"]),"line-round-limit":new n2(el.layout_line["line-round-limit"]),"line-sort-key":new n3(el.layout_line["line-sort-key"])})}};class oz extends n3{possiblyEvaluate(e,t){return t=new nW(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,r,n){return t=D({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,r,n)}}class oO extends n9{constructor(e){super(e,oP),this.gradientVersion=0,d||((d=new oz(oP.paint.properties["line-width"].specification)).useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if("line-gradient"===e){let e=this.gradientExpression();this.stepInterpolant=void 0!==e._styleExpression&&e._styleExpression.expression instanceof tM,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values["line-floorwidth"]=d.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new oI(e)}queryRadius(e){var t,r;return t=aI("line-width",this,e),((r=aI("line-gap-width",this,e))>0?r+2*t:t)/2+Math.abs(aI("line-offset",this,e))+aP(this.paint.get("line-translate"))}queryIntersectsFeature(e,t,r,n,i,a,o){var s,l;let c=az(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),a.angle,o),u=o/2*(s=this.paint.get("line-width").evaluate(t,r),(l=this.paint.get("line-gap-width").evaluate(t,r))>0?l+2*s:s),h=this.paint.get("line-offset").evaluate(t,r);return h&&(n=function(e,t){let r=[];for(let n=0;n=3){for(let t=0;t1){if(aM(e,t))return!0;for(let n=0;n":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","\xa2":"¢","\xa3":"£","\xa5":"¥","\xa6":"¦","\xac":"¬","\xaf":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var oU=function(e,t,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=e[t+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+e[t+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},oV=function(e,t,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?5960464477539062e-23:0,p=n?0:a-1,d=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(s=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(t*l-1)*Math.pow(2,i),o+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,c-=8);e[r+p-d]|=128*m};function oq(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}oq.Varint=0,oq.Fixed64=1,oq.Bytes=2,oq.Fixed32=5;var oH="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");function oG(e){return e.type===oq.Bytes?e.readVarint()+e.pos:e.pos+1}function oZ(e,t,r){var n=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=e;i--)r.buf[i+n]=r.buf[i]}function oW(e,t){for(var r=0;r>>8,e[r+2]=t>>>16,e[r+3]=t>>>24}function o5(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}oq.prototype={destroy:function(){this.buf=null},readFields:function(e,t,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,e(i,t,this),this.pos===a&&this.skip(n)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=o2(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=o5(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=o2(this.buf,this.pos)+4294967296*o2(this.buf,this.pos+4);return this.pos+=8,e},readSFixed64:function(){var e=o2(this.buf,this.pos)+4294967296*o5(this.buf,this.pos+4);return this.pos+=8,e},readFloat:function(){var e=oU(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=oU(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,r,n=this.buf;return t=127&(r=n[this.pos++]),r<128?t:(t|=(127&(r=n[this.pos++]))<<7,r<128?t:(t|=(127&(r=n[this.pos++]))<<14,r<128?t:(t|=(127&(r=n[this.pos++]))<<21,r<128?t:function(e,t,r){var n,i,a,o=r.buf;if(i=(112&(a=o[r.pos++]))>>4,a<128||(i|=(127&(a=o[r.pos++]))<<3,a<128)||(i|=(127&(a=o[r.pos++]))<<10,a<128)||(i|=(127&(a=o[r.pos++]))<<17,a<128)||(i|=(127&(a=o[r.pos++]))<<24,a<128)||(i|=(1&(a=o[r.pos++]))<<31,a<128))return n=i,t?4294967296*n+(e>>>0):4294967296*(n>>>0)+(e>>>0);throw Error("Expected varint not more than 10 bytes")}(t|=(15&(r=n[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?-((e+1)/2):e/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var e,t=this.readVarint()+this.pos,r=this.pos;return this.pos=t,t-r>=12&&oH?(e=this.buf,oH.decode(e.subarray(r,t))):function(e,t,r){for(var n="",i=t;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=e[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(o=e[i+2],128==(192&(a=e[i+1]))&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(o=e[i+2],s=e[i+3],128==(192&(a=e[i+1]))&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,r,t)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==oq.Bytes)return e.push(this.readVarint(t));var r=oG(this);for(e=e||[];this.pos127;);else if(t===oq.Bytes)this.pos=this.readVarint()+this.pos;else if(t===oq.Fixed32)this.pos+=4;else{if(t!==oq.Fixed64)throw Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var r,n,i,a,o;if(e>=0?(r=e%4294967296|0,n=e/4294967296|0):(n=~(-e/4294967296),4294967295^(r=~(-e%4294967296))?r=r+1|0:(r=0,n=n+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw Error("Given varint doesn't fit into 10 bytes");t.realloc(10),i=r,t.buf[t.pos++]=127&i|128,i>>>=7,t.buf[t.pos++]=127&i|128,i>>>=7,t.buf[t.pos++]=127&i|128,i>>>=7,t.buf[t.pos++]=127&i|128,t.buf[t.pos]=127&(i>>>=7),o=(7&(a=n))<<4,t.buf[t.pos++]|=o|((a>>>=3)?128:0),a&&(t.buf[t.pos++]=127&a|((a>>>=7)?128:0),a&&(t.buf[t.pos++]=127&a|((a>>>=7)?128:0),a&&(t.buf[t.pos++]=127&a|((a>>>=7)?128:0),a&&(t.buf[t.pos++]=127&a|((a>>>=7)?128:0),a&&(t.buf[t.pos++]=127&a)))))}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?-(2*e)-1:2*e)},writeBoolean:function(e){this.writeVarint(!!e)},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):i=n;continue}if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(e[r++]=239,e[r++]=191,e[r++]=189,i=null);n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=63&n|128)}return r}(this.buf,e,this.pos);var r=this.pos-t;r>=128&&oZ(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(e){this.realloc(4),oV(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),oV(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&oZ(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(e,t,r){this.writeTag(e,oq.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,oW,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,oY,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,oJ,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,oX,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,o$,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,oK,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,oQ,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,o0,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,o1,t)},writeBytesField:function(e,t){this.writeTag(e,oq.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,oq.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,oq.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,oq.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,oq.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,oq.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,oq.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,oq.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,oq.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,oq.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,!!t)}};var o4=_(oq);function o6(e,t,r){1===e&&r.readMessage(o8,t)}function o8(e,t,r){if(3===e){let{id:e,bitmap:n,width:i,height:a,left:o,top:s,advance:l}=r.readMessage(o7,{});t.push({id:e,bitmap:new aZ({width:i+6,height:a+6},n),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function o7(e,t,r){1===e?t.id=r.readVarint():2===e?t.bitmap=r.readBytes():3===e?t.width=r.readVarint():4===e?t.height=r.readVarint():5===e?t.left=r.readSVarint():6===e?t.top=r.readSVarint():7===e&&(t.advance=r.readVarint())}function o9(e){let t=0,r=0;for(let n of e)t+=n.w*n.h,r=Math.max(r,n.w);e.sort((e,t)=>t.h-e.h);let n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],i=0,a=0;for(let t of e)for(let e=n.length-1;e>=0;e--){let r=n[e];if(!(t.w>r.w||t.h>r.h)){if(t.x=r.x,t.y=r.y,a=Math.max(a,t.y+t.h),i=Math.max(i,t.x+t.w),t.w===r.w&&t.h===r.h){let t=n.pop();e=0&&r>=e&&sa[this.text.charCodeAt(r)];r--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){let r=new sn;return r.text=this.text.substring(e,t),r.sectionIndex=this.sectionIndex.slice(e,t),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((e,t)=>Math.max(e,this.sections[t].scale),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(sr.forText(e.scale,e.fontStack||t));let r=this.sections.length-1;for(let t=0;t=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function si(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){let g;let y=sn.fromFeature(t,a);f===e.ah.vertical&&y.verticalizePunctuation();let{processBidirectionalText:v,processStyledBidirectionalText:x}=nZ;if(v&&1===y.sections.length)for(let e of(g=[],v(y.toString(),sh(y,u,o,r,i,d)))){let t=new sn;t.text=e,t.sections=y.sections;for(let r=0;r0&&n>b&&(b=n)}else{let e=n[m.fontStack],t=e&&e[y];if(t&&t.rect)w=t.rect,x=t.metrics;else{let e=r[m.fontStack],t=e&&e[y];if(!t)continue;x=t.metrics}v=(a-m.scale)*24}A?(t.verticalizable=!0,_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=k*m.scale+u):(_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=x.advance*m.scale+u)}0!==_.length&&(m=Math.max(p-u,m),function(e,t,r,n,i){if(!n&&!i)return;let a=e[r],o=(e[r].x+a.metrics.advance*a.scale)*n;for(let t=0;t<=r;t++)e[t].x-=o,e[t].y+=i}(_,0,_.length-1,y,b)),p=0;let w=o*a+b;x.lineOffset=Math.max(b,l),d+=w,g=Math.max(w,g),++v}let x=d- -17,{horizontalAlign:_,verticalAlign:b}=sf(s);(function(e,t,r,n,i,a,o,s,l){let c=(t-r)*i,u=0;for(let t of(u=a!==o?-s*n- -17:(-n*l+.5)*o,e))for(let e of t.positionedGlyphs)e.x+=c,e.y+=u})(t.positionedLines,y,_,b,m,g,o,x,a.length),t.top+=-b*x,t.bottom=t.top+x,t.left+=-_*m,t.right=t.left+m}(b,r,n,i,g,s,l,c,f,u,p,m),!function(e){for(let t of e)if(0!==t.positionedGlyphs.length)return!1;return!0}(_)&&b}let sa={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},so={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},ss={40:!0};function sl(e,t,r,n,i,a){if(t.imageName){let e=n[t.imageName];return e?e.displaySize[0]*t.scale*24/a+i:0}{let n=r[t.fontStack],a=n&&n[e];return a?a.metrics.advance*t.scale+i:0}}function sc(e,t,r,n){let i=Math.pow(e-t,2);return n?e=0,c=0;for(let r=0;rc){let e=Math.ceil(a/c);i*=e/o,o=e}return{x1:n,y1:i,x2:n+a,y2:i+o}}function sd(e,t,r,n,i,a){let o,s,l,c,u;let h=e.image;if(h.content){let e=h.content,t=h.pixelRatio||1;o=[e[0]/t,e[1]/t,h.displaySize[0]-e[2]/t,h.displaySize[1]-e[3]/t]}let f=t.left*a,p=t.right*a;"width"===r||"both"===r?(u=i[0]+f-n[3],l=i[0]+p+n[1]):l=(u=i[0]+(f+p-h.displaySize[0])/2)+h.displaySize[0];let d=t.top*a,m=t.bottom*a;return"height"===r||"both"===r?(s=i[1]+d-n[0],c=i[1]+m+n[2]):c=(s=i[1]+(d+m-h.displaySize[1])/2)+h.displaySize[1],{image:h,top:s,right:l,bottom:c,left:u,collisionPadding:o}}function sm(e,t){let{expression:r}=t;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new nW(e+1))};if("source"===r.kind)return{kind:"source"};{let{zoomStops:t,interpolationType:n}=r,i=0;for(;ie.id),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=aR([]),this.placementViewportMatrix=aR([]);let r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=sm(this.zoom,r["text-size"]),this.iconSizeData=sm(this.zoom,r["icon-size"]);let n=this.layers[0].layout,i=n.get("symbol-sort-key"),a=n.get("symbol-z-order");this.canOverlap="never"!==sg(n,"text-overlap","text-allow-overlap")||"never"!==sg(n,"icon-overlap","icon-allow-overlap")||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!i.isConstant(),this.sortFeaturesByY=("viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===n.get("symbol-placement")&&(this.writingModes=n.get("text-writing-mode").map(t=>e.ah[t])),this.stateDependentLayerIds=this.layers.filter(e=>e.isStateDependent()).map(e=>e.id),this.sourceID=t.sourceID}createArrays(){this.text=new sb(new ay(this.layers,this.zoom,e=>/^text/.test(e))),this.icon=new sb(new ay(this.layers,this.zoom,e=>/^icon/.test(e))),this.glyphOffsetArray=new iR,this.lineVertexArray=new iF,this.symbolInstances=new iD,this.textAnchorOffsets=new iB}calculateGlyphDependencies(e,t,r,n,i){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),u="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get("symbol-sort-key");if(this.features=[],!c&&!u)return;let f=r.iconDependencies,p=r.glyphDependencies,d=r.availableImages,m=new nW(this.zoom);for(let{feature:r,id:s,index:l,sourceLayerIndex:g}of t){let t,y;let v=i._featureFilter.needGeometry,x=ab(r,v);if(!i._featureFilter.filter(m,x,n))continue;if(v||(x.geometry=a_(r)),c){let e=i.getValueAndResolveTokens("text-field",x,n,d),r=e9.factory(e),a=this.hasRTLText=this.hasRTLText||function(e){for(let t of e.sections)if(function(e){for(let t of e)if(nG(t.charCodeAt(0)))return!0;return!1}(t.text))return!0;return!1}(r);(!a||"unavailable"===nZ.getRTLTextPluginStatus()||a&&nZ.isParsed())&&(t=function(e,t,r){return e.sections.forEach(e=>{e.text=function(e,t,r){let n=t.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?e=e.toLocaleUpperCase():"lowercase"===n&&(e=e.toLocaleLowerCase()),nZ.applyArabicShaping&&(e=nZ.applyArabicShaping(e)),e}(e.text,t,r)}),e}(r,i,x))}if(u){let e=i.getValueAndResolveTokens("icon-image",x,n,d);y=e instanceof tn?e:tn.fromString(e)}if(!t&&!y)continue;let _=this.sortFeaturesByKey?h.evaluate(x,{},n):void 0;if(this.features.push({id:s,text:t,icon:y,index:l,sourceLayerIndex:g,geometry:x.geometry,properties:r.properties,type:sy[r.type],sortKey:_}),y&&(f[y.name]=!0),t){let r=o.evaluate(x,{},n).join(","),i="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");for(let n of(this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(e.ah.vertical)>=0,t.sections))if(n.image)f[n.image.name]=!0;else{let e=nj(t.toString()),a=n.fontStack||r,o=p[a]=p[a]||{};this.calculateGlyphDependencies(n.text,o,i,this.allowVerticalPlacement,e)}}}"line"===a.get("symbol-placement")&&(this.features=function(e){let t={},r={},n=[],i=0;function a(t){n.push(e[t]),i++}function o(e,t,i){let a=r[e];return delete r[e],r[t]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(e,r,i){let a=t[r];return delete t[r],t[e]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(e,t,r){let n=r?t[0][t[0].length-1]:t[0][0];return`${e}:${n.x}:${n.y}`}for(let c=0;ce.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((e,t)=>e.sortKey-t.sortKey)}update(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,r),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){let r=this.lineVertexArray.length;if(void 0!==e.segment){let r=e.dist(t[e.segment+1]),n=e.dist(t[e.segment]),i={};for(let n=e.segment+1;n=0;r--)i[r]={x:t[r].x,y:t[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=t[r-1].dist(t[r]));for(let e=0;e0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,t){let r=e.placedSymbolArray.get(t),n=r.vertexStartIndex+4*r.numGlyphs;for(let t=r.vertexStartIndex;tn[e]-n[t]||i[t]-i[e]),a}addToSortKeyRanges(e,t){let r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){for(let t of(this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[],this.symbolInstanceIndexes)){let e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach((e,t,r)=>{e>=0&&r.indexOf(e)===t&&this.addIndicesForPlacedSymbol(this.text,e)}),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}nL("SymbolBucket",sT,{omit:["layers","collisionBoxArray","features","compareText"]}),sT.MAX_GLYPHS=65535,sT.addDynamicAttributes=s_;var sk={get paint(){return g=g||new n8({"icon-opacity":new n3(el.paint_symbol["icon-opacity"]),"icon-color":new n3(el.paint_symbol["icon-color"]),"icon-halo-color":new n3(el.paint_symbol["icon-halo-color"]),"icon-halo-width":new n3(el.paint_symbol["icon-halo-width"]),"icon-halo-blur":new n3(el.paint_symbol["icon-halo-blur"]),"icon-translate":new n2(el.paint_symbol["icon-translate"]),"icon-translate-anchor":new n2(el.paint_symbol["icon-translate-anchor"]),"text-opacity":new n3(el.paint_symbol["text-opacity"]),"text-color":new n3(el.paint_symbol["text-color"],{runtimeType:eS,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new n3(el.paint_symbol["text-halo-color"]),"text-halo-width":new n3(el.paint_symbol["text-halo-width"]),"text-halo-blur":new n3(el.paint_symbol["text-halo-blur"]),"text-translate":new n2(el.paint_symbol["text-translate"]),"text-translate-anchor":new n2(el.paint_symbol["text-translate-anchor"])})},get layout(){return m=m||new n8({"symbol-placement":new n2(el.layout_symbol["symbol-placement"]),"symbol-spacing":new n2(el.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new n2(el.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new n3(el.layout_symbol["symbol-sort-key"]),"symbol-z-order":new n2(el.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new n2(el.layout_symbol["icon-allow-overlap"]),"icon-overlap":new n2(el.layout_symbol["icon-overlap"]),"icon-ignore-placement":new n2(el.layout_symbol["icon-ignore-placement"]),"icon-optional":new n2(el.layout_symbol["icon-optional"]),"icon-rotation-alignment":new n2(el.layout_symbol["icon-rotation-alignment"]),"icon-size":new n3(el.layout_symbol["icon-size"]),"icon-text-fit":new n2(el.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new n2(el.layout_symbol["icon-text-fit-padding"]),"icon-image":new n3(el.layout_symbol["icon-image"]),"icon-rotate":new n3(el.layout_symbol["icon-rotate"]),"icon-padding":new n3(el.layout_symbol["icon-padding"]),"icon-keep-upright":new n2(el.layout_symbol["icon-keep-upright"]),"icon-offset":new n3(el.layout_symbol["icon-offset"]),"icon-anchor":new n3(el.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new n2(el.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new n2(el.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new n2(el.layout_symbol["text-rotation-alignment"]),"text-field":new n3(el.layout_symbol["text-field"]),"text-font":new n3(el.layout_symbol["text-font"]),"text-size":new n3(el.layout_symbol["text-size"]),"text-max-width":new n3(el.layout_symbol["text-max-width"]),"text-line-height":new n2(el.layout_symbol["text-line-height"]),"text-letter-spacing":new n3(el.layout_symbol["text-letter-spacing"]),"text-justify":new n3(el.layout_symbol["text-justify"]),"text-radial-offset":new n3(el.layout_symbol["text-radial-offset"]),"text-variable-anchor":new n2(el.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new n3(el.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new n3(el.layout_symbol["text-anchor"]),"text-max-angle":new n2(el.layout_symbol["text-max-angle"]),"text-writing-mode":new n2(el.layout_symbol["text-writing-mode"]),"text-rotate":new n3(el.layout_symbol["text-rotate"]),"text-padding":new n2(el.layout_symbol["text-padding"]),"text-keep-upright":new n2(el.layout_symbol["text-keep-upright"]),"text-transform":new n3(el.layout_symbol["text-transform"]),"text-offset":new n3(el.layout_symbol["text-offset"]),"text-allow-overlap":new n2(el.layout_symbol["text-allow-overlap"]),"text-overlap":new n2(el.layout_symbol["text-overlap"]),"text-ignore-placement":new n2(el.layout_symbol["text-ignore-placement"]),"text-optional":new n2(el.layout_symbol["text-optional"])})}};class sA{constructor(e){if(void 0===e.property.overrides)throw Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:eT,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}nL("FormatSectionOverride",sA,{omit:["defaultValue"]});class sM extends n9{constructor(e){super(e,sk)}recalculate(e,t){if(super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){let e=this.layout.get("text-writing-mode");if(e){let t=[];for(let r of e)0>t.indexOf(r)&&t.push(r);this.layout._values["text-writing-mode"]=t}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(e,t,r,n){var i;let a=this.layout.get(e).evaluate(t,{},r,n),o=this._unevaluatedLayout._values[e];return o.isDataDriven()||rG(o.value)||!a?a:(i=t.properties,a.replace(/{([^{}]+)}/g,(e,t)=>i&&t in i?String(i[t]):""))}createBucket(e){return new sT(e)}queryRadius(){return 0}queryIntersectsFeature(){throw Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let e of sk.paint.overridableProperties){if(!sM.hasPaintOverride(this.layout,e))continue;let t=this.paint.get(e),r=new rH(new sA(t),t.property.specification),n=null;n="constant"===t.value.kind||"source"===t.value.kind?new rW("source",r):new rY("composite",r,t.value.zoomStops),this.paint._values[e]=new n0(t.property,n,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,r){return!(!this.layout||t.isDataDriven()||r.isDataDriven())&&sM.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){let r=e.get("text-field"),n=sk.paint.properties[t],i=!1,a=e=>{for(let t of e)if(n.overrides&&n.overrides.hasOverride(t))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof e9)a(r.value.value.sections);else if("source"===r.value.kind){let e=t=>{i||(t instanceof tl&&to(t.value)===eI?a(t.value.sections):t instanceof tG?a(t.sections):t.eachChild(e))},t=r.value;t._styleExpression&&e(t._styleExpression.expression)}return i}}var sS={get paint(){return y=y||new n8({"background-color":new n2(el.paint_background["background-color"]),"background-pattern":new n4(el.paint_background["background-pattern"]),"background-opacity":new n2(el.paint_background["background-opacity"])})}};class sE extends n9{constructor(e){super(e,sS)}}var sC={get paint(){return v=v||new n8({"raster-opacity":new n2(el.paint_raster["raster-opacity"]),"raster-hue-rotate":new n2(el.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new n2(el.paint_raster["raster-brightness-min"]),"raster-brightness-max":new n2(el.paint_raster["raster-brightness-max"]),"raster-saturation":new n2(el.paint_raster["raster-saturation"]),"raster-contrast":new n2(el.paint_raster["raster-contrast"]),"raster-resampling":new n2(el.paint_raster["raster-resampling"]),"raster-fade-duration":new n2(el.paint_raster["raster-fade-duration"])})}};class sL extends n9{constructor(e){super(e,sC)}}class sI extends n9{constructor(e){super(e,{}),this.onAdd=e=>{this.implementation.onAdd&&this.implementation.onAdd(e,e.painter.context.gl)},this.onRemove=e=>{this.implementation.onRemove&&this.implementation.onRemove(e,e.painter.context.gl)},this.implementation=e}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error("Custom layers cannot be serialized")}}class sP{constructor(e){this._methodToThrottle=e,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}class sz{constructor(e,t){if(isNaN(e)||isNaN(t))throw Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new sz(O(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){let t=Math.PI/180,r=this.lat*t,n=e.lat*t;return 6371008.8*Math.acos(Math.min(Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((e.lng-this.lng)*t),1))}static convert(e){if(e instanceof sz)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new sz(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new sz(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}let sO=2*Math.PI*6371008.8;function sD(e){return sO*Math.cos(e*Math.PI/180)}function sR(e){return(180+e)/360}function sF(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function sj(e){return 360/Math.PI*Math.atan(Math.exp((180-360*e)*Math.PI/180))-90}class sB{constructor(e,t,r=0){this.x=+e,this.y=+t,this.z=+r}static fromLngLat(e,t=0){let r=sz.convert(e);return new sB(sR(r.lng),sF(r.lat),t/sD(r.lat))}toLngLat(){return new sz(360*this.x-180,sj(this.y))}toAltitude(){return this.z*sD(sj(this.y))}meterInMercatorCoordinateUnits(){return 1/sO*(1/Math.cos(sj(this.y)*Math.PI/180))}}function sN(e,t,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[e*n-2*Math.PI*6378137/2,t*n-2*Math.PI*6378137/2]}class sU{constructor(e,t,r){if(e<0||e>25||r<0||r>=Math.pow(2,e)||t<0||t>=Math.pow(2,e))throw Error(`x=${t}, y=${r}, z=${e} outside of bounds. 0<=x<${Math.pow(2,e)}, 0<=y<${Math.pow(2,e)} 0<=z<=25 `);this.z=e,this.x=t,this.y=r,this.key=sH(0,e,e,t,r)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,r){var n,i,a,o,s;let l=(i=this.y,a=this.z,o=sN(256*(n=this.x),256*(i=Math.pow(2,a)-i-1),a),s=sN(256*(n+1),256*(i+1),a),o[0]+","+o[1]+","+s[0]+","+s[1]),c=function(e,t,r){let n,i="";for(let a=e;a>0;a--)i+=(t&(n=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,l)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=Math.pow(2,this.z);return new M((e.x*t-this.x)*8192,(e.y*t-this.y)*8192)}toString(){return`${this.z}/${this.x}/${this.y}`}}class sV{constructor(e,t){this.wrap=e,this.canonical=t,this.key=sH(e,t.z,t.z,t.x,t.y)}}class sq{constructor(e,t,r,n,i){if(e= z; overscaledZ = ${e}; z = ${r}`);this.overscaledZ=e,this.wrap=t,this.canonical=new sU(r,+n,+i),this.key=sH(t,e,r,n,i)}clone(){return new sq(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let t=this.canonical.z-e;return e>this.canonical.z?new sq(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new sq(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e,t){if(e>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-e;return e>this.canonical.z?sH(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y):sH(this.wrap*+t,e,e,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(e){if(e.wrap!==this.wrap)return!1;let t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new sq(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let t=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new sq(t,this.wrap,t,r,n),new sq(t,this.wrap,t,r+1,n),new sq(t,this.wrap,t,r,n+1),new sq(t,this.wrap,t,r+1,n+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||t<-1||t>=this.dim+1)throw RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}unpack(e,t,r){return e*this.redFactor+t*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new aW({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,t,r){if(this.dim!==e.dim)throw Error("dem dimension mismatch");let n=t*this.dim,i=t*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(t){case -1:n=i-1;break;case 1:i=n+1}switch(r){case -1:a=o-1;break;case 1:o=a+1}let s=-t*this.dim,l=-r*this.dim;for(let t=a;t=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class sW{constructor(e,t,r,n,i){this.type="Feature",this._vectorTileFeature=e,e._z=t,e._x=r,e._y=n,this.properties=e.properties,this.id=i}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)"_geometry"!==t&&"_vectorTileFeature"!==t&&(e[t]=this[t]);return e}}class sY{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new nE(8192,16,0),this.grid3D=new nE(8192,16,0),this.featureIndexArray=new iU,this.promoteId=t}insert(e,t,r,n,i,a){let o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);let s=a?this.grid3D:this.grid;for(let e=0;e=0&&n[3]>=0&&s.insert(o,n[0],n[1],n[2],n[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new od.VectorTile(new o4(this.rawTileData)).layers,this.sourceLayerCoder=new sZ(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(e,t,r,n){let i;this.loadVTLayers();let a=e.params||{},o=8192/e.tileSize/e.scale,s=rQ(a.filter),l=e.queryGeometry,c=e.queryPadding*o,u=s$(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=s$(e.cameraQueryGeometry);for(let t of this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,(t,r,n,i)=>(function(e,t,r,n,i){for(let a of e)if(t<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return!0;let a=[new M(t,r),new M(t,i),new M(n,i),new M(n,r)];if(e.length>2){for(let t of a)if(aL(e,t))return!0}for(let t=0;ti.x&&t.x>i.x||e.yi.y&&t.y>i.y)return!1;let a=V(e,t,r[0]);return a!==V(e,t,r[1])||a!==V(e,t,r[2])||a!==V(e,t,r[3])}(e[t],e[t+1],a))return!0;return!1})(e.cameraQueryGeometry,t-c,r-c,n+c,i+c)))h.push(t);h.sort(sJ);let p={};for(let c=0;c(d||(d=a_(t)),r.queryIntersectsFeature(l,t,n,d,this.z,e.transform,o,e.pixelPosMatrix)))}return p}loadMatchingFeature(e,t,r,n,i,a,o,s,l,c,u){let h=this.bucketLayerIDs[t];if(a&&!function(e,t){for(let r=0;r=0)return!0;return!1}(a,h))return;let f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(i.needGeometry){let e=ab(p,!0);if(!i.filter(new nW(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new nW(this.tileID.overscaledZ),p))return;let d=this.getId(p,f);for(let t=0;ta.indexOf(r))continue;let i=s[r];if(!i)continue;let f={};d&&c&&(f=c.getState(i.sourceLayer||"_geojsonTileLayer",d));let m=D({},l[r]);m.paint=sX(m.paint,i.paint,p,f,o),m.layout=sX(m.layout,i.layout,p,f,o);let g=!u||u(p,i,f);if(!g)continue;let y=new sW(p,this.z,this.x,this.y,d);y.layer=m;let v=e[r];void 0===v&&(v=e[r]=[]),v.push({featureIndex:n,feature:y,intersectionZ:g})}}lookupSymbolFeatures(e,t,r,n,i,a,o,s){let l={};this.loadVTLayers();let c=rQ(i);for(let i of e)this.loadMatchingFeature(l,r,n,i,c,a,o,s,t);return l}hasLayer(e){for(let t of this.bucketLayerIDs)for(let r of t)if(e===r)return!0;return!1}getId(e,t){let r=e.id;return this.promoteId&&"boolean"==typeof(r=e.properties["string"==typeof this.promoteId?this.promoteId:this.promoteId[t]])&&(r=Number(r)),r}}function sX(e,t,r,n,i){return F(e,(e,a)=>{let o=t instanceof n1?t.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o})}function s$(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return{minX:t,minY:r,maxX:n,maxY:i}}function sJ(e,t){return t-e}function sK(e,t,r,n,i){let a=[];for(let o=0;o=n&&c.x>=n||(o.x>=n?o=new M(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=n&&(c=new M(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=i&&c.y>=i||(o.y>=i?o=new M(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round():c.y>=i&&(c=new M(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round()),s&&o.equals(s[s.length-1])||(s=[o],a.push(s)),s.push(c)))))}}return a}nL("FeatureIndex",sY,{omit:["rawTileData","sourceLayerCoder"]});class sQ extends M{constructor(e,t,r,n){super(e,t),this.angle=r,void 0!==n&&(this.segment=n)}clone(){return new sQ(this.x,this.y,this.angle,this.segment)}}function s0(e,t,r,n,i){if(void 0===t.segment||0===r)return!0;let a=t,o=t.segment+1,s=0;for(;s>-r/2;){if(--o<0)return!1;s-=e[o].dist(a),a=e[o]}s+=e[o].dist(e[o+1]),o++;let l=[],c=0;for(;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=t.dist(r)}return!0}function s1(e){let t=0;for(let r=0;re+t[1]-t[0],p=u.reduce(f,0),d=h.reduce(f,0),m=s-p,g=l-d,y=0,v=p,x=0,_=d,b=0,w=m,T=0,k=g;if(a.content&&n){let t=a.content,r=t[2]-t[0],n=t[3]-t[1];(a.textFitWidth||a.textFitHeight)&&(c=sp(e)),y=s5(u,0,t[0]),x=s5(h,0,t[1]),v=s5(u,t[0],t[2]),_=s5(h,t[1],t[3]),b=t[0]-y,T=t[1]-x,w=r-v,k=n-_}let A=c.x1,S=c.y1,E=c.x2-A,C=c.y2-S,L=(e,n,i,s)=>{var l,c,u,h;let f=(e.stretch-y)/v*E+A,m=(l=e.fixed-b,l-w*e.stretch/p),g=(n.stretch-x)/_*C+S,L=(c=n.fixed-T,c-k*n.stretch/d),I=(i.stretch-y)/v*E+A,P=(u=i.fixed-b,u-w*i.stretch/p),z=(s.stretch-x)/_*C+S,O=(h=s.fixed-T,h-k*s.stretch/d),D=new M(f,g),R=new M(I,g),F=new M(I,z),j=new M(f,z),B=new M(m/o,L/o),N=new M(P/o,O/o),U=t*Math.PI/180;if(U){let e=Math.sin(U),t=Math.cos(U),r=[t,-e,e,t];D._matMult(r),R._matMult(r),j._matMult(r),F._matMult(r)}let V=e.stretch+e.fixed,q=n.stretch+n.fixed;return{tl:D,tr:R,bl:j,br:F,tex:{x:a.paddedRect.x+1+V,y:a.paddedRect.y+1+q,w:i.stretch+i.fixed-V,h:s.stretch+s.fixed-q},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:B,pixelOffsetBR:N,minFontScaleX:w/o/E,minFontScaleY:k/o/C,isSDF:r}};if(n&&(a.stretchX||a.stretchY)){let e=s4(u,m,p),t=s4(h,g,d);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n)}else{let l=(null===(u=a.image)||void 0===u?void 0:u.content)&&(a.image.textFitWidth||a.image.textFitHeight)?sp(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};l.y1=l.y1*o-s[0],l.y2=l.y2*o+s[2],l.x1=l.x1*o-s[3],l.x2=l.x2*o+s[1];let h=a.collisionPadding;if(h&&(l.x1-=h[0]*o,l.y1-=h[1]*o,l.x2+=h[2]*o,l.y2+=h[3]*o),c){let e=new M(l.x1,l.y1),t=new M(l.x2,l.y1),r=new M(l.x1,l.y2),n=new M(l.x2,l.y2),i=c*Math.PI/180;e._rotate(i),t._rotate(i),r._rotate(i),n._rotate(i),l.x1=Math.min(e.x,t.x,r.x,n.x),l.x2=Math.max(e.x,t.x,r.x,n.x),l.y1=Math.min(e.y,t.y,r.y,n.y),l.y2=Math.max(e.y,t.y,r.y,n.y)}e.emplaceBack(t.x,t.y,l.x1,l.y1,l.x2,l.y2,r,n,i)}this.boxEndIndex=e.length}}class s8{constructor(e=[],t=(e,t)=>et?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,n=t[e];for(;e>0;){let i=e-1>>1,a=t[i];if(r(n,a)>=0)break;t[e]=a,e=i}t[e]=n}_down(e){let{data:t,compare:r}=this,n=this.length>>1,i=t[e];for(;er(t[a],t[n])&&(n=a),r(t[n],i)>=0)break;t[e]=t[n],e=n}t[e]=i}}function s7(e,t){return t.max-e.max}function s9(e,t,r,n){this.p=new M(e,t),this.h=r,this.d=function(e,t){let r=!1,n=1/0;for(let i=0;ie.y!=s.y>e.y&&e.x<(s.x-i.x)*(e.y-i.y)/(s.y-i.y)+i.x&&(r=!r),n=Math.min(n,aE(e,i,s))}}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}e.aq=void 0,(T=e.aq||(e.aq={}))[T.center=1]="center",T[T.left=2]="left",T[T.right=3]="right",T[T.top=4]="top",T[T.bottom=5]="bottom",T[T["top-left"]=6]="top-left",T[T["top-right"]=7]="top-right",T[T["bottom-left"]=8]="bottom-left",T[T["bottom-right"]=9]="bottom-right";let le=Number.POSITIVE_INFINITY;function lt(e,t){return t[1]!==le?function(e,t,r){let n=0,i=0;switch(t=Math.abs(t),r=Math.abs(r),e){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+7}switch(e){case"top-right":case"bottom-right":case"right":n=-t;break;case"top-left":case"bottom-left":case"left":n=t}return[n,i]}(e,t[0],t[1]):function(e,t){let r=0,n=0;t<0&&(t=0);let i=t/Math.SQRT2;switch(e){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=-i+7;break;case"bottom":n=-t+7;break;case"top":n=t-7}switch(e){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=t;break;case"right":r=-t}return[r,n]}(e,t[0])}function lr(e,t,r){var n;let i=e.layout,a=null===(n=i.get("text-variable-anchor-offset"))||void 0===n?void 0:n.evaluate(t,{},r);if(a){let e=a.values,t=[];for(let r=0;r24*e);n.startsWith("top")?i[1]-=7:n.startsWith("bottom")&&(i[1]+=7),t[r+1]=i}return new tr(t)}let o=i.get("text-variable-anchor");if(o){let n;n=void 0!==e._unevaluatedLayout.getValue("text-radial-offset")?[24*i.get("text-radial-offset").evaluate(t,{},r),le]:i.get("text-offset").evaluate(t,{},r).map(e=>24*e);let a=[];for(let e of o)a.push(e,lt(e,n));return new tr(a)}return null}function ln(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function li(e,t,r,n,i,a,o,s,l,c,u,h,f,p,d){let m=function(e,t,r,n,i,a,o,s){let l=n.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,c=[];for(let e of t.positionedLines)for(let n of e.positionedGlyphs){if(!n.rect)continue;let a=n.rect||{},u=4,h=!0,f=1,p=0,d=(i||s)&&n.vertical,m=n.metrics.advance*n.scale/2;if(s&&t.verticalizable&&(p=e.lineOffset/2-(n.imageName?-(24-n.metrics.width*n.scale)/2:(n.scale-1)*24)),n.imageName){let e=o[n.imageName];h=e.sdf,u=1/(f=e.pixelRatio)}let g=i?[n.x+m,n.y]:[0,0],y=i?[0,0]:[n.x+m+r[0],n.y+r[1]-p],v=[0,0];d&&(v=y,y=[0,0]);let x=n.metrics.isDoubleResolution?2:1,_=(n.metrics.left-u)*n.scale-m+y[0],b=(-n.metrics.top-u)*n.scale+y[1],w=_+a.w/x*n.scale/f,T=b+a.h/x*n.scale/f,k=new M(_,b),A=new M(w,b),S=new M(_,T),E=new M(w,T);if(d){let e=new M(-m,m- -17),t=-Math.PI/2,r=12-m,i=new M(22-r,-(n.imageName?r:0)),a=new M(...v);k._rotateAround(t,e)._add(i)._add(a),A._rotateAround(t,e)._add(i)._add(a),S._rotateAround(t,e)._add(i)._add(a),E._rotateAround(t,e)._add(i)._add(a)}if(l){let e=Math.sin(l),t=Math.cos(l),r=[t,-e,e,t];k._matMult(r),A._matMult(r),S._matMult(r),E._matMult(r)}let C=new M(0,0),L=new M(0,0);c.push({tl:k,tr:A,bl:S,br:E,tex:a,writingMode:t.writingMode,glyphOffset:g,sectionIndex:n.sectionIndex,isSDF:h,pixelOffsetTL:C,pixelOffsetBR:L,minFontScaleX:0,minFontScaleY:0})}return c}(0,r,s,i,a,o,n,e.allowVerticalPlacement),g=e.textSizeData,y=null;for(let r of("source"===g.kind?(y=[128*i.layout.get("text-size").evaluate(o,{})])[0]>32640&&U(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`):"composite"===g.kind&&((y=[128*p.compositeTextSizes[0].evaluate(o,{},d),128*p.compositeTextSizes[1].evaluate(o,{},d)])[0]>32640||y[1]>32640)&&U(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`),e.addSymbols(e.text,m,y,s,a,o,c,t,l.lineStartIndex,l.lineLength,f,d),u))h[r]=e.text.placedSymbolArray.length-1;return 4*m.length}function la(e){for(let t in e)return e[t];return null}let lo=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class ls{static from(e){if(!(e instanceof ArrayBuffer))throw Error("Data must be an instance of ArrayBuffer.");let[t,r]=new Uint8Array(e,0,2);if(219!==t)throw Error("Data does not appear to be in a KDBush format.");let n=r>>4;if(1!==n)throw Error(`Got v${n} data when expected v1.`);let i=lo[15&r];if(!i)throw Error("Unrecognized array type.");let[a]=new Uint16Array(e,2,1),[o]=new Uint32Array(e,4,1);return new ls(o,a,i,e)}constructor(e,t=64,r=Float64Array,n){if(isNaN(e)||e<0)throw Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=r,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;let i=lo.indexOf(this.ArrayType),a=2*e*this.ArrayType.BYTES_PER_ELEMENT,o=e*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+o+s,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){let r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=e,this.coords[this._pos++]=t,r}finish(){let e=this._pos>>1;if(e!==this.numItems)throw Error(`Added ${e} items when expected ${this.numItems}.`);return function e(t,r,n,i,a,o){if(a-i<=n)return;let s=i+a>>1;(function e(t,r,n,i,a,o){for(;a>i;){if(a-i>600){let s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);e(t,r,n,Math.max(i,Math.floor(n-l*u/s+h)),Math.min(a,Math.floor(n+(s-l)*u/s+h)),o)}let s=r[2*n+o],l=i,c=a;for(ll(t,r,i,n),r[2*a+o]>s&&ll(t,r,i,a);ls;)c--}r[2*i+o]===s?ll(t,r,i,c):ll(t,r,++c,a),c<=n&&(i=c+1),n<=c&&(a=c-1)}})(t,r,s,i,a,o),e(t,r,n,i,s-1,1-o),e(t,r,n,s+1,a,1-o)}(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,r,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){let c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let o=h;o<=u;o++){let s=a[2*o],c=a[2*o+1];s>=e&&s<=r&&c>=t&&c<=n&&l.push(i[o])}continue}let f=h+u>>1,p=a[2*f],d=a[2*f+1];p>=e&&p<=r&&d>=t&&d<=n&&l.push(i[f]),(0===c?e<=p:t<=d)&&(s.push(h),s.push(f-1),s.push(1-c)),(0===c?r>=p:n>=d)&&(s.push(f+1),s.push(u),s.push(1-c))}return l}within(e,t,r){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){let c=o.pop()||0,u=o.pop()||0,h=o.pop()||0;if(u-h<=a){for(let r=h;r<=u;r++)lu(i[2*r],i[2*r+1],e,t)<=l&&s.push(n[r]);continue}let f=h+u>>1,p=i[2*f],d=i[2*f+1];lu(p,d,e,t)<=l&&s.push(n[f]),(0===c?e-r<=p:t-r<=d)&&(o.push(h),o.push(f-1),o.push(1-c)),(0===c?e+r>=p:t+r>=d)&&(o.push(f+1),o.push(u),o.push(1-c))}return s}}function ll(e,t,r,n){lc(e,r,n),lc(t,2*r,2*n),lc(t,2*r+1,2*n+1)}function lc(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function lu(e,t,r,n){let i=e-r,a=t-n;return i*i+a*a}e.bg=void 0,(k=e.bg||(e.bg={})).create="create",k.load="load",k.fullLoad="fullLoad";let lh=null,lf=[],lp=1e3/60,ld="loadTime",lm="fullLoadTime";e.$=class extends il{},e.A=aD,e.B=nk,e.C=function(e){if(null==H){let t=e.navigator?e.navigator.userAgent:null;H=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return H},e.D=n2,e.E=es,e.F=class{constructor(e,t){var r,n,i;this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new sP(()=>this.process()),this.subscription=(r=this.target,n="message",i=e=>this.receive(e),r.addEventListener(n,i,!1),{unsubscribe:()=>{r.removeEventListener(n,i,!1)}}),this.globalScope=q(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}sendAsync(e,t){return new Promise((r,n)=>{let i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},t&&t.signal.addEventListener("abort",()=>{delete this.resolveRejects[i];let t={id:i,type:"",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(t)},{once:!0});let a=[],o=Object.assign(Object.assign({},e),{id:i,sourceMapId:this.mapId,origin:location.origin,data:nO(e.data,a)});this.target.postMessage(o,{transfer:a})})}receive(e){let t=e.data,r=t.id;if(!("file://"!==t.origin&&"file://"!==location.origin&&"resource://android"!==t.origin&&"resource://android"!==location.origin&&t.origin!==location.origin||t.targetMapId&&this.mapId!==t.targetMapId)){if(""===t.type){delete this.tasks[r];let e=this.abortControllers[r];return delete this.abortControllers[r],void(e&&e.abort())}if(q(self)||t.mustQueue)return this.tasks[r]=t,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,t)}}process(){if(0===this.taskQueue.length)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}processTask(e,t){return x(this,void 0,void 0,function*(){if(""===t.type){let r=this.resolveRejects[e];if(delete this.resolveRejects[e],!r)return;return void(t.error?r.reject(nD(t.error)):r.resolve(nD(t.data)))}if(!this.messageHandlers[t.type])return void this.completeTask(e,Error(`Could not find a registered handler for ${t.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let r=nD(t.data),n=new AbortController;this.abortControllers[e]=n;try{let i=yield this.messageHandlers[t.type](t.sourceMapId,r,n);this.completeTask(e,null,i)}catch(t){this.completeTask(e,t)}})}completeTask(e,t,r){let n=[];delete this.abortControllers[e];let i={id:e,type:"",sourceMapId:this.mapId,origin:location.origin,error:t?nO(t):null,data:nO(r,n)};this.target.postMessage(i,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},e.G=K,e.H=function(){var e=new aD(16);return aD!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e},e.I=se,e.J=function(e,t,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return t===e?(e[12]=t[0]*m+t[4]*g+t[8]*y+t[12],e[13]=t[1]*m+t[5]*g+t[9]*y+t[13],e[14]=t[2]*m+t[6]*g+t[10]*y+t[14],e[15]=t[3]*m+t[7]*g+t[11]*y+t[15]):(i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],c=t[6],u=t[7],h=t[8],f=t[9],p=t[10],d=t[11],e[0]=n=t[0],e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e[6]=c,e[7]=u,e[8]=h,e[9]=f,e[10]=p,e[11]=d,e[12]=n*m+s*g+h*y+t[12],e[13]=i*m+l*g+f*y+t[13],e[14]=a*m+c*g+p*y+t[14],e[15]=o*m+u*g+d*y+t[15]),e},e.K=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.L=aF,e.M=function(e,t){let r={};for(let n=0;n{let t=window.document.createElement("video");return t.muted=!0,new Promise(r=>{for(let n of(t.onloadstart=()=>{r(t)},e)){let e=window.document.createElement("source");er(n)||(t.crossOrigin="Anonymous"),e.src=n,t.appendChild(e)}})},e.a4=function(){return R++},e.a5=iI,e.a6=sT,e.a7=rQ,e.a8=ab,e.a9=sW,e.aA=function(e){if("custom"===e.type)return new sI(e);switch(e.type){case"background":return new sE(e);case"circle":return new aB(e);case"fill":return new ou(e);case"fill-extrusion":return new ok(e);case"heatmap":return new a$(e);case"hillshade":return new aK(e);case"line":return new oO(e);case"raster":return new sL(e);case"symbol":return new sM(e)}},e.aB=B,e.aC=function(e,t){if(!e)return[{command:"setStyle",args:[t]}];let r=[];try{if(!ef(e.version,t.version))return[{command:"setStyle",args:[t]}];ef(e.center,t.center)||r.push({command:"setCenter",args:[t.center]}),ef(e.zoom,t.zoom)||r.push({command:"setZoom",args:[t.zoom]}),ef(e.bearing,t.bearing)||r.push({command:"setBearing",args:[t.bearing]}),ef(e.pitch,t.pitch)||r.push({command:"setPitch",args:[t.pitch]}),ef(e.sprite,t.sprite)||r.push({command:"setSprite",args:[t.sprite]}),ef(e.glyphs,t.glyphs)||r.push({command:"setGlyphs",args:[t.glyphs]}),ef(e.transition,t.transition)||r.push({command:"setTransition",args:[t.transition]}),ef(e.light,t.light)||r.push({command:"setLight",args:[t.light]}),ef(e.terrain,t.terrain)||r.push({command:"setTerrain",args:[t.terrain]}),ef(e.sky,t.sky)||r.push({command:"setSky",args:[t.sky]}),ef(e.projection,t.projection)||r.push({command:"setProjection",args:[t.projection]});let n={},i=[];!function(e,t,r,n){let i;for(i in t=t||{},e=e||{})Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)||em(i,r,n));for(i in t){var a,o;Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)?ef(e[i],t[i])||("geojson"===e[i].type&&"geojson"===t[i].type&&function(e,t,r){let n;for(n in e[r])if(Object.prototype.hasOwnProperty.call(e[r],n)&&"data"!==n&&!ef(e[r][n],t[r][n]))return!1;for(n in t[r])if(Object.prototype.hasOwnProperty.call(t[r],n)&&"data"!==n&&!ef(e[r][n],t[r][n]))return!1;return!0}(e,t,i)?ep(r,{command:"setGeoJSONSourceData",args:[i,t[i].data]}):(a=i,o=t,em(a,r,n),ed(a,o,r))):ed(i,t,r))}}(e.sources,t.sources,i,n);let a=[];e.layers&&e.layers.forEach(e=>{"source"in e&&n[e.source]?r.push({command:"removeLayer",args:[e.id]}):a.push(e)}),r=r.concat(i),function(e,t,r){let n,i,a,o,s;t=t||[];let l=(e=e||[]).map(ey),c=t.map(ey),u=e.reduce(ev,{}),h=t.reduce(ev,{}),f=l.slice(),p=Object.create(null);for(let e=0,t=0;e@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(e,r,n,i)=>{let a=n||i;return t[r]=!a||a.toLowerCase(),""}),t["max-age"]){let e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t},e.ab=function(e,t){let r=[];for(let n in e)n in t||r.push(n);return r},e.ac=z,e.ad=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],c=t[4],u=t[5],h=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+u*n,e[2]=s*i+h*n,e[3]=l*i+f*n,e[4]=c*i-a*n,e[5]=u*i-o*n,e[6]=h*i-s*n,e[7]=f*i-l*n,e},e.ae=function(e){var t=new aD(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},e.af=aj,e.ag=function(e,t){let r=0,n=0;if("constant"===e.kind)n=e.layoutSize;else if("source"!==e.kind){let{interpolationType:i,minZoom:a,maxZoom:o}=e,s=i?z(tI.interpolationFactor(i,t,a,o),0,1):0;"camera"===e.kind?n=tL.number(e.minSize,e.maxSize,s):r=s}return{uSizeT:r,uSize:n}},e.ai=function(e,{uSize:t,uSizeT:r},{lowerSize:n,upperSize:i}){return"source"===e.kind?n/128:"composite"===e.kind?tL.number(n/128,i/128,r):t},e.aj=s_,e.ak=function(e,t,r,n){let i=t.y-e.y,a=t.x-e.x,o=n.y-r.y,s=n.x-r.x,l=o*a-s*i;if(0===l)return null;let c=(s*(e.y-r.y)-o*(e.x-r.x))/l;return new M(e.x+c*a,e.y+c*i)},e.al=sK,e.am=ak,e.an=aR,e.ao=function(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(let a of e)t=Math.min(t,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return[t,r,n,i]},e.ap=24,e.ar=sg,e.as=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],c=t[7],u=t[8],h=t[9],f=t[10],p=t[11],d=t[12],m=t[13],g=t[14],y=t[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,L=v*C-x*E+_*S+b*M-w*A+T*k;return L?(e[0]=(s*C-l*E+c*S)*(L=1/L),e[1]=(i*E-n*C-a*S)*L,e[2]=(m*T-g*w+y*b)*L,e[3]=(f*w-h*T-p*b)*L,e[4]=(l*M-o*C-c*A)*L,e[5]=(r*C-i*M+a*A)*L,e[6]=(g*_-d*T-y*x)*L,e[7]=(u*T-f*_+p*x)*L,e[8]=(o*E-s*M+c*k)*L,e[9]=(n*M-r*E-a*k)*L,e[10]=(d*w-m*_+y*v)*L,e[11]=(h*_-u*w-p*v)*L,e[12]=(s*A-o*S-l*k)*L,e[13]=(r*S-n*A+i*k)*L,e[14]=(m*x-d*b-g*v)*L,e[15]=(u*b-h*x+f*v)*L,e):null},e.at=ln,e.au=sf,e.av=ls,e.aw=function(){let e={},t=el.$version;for(let r in el.$root){let n=el.$root[r];if(n.required){let i=null;null!=(i="version"===r?t:"array"===n.type?[]:{})&&(e[r]=i)}}return e},e.ax=nR,e.ay=ee,e.az=function(e){e=e.slice();let t=Object.create(null);for(let r=0;r{e in t&&(r[e]=t[e])}),r}(e[r],t[e[r].ref]));return e},e.b=G,e.b0=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},e.b1=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e},e.b2=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},e.b3=O,e.b4=sV,e.b5=function(e,t){return e/sD(t)},e.b6=function(e,t,r,n,i){var a,o=1/Math.tan(t/2);return e[0]=o/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=i&&i!==1/0?(e[10]=(i+n)*(a=1/(n-i)),e[14]=2*i*n*a):(e[10]=-1,e[14]=-2*n),e},e.b7=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+u*n,e[6]=s*i+h*n,e[7]=l*i+f*n,e[8]=c*i-a*n,e[9]=u*i-o*n,e[10]=h*i-s*n,e[11]=f*i-l*n,e},e.b8=I,e.b9=P,e.bA=oq,e.bB=function(e){return e.message===Y},e.bC=rZ,e.bD=nZ,e.ba=function(e){return e*Math.PI/180},e.bb=function(e,t){let{x:r,y:n}=sB.fromLngLat(t);return!(e<0||e>25||n<0||n>=1||r<0||r>=1)},e.bc=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},e.bd=class extends is{},e.be=6371008.8,e.bf={mark(e){performance.mark(e)},frame(e){null!=lh&&lf.push(e-lh),lh=e},clearMetrics(){for(let t in lh=null,lf=[],performance.clearMeasures(ld),performance.clearMeasures(lm),e.bg)performance.clearMarks(e.bg[t])},getPerformanceMetrics(){performance.measure(ld,e.bg.create,e.bg.load),performance.measure(lm,e.bg.create,e.bg.fullLoad);let t=performance.getEntriesByName(ld)[0].duration,r=performance.getEntriesByName(lm)[0].duration,n=lf.length,i=1/(lf.reduce((e,t)=>e+t,0)/n/1e3),a=lf.filter(e=>e>lp).reduce((e,t)=>e+(t-lp)/lp,0);return{loadTime:t,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}},e.bh=Q,e.bi=function(e,t){$.REGISTERED_PROTOCOLS[e]=t},e.bj=function(e){delete $.REGISTERED_PROTOCOLS[e]},e.bk=function(e,t){let r={};for(let n=0;n24*e)}let x=s?"center":n.get("text-justify").evaluate(i,{},t.canonical),_="point"===n.get("symbol-placement")?24*n.get("text-max-width").evaluate(i,{},t.canonical):1/0,b=()=>{t.bucket.allowVerticalPlacement&&nj(a)&&(d.vertical=si(m,t.glyphMap,t.glyphPositions,t.imagePositions,u,_,o,g,"left",p,y,e.ah.vertical,!0,f,h))};if(!s&&v){let r=new Set;if("auto"===x)for(let e=0;e{p.x<0||p.x>=8192||p.y<0||p.y>=8192||function(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A){let M=t.addToLineVertexArray(r,n),S,E,C,L,I=0,P=0,z=0,O=0,D=-1,R=-1,F={},j=at("");if(t.allowVerticalPlacement&&i.vertical){let e=l.layout.get("text-rotate").evaluate(b,{},k)+90;C=new s6(c,r,u,h,f,i.vertical,p,d,m,e),s&&(L=new s6(c,r,u,h,f,s,y,v,m,e))}if(a){let n=l.layout.get("icon-rotate").evaluate(b,{}),i="none"!==l.layout.get("icon-text-fit"),o=s3(a,n,T,i),p=s?s3(s,n,T,i):void 0;E=new s6(c,r,u,h,f,a,y,v,!1,n),I=4*o.length;let d=t.iconSizeData,m=null;"source"===d.kind?(m=[128*l.layout.get("icon-size").evaluate(b,{})])[0]>32640&&U(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`):"composite"===d.kind&&((m=[128*w.compositeIconSizes[0].evaluate(b,{},k),128*w.compositeIconSizes[1].evaluate(b,{},k)])[0]>32640||m[1]>32640)&&U(`${t.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`),t.addSymbols(t.icon,o,m,_,x,b,e.ah.none,r,M.lineStartIndex,M.lineLength,-1,k),D=t.icon.placedSymbolArray.length-1,p&&(P=4*p.length,t.addSymbols(t.icon,p,m,_,x,b,e.ah.vertical,r,M.lineStartIndex,M.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1)}let B=Object.keys(i.horizontal);for(let n of B){let a=i.horizontal[n];!S&&(j=at(a.text),S=new s6(c,r,u,h,f,a,p,d,m,l.layout.get("text-rotate").evaluate(b,{},k)));let s=1===a.positionedLines.length;if(z+=li(t,r,a,o,l,m,b,g,M,i.vertical?e.ah.horizontal:e.ah.horizontalOnly,s?B:[n],F,D,w,k),s)break}i.vertical&&(O+=li(t,r,i.vertical,o,l,m,b,g,M,e.ah.vertical,["vertical"],F,R,w,k));let N=S?S.boxStartIndex:t.collisionBoxArray.length,V=S?S.boxEndIndex:t.collisionBoxArray.length,q=C?C.boxStartIndex:t.collisionBoxArray.length,H=C?C.boxEndIndex:t.collisionBoxArray.length,G=E?E.boxStartIndex:t.collisionBoxArray.length,Z=E?E.boxEndIndex:t.collisionBoxArray.length,W=L?L.boxStartIndex:t.collisionBoxArray.length,Y=L?L.boxEndIndex:t.collisionBoxArray.length,X=-1,$=(e,t)=>e&&e.circleDiameter?Math.max(e.circleDiameter,t):t;X=$(S,-1),X=$(C,X),X=$(E,X);let J=(X=$(L,X))>-1?1:0;J&&(X*=A/24),t.glyphOffsetArray.length>=sT.MAX_GLYPHS&&U("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey);let K=lr(l,b,k),[Q,ee]=function(t,r){let n=t.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?F.right:-1,F.center>=0?F.center:-1,F.left>=0?F.left:-1,F.vertical||-1,D,R,j,N,V,q,H,G,Z,W,Y,u,z,O,I,P,J,0,p,X,Q,ee)}(t,p,l,n,i,a,f,t.layers[0],t.collisionBoxArray,r.index,r.sourceLayerIndex,t.index,v,[w,w,w,w],A,c,_,T,S,m,r,o,u,h,s)};if("line"===E)for(let e of sK(r.geometry,0,0,8192,8192))for(let r of function(e,t,r,n,i,a,o,s,l){let c=n?.6*24*o:0,u=s2(n,i),h=u*o,f=0===e[0].x||8192===e[0].x||0===e[0].y||8192===e[0].y;return t-h=0&&y=0&&v=0&&p+u<=h){let r=new sQ(y,v,m,e);r._round(),i&&!s0(t,r,o,i,a)||d.push(r)}}f+=l}return l||d.length||s||(d=e(t,f/2,n,i,a,o,s,!0,c)),d}(e,f?t/2*s%t:(u/2+48)*o*s%t,t,c,r,h,f,!1,8192)}(e,b,k,n.vertical||g,i,0,x,t.overscaling,8192))g&&function(e,t,r,n){let i=e.compareText;if(t in i){let e=i[t];for(let t=e.length-1;t>=0;t--)if(n.dist(e[t])1){let t=function(e,t,r,n,i,a){let o=r?.6*24*a:0,s=s2(r,n)*a,l=0,c=s1(e)/2;for(let r=0;rc){let u=(c-l)/a,h=new sQ(tL.number(n.x,i.x,u),tL.number(n.y,i.y,u),i.angleTo(n),r);return h._round(),!o||s0(e,h,s,o,t)?h:void 0}l+=a}}(e,k,n.vertical||g,i,0,x);t&&I(e,t)}}else if("Polygon"===r.type)for(let e of re(r.geometry,0)){let t=function(e,t=1,r=!1){let n=1/0,i=1/0,a=-1/0,o=-1/0,s=e[0];for(let e=0;ea)&&(a=t.x),(!e||t.y>o)&&(o=t.y)}let l=Math.min(a-n,o-i),c=l/2,u=new s8([],s7);if(0===l)return new M(n,i);for(let t=n;th.d||!h.d)&&(h=n,r&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,f)),n.max-h.d<=t||(c=n.h/2,u.push(new s9(n.p.x-c,n.p.y-c,c,e)),u.push(new s9(n.p.x+c,n.p.y-c,c,e)),u.push(new s9(n.p.x-c,n.p.y+c,c,e)),u.push(new s9(n.p.x+c,n.p.y+c,c,e)),f+=4)}return r&&(console.log(`num probes: ${f}`),console.log(`best distance: ${h.d}`)),h.p}(e,16);I(e[0],new sQ(t.x,t.y,0))}else if("LineString"===r.type)for(let e of r.geometry)I(e,new sQ(e[0].x,e[0].y,0));else if("Point"===r.type)for(let e of r.geometry)for(let t of e)I([t],new sQ(t.x,t.y,0))}(t.bucket,i,d,g,t.imageMap,a,f,p,y,v,t.canonical)}t.showCollisionBoxes&&t.bucket.generateCollisionDebugBuffers()},e.bq=oI,e.br=ol,e.bs=ow,e.bt=od,e.bu=o4,e.bv=class{constructor(e){this._marks={start:[e.url,"start"].join("#"),end:[e.url,"end"].join("#"),measure:e.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let e=performance.getEntriesByName(this._marks.measure);return 0===e.length&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),e=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),e}},e.bw=function(e,t,r,a,o){return x(this,void 0,void 0,function*(){if(L())try{return yield W(e,t,r,a,o)}catch(e){}return function(e,t,r,a,o){let s=e.width,l=e.height;n&&i||(i=(n=new OffscreenCanvas(s,l)).getContext("2d",{willReadFrequently:!0})),n.width=s,n.height=l,i.drawImage(e,0,0,s,l);let c=i.getImageData(t,r,a,o);return i.clearRect(0,0,s,l),c.data}(e,t,r,a,o)})},e.bx=sG,e.by=_,e.bz=b,e.c=X,e.d=e=>x(void 0,void 0,void 0,function*(){if(0===e.byteLength)return createImageBitmap(new ImageData(1,1));let t=new Blob([new Uint8Array(e)],{type:"image/png"});try{return createImageBitmap(t)}catch(e){throw Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),e.e=D,e.f=e=>new Promise((t,r)=>{let n=new Image;n.onload=()=>{t(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame(()=>{n.src=Z})},n.onerror=()=>r(Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));let i=new Blob([new Uint8Array(e)],{type:"image/png"});n.src=e.byteLength?URL.createObjectURL(i):Z}),e.g=J,e.h=(e,t)=>et(D(e,{type:"json"}),t),e.i=q,e.j=eo,e.k=ea,e.l=(e,t)=>et(D(e,{type:"arrayBuffer"}),t),e.m=et,e.n=function(e){return new o4(e).readFields(o6,[])},e.o=aZ,e.p=o9,e.q=n8,e.r=nT,e.s=er,e.t=nS,e.u=nx,e.v=el,e.w=U,e.x=function([e,t,r]){return t+=90,{x:e*Math.cos(t*=Math.PI/180)*Math.sin(r*=Math.PI/180),y:e*Math.sin(t)*Math.sin(r),z:e*Math.cos(r)}},e.y=tL,e.z=nW}),r("worker",["./shared"],function(e){class t{constructor(e){this.keyCache={},e&&this.replace(e)}replace(e){this._layerConfigs={},this._layers={},this.update(e,[])}update(t,r){for(let r of t){this._layerConfigs[r.id]=r;let t=this._layers[r.id]=e.aA(r);t._featureFilter=e.a7(t.filter),this.keyCache[r.id]&&delete this.keyCache[r.id]}for(let e of r)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];for(let t of(this.familiesBySource={},e.bk(Object.values(this._layerConfigs),this.keyCache))){let e=t.map(e=>this._layers[e.id]),r=e[0];if("none"===r.visibility)continue;let n=r.source||"",i=this.familiesBySource[n];i||(i=this.familiesBySource[n]={});let a=r.sourceLayer||"_geojsonTileLayer",o=i[a];o||(o=i[a]=[]),o.push(e)}}}class r{constructor(t){let r={},n=[];for(let e in t){let i=t[e],a=r[e]={};for(let e in i){let t=i[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;let r={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};n.push(r),a[e]={rect:r,metrics:t.metrics}}}let{w:i,h:a}=e.p(n),o=new e.o({width:i||1,height:a||1});for(let n in t){let i=t[n];for(let t in i){let a=i[+t];if(!a||0===a.bitmap.width||0===a.bitmap.height)continue;let s=r[n][t].rect;e.o.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=r}}e.bl("GlyphAtlas",r);class n{constructor(t){this.tileID=new e.S(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[]}parse(t,n,a,o){return e._(this,void 0,void 0,function*(){this.status="parsing",this.data=t,this.collisionBoxArray=new e.a5;let s=new e.bm(Object.keys(t.layers).sort()),l=new e.bn(this.tileID,this.promoteId);l.bucketLayerIDs=[];let c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a},h=n.familiesBySource[this.source];for(let r in h){let n=t.layers[r];if(!n)continue;1===n.version&&e.w(`Vector tile source "${this.source}" layer "${r}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let o=s.encode(r),f=[];for(let e=0;e=r.maxzoom||"none"!==r.visibility&&(i(t,this.zoom,a),(c[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(f,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map(e=>e.id)))}}let f=e.aF(u.glyphDependencies,e=>Object.keys(e).map(Number));this.inFlightDependencies.forEach(e=>null==e?void 0:e.abort()),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(f).length){let e=new AbortController;this.inFlightDependencies.push(e),p=o.sendAsync({type:"GG",data:{stacks:f,source:this.source,tileID:this.tileID,type:"glyphs"}},e)}let d=Object.keys(u.iconDependencies),m=Promise.resolve({});if(d.length){let e=new AbortController;this.inFlightDependencies.push(e),m=o.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"icons"}},e)}let g=Object.keys(u.patternDependencies),y=Promise.resolve({});if(g.length){let e=new AbortController;this.inFlightDependencies.push(e),y=o.sendAsync({type:"GI",data:{icons:g,source:this.source,tileID:this.tileID,type:"patterns"}},e)}let[v,x,_]=yield Promise.all([p,m,y]),b=new r(v),w=new e.bo(x,_);for(let t in c){let r=c[t];r instanceof e.a6?(i(r.layers,this.zoom,a),e.bp({bucket:r,glyphMap:v,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof e.bq||r instanceof e.br||r instanceof e.bs)&&(i(r.layers,this.zoom,a),r.addFeatures(u,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter(e=>!e.isEmpty()),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}})}}function i(t,r,n){let i=new e.z(r);for(let e of t)e.recalculate(i,n)}class a{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(t,r){return e._(this,void 0,void 0,function*(){let n=yield e.l(t.request,r);try{return{vectorTile:new e.bt.VectorTile(new e.bu(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires}}catch(i){let e=new Uint8Array(n.data),r=`Unable to parse the tile at ${t.request.url}, `;throw Error(r+=31===e[0]&&139===e[1]?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${i.message}`)}})}loadTile(t){return e._(this,void 0,void 0,function*(){let r=t.uid,i=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bv(t.request),a=new n(t);this.loading[r]=a;let o=new AbortController;a.abort=o;try{let n=yield this.loadVectorTile(t,o);if(delete this.loading[r],!n)return null;let s=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);let c={};if(i){let e=i.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)))}a.vectorTile=n.vectorTile;let u=a.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=a,this.fetching[r]={rawTileData:s,cacheControl:l,resourceTiming:c};try{let t=yield u;return e.e({rawTileData:s.slice(0)},t,l,c)}finally{delete this.fetching[r]}}catch(e){throw delete this.loading[r],a.status="done",this.loaded[r]=a,e}})}reloadTile(t){return e._(this,void 0,void 0,function*(){let r=t.uid;if(!this.loaded||!this.loaded[r])throw Error("Should not be trying to reload a tile that was never loaded or has been removed");let n=this.loaded[r];if(n.showCollisionBoxes=t.showCollisionBoxes,"parsing"===n.status){let t;let i=yield n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);if(this.fetching[r]){let{rawTileData:n,cacheControl:a,resourceTiming:o}=this.fetching[r];delete this.fetching[r],t=e.e({rawTileData:n.slice(0)},i,a,o)}else t=i;return t}if("done"===n.status&&n.vectorTile)return n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(t){return e._(this,void 0,void 0,function*(){let e=this.loading,r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort.abort(),delete e[r])})}removeTile(t){return e._(this,void 0,void 0,function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid]})}}class o{constructor(){this.loaded={}}loadTile(t){return e._(this,void 0,void 0,function*(){let{uid:r,encoding:n,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:l}=t,c=i.width+2,u=i.height+2,h=e.b(i)?new e.R({width:c,height:u},(yield e.bw(i,-1,-1,c,u))):i,f=new e.bx(r,h,n,a,o,s,l);return this.loaded=this.loaded||{},this.loaded[r]=f,f})}removeTile(e){let t=this.loaded,r=e.uid;t&&t[r]&&delete t[r]}}function s(e,t){if(0!==e.length){l(e[0],t);for(var r=1;r=Math.abs(s)?r-l+s:s-l+r,r=l}r+n>=0!=!!t&&e.reverse()}var c,u=e.by(function e(t,r){var n,i=t&&t.type;if("FeatureCollection"===i)for(n=0;n>31),t.writeVarint(p<<1^p>>31),i+=f,a+=p}3===n&&t.writeVarint(15)}}function T(e,t){var r=typeof e;"string"===r?t.writeStringField(1,e):"boolean"===r?t.writeBooleanField(7,e):"number"===r&&(e%1!=0?t.writeDoubleField(3,e):e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e))}f.exports=v,f.exports.fromVectorTileJs=v,f.exports.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var n in e)r[n]=new m(e[n].features,t),r[n].name=n,r[n].version=t.version,r[n].extent=t.extent;return v({layers:r})},f.exports.GeoJSONWrapper=m;var k=e.by(f.exports);let A={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},M=Math.fround||(c=new Float32Array(1),e=>(c[0]=+e,c[0]));class S{constructor(e){this.options=Object.assign(Object.create(A),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){let{log:t,minZoom:r,maxZoom:n}=this.options;t&&console.time("total time");let i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;let a=[];for(let t=0;t=r;e--){let r=+Date.now();o=this.trees[e]=this._createTree(this._cluster(o,e)),t&&console.log("z%d: %d clusters in %dms",e,o.numItems,+Date.now()-r)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let r=((e[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[1])),i=180===e[2]?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,i=180;else if(r>i){let e=this.getClusters([r,n,180,a],t),o=this.getClusters([-180,n,i,a],t);return e.concat(o)}let o=this.trees[this._limitZoom(t)],s=o.range(L(r),I(a),L(i),I(n)),l=o.data,c=[];for(let e of s){let t=this.stride*e;c.push(l[t+5]>1?E(l,t,this.clusterProps):this.points[l[t+3]])}return c}getChildren(e){let t=this._getOriginId(e),r=this._getOriginZoom(e),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw Error(n);let a=i.data;if(t*this.stride>=a.length)throw Error(n);let o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=i.within(a[t*this.stride],a[t*this.stride+1],o),l=[];for(let t of s){let r=t*this.stride;a[r+4]===e&&l.push(a[r+5]>1?E(a,r,this.clusterProps):this.points[a[r+3]])}if(0===l.length)throw Error(n);return l}getLeaves(e,t,r){let n=[];return this._appendLeaves(n,e,t=t||10,r=r||0,0),n}getTile(e,t,r){let n=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:a,radius:o}=this.options,s=o/a,l=(r-s)/i,c=(r+1+s)/i,u={features:[]};return this._addTileFeatures(n.range((t-s)/i,l,(t+1+s)/i,c),n.data,t,r,i,u),0===t&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.data,i,r,i,u),t===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.data,-1,r,i,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){let r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id}return t}_appendLeaves(e,t,r,n,i){for(let a of this.getChildren(t)){let t=a.properties;if(t&&t.cluster?i+t.point_count<=n?i+=t.point_count:i=this._appendLeaves(e,t.cluster_id,r,n,i):i1;if(h)e=C(t,u,this.clusterProps),s=t[u],l=t[u+1];else{let r=this.points[t[u+3]];e=r.properties;let[n,i]=r.geometry.coordinates;s=L(n),l=I(i)}let f={type:1,geometry:[[Math.round(this.options.extent*(s*i-r)),Math.round(this.options.extent*(l*i-n))]],tags:e};void 0!==(c=h||this.options.generateId?t[u+3]:this.points[t[u+3]].id)&&(f.id=c),a.features.push(f)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let{radius:r,extent:n,reduce:i,minPoints:a}=this.options,o=r/(n*Math.pow(2,t)),s=e.data,l=[],c=this.stride;for(let r=0;rt&&(p+=s[r+5])}if(p>f&&p>=a){let e,a=n*f,o=u*f,d=-1,m=((r/c|0)<<5)+(t+1)+this.points.length;for(let n of h){let l=n*c;if(s[l+2]<=t)continue;s[l+2]=t;let u=s[l+5];a+=s[l]*u,o+=s[l+1]*u,s[l+4]=m,i&&(e||(e=this._map(s,r,!0),d=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(s,l)))}s[r+4]=m,l.push(a/p,o/p,1/0,m,-1,p),i&&l.push(d)}else{for(let e=0;e1)for(let e of h){let r=e*c;if(!(s[r+2]<=t)){s[r+2]=t;for(let e=0;e>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,r){if(e[t+5]>1){let n=this.clusterProps[e[t+6]];return r?Object.assign({},n):n}let n=this.points[e[t+3]].properties,i=this.options.map(n);return r&&i===n?Object.assign({},i):i}}function E(e,t,r){return{type:"Feature",id:e[t+3],properties:C(e,t,r),geometry:{type:"Point",coordinates:[360*(e[t]-.5),360*Math.atan(Math.exp((180-360*e[t+1])*Math.PI/180))/Math.PI-90]}}}function C(e,t,r){let n=e[t+5],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,a=e[t+6];return Object.assign(-1===a?{}:Object.assign({},r[a]),{cluster:!0,cluster_id:e[t+3],point_count:n,point_count_abbreviated:i})}function L(e){return e/360+.5}function I(e){let t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function P(e,t,r,n){let i={id:null==e?null:e,type:t,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===t||"MultiPoint"===t||"LineString"===t)z(i,r);else if("Polygon"===t)z(i,r[0]);else if("MultiLineString"===t)for(let e of r)z(i,e);else if("MultiPolygon"===t)for(let e of r)z(i,e[0]);return i}function z(e,t){for(let r=0;r0&&(o+=n?(i*l-s*a)/2:Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2))),i=s,a=l}let s=t.length-3;t[2]=1,function e(t,r,n,i){let a=i,o=r+(n-r>>1),s,l=n-r,c=t[r],u=t[r+1],h=t[n],f=t[n+1];for(let e=r+3;e1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=e-r)*o+(s=t-n)*s}(t[e],t[e+1],c,u,h,f);if(r>a)s=e,a=r;else if(r===a){let t=Math.abs(e-o);ti&&(s-r>3&&e(t,r,s,i),t[s+2]=a,n-s>3&&e(t,s,n,i))}(t,0,s,r),t[s+2]=1,t.size=Math.abs(o),t.start=0,t.end=t.size}function F(e,t,r,n){for(let i=0;i1?1:r}function B(e,t,r,n,i,a,o,s){if(n/=t,a>=(r/=t)&&o=n)return null;let l=[];for(let t of e){let e=t.geometry,a=t.type,o=0===i?t.minX:t.minY,c=0===i?t.maxX:t.maxY;if(o>=r&&c=n)continue;let u=[];if("Point"===a||"MultiPoint"===a)(function(e,t,r,n,i){for(let a=0;a=r&&o<=n&&q(t,e[a],e[a+1],e[a+2])}})(e,u,r,n,i);else if("LineString"===a)N(e,u,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===a)V(e,u,r,n,i,!1);else if("Polygon"===a)V(e,u,r,n,i,!0);else if("MultiPolygon"===a)for(let t of e){let e=[];V(t,e,r,n,i,!0),e.length&&u.push(e)}if(u.length){if(s.lineMetrics&&"LineString"===a){for(let e of u)l.push(P(t.id,a,e,t.tags));continue}"LineString"!==a&&"MultiLineString"!==a||(1===u.length?(a="LineString",u=u[0]):a="MultiLineString"),"Point"!==a&&"MultiPoint"!==a||(a=3===u.length?"Point":"MultiPoint"),l.push(P(t.id,a,u,t.tags))}}return l.length?l:null}function N(e,t,r,n,i,a,o){let s=U(e),l=0===i?H:G,c,u,h=e.start;for(let f=0;fr&&(u=l(s,p,d,g,y,r),o&&(s.start=h+c*u)):v>n?x=r&&(u=l(s,p,d,g,y,r),_=!0),x>n&&v<=n&&(u=l(s,p,d,g,y,n),_=!0),!a&&_&&(o&&(s.end=h+c*u),t.push(s),s=U(e)),o&&(h+=c)}let f=e.length-3,p=e[f],d=e[f+1],m=0===i?p:d;m>=r&&m<=n&&q(s,p,d,e[f+2]),f=s.length-3,a&&f>=3&&(s[f]!==s[0]||s[f+1]!==s[1])&&q(s,s[0],s[1],s[2]),s.length&&t.push(s)}function U(e){let t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function V(e,t,r,n,i,a){for(let o of e)N(o,t,r,n,i,a,!1)}function q(e,t,r,n){e.push(t,r,n)}function H(e,t,r,n,i,a){let o=(a-t)/(n-t);return q(e,a,r+(i-r)*o,1),o}function G(e,t,r,n,i,a){let o=(a-r)/(i-r);return q(e,t+(n-t)*o,a,1),o}function Z(e,t){let r=[];for(let n=0;n0&&t.size<(i?o:n))return void(r.numPoints+=t.length/3);let s=[];for(let e=0;eo)&&(r.numSimplified++,s.push(t[e],t[e+1])),r.numPoints++;i&&function(e,t){let r=0;for(let t=0,n=e.length,i=n-2;t0===t)for(let t=0,r=e.length;t24)throw Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw Error("promoteId and generateId cannot be used together.");let n=function(e,t){let r=[];if("FeatureCollection"===e.type)for(let n=0;n1&&console.time("creation"),f=this.tiles[h]=function(e,t,r,n,i){let a=t===i.maxZoom?0:i.tolerance/((1<1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));let e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++}if(f.source=e,null==i){if(t===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue}else{if(t===l.maxZoom||t===i)continue;if(null!=i){let e=i-t;if(r!==a>>e||n!==o>>e)continue}}if(f.source=null,0===e.length)continue;c>1&&console.time("clipping");let p=.5*l.buffer/l.extent,d=.5-p,m=.5+p,g=1+p,y=null,v=null,x=null,_=null,b=B(e,u,r-p,r+m,0,f.minX,f.maxX,l),w=B(e,u,r+d,r+g,0,f.minX,f.maxX,l);e=null,b&&(y=B(b,u,n-p,n+m,1,f.minY,f.maxY,l),v=B(b,u,n+d,n+g,1,f.minY,f.maxY,l),b=null),w&&(x=B(w,u,n-p,n+m,1,f.minY,f.maxY,l),_=B(w,u,n+d,n+g,1,f.minY,f.maxY,l),w=null),c>1&&console.timeEnd("clipping"),s.push(y||[],t+1,2*r,2*n),s.push(v||[],t+1,2*r,2*n+1),s.push(x||[],t+1,2*r+1,2*n),s.push(_||[],t+1,2*r+1,2*n+1)}}getTile(e,t,r){e=+e,t=+t,r=+r;let{extent:n,debug:i}=this.options;if(e<0||e>24)return null;let a=1<1&&console.log("drilling down to z%d-%d-%d",e,t,r);let s,l=e,c=t,u=r;for(;!s&&l>0;)l--,c>>=1,u>>=1,s=this.tiles[Q(l,c,u)];return s&&s.source?(i>1&&(console.log("found parent tile z%d-%d-%d",l,c,u),console.time("drilling down")),this.splitTile(s.source,l,c,u,e,t,r),i>1&&console.timeEnd("drilling down"),this.tiles[o]?Y(this.tiles[o],n):null):null}}function Q(e,t,r){return 32*((1<{o.properties=e;let t={};for(let e of s)t[e]=n[e].evaluate(a,o);return t},t.reduce=(e,t)=>{for(let r of(o.properties=t,s))a.accumulated=e[r],e[r]=i[r].evaluate(a,o)},t}(t)).load((yield this._pendingData).features):(n=yield this._pendingData,new K(n,t.geojsonVtOptions)),this.loaded={};let r={};if(i){let e=i.finish();e&&(r.resourceTiming={},r.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)))}return r}catch(t){if(delete this._pendingRequest,e.bB(t))return{abandoned:!0};throw t}})}getData(){return e._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(e){let t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,r){return e._(this,void 0,void 0,function*(){let n=yield this.loadGeoJSON(t,r);if(delete this._pendingRequest,"object"!=typeof n)throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(u(n,!0),t.filter){let r=e.bC(t.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===r.result)throw Error(r.value.map(e=>`${e.key}: ${e.message}`).join(", "));n={type:"FeatureCollection",features:n.features.filter(e=>r.value.evaluate({zoom:0},e))}}return n})}loadGeoJSON(t,r){return e._(this,void 0,void 0,function*(){let{promoteId:n}=t;if(t.request){let i=yield e.h(t.request,r);return this._dataUpdateable=et(i.data,n)?er(i.data,n):void 0,i.data}if("string"==typeof t.data)try{let e=JSON.parse(t.data);return this._dataUpdateable=et(e,n)?er(e,n):void 0,e}catch(e){throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,r){var n,i,a,o;if(t.removeAll&&e.clear(),t.remove)for(let r of t.remove)e.delete(r);if(t.add)for(let n of t.add){let t=ee(n,r);null!=t&&e.set(t,n)}if(t.update)for(let r of t.update){let t=e.get(r.id);if(null==t)continue;let s=!r.removeAllProperties&&((null===(n=r.removeProperties)||void 0===n?void 0:n.length)>0||(null===(i=r.addOrUpdateProperties)||void 0===i?void 0:i.length)>0);if((r.newGeometry||r.removeAllProperties||s)&&(t=Object.assign({},t),e.set(r.id,t),s&&(t.properties=Object.assign({},t.properties))),r.newGeometry&&(t.geometry=r.newGeometry),r.removeAllProperties)t.properties={};else if((null===(a=r.removeProperties)||void 0===a?void 0:a.length)>0)for(let e of r.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0)for(let{key:e,value:n}of r.addOrUpdateProperties)t.properties[e]=n}}(this._dataUpdateable,t.dataDiff,n),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(t){return e._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class ei{constructor(t){this.self=t,this.actor=new e.F(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw Error(`Worker source with name "${e}" already registered.`);this.externalWorkerSourceTypes[e]=t},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=t=>{if(e.bD.isParsed())throw Error("RTL text plugin already registered.");e.bD.setMethods(t)},this.actor.registerMessageHandler("LDT",(e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t)),this.actor.registerMessageHandler("RDT",(t,r)=>e._(this,void 0,void 0,function*(){this._getDEMWorkerSource(t,r.source).removeTile(r)})),this.actor.registerMessageHandler("GCEZ",(t,r)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)})),this.actor.registerMessageHandler("GCC",(t,r)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)})),this.actor.registerMessageHandler("GCL",(t,r)=>e._(this,void 0,void 0,function*(){return this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)})),this.actor.registerMessageHandler("LD",(e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t)),this.actor.registerMessageHandler("GD",(e,t)=>this._getWorkerSource(e,t.type,t.source).getData()),this.actor.registerMessageHandler("LT",(e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t)),this.actor.registerMessageHandler("RT",(e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t)),this.actor.registerMessageHandler("AT",(e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t)),this.actor.registerMessageHandler("RMT",(e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t)),this.actor.registerMessageHandler("RS",(t,r)=>e._(this,void 0,void 0,function*(){if(!this.workerSources[t]||!this.workerSources[t][r.type]||!this.workerSources[t][r.type][r.source])return;let e=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],void 0!==e.removeSource&&e.removeSource(r)})),this.actor.registerMessageHandler("RM",t=>e._(this,void 0,void 0,function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t]})),this.actor.registerMessageHandler("SR",(t,r)=>e._(this,void 0,void 0,function*(){this.referrer=r})),this.actor.registerMessageHandler("SRPS",(e,t)=>this._syncRTLPluginState(e,t)),this.actor.registerMessageHandler("IS",(t,r)=>e._(this,void 0,void 0,function*(){this.self.importScripts(r)})),this.actor.registerMessageHandler("SI",(e,t)=>this._setImages(e,t)),this.actor.registerMessageHandler("UL",(t,r)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(t).update(r.layers,r.removedIds)})),this.actor.registerMessageHandler("SL",(t,r)=>e._(this,void 0,void 0,function*(){this._getLayerIndex(t).replace(r)}))}_setImages(t,r){return e._(this,void 0,void 0,function*(){for(let e in this.availableImages[t]=r,this.workerSources[t]){let n=this.workerSources[t][e];for(let e in n)n[e].availableImages=r}})}_syncRTLPluginState(t,r){return e._(this,void 0,void 0,function*(){if(e.bD.isParsed())return e.bD.getState();if("loading"!==r.pluginStatus)return e.bD.setState(r),r;let t=r.pluginURL;if(this.self.importScripts(t),e.bD.isParsed()){let r={pluginStatus:"loaded",pluginURL:t};return e.bD.setState(r),r}throw e.bD.setState({pluginStatus:"error",pluginURL:""}),Error(`RTL Text Plugin failed to import scripts from ${t}`)})}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new t),r}_getWorkerSource(e,t,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){let n={sendAsync:(t,r)=>(t.targetMapId=e,this.actor.sendAsync(t,r))};switch(t){case"vector":this.workerSources[e][t][r]=new a(n,this._getLayerIndex(e),this._getAvailableImages(e));break;case"geojson":this.workerSources[e][t][r]=new en(n,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](n,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new o),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new ei(self)),ei}),r("index",["exports","./shared"],function(e,t){let r,n,i,a,o,s,l;var c,u="4.7.1";let h={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:e=>new Promise((r,n)=>{let i=requestAnimationFrame(r);e.signal.addEventListener("abort",()=>{cancelAnimationFrame(i),n(t.c())})}),getImageData(e,t=0){return this.getImageCanvasContext(e).getImageData(-t,-t,e.width+2*t,e.height+2*t)},getImageCanvasContext(e){let t=window.document.createElement("canvas"),r=t.getContext("2d",{willReadFrequently:!0});if(!r)throw Error("failed to create canvas 2d context");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0,e.width,e.height),r},resolveURL:e=>(r||(r=document.createElement("a")),r.href=e,r.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==n&&(n=matchMedia("(prefers-reduced-motion: reduce)")),n.matches)}};class f{static testProp(e){if(!f.docStyle)return e[0];for(let t=0;t{window.removeEventListener("click",f.suppressClickInternal,!0)},0)}static getScale(e){let t=e.getBoundingClientRect();return{x:t.width/e.offsetWidth||1,y:t.height/e.offsetHeight||1,boundingClientRect:t}}static getPoint(e,r,n){let i=r.boundingClientRect;return new t.P((n.clientX-i.left)/r.x-e.clientLeft,(n.clientY-i.top)/r.y-e.clientTop)}static mousePos(e,t){let r=f.getScale(e);return f.getPoint(e,r,t)}static touchPos(e,t){let r=[],n=f.getScale(e);for(let i=0;i{d&&v(d),d=null,y=!0},m.onerror=()=>{g=!0,d=null},m.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(e){let r,n,i,a;e.resetRequestQueue=()=>{r=[],n=0,i=0,a={}},e.addThrottleControl=e=>{let t=i++;return a[t]=e,t},e.removeThrottleControl=e=>{delete a[e],s()},e.getImage=(e,n,i=!0)=>new Promise((a,o)=>{p.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),t.e(e,{type:"image"}),r.push({abortController:n,requestParameters:e,supportImageRefresh:i,state:"queued",onError:e=>{o(e)},onSuccess:e=>{a(e)}}),s()});let o=e=>t._(this,void 0,void 0,function*(){var r;e.state="running";let{requestParameters:i,supportImageRefresh:a,onError:o,onSuccess:c,abortController:u}=e,h=!1===a&&!t.i(self)&&!t.g(i.url)&&(!i.headers||Object.keys(i.headers).reduce((e,t)=>e&&"accept"===t,!0));n++;let f=h?l(i,u):t.m(i,u);try{let n=yield f;delete e.abortController,e.state="completed",n.data instanceof HTMLImageElement||t.b(n.data)?c(n):n.data&&c({data:yield(r=n.data,"function"==typeof createImageBitmap?t.d(r):t.f(r)),cacheControl:n.cacheControl,expires:n.expires})}catch(t){delete e.abortController,o(t)}finally{n--,s()}}),s=()=>{let e=(()=>{for(let e of Object.keys(a))if(a[e]())return!0;return!1})()?t.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:t.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let t=n;t0;t++){let e=r.shift();e.abortController.signal.aborted?t--:o(e)}},l=(e,r)=>new Promise((n,i)=>{let a=new Image,o=e.url,s=e.credentials;s&&"include"===s?a.crossOrigin="use-credentials":(s&&"same-origin"===s||!t.s(o))&&(a.crossOrigin="anonymous"),r.signal.addEventListener("abort",()=>{a.src="",i(t.c())}),a.fetchPriority="high",a.onload=()=>{a.onerror=a.onload=null,n({data:a})},a.onerror=()=>{a.onerror=a.onload=null,r.signal.aborted||i(Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},a.src=o})}(b||(b={})),b.resetRequestQueue();class x{constructor(e){this._transformRequestFn=e}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function _(e){var r=new t.A(3);return r[0]=e[0],r[1]=e[1],r[2]=e[2],r}var b,w,T=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e};w=new t.A(3),t.A!=Float32Array&&(w[0]=0,w[1]=0,w[2]=0);var k=function(e){var t=e[0],r=e[1];return t*t+r*r};function A(e){let t=[];if("string"==typeof e)t.push({id:"default",url:e});else if(e&&e.length>0){let r=[];for(let{id:n,url:i}of e){let e=`${n}${i}`;-1===r.indexOf(e)&&(r.push(e),t.push({id:n,url:i}))}}return t}function M(e,t,r){let n=e.split("?");return n[0]+=`${t}${r}`,n.join("?")}c=new t.A(2),t.A!=Float32Array&&(c[0]=0,c[1]=0);class S{constructor(e,t,r,n){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this.update(t,n)}update(e,r,n){let{width:i,height:a}=e,o=!(this.size&&this.size[0]===i&&this.size[1]===a||n),{context:s}=this,{gl:l}=s;if(this.useMipmap=!!(r&&r.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!r||!1!==r.premultiply)),o)this.size=[i,a],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,e):l.texImage2D(l.TEXTURE_2D,0,this.format,i,a,0,this.format,l.UNSIGNED_BYTE,e.data);else{let{x:r,y:o}=n||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||t.b(e)?l.texSubImage2D(l.TEXTURE_2D,0,r,o,l.RGBA,l.UNSIGNED_BYTE,e):l.texSubImage2D(l.TEXTURE_2D,0,r,o,i,a,l.RGBA,l.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(e,t,r){let{context:n}=this,{gl:i}=n;i.bindTexture(i.TEXTURE_2D,this.texture),r!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=i.LINEAR),e!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,r||e),this.filter=e),t!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,t),this.wrap=t)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}class E extends t.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(let{ids:e,promiseResolve:t}of this.requestors)t(this._getImagesForIds(e));this.requestors=[]}}getImage(e){let r=this.images[e];if(r&&!r.data&&r.spriteData){let e=r.spriteData;r.data=new t.R({width:e.width,height:e.height},e.context.getImageData(e.x,e.y,e.width,e.height).data),r.spriteData=null}return r}addImage(e,t){if(this.images[e])throw Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,t)&&(this.images[e]=t)}_validate(e,r){let n=!0,i=r.data||r.spriteData;return this._validateStretch(r.stretchX,i&&i.width)||(this.fire(new t.j(Error(`Image "${e}" has invalid "stretchX" value`))),n=!1),this._validateStretch(r.stretchY,i&&i.height)||(this.fire(new t.j(Error(`Image "${e}" has invalid "stretchY" value`))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.j(Error(`Image "${e}" has invalid "content" value`))),n=!1),n}_validateStretch(e,t){if(!e)return!0;let r=0;for(let n of e){if(n[0]{let n=!0;if(!this.isLoaded())for(let t of e)this.images[t]||(n=!1);this.isLoaded()||n?t(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:t})})}_getImagesForIds(e){let r={};for(let n of e){let e=this.getImage(n);e||(this.fire(new t.k("styleimagemissing",{id:n})),e=this.getImage(n)),e?r[n]={data:e.data.clone(),pixelRatio:e.pixelRatio,sdf:e.sdf,version:e.version,stretchX:e.stretchX,stretchY:e.stretchY,content:e.content,textFitWidth:e.textFitWidth,textFitHeight:e.textFitHeight,hasRenderCallback:!!(e.userImage&&e.userImage.render)}:t.w(`Image "${n}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return r}getPixelSize(){let{width:e,height:t}=this.atlasImage;return{width:e,height:t}}getPattern(e){let r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{let r={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.I(r,n);this.patterns[e]={bin:r,position:i}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){let t=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new S(e,this.atlasImage,t.RGBA),this.atlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE)}_updatePatternAtlas(){let e=[];for(let t in this.patterns)e.push(this.patterns[t].bin);let{w:r,h:n}=t.p(e),i=this.atlasImage;for(let e in i.resize({width:r||1,height:n||1}),this.patterns){let{bin:r}=this.patterns[e],n=r.x+1,a=r.y+1,o=this.getImage(e).data,s=o.width,l=o.height;t.R.copy(o,i,{x:0,y:0},{x:n,y:a},{width:s,height:l}),t.R.copy(o,i,{x:0,y:l-1},{x:n,y:a-1},{width:s,height:1}),t.R.copy(o,i,{x:0,y:0},{x:n,y:a+l},{width:s,height:1}),t.R.copy(o,i,{x:s-1,y:0},{x:n-1,y:a},{width:1,height:l}),t.R.copy(o,i,{x:0,y:0},{x:n+s,y:a},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(let r of e){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;let e=this.getImage(r);e||t.w(`Image with ID: "${r}" was not found`),function(e){let{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}(e)&&this.updateImage(r,e)}}}function C(e,t,r,n,i,a,o,s,l){for(let c=t;c-1);a[++l]=s,o[l]=c,o[l+1]=1e20}for(let s=0,l=0;s65535)throw Error("glyphs > 65535 not supported");if(t.ranges[i])return{stack:e,id:r,glyph:n};if(!this.url)throw Error("glyphsUrl is not set");if(!t.requests[i]){let r=I.loadGlyphRange(e,i,this.url,this.requestManager);t.requests[i]=r}let a=yield t.requests[i];for(let e in a)this._doesCharSupportLocalGlyph(+e)||(t.glyphs[+e]=a[+e]);return t.ranges[i]=!0,{stack:e,id:r,glyph:a[r]||null}})}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(e))}_tinySDF(e,r,n){let i=this.localIdeographFontFamily;if(!i||!this._doesCharSupportLocalGlyph(n))return;let a=e.tinySDF;if(!a){let t="400";/bold/i.test(r)?t="900":/medium/i.test(r)?t="500":/light/i.test(r)&&(t="200"),a=e.tinySDF=new I.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:t})}let o=a.draw(String.fromCharCode(n));return{id:n,bitmap:new t.o({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}I.loadGlyphRange=function(e,r,n,i){return t._(this,void 0,void 0,function*(){let a=256*r,o=a+255,s=i.transformRequest(n.replace("{fontstack}",e).replace("{range}",`${a}-${o}`),"Glyphs"),l=yield t.l(s,new AbortController);if(!l||!l.data)throw Error(`Could not load glyph range. range: ${r}, ${a}-${o}`);let c={};for(let e of t.n(l.data))c[e.id]=e;return c})},I.TinySDF=class{constructor({fontSize:e=24,buffer:t=3,radius:r=8,cutoff:n=.25,fontFamily:i="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=t,this.cutoff=n,this.radius=r;let s=this.size=e+4*t,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${e}px ${i}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(e){let t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){let{width:t,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(e),o=Math.ceil(r),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),l=Math.min(this.size-this.buffer,o+Math.ceil(n)),c=s+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),f=new Uint8ClampedArray(h),p={data:f,width:c,height:u,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:t};if(0===s||0===l)return p;let{ctx:d,buffer:m,gridInner:g,gridOuter:y}=this;d.clearRect(m,m,s,l),d.fillText(e,m,m+o);let v=d.getImageData(m,m,s,l);y.fill(1e20,0,h),g.fill(0,0,h);for(let e=0;e0?e*e:0,g[n]=e<0?e*e:0}}C(y,0,0,c,u,c,this.f,this.v,this.z),C(g,m,m,s,l,c,this.f,this.v,this.z);for(let e=0;e1&&(o=e[++a]);let c=Math.min(Math.abs(s-o.left),Math.abs(s-o.right)),u=t/r*(n+1);if(o.isDash){let e=n-Math.abs(u);l=Math.sqrt(c*c+e*e)}else l=n-Math.sqrt(c*c+u*u);this.data[i+s]=Math.max(0,Math.min(255,l+128))}}}addRegularDash(e){for(let t=e.length-1;t>=0;--t){let r=e[t],n=e[t+1];r.zeroLength?e.splice(t,1):n&&n.isDash===r.isDash&&(n.left=r.left,e.splice(t,1))}let t=e[0],r=e[e.length-1];t.isDash===r.isDash&&(t.left=r.left-this.width,r.right=t.right+this.width);let n=this.width*this.nextRow,i=0,a=e[0];for(let t=0;t1&&(a=e[++i]);let r=Math.min(Math.abs(t-a.left),Math.abs(t-a.right));this.data[n+t]=Math.max(0,Math.min(255,(a.isDash?r:-r)+128))}}addDash(e,r){let n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.w("LineAtlas out of space"),null;let a=0;for(let t=0;t{e.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[F]}numActive(){return Object.keys(this.active).length}}let B=Math.floor(h.hardwareConcurrency/2);function N(){return a||(a=new j),a}j.workerCount=t.C(globalThis)?Math.max(Math.min(B,3),1):1;class U{constructor(e,r){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=r;let n=this.workerPool.acquire(r);for(let e=0;e{e.remove()}),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,t){for(let r of this.actors)r.registerMessageHandler(e,t)}}function V(){return o||(o=new U(N(),t.G)).registerMessageHandler("GR",(e,r,n)=>t.m(r,n)),o}function q(e,t){let r=e.tileID,n=t.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}function H(e,r,n){return t._(this,void 0,void 0,function*(){let i=e;if(e.url?i=(yield t.h(r.transformRequest(e.url,"Source"),n)).data:yield h.frameAsync(n),!i)return null;let a=t.M(t.e(i,e),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in i&&i.vector_layers&&(a.vectorLayerIds=i.vector_layers.map(e=>e.id)),a})}class G{constructor(e,t){e&&(t?this.setSouthWest(e).setNorthEast(t):Array.isArray(e)&&(4===e.length?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}setSouthWest(e){return this._sw=e instanceof t.N?new t.N(e.lng,e.lat):t.N.convert(e),this}extend(e){let r,n;let i=this._sw,a=this._ne;if(e instanceof t.N)r=e,n=e;else{if(!(e instanceof G))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(G.convert(e)):this.extend(t.N.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(t.N.convert(e)):this;if(r=e._sw,n=e._ne,!r||!n)return this}return i||a?(i.lng=Math.min(r.lng,i.lng),i.lat=Math.min(r.lat,i.lat),a.lng=Math.max(n.lng,a.lng),a.lat=Math.max(n.lat,a.lat)):(this._sw=new t.N(r.lng,r.lat),this._ne=new t.N(n.lng,n.lat)),this}getCenter(){return new t.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new t.N(this.getWest(),this.getNorth())}getSouthEast(){return new t.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){let{lng:r,lat:n}=t.N.convert(e),i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i}static convert(e){return e instanceof G?e:e?new G(e):e}static fromLngLat(e,r=0){let n=360*r/40075017,i=n/Math.cos(Math.PI/180*e.lat);return new G(new t.N(e.lng-i,e.lat-n),new t.N(e.lng+i,e.lat+n))}adjustAntiMeridian(){let e=new t.N(this._sw.lng,this._sw.lat),r=new t.N(this._ne.lng,this._ne.lat);return new G(e,e.lng>r.lng?new t.N(r.lng+360,r.lat):r)}}class Z{constructor(e,t,r){this.bounds=G.convert(this.validateBounds(e)),this.minzoom=t||0,this.maxzoom=r||24}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){let r=Math.pow(2,e.z),n=Math.floor(t.O(this.bounds.getWest())*r),i=Math.floor(t.Q(this.bounds.getNorth())*r),a=Math.ceil(t.O(this.bounds.getEast())*r),o=Math.ceil(t.Q(this.bounds.getSouth())*r);return e.x>=n&&e.x=i&&e.y{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return t.e({},this._options)}loadTile(e){return t._(this,void 0,void 0,function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(t,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;let n="RT";if(e.actor&&"expired"!==e.state){if("loading"===e.state)return new Promise((t,r)=>{e.reloadPromise={resolve:t,reject:r}})}else e.actor=this.dispatcher.getActor(),n="LT";e.abortController=new AbortController;try{let t=yield e.actor.sendAsync({type:n,data:r},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,t)}catch(t){if(delete e.abortController,e.aborted)return;if(t&&404!==t.status)throw t;this._afterTileLoadWorkerResponse(e,null)}})}_afterTileLoadWorkerResponse(e,t){if(t&&t.resourceTiming&&(e.resourceTiming=t.resourceTiming),t&&this.map._refreshExpiredTiles&&e.setExpiryData(t),e.loadVectorData(t,this.map.painter),e.reloadPromise){let t=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(t.resolve).catch(t.reject)}}abortTile(e){return t._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}}))})}unloadTile(e){return t._(this,void 0,void 0,function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class Y extends t.E{constructor(e,r,n,i){super(),this.id=e,this.dispatcher=n,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.e({type:"raster"},r),t.e(this,t.M(r,["url","scheme","tileSize"]))}load(){return t._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new t.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{let e=yield H(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,e&&(t.e(this,e),e.bounds&&(this.tileBounds=new Z(e.bounds,this.minzoom,this.maxzoom)),this.fire(new t.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new t.k("data",{dataType:"source",sourceDataType:"content"})))}catch(e){this._tileJSONRequest=null,this.fire(new t.j(e))}})}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(e){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),e(),this.load()}setTiles(e){return this.setSourceProperty(()=>{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return t.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return t._(this,void 0,void 0,function*(){let t=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{let r=yield b.getImage(this.map._requestManager.transformRequest(t,"Tile"),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let t=this.map.painter.context,n=t.gl,i=r.data;e.texture=this.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new S(t,i,n.RGBA,{useMipmap:!0}),e.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_NEAREST)),e.state="loaded"}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}})}abortTile(e){return t._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)})}unloadTile(e){return t._(this,void 0,void 0,function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)})}hasTransition(){return!1}}class X extends Y{constructor(e,r,n,i){super(e,r,n,i),this.type="raster-dem",this.maxzoom=22,this._options=t.e({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(e){return t._(this,void 0,void 0,function*(){let r=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this.map._requestManager.transformRequest(r,"Tile");e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{let r=yield b.getImage(n,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(r&&r.data){let n=r.data;this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&e.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});let i=t.b(n)&&t.U()?n:yield this.readImageNow(n),a={type:this.type,uid:e.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!e.actor||"expired"===e.state){e.actor=this.dispatcher.getActor();let t=yield e.actor.sendAsync({type:"LDT",data:a});e.dem=t,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded"}}}catch(t){if(delete e.abortController,e.aborted)e.state="unloaded";else if(t)throw e.state="errored",t}})}readImageNow(e){return t._(this,void 0,void 0,function*(){if("undefined"!=typeof VideoFrame&&t.V()){let r=e.width+2,n=e.height+2;try{return new t.R({width:r,height:n},(yield t.W(e,-1,-1,r,n)))}catch(e){}}return h.getImageData(e,1)})}_getNeighboringTiles(e){let r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.S(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.S(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.S(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&t.e(i,{resourceTiming:n}),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"metadata"}))),this.fire(new t.k("data",Object.assign(Object.assign({},i),{sourceDataType:"content"})))}catch(e){if(this._pendingLoads--,this._removed)return void this.fire(new t.k("dataabort",{dataType:"source"}));this.fire(new t.j(e))}})}loaded(){return 0===this._pendingLoads}loadTile(e){return t._(this,void 0,void 0,function*(){let t=e.actor?"RT":"LT";e.actor=this.actor;let r={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.abortController=new AbortController;let n=yield this.actor.sendAsync({type:t,data:r},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(n,this.map.painter,"RT"===t)})}abortTile(e){return t._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0})}unloadTile(e){return t._(this,void 0,void 0,function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return t.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var J=t.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class K extends t.E{constructor(e,t,r,n){super(),this.id=e,this.dispatcher=r,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=t}load(e){return t._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new t.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let t=yield b.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,t&&t.data&&(this.image=t.data,e&&(this.coordinates=e),this._finishLoading())}catch(e){this._request=null,this._loaded=!0,this.fire(new t.j(e))}})}loaded(){return this._loaded}updateImage(e){return e.url&&(this._request&&(this._request.abort(),this._request=null),this.options.url=e.url,this.load(e.coordinates).finally(()=>{this.texture=null})),this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(e){this.coordinates=e;let r=e.map(t.Z.fromLngLat);this.tileID=function(e){let r=1/0,n=1/0,i=-1/0,a=-1/0;for(let t of e)r=Math.min(r,t.x),n=Math.min(n,t.y),i=Math.max(i,t.x),a=Math.max(a,t.y);let o=Math.max(0,Math.floor(-Math.log(Math.max(i-r,a-n))/Math.LN2)),s=Math.pow(2,o);return new t.a1(o,Math.floor((r+i)/2*s),Math.floor((n+a)/2*s))}(r),this.minzoom=this.maxzoom=this.tileID.z;let n=r.map(e=>this.tileID.getTilePoint(e)._round());return this._boundsArray=new t.$,this._boundsArray.emplaceBack(n[0].x,n[0].y,0,0),this._boundsArray.emplaceBack(n[1].x,n[1].y,t.X,0),this._boundsArray.emplaceBack(n[3].x,n[3].y,0,t.X),this._boundsArray.emplaceBack(n[2].x,n[2].y,t.X,t.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,J.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new S(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(e){return t._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Q extends K{constructor(e,t,r,n){super(e,t,r,n),this.roundZoom=!0,this.type="video",this.options=t}load(){return t._(this,void 0,void 0,function*(){this._loaded=!1;let e=this.options;for(let t of(this.urls=[],e.urls))this.urls.push(this.map._requestManager.transformRequest(t,"Source").url);try{let e=yield t.a3(this.urls);if(this._loaded=!0,!e)return;this.video=e,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(e){this.fire(new t.j(e))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){let r=this.video.seekable;er.end(0)?this.fire(new t.j(new t.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;let e=this.map.painter.context,r=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,J.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new S(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,n=!0)}n&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class ee extends K{constructor(e,r,n,i){super(e,r,n,i),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some(e=>!Array.isArray(e)||2!==e.length||e.some(e=>"number"!=typeof e))||this.fire(new t.j(new t.a2(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.j(new t.a2(`sources.${e}`,null,'missing required property "coordinates"'))),r.animate&&"boolean"!=typeof r.animate&&this.fire(new t.j(new t.a2(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),r.canvas?"string"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new t.j(new t.a2(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.j(new t.a2(`sources.${e}`,null,'missing required property "canvas"'))),this.options=r,this.animate=void 0===r.animate||r.animate}load(){return t._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.j(Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||0===Object.keys(this.tiles).length)return;let r=this.map.painter.context,n=r.gl;this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,J.members)),this.boundsSegments||(this.boundsSegments=t.a0.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new S(r,this.canvas,n.RGBA,{premultiply:!0});let i=!1;for(let e in this.tiles){let t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture,i=!0)}i&&this.fire(new t.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}let et={},er=e=>{switch(e){case"geojson":return $;case"image":return K;case"raster":return Y;case"raster-dem":return X;case"vector":return W;case"video":return Q;case"canvas":return ee}return et[e]},en="RTLPluginLoaded";class ei extends t.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=V()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch(e=>{throw this.status="error",e})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(e){return t._(this,arguments,void 0,function*(e,t=!1){if(this.url)throw Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=h.resolveURL(e),!this.url)throw Error(`requested url ${e} is invalid`);if("unavailable"===this.status){if(!t)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()})}_requestImport(){return t._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new t.k(en))})}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let ea=null;function eo(){return ea||(ea=new ei),ea}class es{constructor(e,r){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=t.a4(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){let t=e+this.timeAdded;tt.getLayer(e)).filter(Boolean);if(0!==e.length)for(let t of(n.layers=e,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map(t=>e.filter(e=>e.id===t)[0])),e))r[t.id]=n}return r}(e.buckets,r.style),this.hasSymbolBuckets=!1,this.buckets){let e=this.buckets[i];if(e instanceof t.a6){if(this.hasSymbolBuckets=!0,!n)break;e.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let e in this.buckets){let r=this.buckets[e];if(r instanceof t.a6&&r.hasRTLText){this.hasRTLText=!0,eo().lazyLoad();break}}for(let e in this.queryPadding=0,this.buckets){let t=this.buckets[e];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(e).queryRadius(t))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.a5}unloadVectorData(){for(let e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(e){return this.buckets[e.id]}upload(e){for(let t in this.buckets){let r=this.buckets[t];r.uploadPending()&&r.upload(e)}let t=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new S(e,this.imageAtlas.image,t.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new S(e,this.glyphAtlasImage,t.ALPHA),this.glyphAtlasImage=null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,t,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},e,t,r):{}}querySourceFeatures(e,r){let n=this.latestFeatureIndex;if(!n||!n.rawTileData)return;let i=n.loadVTLayers(),a=r&&r.sourceLayer?r.sourceLayer:"",o=i._geojsonTileLayer||i[a];if(!o)return;let s=t.a7(r&&r.filter),{z:l,x:c,y:u}=this.tileID.canonical,h={z:l,x:c,y:u};for(let r=0;re)t=!1;else if(r){if(this.expirationTime{this.remove(e,i)},r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){let t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){let t=this.data[e];return t?t[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,t){if(!this.has(e))return this;let r=e.wrapped().key,n=void 0===t?0:this.data[r].indexOf(t),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){let e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){let t=[];for(let r in this.data)for(let n of this.data[r])e(n.value)||t.push(n);for(let e of t)this.remove(e.value.tileID,e)}}class ec{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,r,n){let i=String(r);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][i]=this.stateChanges[e][i]||{},t.e(this.stateChanges[e][i],n),null===this.deletedStates[e])for(let t in this.deletedStates[e]={},this.state[e])t!==i&&(this.deletedStates[e][t]=null);else if(this.deletedStates[e]&&null===this.deletedStates[e][i])for(let t in this.deletedStates[e][i]={},this.state[e][i])n[t]||(this.deletedStates[e][i][t]=null);else for(let t in n)this.deletedStates[e]&&this.deletedStates[e][i]&&null===this.deletedStates[e][i][t]&&delete this.deletedStates[e][i][t]}removeFeatureState(e,t,r){if(null===this.deletedStates[e])return;let n=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},r&&void 0!==t)null!==this.deletedStates[e][n]&&(this.deletedStates[e][n]=this.deletedStates[e][n]||{},this.deletedStates[e][n][r]=null);else if(void 0!==t){if(this.stateChanges[e]&&this.stateChanges[e][n])for(r in this.deletedStates[e][n]={},this.stateChanges[e][n])this.deletedStates[e][n][r]=null;else this.deletedStates[e][n]=null}else this.deletedStates[e]=null}getState(e,r){let n=String(r),i=t.e({},(this.state[e]||{})[n],(this.stateChanges[e]||{})[n]);if(null===this.deletedStates[e])return{};if(this.deletedStates[e]){let t=this.deletedStates[e][r];if(null===t)return{};for(let e in t)delete i[e]}return i}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(e,r){let n={};for(let e in this.stateChanges){this.state[e]=this.state[e]||{};let r={};for(let n in this.stateChanges[e])this.state[e][n]||(this.state[e][n]={}),t.e(this.state[e][n],this.stateChanges[e][n]),r[n]=this.state[e][n];n[e]=r}for(let e in this.deletedStates){this.state[e]=this.state[e]||{};let r={};if(null===this.deletedStates[e])for(let t in this.state[e])r[t]={},this.state[e][t]={};else for(let t in this.deletedStates[e]){if(null===this.deletedStates[e][t])this.state[e][t]={};else for(let r of Object.keys(this.deletedStates[e][t]))delete this.state[e][t][r];r[t]=this.state[e][t]}n[e]=n[e]||{},t.e(n[e],r)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(n).length)for(let t in e)e[t].setFeatureState(n,r)}}class eu extends t.E{constructor(e,t,r){super(),this.id=e,this.dispatcher=r,this.on("data",e=>this._dataHandler(e)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((e,t,r,n)=>{let i=new(er(t.type))(e,t,r,n);if(i.id!==e)throw Error(`Expected Source id to be ${e} instead of ${i.id}`);return i})(e,t,r,this),this._tiles={},this._cache=new el(0,e=>this._unloadTile(e)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ec,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let e in this._tiles){let t=this._tiles[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,r,n){return t._(this,void 0,void 0,function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,r,n)}catch(r){e.state="errored",404!==r.status?this._source.fire(new t.j(r,{tile:e})):this.update(this.transform,this.terrain)}})}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new t.k("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(e){for(let t in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){let r=this._tiles[t];r.upload(e),r.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(e=>e.tileID).sort(eh).map(e=>e.key)}getRenderableIds(e){let r=[];for(let t in this._tiles)this._isIdRenderable(t,e)&&r.push(this._tiles[t]);return e?r.sort((e,r)=>{let n=e.tileID,i=r.tileID,a=new t.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle),o=new t.P(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x}).map(e=>e.tileID.key):r.map(e=>e.tileID).sort(eh).map(e=>e.key)}hasRenderableParent(e){let t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else for(let e in this._cache.reset(),this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(e,"reloading")}_reloadTile(e,r){return t._(this,void 0,void 0,function*(){let t=this._tiles[e];t&&("loading"!==t.state&&(t.state=r),yield this._loadTile(t,e,r))})}_tileLoaded(e,r,n){e.timeAdded=h.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new t.k("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(e){let t=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,r,n),e.neighboringTiles&&e.neighboringTiles[a]&&(e.neighboringTiles[a].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,r,n){for(let i in this._tiles){let a=this._tiles[i];if(n[i]||!a.hasData()||a.tileID.overscaledZ<=t||a.tileID.overscaledZ>r)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>t+1;){let e=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[e.key])&&a.hasData()&&(o=e)}let s=o;for(;s.overscaledZ>t;)if(e[(s=s.scaledTo(s.overscaledZ-1)).key]){n[o.key]=o;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){let r=this._loadedParentTiles[e.key];return r&&r.tileID.overscaledZ>=t?r:null}for(let r=e.overscaledZ-1;r>=t;r--){let t=e.scaledTo(r),n=this._getLoadedTile(t);if(n)return n}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){let t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){let r=Math.floor((Math.ceil(e.width/this._source.tileSize)+1)*(Math.ceil(e.height/this._source.tileSize)+1)*(null===this._maxTileCacheZoomLevels?t.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)}handleWrapJump(e){let t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){let e={};for(let r in this._tiles){let n=this._tiles[r];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+t),e[n.tileID.key]=n}for(let t in this._tiles=e,this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(let e in this._tiles)this._setTileReloadTimer(e,this._tiles[e])}}_updateCoveredAndRetainedTiles(e,t,r,n,i,a){let o={},s={},l=Object.keys(e),c=h.now();for(let r of l){let n=e[r],i=this._tiles[r];if(!i||0!==i.fadeEndTime&&i.fadeEndTime<=c)continue;let a=this.findLoadedParent(n,t),l=this.findLoadedSibling(n),u=a||l||null;u&&(this._addTile(u.tileID),o[u.tileID.key]=u.tileID),s[r]=n}for(let t in this._retainLoadedChildren(s,n,r,e),o)e[t]||(this._coveredTiles[t]=!0,e[t]=o[t]);if(a){let t={},r={};for(let e of i)this._tiles[e.key].hasData()?t[e.key]=e:r[e.key]=e;for(let n in r){let i=r[n].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(t[i[0].key]=e[i[0].key]=i[0],t[i[1].key]=e[i[1].key]=i[1],t[i[2].key]=e[i[2].key]=i[2],t[i[3].key]=e[i[3].key]=i[3],delete r[n])}for(let n in r){let i=r[n],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s)for(let r in t[s.tileID.key]=e[s.tileID.key]=s.tileID,t)t[r].isChildOf(s.tileID)&&delete t[r]}for(let e in this._tiles)t[e]||(this._coveredTiles[e]=!0)}}update(e,r){let n;if(!this._sourceLoaded||this._paused)return;this.transform=e,this.terrain=r,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(e=>new t.S(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)):(n=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:r}),this._source.hasTile&&(n=n.filter(e=>this._source.hasTile(e)))):n=[];let i=e.coveringZoomLevel(this._source),a=Math.max(i-eu.maxOverzooming,this._source.minzoom),o=Math.max(i+eu.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let e={};for(let t of n)if(t.canonical.z>this._source.minzoom){let r=t.scaledTo(t.canonical.z-1);e[r.key]=r;let n=t.scaledTo(Math.max(this._source.minzoom,Math.min(t.canonical.z,5)));e[n.key]=n}n=n.concat(Object.values(e))}let s=0===n.length&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new t.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let l=this._updateRetainedTiles(n,i);for(let e in ef(this._source.type)&&this._updateCoveredAndRetainedTiles(l,a,o,i,n,r),l)this._tiles[e].clearFadeHold();for(let e of t.ab(this._tiles,l)){let t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(e)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,t){var r;let n={},i={},a=Math.max(t-eu.maxOverzooming,this._source.minzoom),o=Math.max(t+eu.maxUnderzooming,this._source.minzoom),s={};for(let r of e){let e=this._addTile(r);n[r.key]=r,e.hasData()||tthis._source.maxzoom){let e=l.children(this._source.maxzoom)[0],t=this.getTile(e);if(t&&t.hasData()){n[e.key]=e;continue}}else{let e=l.children(this._source.maxzoom);if(n[e[0].key]&&n[e[1].key]&&n[e[2].key]&&n[e[3].key])continue}let o=e.wasRequested();for(let t=l.overscaledZ-1;t>=a;--t){let a=l.scaledTo(t);if(i[a.key])break;if(i[a.key]=!0,(e=this.getTile(a))||!o||(e=this._addTile(a)),e){let t=e.hasData();if((t||!(null===(r=this.map)||void 0===r?void 0:r.cancelPendingTileRequestsWhileZooming)||o)&&(n[a.key]=a),o=e.wasRequested(),t)break}}}return n}_updateLoadedParentTileCache(){for(let e in this._loadedParentTiles={},this._tiles){let t=[],r,n=this._tiles[e].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}t.push(n.key);let e=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(e))break;n=e}for(let e of t)this._loadedParentTiles[e]=r}}_updateLoadedSiblingTileCache(){for(let e in this._loadedSiblingTiles={},this._tiles){let t=this._tiles[e].tileID,r=this._getLoadedTile(t);this._loadedSiblingTiles[t.key]=r}}_addTile(e){let r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));let n=r;return r||(r=new es(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,e.key,r.state)),r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.k("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);let r=t.getExpiryTimeout();r&&(this._timers[e]=setTimeout(()=>{this._reloadTile(e,"expired"),delete this._timers[e]},r))}_removeTile(e){let t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}_dataHandler(e){let t=e.sourceDataType;"source"===e.dataType&&"metadata"===t&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===t&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){for(let e in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,r,n){let i=[],a=this.transform;if(!a)return i;let o=n?a.getCameraQueryGeometry(e):e,s=e.map(e=>a.pointCoordinate(e,this.terrain)),l=o.map(e=>a.pointCoordinate(e,this.terrain)),c=this.getIds(),u=1/0,h=1/0,f=-1/0,p=-1/0;for(let e of l)u=Math.min(u,e.x),h=Math.min(h,e.y),f=Math.max(f,e.x),p=Math.max(p,e.y);for(let e=0;e=0&&g[1].y+m>=0){let e=s.map(e=>o.getTilePoint(e)),t=l.map(e=>o.getTilePoint(e));i.push({tile:n,tileID:o,queryGeometry:e,cameraQueryGeometry:t,scale:d})}}return i}getVisibleCoordinates(e){let t=this.getRenderableIds(e).map(e=>this._tiles[e].tileID);for(let e of t)e.posMatrix=this.transform.calculatePosMatrix(e.toUnwrapped());return t}hasTransition(){if(this._source.hasTransition())return!0;if(ef(this._source.type)){let e=h.now();for(let t in this._tiles)if(this._tiles[t].fadeEndTime>=e)return!0}return!1}setFeatureState(e,t,r){this._state.updateState(e=e||"_geojsonTileLayer",t,r)}removeFeatureState(e,t,r){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,r)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,r){let n=this._tiles[e];n&&n.setDependencies(t,r)}reloadTilesForDependencies(e,t){for(let r in this._tiles)this._tiles[r].hasDependency(e,t)&&this._reloadTile(r,"reloading");this._cache.filter(r=>!r.hasDependency(e,t))}}function eh(e,t){let r=Math.abs(2*e.wrap)-+(e.wrap<0),n=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||n-r||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function ef(e){return"raster"===e||"image"===e||"video"===e}eu.maxOverzooming=10,eu.maxUnderzooming=3;class ep{constructor(e,t){this.reset(e,t)}reset(e,t){this.points=e||[],this._distances=[0];for(let e=1;e0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))}}function ed(e,t){let r=!0;return"always"===e||"never"!==e&&"never"!==t||(r=!1),r}class em{constructor(e,t,r){let n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(e/r),this.yCellCount=Math.ceil(t/r);for(let e=0;ethis.width||n<0||t>this.height)return[];let s=[];if(e<=0&&t<=0&&this.width<=r&&this.height<=n){if(i)return[{key:null,x1:e,y1:t,x2:r,y2:n}];for(let e=0;e0}hitTestCircle(e,t,r,n,i){let a=e-r,o=e+r,s=t-r,l=t+r;if(o<0||a>this.width||l<0||s>this.height)return!1;let c=[];return this._forEachCell(a,s,o,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:n,circle:{x:e,y:t,radius:r},seenUids:{box:{},circle:{}}},i),c.length>0}_queryCell(e,t,r,n,i,a,o,s){let{seenUids:l,hitTest:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let i=this.bboxes;for(let o of h)if(!l.box[o]){l.box[o]=!0;let h=4*o,f=this.boxKeys[o];if(e<=i[h+2]&&t<=i[h+3]&&r>=i[h+0]&&n>=i[h+1]&&(!s||s(f))&&(!c||!ed(u,f.overlapMode))&&(a.push({key:f,x1:i[h],y1:i[h+1],x2:i[h+2],y2:i[h+3]}),c))return!0}}let f=this.circleCells[i];if(null!==f){let i=this.circles;for(let o of f)if(!l.circle[o]){l.circle[o]=!0;let h=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[h],i[h+1],i[h+2],e,t,r,n)&&(!s||s(f))&&(!c||!ed(u,f.overlapMode))){let e=i[h],t=i[h+1],r=i[h+2];if(a.push({key:f,x1:e-r,y1:t-r,x2:e+r,y2:t+r}),c)return!0}}}return!1}_queryCellCircle(e,t,r,n,i,a,o,s){let{circle:l,seenUids:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){let e=this.bboxes;for(let t of h)if(!c.box[t]){c.box[t]=!0;let r=4*t,n=this.boxKeys[t];if(this._circleAndRectCollide(l.x,l.y,l.radius,e[r+0],e[r+1],e[r+2],e[r+3])&&(!s||s(n))&&!ed(u,n.overlapMode))return a.push(!0),!0}}let f=this.circleCells[i];if(null!==f){let e=this.circles;for(let t of f)if(!c.circle[t]){c.circle[t]=!0;let r=3*t,n=this.circleKeys[t];if(this._circlesCollide(e[r],e[r+1],e[r+2],l.x,l.y,l.radius)&&(!s||s(n))&&!ed(u,n.overlapMode))return a.push(!0),!0}}}_forEachCell(e,t,r,n,i,a,o,s){let l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++)if(i.call(this,e,t,r,n,this.xCellCount*l+f,a,o,s))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,r,n,i,a){let o=n-e,s=i-t,l=r+a;return l*l>o*o+s*s}_circleAndRectCollide(e,t,r,n,i,a,o){let s=(a-n)/2,l=Math.abs(e-(n+s));if(l>s+r)return!1;let c=(o-i)/2,u=Math.abs(t-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;let h=l-s,f=u-c;return h*h+f*f<=r*r}}function eg(e,r,n,i,a){let o=t.H();return r?(t.K(o,o,[1/a,1/a,1]),n||t.ad(o,o,i.angle)):t.L(o,i.labelPlaneMatrix,e),o}function ey(e,r,n,i,a){if(r){let r=t.ae(e);return t.K(r,r,[a,a,1]),n||t.ad(r,r,-i.angle),r}return i.glCoordMatrix}function ev(e,r,n,i){let a;i?(a=[e,r,i(e,r),1],t.af(a,a,n)):eC(a=[e,r,0,1],a,n);let o=a[3];return{point:new t.P(a[0]/o,a[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function ex(e,t,r,n,i,a,o,s){let l=a.glyphStartIndex+a.numGlyphs,c=a.lineStartIndex,u=a.lineStartIndex+a.lineLength,h=t.getoffsetX(a.glyphStartIndex),f=t.getoffsetX(l-1),p=eM(e*h,r,n,i,a.segment,c,u,s,o);if(!p)return null;let d=eM(e*f,r,n,i,a.segment,c,u,s,o);return d?s.projectionCache.anyProjectionOccluded?null:{first:p,last:d}:null}function e_(e,r,n,i){return e===t.ah.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.ah.vertical?r.yn.x)?{needsFlipping:!0}:null}function eb(e,r,n,i,a,o,s,l,c,u,h){let f;let p=n/24,d=r.lineOffsetX*p,m=r.lineOffsetY*p;if(r.numGlyphs>1){let t=r.glyphStartIndex+r.numGlyphs,n=r.lineStartIndex,o=r.lineStartIndex+r.lineLength,c=ex(p,l,d,m,i,r,h,e);if(!c)return{notEnoughRoom:!0};let g=ev(c.first.point.x,c.first.point.y,s,e.getElevation).point,y=ev(c.last.point.x,c.last.point.y,s,e.getElevation).point;if(a&&!i){let e=e_(r.writingMode,g,y,u);if(e)return e}f=[c.first];for(let a=r.glyphStartIndex+1;a0?s.point:ew(e.tileAnchorPoint,a,n,1,o,e),c=e_(r.writingMode,n,l,u);if(c)return c}let n=eM(p*l.getoffsetX(r.glyphStartIndex),d,m,i,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,e,h);if(!n||e.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};f=[n]}for(let e of f)t.aj(c,e.point,e.angle);return{}}function ew(e,t,r,n,i,a){let o=e.add(e.sub(t)._unit()),s=void 0!==i?ev(o.x,o.y,i,a.getElevation).point:ek(o.x,o.y,a).point,l=r.sub(s);return r.add(l._mult(n/l.mag()))}function eT(e,r,n){var i;let a=r.projectionCache;if(a.projections[e])return a.projections[e];let o=new t.P(r.lineVertexArray.getx(e),r.lineVertexArray.gety(e)),s=ek(o.x,o.y,r);if(s.signedDistanceFromCamera>0)return a.projections[e]=s.point,a.anyProjectionOccluded=a.anyProjectionOccluded||s.isOccluded,s.point;let l=e-n.direction;return i=0===n.distanceFromAnchor?r.tileAnchorPoint:new t.P(r.lineVertexArray.getx(l),r.lineVertexArray.gety(l)),ew(i,o,n.previousVertex,n.absOffsetX-n.distanceFromAnchor+1,void 0,r)}function ek(e,t,r){let n;let i=e+r.translation[0],a=t+r.translation[1];return!r.pitchWithMap&&r.projection.useSpecialProjectionForSymbols?((n=r.projection.projectTileCoordinates(i,a,r.unwrappedTileID,r.getElevation)).point.x=(.5*n.point.x+.5)*r.width,n.point.y=(-(.5*n.point.y)+.5)*r.height):(n=ev(i,a,r.labelPlaneMatrix,r.getElevation)).isOccluded=!1,n}function eA(e,t,r){return e._unit()._perp()._mult(t*r)}function eM(e,r,n,i,a,o,s,l,c){let u;let h=i?e-r:e+r,f=h>0?1:-1,p=0;i&&(f*=-1,p=Math.PI),f<0&&(p+=Math.PI);let d,m=f>0?o+a:o+a+1;l.projectionCache.cachedAnchorPoint?d=l.projectionCache.cachedAnchorPoint:(d=ek(l.tileAnchorPoint.x,l.tileAnchorPoint.y,l).point,l.projectionCache.cachedAnchorPoint=d);let g,y,v=d,x=d,_=0,b=0,w=Math.abs(h),T=[];for(;_+b<=w;){if((m+=f)=s)return null;_+=b,x=v,y=g;let e={absOffsetX:w,direction:f,distanceFromAnchor:_,previousVertex:x};if(v=eT(m,l,e),0===n)T.push(x),u=v.sub(x);else{let r;let i=v.sub(x);r=0===i.mag()?eA(eT(m+f,l,e).sub(v),n,f):eA(i,n,f),y||(y=x.add(r)),g=function(e,r,n,i,a,o,s,l,c){if(l.projectionCache.offsets[e])return l.projectionCache.offsets[e];let u=n.add(r);if(e+c.direction=a)return l.projectionCache.offsets[e]=u,u;let h=eT(e+c.direction,l,c),f=eA(h.sub(n),s,c.direction),p=n.add(f),d=h.add(f);return l.projectionCache.offsets[e]=t.ak(o,u,p,d)||u,l.projectionCache.offsets[e]}(m,r,v,o,s,y,n,l,e),T.push(y),u=g.sub(y)}b=u.mag()}let k=u._mult((w-_)/b)._add(y||x),A=p+Math.atan2(v.y-x.y,v.x-x.x);return T.push(k),{point:k,angle:c?A:0,path:T}}let eS=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function eE(e,t){for(let r=0;r=1;e--)l.push(o.path[e]);for(let e=1;ee.signedDistanceFromCamera<=0)?[]:e.map(e=>e.point)}let m=[];if(l.length>0){let e=l[0].clone(),r=l[0].clone();for(let t=1;t=n.x&&r.x<=i.x&&e.y>=n.y&&r.y<=i.y?[l]:r.xi.x||r.yi.y?[]:t.al([l],n.x,n.y,i.x,i.y)}for(let t of m){a.reset(t,.25*r);let n=0;n=a.length<=.5*r?1:Math.ceil(a.paddedLength/h)+1;for(let t=0;tev(e.x,e.y,r,t.getElevation))}queryRenderedSymbols(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};let r=[],n=1/0,i=1/0,a=-1/0,o=-1/0;for(let s of e){let e=new t.P(s.x+100,s.y+100);n=Math.min(n,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y),r.push(e)}let s=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o)),l={},c={};for(let e of s){let n=e.key;if(void 0===l[n.bucketInstanceId]&&(l[n.bucketInstanceId]={}),l[n.bucketInstanceId][n.featureIndex])continue;let i=[new t.P(e.x1,e.y1),new t.P(e.x2,e.y1),new t.P(e.x2,e.y2),new t.P(e.x1,e.y2)];t.am(r,i)&&(l[n.bucketInstanceId][n.featureIndex]=!0,void 0===c[n.bucketInstanceId]&&(c[n.bucketInstanceId]=[]),c[n.bucketInstanceId].push(n.featureIndex))}return c}insertCollisionBox(e,t,r,n,i,a){(r?this.ignoredGrid:this.grid).insert({bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,t,r,n,i,a){let o=r?this.ignoredGrid:this.grid,s={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:t};for(let t=0;t=this.screenRightBoundary||n<100||t>this.screenBottomBoundary}isInsideGrid(e,t,r,n){return r>=0&&e=0&&tthis.projectAndGetPerspectiveRatio(n,e.x,e.y,i,c));T=e.some(e=>!e.isOccluded),w=e.map(e=>e.point)}else T=!0;return{box:t.ao(w),allPointsOccluded:!T}}}function eI(e,r,n){return t.X/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ))*r}class eP{constructor(e,t,r,n){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?t:-t))):n&&r?1:0,this.placed=r}isHidden(){return 0===this.opacity&&!this.placed}}class ez{constructor(e,t,r,n,i){this.text=new eP(e?e.text:null,t,r,i),this.icon=new eP(e?e.icon:null,t,n,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class eO{constructor(e,t,r){this.text=e,this.icon=t,this.skipFade=r}}class eD{constructor(){this.invProjMatrix=t.H(),this.viewportMatrix=t.H(),this.circles=[]}}class eR{constructor(e,t,r,n,i){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}}class eF{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){let t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function ej(e,r,n,i,a){let{horizontalAlign:o,verticalAlign:s}=t.au(e);return new t.P(-(o-.5)*r+i[0]*a,-(s-.5)*n+i[1]*a)}class eB{constructor(e,t,r,n,i,a){this.transform=e.clone(),this.terrain=r,this.collisionIndex=new eL(this.transform,t),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new eF(i),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){let t=this.terrain;return t?(r,n)=>t.getElevation(e,r,n):null}getBucketParts(e,r,n,i){let a=n.getBucket(r),o=n.latestFeatureIndex;if(!a||!o||r.id!==a.layerIds[0])return;let s=n.collisionBoxArray,l=a.layers[0].layout,c=a.layers[0].paint,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),h=n.tileSize/t.X,f=n.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(f),d="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),g=eI(n,1,this.transform.zoom),y=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("text-translate"),c.get("text-translate-anchor")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("icon-translate"),c.get("icon-translate-anchor")),x=eg(p,d,m,this.transform,g),_=null;if(d){let e=ey(p,d,m,this.transform,g);_=t.L([],this.transform.labelPlaneMatrix,e)}this.retainedQueryData[a.bucketInstanceId]=new eR(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);let b={bucket:a,layout:l,translationText:y,translationIcon:v,posMatrix:p,unwrappedTileID:f,textLabelPlaneMatrix:x,labelToScreenMatrix:_,scale:u,textPixelRatio:h,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.ag(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(let t of a.sortKeyRanges){let{sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i}=t;e.push({sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i,parameters:b})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:b})}attemptAnchorPlacement(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x){let _=t.aq[e.textAnchor],b=[e.textOffset0,e.textOffset1],w=ej(_,n,i,b,a),T=this.collisionIndex.placeCollisionBox(r,f,l,c,u,s,o,g,h.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,f,l,c,u,s,o,y,h.predicate,x,w).placeable)&&T.placeable){let e;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(e=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:b,width:n,height:i,anchor:_,textBoxScale:a,prevAnchor:e},this.markUsedJustification(d,_,p,m),d.allowVerticalPlacement&&(this.markUsedOrientation(d,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(e,r,n){let{bucket:i,layout:a,translationText:o,translationIcon:s,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:u,labelToScreenMatrix:h,textPixelRatio:f,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:m,collisionGroup:g}=e.parameters,y=a.get("text-optional"),v=a.get("icon-optional"),x=t.ar(a,"text-overlap","text-allow-overlap"),_="always"===x,b=t.ar(a,"icon-overlap","icon-allow-overlap"),w="always"===b,T="map"===a.get("text-rotation-alignment"),k="map"===a.get("text-pitch-alignment"),A="none"!==a.get("icon-text-fit"),M="viewport-y"===a.get("symbol-z-order"),S=_&&(w||!i.hasIconData()||v),E=w&&(_||!i.hasTextData()||y);!i.collisionArrays&&d&&i.deserializeCollisionBoxes(d);let C=this._getTerrainElevationFunc(this.retainedQueryData[i.bucketInstanceId].tileID),L=(e,d,w)=>{var M,L;if(r[e.crossTileID])return;if(p)return void(this.placements[e.crossTileID]=new eO(!1,!1,!1));let I=!1,P=!1,z=!0,O=null,D={box:null,placeable:!1,offscreen:null},R={box:null,placeable:!1,offscreen:null},F=null,j=null,B=null,N=0,U=0,V=0;d.textFeatureIndex?N=d.textFeatureIndex:e.useRuntimeCollisionCircles&&(N=e.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);let q=d.textBox;if(q){let r=r=>{let n=t.ah.horizontal;if(i.allowVerticalPlacement&&!r&&this.prevPlacement){let t=this.prevPlacement.placedOrientations[e.crossTileID];t&&(this.placedOrientations[e.crossTileID]=t,n=t,this.markUsedOrientation(i,n,e))}return n},a=(r,n)=>{if(i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&d.verticalTextBox){for(let e of i.writingModes)if(e===t.ah.vertical?R=D=n():D=r(),D&&D.placeable)break}else D=r()},u=e.textAnchorOffsetStartIndex,h=e.textAnchorOffsetEndIndex;if(h===u){let n=(t,r)=>{let n=this.collisionIndex.placeCollisionBox(t,x,f,l,c,k,T,o,g.predicate,C);return n&&n.placeable&&(this.markUsedOrientation(i,r,e),this.placedOrientations[e.crossTileID]=r),n};a(()=>n(q,t.ah.horizontal),()=>{let r=d.verticalTextBox;return i.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?n(r,t.ah.vertical):{box:null,offscreen:null}}),r(D&&D.placeable)}else{let p=t.aq[null===(L=null===(M=this.prevPlacement)||void 0===M?void 0:M.variableOffsets[e.crossTileID])||void 0===L?void 0:L.anchor],m=(r,a,d)=>{let m=r.x2-r.x1,y=r.y2-r.y1,v=e.textBoxScale,_=A&&"never"===b?a:null,w=null,M="never"===x?1:2,S="never";p&&M++;for(let t=0;tm(q,d.iconBox,t.ah.horizontal),()=>{let r=d.verticalTextBox;return i.allowVerticalPlacement&&(!D||!D.placeable)&&e.numVerticalGlyphVertices>0&&r?m(r,d.verticalIconBox,t.ah.vertical):{box:null,occluded:!0,offscreen:null}}),D&&(I=D.placeable,z=D.offscreen);let y=r(D&&D.placeable);if(!I&&this.prevPlacement){let t=this.prevPlacement.variableOffsets[e.crossTileID];t&&(this.variableOffsets[e.crossTileID]=t,this.markUsedJustification(i,t.anchor,e,y))}}}if(I=(F=D)&&F.placeable,z=F&&F.offscreen,e.useRuntimeCollisionCircles){let r=i.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),s=t.ai(i.textSizeData,m,r),f=a.get("text-padding");(j=this.collisionIndex.placeCollisionCircles(x,r,i.lineVertexArray,i.glyphOffsetArray,s,l,c,u,h,n,k,g.predicate,e.collisionCircleDiameter,f,o,C)).circles.length&&j.collisionDetected&&!n&&t.w("Collisions detected, but collision boxes are not shown"),I=_||j.circles.length>0&&!j.collisionDetected,z=z&&j.offscreen}if(d.iconFeatureIndex&&(V=d.iconFeatureIndex),d.iconBox){let e=e=>this.collisionIndex.placeCollisionBox(e,b,f,l,c,k,T,s,g.predicate,C,A&&O?O:void 0);P=R&&R.placeable&&d.verticalIconBox?(B=e(d.verticalIconBox)).placeable:(B=e(d.iconBox)).placeable,z=z&&B.offscreen}let H=y||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,G=v||0===e.numIconVertices;H||G?G?H||(P=P&&I):I=P&&I:P=I=P&&I;let Z=P&&B.placeable;if(I&&F.placeable&&this.collisionIndex.insertCollisionBox(F.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,R&&R.placeable&&U?U:N,g.ID),Z&&this.collisionIndex.insertCollisionBox(B.box,b,a.get("icon-ignore-placement"),i.bucketInstanceId,V,g.ID),j&&I&&this.collisionIndex.insertCollisionCircles(j.circles,x,a.get("text-ignore-placement"),i.bucketInstanceId,N,g.ID),n&&this.storeCollisionData(i.bucketInstanceId,w,d,F,B,j),0===e.crossTileID)throw Error("symbolInstance.crossTileID can't be 0");if(0===i.bucketInstanceId)throw Error("bucket.bucketInstanceId can't be 0");this.placements[e.crossTileID]=new eO(I||S,P||E,z||i.justReloaded),r[e.crossTileID]=!0};if(M){if(0!==e.symbolInstanceStart)throw Error("bucket.bucketInstanceId should be 0");let t=i.getSortedSymbolIndexes(this.transform.angle);for(let e=t.length-1;e>=0;--e){let r=t[e];L(i.symbolInstances.get(r),i.collisionArrays[r],r)}}else for(let t=e.symbolInstanceStart;t=0&&(e.text.placedSymbolArray.get(o).crossTileID=a>=0&&o!==a?0:n.crossTileID)}markUsedOrientation(e,r,n){let i=r===t.ah.horizontal||r===t.ah.horizontalOnly?r:0,a=r===t.ah.vertical?r:0;for(let t of[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex])e.text.placedSymbolArray.get(t).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;let t=this.prevPlacement,r=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;let n=t?t.symbolFadeChange(e):1,i=t?t.opacities:{},a=t?t.variableOffsets:{},o=t?t.placedOrientations:{};for(let e in this.placements){let t=this.placements[e],a=i[e];a?(this.opacities[e]=new ez(a,n,t.text,t.icon),r=r||t.text!==a.text.placed||t.icon!==a.icon.placed):(this.opacities[e]=new ez(null,n,t.text,t.icon,t.skipFade),r=r||t.text||t.icon)}for(let e in i){let t=i[e];if(!this.opacities[e]){let i=new ez(t,n,!1,!1);i.isHidden()||(this.opacities[e]=i,r=r||t.text.placed||t.icon.placed)}}for(let e in a)this.variableOffsets[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.variableOffsets[e]=a[e]);for(let e in o)this.placedOrientations[e]||!this.opacities[e]||this.opacities[e].isHidden()||(this.placedOrientations[e]=o[e]);if(t&&void 0===t.lastPlacementChangeTime)throw Error("Last placement time for previous placement is not defined");r?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){let r={};for(let n of t){let t=n.getBucket(e);t&&n.latestFeatureIndex&&e.id===t.layerIds[0]&&this.updateBucketOpacities(t,n.tileID,r,n.collisionBoxArray)}}updateBucketOpacities(e,r,n,i){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();let a=e.layers[0],o=a.layout,s=new ez(null,0,!1,!1,!0),l=o.get("text-allow-overlap"),c=o.get("icon-allow-overlap"),u=a._unevaluatedLayout.hasValue("text-variable-anchor")||a._unevaluatedLayout.hasValue("text-variable-anchor-offset"),h="map"===o.get("text-rotation-alignment"),f="map"===o.get("text-pitch-alignment"),p="none"!==o.get("icon-text-fit"),d=new ez(null,0,l&&(c||!e.hasIconData()||o.get("icon-optional")),c&&(l||!e.hasTextData()||o.get("text-optional")),!0);!e.collisionArrays&&i&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(i);let m=(e,t,r)=>{for(let n=0;n0,v=this.placedOrientations[i.crossTileID],x=v===t.ah.vertical,_=v===t.ah.horizontal||v===t.ah.horizontalOnly;if(a>0||o>0){let t=eU(c.text);m(e.text,a,x?eV:t),m(e.text,o,_?eV:t);let r=c.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach(t=>{t>=0&&(e.text.placedSymbolArray.get(t).hidden=r||x?1:0)}),i.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=r||_?1:0);let n=this.variableOffsets[i.crossTileID];n&&this.markUsedJustification(e,n.anchor,i,v);let s=this.placedOrientations[i.crossTileID];s&&(this.markUsedJustification(e,"left",i,s),this.markUsedOrientation(e,s,i))}if(y){let t=eU(c.icon),r=!(p&&i.verticalPlacedIconSymbolIndex&&x);i.placedIconSymbolIndex>=0&&(m(e.icon,i.numIconVertices,r?t:eV),e.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=c.icon.isHidden()),i.verticalPlacedIconSymbolIndex>=0&&(m(e.icon,i.numVerticalIconVertices,r?eV:t),e.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=c.icon.isHidden())}let b=g&&g.has(r)?g.get(r):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){let n=e.collisionArrays[r];if(n){let r=new t.P(0,0);if(n.textBox||n.verticalTextBox){let t=!0;if(u){let e=this.variableOffsets[l];e?(r=ej(e.anchor,e.width,e.height,e.textOffset,e.textBoxScale),h&&r._rotate(f?this.transform.angle:-this.transform.angle)):t=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=x),n.verticalTextBox&&(i=_),eN(e.textCollisionBox.collisionVertexArray,c.text.placed,!t||i,b.text,r.x,r.y)}}if(n.iconBox||n.verticalIconBox){let t;let i=!!(!_&&n.verticalIconBox);n.iconBox&&(t=i),n.verticalIconBox&&(t=!i),eN(e.iconCollisionBox.collisionVertexArray,c.icon.placed,t,b.icon,p?r.x:0,p?r.y:0)}}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){let t=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=t.invProjMatrix,e.placementViewportMatrix=t.viewportMatrix,e.collisionCircleArray=t.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function eN(e,t,r,n,i,a){n&&0!==n.length||(n=[0,0,0,0]);let o=n[0]-100,s=n[1]-100,l=n[2]-100,c=n[3]-100;e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,s),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,l,c),e.emplaceBack(t?1:0,r?1:0,i||0,a||0,o,c)}function eU(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;let t=e.placed?1:0,r=Math.floor(127*e.opacity);return 33554432*r+16777216*t+131072*r+65536*t+512*r+256*t+2*r+t}let eV=0;function eq(){return{isOccluded:(e,t,r)=>!1,getPitchedTextCorrection:(e,t,r)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(e,t,r,n){throw Error("Not implemented.")},translatePosition:(e,t,r,n)=>(function(e,t,r,n,i=!1){if(!r[0]&&!r[1])return[0,0];let a=i?"map"===n?e.angle:0:"viewport"===n?-e.angle:0;if(a){let e=Math.sin(a),t=Math.cos(a);r=[r[0]*t-r[1]*e,r[0]*e+r[1]*t]}return[i?r[0]:eI(t,r[0],e.zoom),i?r[1]:eI(t,r[1],e.zoom)]})(e,t,r,n),getCircleRadiusCorrection:e=>1}}class eH{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,t,r,n,i){let a=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey));this._currentPartIndex!this._forceFullPlacement&&h.now()-n>2;for(;this._currentPlacementIndex>=0;){let n=t[e[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===n.type&&(!n.minzoom||n.minzoom<=a)&&(!n.maxzoom||n.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new eH(n)),this._inProgressLayer.continuePlacement(r[n.source],this.placement,this._showCollisionBoxes,n,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}let eZ=512/t.X/2;class eW{constructor(e,r,n){this.tileID=e,this.bucketInstanceId=n,this._symbolsByKey={};let i=new Map;for(let e=0;e({x:Math.floor(e.anchorX*eZ),y:Math.floor(e.anchorY*eZ)})),crossTileIDs:r.map(e=>e.crossTileID)};if(n.positions.length>128){let e=new t.av(n.positions.length,16,Uint16Array);for(let{x:t,y:r}of n.positions)e.add(t,r);e.finish(),delete n.positions,n.index=e}this._symbolsByKey[e]=n}}getScaledCoordinates(e,r){let{x:n,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:l}=r.canonical,c=eZ/Math.pow(2,l-a),u=(s*t.X+e.anchorY)*c,h=i*t.X*eZ;return{x:Math.floor((o*t.X+e.anchorX)*c-n*t.X*eZ),y:Math.floor(u-h)}}findMatches(e,t,r){let n=this.tileID.canonical.ze)}}class eY{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class eX{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){let t=Math.round((e-this.lng)/360);if(0!==t)for(let e in this.indexes){let r=this.indexes[e],n={};for(let e in r){let i=r[e];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+t),n[i.tileID.key]=i}this.indexes[e]=n}this.lng=e}addBucket(e,t,r){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===t.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let e=0;ee.overscaledZ)for(let r in i){let a=i[r];a.tileID.isChildOf(e)&&a.findMatches(t.symbolInstances,e,n)}else{let a=i[e.scaledTo(Number(r)).key];a&&a.findMatches(t.symbolInstances,e,n)}}for(let e=0;e{t[e]=!0}),this.layerIndexes)t[r]||delete this.layerIndexes[r]}}let eJ=(e,r)=>t.t(e,r&&r.filter(e=>"source.canvas"!==e.identifier)),eK=t.aw();class eQ extends t.E{constructor(e,r={}){super(),this._rtlPluginLoaded=()=>{for(let e in this.sourceCaches){let t=this.sourceCaches[e].getSource().type;"vector"!==t&&"geojson"!==t||this.sourceCaches[e].reload()}},this.map=e,this.dispatcher=new U(N(),e._getMapId()),this.dispatcher.registerMessageHandler("GG",(e,t)=>this.getGlyphs(e,t)),this.dispatcher.registerMessageHandler("GI",(e,t)=>this.getImages(e,t)),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new I(e._requestManager,r.localIdeographFontFamily),this.lineAtlas=new R(256,512),this.crossTileSymbolIndex=new e$,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",t.ay()),eo().on(en,this._rtlPluginLoaded),this.on("data",e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;let t=this.sourceCaches[e.sourceId];if(!t)return;let r=t.getSource();if(r&&r.vectorLayerIds)for(let e in this._layers){let t=this._layers[e];t.source===r.id&&this._validateLayer(t)}})}loadURL(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),r.validate="boolean"!=typeof r.validate||r.validate;let i=this.map._requestManager.transformRequest(e,"Style");this._loadStyleRequest=new AbortController;let a=this._loadStyleRequest;t.h(i,this._loadStyleRequest).then(e=>{this._loadStyleRequest=null,this._load(e.data,r,n)}).catch(e=>{this._loadStyleRequest=null,e&&!a.signal.aborted&&this.fire(new t.j(e))})}loadJSON(e,r={},n){this.fire(new t.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,h.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,r.validate=!1!==r.validate,this._load(e,r,n)}).catch(()=>{})}loadEmpty(){this.fire(new t.k("dataloading",{dataType:"style"})),this._load(eK,{validate:!1})}_load(e,r,n){var i;let a=r.transformStyle?r.transformStyle(n,e):e;if(!r.validate||!eJ(this,t.u(a))){for(let e in this._loaded=!0,this.stylesheet=a,a.sources)this.addSource(e,a.sources[e],{validate:!1});a.sprite?this._loadSprite(a.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(a.glyphs),this._createLayers(),this.light=new z(this.stylesheet.light),this.sky=new D(this.stylesheet.sky),this.map.setTerrain(null!==(i=this.stylesheet.terrain)&&void 0!==i?i:null),this.fire(new t.k("data",{dataType:"style"})),this.fire(new t.k("style.load"))}}_createLayers(){let e=t.az(this.stylesheet.layers);for(let r of(this.dispatcher.broadcast("SL",e),this._order=e.map(e=>e.id),this._layers={},this._serializedLayers=null,e)){let e=t.aA(r);e.setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=e}}_loadSprite(e,r=!1,n){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,(function(e,r,n,i){return t._(this,void 0,void 0,function*(){let a=A(e),o=n>1?"@2x":"",s={},l={};for(let{id:e,url:n}of a){let a=r.transformRequest(M(n,o,".json"),"SpriteJSON");s[e]=t.h(a,i);let c=r.transformRequest(M(n,o,".png"),"SpriteImage");l[e]=b.getImage(c,i)}return yield Promise.all([...Object.values(s),...Object.values(l)]),function(e,r){return t._(this,void 0,void 0,function*(){let t={};for(let n in e){t[n]={};let i=h.getImageCanvasContext((yield r[n]).data),a=(yield e[n]).data;for(let e in a){let{width:r,height:o,x:s,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m}=a[e];t[n][e]={data:null,pixelRatio:u,sdf:c,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m,spriteData:{width:r,height:o,x:s,y:l,context:i}}}}return t})}(s,l)})})(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(e=>{if(this._spriteRequest=null,e)for(let t in e){for(let r of(this._spritesImagesIds[t]=[],this._spritesImagesIds[t]?this._spritesImagesIds[t].filter(t=>!(t in e)):[]))this.imageManager.removeImage(r),this._changedImages[r]=!0;for(let n in e[t]){let i="default"===t?n:`${t}:${n}`;this._spritesImagesIds[t].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,e[t][n],!1):this.imageManager.addImage(i,e[t][n]),r&&(this._changedImages[i]=!0)}}}).catch(e=>{this._spriteRequest=null,i=e,this.fire(new t.j(i))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"})),n&&n(i)})}_unloadSprite(){for(let e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"}))}_validateLayer(e){let r=this.sourceCaches[e.source];if(!r)return;let n=e.sourceLayer;if(!n)return;let i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.j(Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e,r=!1){let n=this._serializedAllLayers();if(!e||0===e.length)return Object.values(r?t.aB(n):n);let i=[];for(let a of e)if(n[a]){let e=r?t.aB(n[a]):n[a];i.push(e)}return i}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;for(let t of(e=this._serializedLayers={},Object.keys(this._layers))){let r=this._layers[t];"custom"!==r.type&&(e[t]=r.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(let e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw Error("Style is not done loading.")}update(e){if(!this._loaded)return;let r=this._changed;if(r){let t=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);for(let e in(t.length||r.length)&&this._updateWorkerLayers(t,r),this._updatedSources){let t=this._updatedSources[e];if("reload"===t)this._reloadSource(e);else{if("clear"!==t)throw Error(`Invalid action ${t}`);this._clearSource(e)}}for(let t in this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs(),this._updatedPaintProps)this._layers[t].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}let n={};for(let e in this.sourceCaches){let t=this.sourceCaches[e];n[e]=t.used,t.used=!1}for(let t of this._order){let r=this._layers[t];r.recalculate(e,this._availableImages),!r.isHidden(e.zoom)&&r.source&&(this.sourceCaches[r.source].used=!0)}for(let e in n){let r=this.sourceCaches[e];!!n[e]!=!!r.used&&r.fire(new t.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:e}))}this.light.recalculate(e),this.sky.recalculate(e),this.z=e.zoom,r&&this.fire(new t.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){let e=Object.keys(this._changedImages);if(e.length){for(let t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,t){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e,!1),removedIds:t})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,r={}){var n;this._checkLoaded();let i=this.serialize();if(e=r.transformStyle?r.transformStyle(i,e):e,(null===(n=r.validate)||void 0===n||n)&&eJ(this,t.u(e)))return!1;(e=t.aB(e)).layers=t.az(e.layers);let a=t.aC(i,e),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw Error(`Unimplemented: ${o.unimplemented.join(", ")}.`);if(0===o.operations.length)return!1;for(let e of o.operations)e();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){let t=[],r=[];for(let n of e)switch(n.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":t.push(()=>this.addLayer.apply(this,n.args));break;case"removeLayer":t.push(()=>this.removeLayer.apply(this,n.args));break;case"setPaintProperty":t.push(()=>this.setPaintProperty.apply(this,n.args));break;case"setLayoutProperty":t.push(()=>this.setLayoutProperty.apply(this,n.args));break;case"setFilter":t.push(()=>this.setFilter.apply(this,n.args));break;case"addSource":t.push(()=>this.addSource.apply(this,n.args));break;case"removeSource":t.push(()=>this.removeSource.apply(this,n.args));break;case"setLayerZoomRange":t.push(()=>this.setLayerZoomRange.apply(this,n.args));break;case"setLight":t.push(()=>this.setLight.apply(this,n.args));break;case"setGeoJSONSourceData":t.push(()=>this.setGeoJSONSourceData.apply(this,n.args));break;case"setGlyphs":t.push(()=>this.setGlyphs.apply(this,n.args));break;case"setSprite":t.push(()=>this.setSprite.apply(this,n.args));break;case"setSky":t.push(()=>this.setSky.apply(this,n.args));break;case"setTerrain":t.push(()=>this.map.setTerrain.apply(this,n.args));break;case"setTransition":t.push(()=>{});break;default:r.push(n.command)}return{operations:t,unimplemented:r}}addImage(e,r){if(this.getImage(e))return this.fire(new t.j(Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,r),this._afterImageUpdated(e)}updateImage(e,t){this.imageManager.updateImage(e,t)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new t.j(Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,r,n={}){if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw Error(`Source "${e}" already exists.`);if(!r.type)throw Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.u.source,`sources.${e}`,r,null,n))return;this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);let i=this.sourceCaches[e]=new eu(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:e})),i.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw Error("There is no source with this ID");for(let r in this._layers)if(this._layers[r].source===e)return this.fire(new t.j(Error(`Source "${e}" cannot be removed while layer "${r}" is using it.`)));let r=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],r.fire(new t.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,t){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw Error(`There is no source with this ID=${e}`);let r=this.sourceCaches[e].getSource();if("geojson"!==r.type)throw Error(`geojsonSource.type is ${r.type}, which is !== 'geojson`);r.setData(t),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,r,n={}){let i;this._checkLoaded();let a=e.id;if(this.getLayer(a))return void this.fire(new t.j(Error(`Layer "${a}" already exists on this map.`)));if("custom"===e.type){if(eJ(this,t.aD(e)))return;i=t.aA(e)}else{if("source"in e&&"object"==typeof e.source&&(this.addSource(a,e.source),e=t.aB(e),e=t.e(e,{source:a})),this._validate(t.u.layer,`layers.${a}`,e,{arrayIndex:-1},n))return;i=t.aA(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}let o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.j(Error(`Cannot add layer "${a}" before non-existing layer "${r}".`)));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){let e=this._removedLayers[a];delete this._removedLayers[a],e.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}moveLayer(e,r){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new t.j(Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===r)return;let n=this._order.indexOf(e);this._order.splice(n,1);let i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.j(Error(`Cannot move layer "${e}" before non-existing layer "${r}".`))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();let r=this._layers[e];if(!r)return void this.fire(new t.j(Error(`Cannot remove non-existing layer "${e}".`)));r.setEventedParent(null);let n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,r,n){this._checkLoaded();let i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.j(Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,r,n={}){this._checkLoaded();let i=this.getLayer(e);if(i){if(!t.aE(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.u.filter,`layers.${i.id}.filter`,r,null,n)||(i.filter=t.aB(r),this._updateLayer(i)))}else this.fire(new t.j(Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return t.aB(this.getLayer(e).filter)}setLayoutProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.j(Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,r){let n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.j(Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,r,n,i={}){this._checkLoaded();let a=this.getLayer(e);a?t.aE(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new t.j(Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,t){return this.getLayer(e).getPaintProperty(t)}setFeatureState(e,r){this._checkLoaded();let n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0===a)return void this.fire(new t.j(Error(`The source '${n}' does not exist in the map's style.`)));let o=a.getSource().type;"geojson"===o&&i?this.fire(new t.j(Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.j(Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.j(Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,r){this._checkLoaded();let n=e.source,i=this.sourceCaches[n];if(void 0===i)return void this.fire(new t.j(Error(`The source '${n}' does not exist in the map's style.`)));let a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.j(Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.j(Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();let r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i)return"vector"!==i.getSource().type||n?(void 0===e.id&&this.fire(new t.j(Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id)):void this.fire(new t.j(Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new t.j(Error(`The source '${r}' does not exist in the map's style.`)))}getTransition(){return t.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let e=t.aF(this.sourceCaches,e=>e.serialize()),r=this._serializeByIds(this._order,!0),n=this.map.getTerrain()||void 0,i=this.stylesheet;return t.aG({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,sources:e,layers:r,terrain:n},e=>void 0!==e)}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&"raster"!==this.sourceCaches[e.source].getSource().type&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){let t=e=>"fill-extrusion"===this._layers[e].type,r={},n=[];for(let i=this._order.length-1;i>=0;i--){let a=this._order[i];if(t(a))for(let t of(r[a]=i,e)){let e=t[a];if(e)for(let t of e)n.push(t)}}n.sort((e,t)=>t.intersectionZ-e.intersectionZ);let i=[];for(let a=this._order.length-1;a>=0;a--){let o=this._order[a];if(t(o))for(let e=n.length-1;e>=0;e--){let t=n[e].feature;if(r[t.layer.id]{let r=t.feature,n=e.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n});return h}(this.sourceCaches[s],this._layers,o,e,r,n));return this.placement&&a.push(function(e,t,r,n,i,a,o){let s={},l=a.queryRenderedSymbols(n),c=[];for(let e of Object.keys(l).map(Number))c.push(o[e]);for(let r of(c.sort(q),c)){let n=r.featureIndex.lookupSymbolFeatures(l[r.bucketInstanceId],t,r.bucketIndex,r.sourceLayerIndex,i.filter,i.layers,i.availableImages,e);for(let e in n){let t=s[e]=s[e]||[],i=n[e];for(let e of(i.sort((e,t)=>{let n=r.featureSortOrder;if(n){let r=n.indexOf(e.featureIndex);return n.indexOf(t.featureIndex)-r}return t.featureIndex-e.featureIndex}),i))t.push(e)}}for(let t in s)s[t].forEach(n=>{let i=n.feature,a=r[e[t].source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=a});return s}(this._layers,o,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(e,r){r&&r.filter&&this._validate(t.u.filter,"querySourceFeatures.filter",r.filter,null,r);let n=this.sourceCaches[e];return n?function(e,t){let r=e.getRenderableIds().map(t=>e.getTileByID(t)),n=[],i={};for(let e=0;ee.getTileByID(t)).sort((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1))}let n=this.crossTileSymbolIndex.addLayer(r,s[r.source],e.center.lng);a=a||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(h.now(),e.zoom))&&(this.pauseablePlacement=new eG(e,this.map.terrain,this._order,i,t,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,s),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(h.now()),o=!0),a&&this.pauseablePlacement.placement.setStale()),o||a)for(let e of this._order){let t=this._layers[e];"symbol"===t.type&&this.placement.updateLayerOpacities(t,s[t.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(h.now())}_releaseSymbolFadeTiles(){for(let e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,r){return t._(this,void 0,void 0,function*(){let e=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();let t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,r.icons),e})}getGlyphs(e,r){return t._(this,void 0,void 0,function*(){let e=yield this.glyphManager.getGlyphs(r.stacks),t=this.sourceCaches[r.source];return t&&t.setDependencies(r.tileID.key,r.type,[""]),e})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,r={}){this._checkLoaded(),e&&this._validate(t.u.glyphs,"glyphs",e,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,r,n={},i){this._checkLoaded();let a=[{id:e,url:r}],o=[...A(this.stylesheet.sprite),...a];this._validate(t.u.sprite,"sprite",o,null,n)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(e){this._checkLoaded();let r=A(this.stylesheet.sprite);if(r.find(t=>t.id===e)){if(this._spritesImagesIds[e])for(let t of this._spritesImagesIds[e])this.imageManager.removeImage(t),this._changedImages[t]=!0;r.splice(r.findIndex(t=>t.id===e),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new t.k("data",{dataType:"style"}))}else this.fire(new t.j(Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return A(this.stylesheet.sprite)}setSprite(e,r={},n){this._checkLoaded(),e&&this._validate(t.u.sprite,"sprite",e,null,r)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,n):(this._unloadSprite(),n&&n(null)))}}var e0=t.Y([{name:"a_pos",type:"Int16",components:2}]);let e1={prelude:e2("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:e2("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:e2("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:e2("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:e2("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:e2("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}"),heatmapTexture:e2("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:e2("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:e2("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:e2("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:e2("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),fillOutline:e2("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillOutlinePattern:e2("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:e2("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:e2("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:e2("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:e2("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:e2("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:e2("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),lineGradient:e2("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),linePattern:e2("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:e2("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:e2("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:e2("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:e2("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:e2("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:e2("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:e2("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:e2("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:e2("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function e2(e,t){let r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=t.match(/attribute ([\w]+) ([\w]+)/g),i=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:e=e.replace(r,(e,t,r,n,i)=>(s[i]=!0,"define"===t?` +#ifndef HAS_UNIFORM_u_${i} +varying ${r} ${n} ${i}; +#else +uniform ${r} ${n} u_${i}; +#endif +`:` +#ifdef HAS_UNIFORM_u_${i} + ${r} ${n} ${i} = u_${i}; +#endif +`)),vertexSource:t=t.replace(r,(e,t,r,n,i)=>{let a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===t?` +#ifndef HAS_UNIFORM_u_${i} +uniform lowp float u_${i}_t; +attribute ${r} ${a} a_${i}; +varying ${r} ${n} ${i}; +#else +uniform ${r} ${n} u_${i}; +#endif +`:"vec4"===o?` +#ifndef HAS_UNIFORM_u_${i} + ${i} = a_${i}; +#else + ${r} ${n} ${i} = u_${i}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${i} + ${i} = unpack_mix_${o}(a_${i}, u_${i}_t); +#else + ${r} ${n} ${i} = u_${i}; +#endif +`:"define"===t?` +#ifndef HAS_UNIFORM_u_${i} +uniform lowp float u_${i}_t; +attribute ${r} ${a} a_${i}; +#else +uniform ${r} ${n} u_${i}; +#endif +`:"vec4"===o?` +#ifndef HAS_UNIFORM_u_${i} + ${r} ${n} ${i} = a_${i}; +#else + ${r} ${n} ${i} = u_${i}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${i} + ${r} ${n} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t); +#else + ${r} ${n} ${i} = u_${i}; +#endif +`}),staticAttributes:n,staticUniforms:o}}class e3{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,r,n,i,a,o,s,l){this.context=e;let c=this.boundPaintVertexBuffers.length!==n.length;for(let e=0;!c&&e({u_matrix:e,u_texture:0,u_ele_delta:r,u_fog_matrix:n,u_fog_color:i?i.properties.get("fog-color"):t.aM.white,u_fog_ground_blend:i?i.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:i?i.calculateFogBlendOpacity(a):0,u_horizon_color:i?i.properties.get("horizon-color"):t.aM.white,u_horizon_fog_blend:i?i.properties.get("horizon-fog-blend"):1});function e4(e){let t=[];for(let r=0;rm.indexOf(e)&&m.push(e);let g=n?n.defines():[];a&&g.push("#define OVERDRAW_INSPECTOR;"),o&&g.push("#define TERRAIN3D;");let y=g.concat(e1.prelude.fragmentSource,r.fragmentSource).join("\n"),v=g.concat(e1.prelude.vertexSource,r.vertexSource).join("\n"),x=s.createShader(s.FRAGMENT_SHADER);if(s.isContextLost())return void(this.failedToCreate=!0);if(s.shaderSource(x,y),s.compileShader(x),!s.getShaderParameter(x,s.COMPILE_STATUS))throw Error(`Could not compile fragment shader: ${s.getShaderInfoLog(x)}`);s.attachShader(this.program,x);let _=s.createShader(s.VERTEX_SHADER);if(s.isContextLost())return void(this.failedToCreate=!0);if(s.shaderSource(_,v),s.compileShader(_),!s.getShaderParameter(_,s.COMPILE_STATUS))throw Error(`Could not compile vertex shader: ${s.getShaderInfoLog(_)}`);s.attachShader(this.program,_),this.attributes={};let b={};this.numAttributes=u.length;for(let e=0;e>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}let e7=(e,r,n,i)=>{var a,o,s,l,c,u,h;let f=r.style.light,p=f.properties.get("position"),d=[p.x,p.y,p.z],m=(a=new t.A(9),t.A!=Float32Array&&(a[1]=0,a[2]=0,a[3]=0,a[5]=0,a[6]=0,a[7]=0),a[0]=1,a[4]=1,a[8]=1,a);"viewport"===f.properties.get("anchor")&&(s=Math.sin(o=-r.transform.angle),l=Math.cos(o),m[0]=l,m[1]=s,m[2]=0,m[3]=-s,m[4]=l,m[5]=0,m[6]=0,m[7]=0,m[8]=1),c=d[0],u=d[1],h=d[2],d[0]=c*m[0]+u*m[3]+h*m[6],d[1]=c*m[1]+u*m[4]+h*m[7],d[2]=c*m[2]+u*m[5]+h*m[8];let g=f.properties.get("color");return{u_matrix:e,u_lightpos:d,u_lightintensity:f.properties.get("intensity"),u_lightcolor:[g.r,g.g,g.b],u_vertical_gradient:+n,u_opacity:i}},e9=(e,r,n,i,a,o,s)=>t.e(e7(e,r,n,i),e8(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),te=e=>({u_matrix:e}),tt=(e,r,n,i)=>t.e(te(e),e8(n,r,i)),tr=(e,t)=>({u_matrix:e,u_world:t}),tn=(e,r,n,i,a)=>t.e(tt(e,r,n,i),{u_world:a}),ti=(e,t,r,n)=>{let i,a;let o=e.transform;if("map"===n.paint.get("circle-pitch-alignment")){let e=eI(r,1,o.zoom);i=!0,a=[e,e]}else i=!1,a=o.pixelsToGLUnits;return{u_camera_to_center_distance:o.cameraToCenterDistance,u_scale_with_map:+("map"===n.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(t.posMatrix,r,n.paint.get("circle-translate"),n.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:a}},ta=(e,t,r)=>({u_matrix:e,u_inv_matrix:t,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}),to=(e,t,r=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:r}),ts=e=>({u_matrix:e}),tl=(e,t,r,n)=>({u_matrix:e,u_extrude_scale:eI(t,1,r),u_intensity:n}),tc=(e,r,n,i)=>{let a=t.H();t.aP(a,0,e.width,e.height,0,0,1);let o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},tu=(e,t,r,n)=>{let i=e.transform;return{u_matrix:tm(e,t,r,n),u_ratio:1/eI(t,1,i.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},th=(e,r,n,i,a)=>t.e(tu(e,r,n,a),{u_image:0,u_image_height:i}),tf=(e,t,r,n,i)=>{let a=e.transform,o=td(t,a);return{u_matrix:tm(e,t,r,i),u_texsize:t.imageAtlasTexture.size,u_ratio:1/eI(t,1,a.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},tp=(e,r,n,i,a,o)=>{let s=e.lineAtlas,l=td(r,e.transform),c="round"===n.layout.get("line-cap"),u=s.getDash(i.from,c),h=s.getDash(i.to,c),f=u.width*a.fromScale,p=h.width*a.toScale;return t.e(tu(e,r,n,o),{u_patternscale_a:[l/f,-u.height/2],u_patternscale_b:[l/p,-h.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*e.pixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:a.t})};function td(e,t){return 1/eI(e,1,t.tileZoom)}function tm(e,t,r,n){return e.translatePosMatrix(n?n.posMatrix:t.tileID.posMatrix,t,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}let tg=(e,t,r,n,i)=>{var a,o;return{u_matrix:e,u_tl_parent:t,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"))>0?1-1/(1.001-o):-o,u_contrast_factor:(a=i.paint.get("raster-contrast"))>0?1/(1-a):1+a,u_spin_weights:function(e){let t=Math.sin(e*=Math.PI/180),r=Math.cos(e);return[(2*r+1)/3,(-Math.sqrt(3)*t-r+1)/3,(Math.sqrt(3)*t-r+1)/3]}(i.paint.get("raster-hue-rotate"))}},ty=(e,t,r,n,i,a,o,s,l,c,u,h,f,p)=>{let d=o.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:d.width/d.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+h,u_pitch_with_map:+n,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:f,u_texture:0,u_translation:u,u_pitched_scale:p}},tv=(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m)=>{let g=s.transform;return t.e(ty(e,r,n,i,a,o,s,l,c,u,h,f,p,m),{u_gamma_scale:i?Math.cos(g._pitch)*g.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+d})},tx=(e,r,n,i,a,o,s,l,c,u,h,f,p,d)=>t.e(tv(e,r,n,i,a,o,s,l,c,u,h,!0,f,!0,d),{u_texsize_icon:p,u_texture_icon:1}),t_=(e,t,r)=>({u_matrix:e,u_opacity:t,u_color:r}),tb=(e,r,n,i,a,o)=>t.e(function(e,t,r,n){let i=r.imageManager.getPattern(e.from.toString()),a=r.imageManager.getPattern(e.to.toString()),{width:o,height:s}=r.imageManager.getPixelSize(),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,u=c*(n.tileID.canonical.x+n.tileID.wrap*l),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:t.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/eI(n,1,r.transform.tileZoom),u_pixel_coord_upper:[u>>16,h>>16],u_pixel_coord_lower:[65535&u,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r}),tw={fillExtrusion:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_opacity:new t.aI(e,r.u_opacity)}),fillExtrusionPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_lightpos:new t.aN(e,r.u_lightpos),u_lightintensity:new t.aI(e,r.u_lightintensity),u_lightcolor:new t.aN(e,r.u_lightcolor),u_vertical_gradient:new t.aI(e,r.u_vertical_gradient),u_height_factor:new t.aI(e,r.u_height_factor),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade),u_opacity:new t.aI(e,r.u_opacity)}),fill:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),fillPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),fillOutline:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world)}),fillOutlinePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_texsize:new t.aO(e,r.u_texsize),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),circle:(e,r)=>({u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_scale_with_map:new t.aH(e,r.u_scale_with_map),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_extrude_scale:new t.aO(e,r.u_extrude_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_matrix:new t.aJ(e,r.u_matrix)}),collisionBox:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_pixel_extrude_scale:new t.aO(e,r.u_pixel_extrude_scale)}),collisionCircle:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_inv_matrix:new t.aJ(e,r.u_inv_matrix),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_viewport_size:new t.aO(e,r.u_viewport_size)}),debug:(e,r)=>({u_color:new t.aL(e,r.u_color),u_matrix:new t.aJ(e,r.u_matrix),u_overlay:new t.aH(e,r.u_overlay),u_overlay_scale:new t.aI(e,r.u_overlay_scale)}),clippingMask:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix)}),heatmap:(e,r)=>({u_extrude_scale:new t.aI(e,r.u_extrude_scale),u_intensity:new t.aI(e,r.u_intensity),u_matrix:new t.aJ(e,r.u_matrix)}),heatmapTexture:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_world:new t.aO(e,r.u_world),u_image:new t.aH(e,r.u_image),u_color_ramp:new t.aH(e,r.u_color_ramp),u_opacity:new t.aI(e,r.u_opacity)}),hillshade:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_latrange:new t.aO(e,r.u_latrange),u_light:new t.aO(e,r.u_light),u_shadow:new t.aL(e,r.u_shadow),u_highlight:new t.aL(e,r.u_highlight),u_accent:new t.aL(e,r.u_accent)}),hillshadePrepare:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_image:new t.aH(e,r.u_image),u_dimension:new t.aO(e,r.u_dimension),u_zoom:new t.aI(e,r.u_zoom),u_unpack:new t.aK(e,r.u_unpack)}),line:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels)}),lineGradient:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_image:new t.aH(e,r.u_image),u_image_height:new t.aI(e,r.u_image_height)}),linePattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texsize:new t.aO(e,r.u_texsize),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_image:new t.aH(e,r.u_image),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_scale:new t.aN(e,r.u_scale),u_fade:new t.aI(e,r.u_fade)}),lineSDF:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ratio:new t.aI(e,r.u_ratio),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.aO(e,r.u_units_to_pixels),u_patternscale_a:new t.aO(e,r.u_patternscale_a),u_patternscale_b:new t.aO(e,r.u_patternscale_b),u_sdfgamma:new t.aI(e,r.u_sdfgamma),u_image:new t.aH(e,r.u_image),u_tex_y_a:new t.aI(e,r.u_tex_y_a),u_tex_y_b:new t.aI(e,r.u_tex_y_b),u_mix:new t.aI(e,r.u_mix)}),raster:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_tl_parent:new t.aO(e,r.u_tl_parent),u_scale_parent:new t.aI(e,r.u_scale_parent),u_buffer_scale:new t.aI(e,r.u_buffer_scale),u_fade_t:new t.aI(e,r.u_fade_t),u_opacity:new t.aI(e,r.u_opacity),u_image0:new t.aH(e,r.u_image0),u_image1:new t.aH(e,r.u_image1),u_brightness_low:new t.aI(e,r.u_brightness_low),u_brightness_high:new t.aI(e,r.u_brightness_high),u_saturation_factor:new t.aI(e,r.u_saturation_factor),u_contrast_factor:new t.aI(e,r.u_contrast_factor),u_spin_weights:new t.aN(e,r.u_spin_weights)}),symbolIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolSDF:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texture:new t.aH(e,r.u_texture),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),symbolTextAndIcon:(e,r)=>({u_is_size_zoom_constant:new t.aH(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aH(e,r.u_is_size_feature_constant),u_size_t:new t.aI(e,r.u_size_t),u_size:new t.aI(e,r.u_size),u_camera_to_center_distance:new t.aI(e,r.u_camera_to_center_distance),u_pitch:new t.aI(e,r.u_pitch),u_rotate_symbol:new t.aH(e,r.u_rotate_symbol),u_aspect_ratio:new t.aI(e,r.u_aspect_ratio),u_fade_change:new t.aI(e,r.u_fade_change),u_matrix:new t.aJ(e,r.u_matrix),u_label_plane_matrix:new t.aJ(e,r.u_label_plane_matrix),u_coord_matrix:new t.aJ(e,r.u_coord_matrix),u_is_text:new t.aH(e,r.u_is_text),u_pitch_with_map:new t.aH(e,r.u_pitch_with_map),u_is_along_line:new t.aH(e,r.u_is_along_line),u_is_variable_anchor:new t.aH(e,r.u_is_variable_anchor),u_texsize:new t.aO(e,r.u_texsize),u_texsize_icon:new t.aO(e,r.u_texsize_icon),u_texture:new t.aH(e,r.u_texture),u_texture_icon:new t.aH(e,r.u_texture_icon),u_gamma_scale:new t.aI(e,r.u_gamma_scale),u_device_pixel_ratio:new t.aI(e,r.u_device_pixel_ratio),u_is_halo:new t.aH(e,r.u_is_halo),u_translation:new t.aO(e,r.u_translation),u_pitched_scale:new t.aI(e,r.u_pitched_scale)}),background:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_color:new t.aL(e,r.u_color)}),backgroundPattern:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_opacity:new t.aI(e,r.u_opacity),u_image:new t.aH(e,r.u_image),u_pattern_tl_a:new t.aO(e,r.u_pattern_tl_a),u_pattern_br_a:new t.aO(e,r.u_pattern_br_a),u_pattern_tl_b:new t.aO(e,r.u_pattern_tl_b),u_pattern_br_b:new t.aO(e,r.u_pattern_br_b),u_texsize:new t.aO(e,r.u_texsize),u_mix:new t.aI(e,r.u_mix),u_pattern_size_a:new t.aO(e,r.u_pattern_size_a),u_pattern_size_b:new t.aO(e,r.u_pattern_size_b),u_scale_a:new t.aI(e,r.u_scale_a),u_scale_b:new t.aI(e,r.u_scale_b),u_pixel_coord_upper:new t.aO(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.aO(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aI(e,r.u_tile_units_to_pixels)}),terrain:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_ele_delta:new t.aI(e,r.u_ele_delta),u_fog_matrix:new t.aJ(e,r.u_fog_matrix),u_fog_color:new t.aL(e,r.u_fog_color),u_fog_ground_blend:new t.aI(e,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new t.aI(e,r.u_fog_ground_blend_opacity),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon_fog_blend:new t.aI(e,r.u_horizon_fog_blend)}),terrainDepth:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_ele_delta:new t.aI(e,r.u_ele_delta)}),terrainCoords:(e,r)=>({u_matrix:new t.aJ(e,r.u_matrix),u_texture:new t.aH(e,r.u_texture),u_terrain_coords_id:new t.aI(e,r.u_terrain_coords_id),u_ele_delta:new t.aI(e,r.u_ele_delta)}),sky:(e,r)=>({u_sky_color:new t.aL(e,r.u_sky_color),u_horizon_color:new t.aL(e,r.u_horizon_color),u_horizon:new t.aI(e,r.u_horizon),u_sky_horizon_blend:new t.aI(e,r.u_sky_horizon_blend)})};class tT{constructor(e,t,r){this.context=e;let n=e.gl;this.buffer=n.createBuffer(),this.dynamicDraw=!!r,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let tk={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class tA{constructor(e,t,r,n){this.length=t.length,this.attributes=r,this.itemSize=t.bytesPerElement,this.dynamicDraw=n,this.context=e;let i=e.gl;this.buffer=i.createBuffer(),e.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let r=0;r0){let r=t.H();t.aQ(r,m.placementInvProjMatrix,e.transform.glCoordMatrix),t.aQ(r,r,m.placementViewportMatrix),h.push({circleArray:y,circleOffset:p,transform:d.posMatrix,invTransform:r,coord:d}),f+=y.length/4,p=f}g&&u.draw(l,c.LINES,rn.disabled,ri.disabled,e.colorModeForRenderPass(),ra.disabled,{u_matrix:d.posMatrix,u_pixel_extrude_scale:[1/(o=e.transform).width,1/o.height]},e.style.map.terrain&&e.style.map.terrain.getTerrainData(d),n.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,null,e.transform.zoom,null,null,g.collisionVertexBuffer)}if(!a||!h.length)return;let d=e.useProgram("collisionCircle"),m=new t.aR;m.resize(4*f),m._trim();let g=0;for(let e of h)for(let t=0;te.style.map.terrain.getElevation(l,t,r):null,i="map"===n.layout.get("text-rotation-alignment");!function(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){let g=i?e.textSizeData:e.iconSizeData,y=t.ag(g,n.transform.zoom),v=[256/n.width*2+1,256/n.height*2+1],x=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;x.clear();let _=e.lineVertexArray,b=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,w=n.transform.width/n.transform.height,T=!1;for(let i=0;i=-v[0]&&k.x<=v[0]&&k.y>=-v[1])||!(k.y<=v[1])){eE(A.numGlyphs,x);continue}let S=.5+n.transform.cameraToCenterDistance/M.signedDistanceFromCamera*.5,E=t.ai(g,y,A),C=s?E/S:E*S,L={getElevation:m,labelPlaneMatrix:a,lineVertexArray:_,pitchWithMap:s,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:u,tileAnchorPoint:new t.P(A.anchorX,A.anchorY),unwrappedTileID:h,width:f,height:p,translation:d},I=eb(L,A,C,!1,l,r,o,e.glyphOffsetArray,x,w,c);T=I.useVertical,(I.notEnoughRoom||T||I.needsFlipping&&eb(L,A,C,!0,l,r,o,e.glyphOffsetArray,x,w,c).notEnoughRoom)&&eE(A.numGlyphs,x)}i?e.text.dynamicLayoutVertexBuffer.updateData(x):e.icon.dynamicLayoutVertexBuffer.updateData(x)}(c,l.posMatrix,e,a,N,V,v,u,i,g,l.toUnwrapped(),m.width,m.height,q,r)}let Z=l.posMatrix,W=a&&A||G,Y=x||W?rs:N,X=p&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1),$={program:C,buffers:h,uniformValues:p?c.iconsInText?tx(k.kind,L,_,v,x,W,e,Z,Y,U,q,P,R,S):tv(k.kind,L,_,v,x,W,e,Z,Y,U,q,a,P,!0,S):ty(k.kind,L,_,v,x,W,e,Z,Y,U,q,a,P,S),atlasTexture:z,atlasTextureIcon:F,atlasInterpolation:O,atlasInterpolationIcon:D,isSDF:p,hasHalo:X};if(w&&c.canOverlap)for(let e of(T=!0,h.segments.get()))M.push({segments:new t.a0([e]),sortKey:e.sortKey,state:$,terrainData:I});else M.push({segments:h.segments,sortKey:0,state:$,terrainData:I})}for(let t of(T&&M.sort((e,t)=>e.sortKey-t.sortKey),M)){let r=t.state;if(p.activeTexture.set(d.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,d.CLAMP_TO_EDGE),r.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),r.isSDF){let i=r.uniformValues;r.hasHalo&&(i.u_is_halo=1,rc(r.buffers,t.segments,n,e,r.program,k,h,f,i,t.terrainData)),i.u_is_halo=0}rc(r.buffers,t.segments,n,e,r.program,k,h,f,r.uniformValues,t.terrainData)}}function rc(e,t,r,n,i,a,o,s,l,c){let u=n.context;i.draw(u,u.gl.TRIANGLES,a,o,s,ra.disabled,l,c,r.id,e.layoutVertexBuffer,e.indexBuffer,t,r.paint,n.transform.zoom,e.programConfigurations.get(r.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function ru(e,t,r){var n,i;let a=e.gl,o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);let s=null!==(n=e.HALF_FLOAT)&&void 0!==n?n:a.UNSIGNED_BYTE,l=null!==(i=e.RGBA16F)&&void 0!==i?i:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,t,r,0,a.RGBA,s,null);let c=e.createFramebuffer(t,r,!1,!1);return c.colorAttachment.set(o),c}function rh(e,t){return t.colorRampTexture||(t.colorRampTexture=new S(e,t.colorRamp,e.gl.RGBA)),t.colorRampTexture}function rf(e,t,r,n,i){if(!r||!n||!n.imageAtlas)return;let a=n.imageAtlas.patternPositions,o=a[r.to.toString()],s=a[r.from.toString()];if(!o&&s&&(o=s),!s&&o&&(s=o),!o||!s){let e=i.getPaintProperty(t);o=a[e],s=a[e]}o&&s&&e.setConstantPatternPositions(o,s)}function rp(e,t,r,n,i,a,o){let s,l,c,u,h;let f=e.context.gl,p="fill-pattern",d=r.paint.get(p),m=d&&d.constantOr(1),g=r.getCrossfadeParameters();o?(l=m&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=f.LINES):(l=m?"fillPattern":"fill",s=f.TRIANGLES);let y=d.constantOr(null);for(let d of n){let n=t.getTile(d);if(m&&!n.patternsLoaded())continue;let v=n.getBucket(r);if(!v)continue;let x=v.programConfigurations.get(r.id),_=e.useProgram(l,x),b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(d);m&&(e.context.activeTexture.set(f.TEXTURE0),n.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),x.updatePaintBuffers(g)),rf(x,p,y,n,r);let w=b?d:null,T=e.translatePosMatrix(w?w.posMatrix:d.posMatrix,n,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=v.indexBuffer2,h=v.segments2;let t=[f.drawingBufferWidth,f.drawingBufferHeight];c="fillOutlinePattern"===l&&m?tn(T,e,g,n,t):tr(T,t)}else u=v.indexBuffer,h=v.segments,c=m?tt(T,e,g,n):te(T);_.draw(e.context,s,i,e.stencilModeForClipping(d),a,ra.disabled,c,b,r.id,v.layoutVertexBuffer,u,h,r.paint,e.transform.zoom,x)}}function rd(e,t,r,n,i,a,o){let s=e.context,l=s.gl,c="fill-extrusion-pattern",u=r.paint.get(c),h=u.constantOr(1),f=r.getCrossfadeParameters(),p=r.paint.get("fill-extrusion-opacity"),d=u.constantOr(null);for(let u of n){let n=t.getTile(u),m=n.getBucket(r);if(!m)continue;let g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(u),y=m.programConfigurations.get(r.id),v=e.useProgram(h?"fillExtrusionPattern":"fillExtrusion",y);h&&(e.context.activeTexture.set(l.TEXTURE0),n.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePaintBuffers(f)),rf(y,c,d,n,r);let x=e.translatePosMatrix(u.posMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),_=r.paint.get("fill-extrusion-vertical-gradient"),b=h?e9(x,e,_,p,u,f,n):e7(x,e,_,p);v.draw(s,s.gl.TRIANGLES,i,a,o,ra.backCCW,b,g,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,e.transform.zoom,y,e.style.map.terrain&&m.centroidVertexBuffer)}}let rm=new t.aM(1,0,0,1),rg=new t.aM(0,1,0,1),ry=new t.aM(0,0,1,1),rv=new t.aM(1,0,1,1),rx=new t.aM(0,1,1,1);function r_(e,t,r,n){rw(e,0,t+r/2,e.transform.width,r,n)}function rb(e,t,r,n){rw(e,t-r/2,0,r,e.transform.height,n)}function rw(e,t,r,n,i,a){let o=e.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,r*e.pixelRatio,n*e.pixelRatio,i*e.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function rT(e,t,r){let n=e.context,i=n.gl,a=e.colorModeForRenderPass(),o=new rn(i.LEQUAL,rn.ReadWrite,e.depthRangeFor3D),s=e.useProgram("terrain"),l=t.getTerrainMesh();for(let c of(n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height]),r)){let r=e.renderToTexture.getTexture(c),u=t.getTerrainData(c.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.texture);let h=e5(e.transform.calculatePosMatrix(c.tileID.toUnwrapped()),t.getMeshFrameDelta(e.transform.zoom),e.transform.calculateFogMatrix(c.tileID.toUnwrapped()),e.style.sky,e.transform.pitch);s.draw(n,i.TRIANGLES,o,ri.disabled,a,ra.backCCW,h,u,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class rk{constructor(e,t,r){this.vertexBuffer=e,this.indexBuffer=t,this.segments=r}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class rA{constructor(e,r){this.context=new rr(e),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=eu.maxUnderzooming+eu.maxOverzooming+1,this.depthEpsilon=1/65536,this.crossTileSymbolIndex=new e$}resize(e,t,r){if(this.width=Math.floor(e*r),this.height=Math.floor(t*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,r=new t.aX;r.emplaceBack(0,0),r.emplaceBack(t.X,0),r.emplaceBack(0,t.X),r.emplaceBack(t.X,t.X),this.tileExtentBuffer=e.createVertexBuffer(r,e0.members),this.tileExtentSegments=t.a0.simpleSegment(0,0,4,2);let n=new t.aX;n.emplaceBack(0,0),n.emplaceBack(t.X,0),n.emplaceBack(0,t.X),n.emplaceBack(t.X,t.X),this.debugBuffer=e.createVertexBuffer(n,e0.members),this.debugSegments=t.a0.simpleSegment(0,0,4,5);let i=new t.$;i.emplaceBack(0,0,0,0),i.emplaceBack(t.X,0,t.X,0),i.emplaceBack(0,t.X,0,t.X),i.emplaceBack(t.X,t.X,t.X,t.X),this.rasterBoundsBuffer=e.createVertexBuffer(i,J.members),this.rasterBoundsSegments=t.a0.simpleSegment(0,0,4,2);let a=new t.aX;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,e0.members),this.viewportSegments=t.a0.simpleSegment(0,0,4,2);let o=new t.aZ;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);let s=new t.aY;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);let l=this.context.gl;this.stencilClearMode=new ri({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){let e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let n=t.H();t.aP(n,0,this.width,this.height,0,0,1),t.K(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,rn.disabled,this.stencilClearMode,rt.disabled,ra.disabled,ts(n),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source;let r=this.context,n=r.gl;this.nextStencilID+t.length>256&&this.clearStencil(),r.setColorMode(rt.disabled),r.setDepthMode(rn.disabled);let i=this.useProgram("clippingMask");for(let e of(this._tileClippingMaskIDs={},t)){let t=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,a=this.style.map.terrain&&this.style.map.terrain.getTerrainData(e);i.draw(r,n.TRIANGLES,rn.disabled,new ri({func:n.ALWAYS,mask:0},t,255,n.KEEP,n.KEEP,n.REPLACE),rt.disabled,ra.disabled,ts(e.posMatrix),a,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new ri({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new ri({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){let t=this.context.gl,r=e.sort((e,t)=>t.overscaledZ-e.overscaledZ),n=r[r.length-1].overscaledZ,i=r[0].overscaledZ-n+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();let e={};for(let r=0;r=0;this.currentLayer--){let e=this.style._layers[n[this.currentLayer]],t=i[e.source],r=a[e.source];this._renderTileClippingMasks(e,r),this.renderLayer(this,t,e,r)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerr.source&&!r.isHidden(t)?[e.sourceCaches[r.source]]:[]),i=n.filter(e=>"vector"===e.getSource().type),a=n.filter(e=>"vector"!==e.getSource().type),o=e=>{(!r||r.getSource().maxzoomo(e)),r||a.forEach(e=>o(e)),r}(this.style,this.transform.zoom);e&&function(e,r,n){for(let i=0;i ${n.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let r=e.debugOverlayCanvas,n=e.context.gl,i=e.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(t,5,5),i.strokeText(t,5,5),e.debugOverlayTexture.update(r),e.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,`${g} ${d}kB`),s.draw(i,a.TRIANGLES,l,c,rt.alphaBlended,ra.disabled,to(o,t.aM.transparent,m),null,h,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(i,a.LINE_STRIP,l,c,u,ra.disabled,to(o,t.aM.red),f,h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}(e,r,n[i])}(this,e,e.getVisibleCoordinates())}this.options.showPadding&&function(e){var t,r;let n=e.transform.padding;r_(e,e.transform.height-(n.top||0),3,rm),r_(e,n.bottom||0,3,rg),rb(e,n.left||0,3,ry),rb(e,e.transform.width-(n.right||0),3,rv);let i=e.transform.centerPoint;t=i.x,r=e.transform.height-i.y,rw(e,t-1,r-10,2,20,rx),rw(e,t-10,r-1,20,2,rx)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(e){if(!this.style||!this.style.map||!this.style.map.terrain)return;let r=this.terrainFacilitator.matrix,n=this.transform.modelViewProjectionMatrix,i=this.terrainFacilitator.dirty;i||(i=e?!t.a_(r,n):!t.a$(r,n)),i||(i=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),i&&(t.b0(r,n),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,r){let n=e.context,i=n.gl,a=rt.unblended,o=new rn(i.LEQUAL,rn.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.sourceCache.getRenderableTiles(),c=e.useProgram("terrainDepth");for(let u of(n.bindFramebuffer.set(r.getFramebuffer("depth").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1}),l)){let t=r.getTerrainData(u.tileID),l={u_matrix:e.transform.calculatePosMatrix(u.tileID.toUnwrapped()),u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};c.draw(n,i.TRIANGLES,o,ri.disabled,a,ra.backCCW,l,t,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,r){let n=e.context,i=n.gl,a=rt.unblended,o=new rn(i.LEQUAL,rn.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.getCoordsTexture(),c=r.sourceCache.getRenderableTiles(),u=e.useProgram("terrainCoords");for(let h of(n.bindFramebuffer.set(r.getFramebuffer("coords").framebuffer),n.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),n.clear({color:t.aM.transparent,depth:1}),r.coordsIndex=[],c)){let t=r.getTerrainData(h.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,l.texture);let c={u_matrix:e.transform.calculatePosMatrix(h.tileID.toUnwrapped()),u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(e.transform.zoom)};u.draw(n,i.TRIANGLES,o,ri.disabled,a,ra.backCCW,c,t,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),r.coordsIndex.push(h.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,r,n,i){if(!n.isHidden(this.transform.zoom)&&("background"===n.type||"custom"===n.type||(i||[]).length))switch(this.id=n.id,n.type){case"symbol":!function(e,r,n,i,a){if("translucent"!==e.renderPass)return;let o=ri.disabled,s=e.colorModeForRenderPass();(n._unevaluatedLayout.hasValue("text-variable-anchor")||n._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(e,r,n,i,a,o,s,l,c){let u=r.transform,h=eq(),f="map"===a,p="map"===o;for(let a of e){let e=i.getTile(a),o=e.getBucket(n);if(!o||!o.text||!o.text.segments.get().length)continue;let d=t.ag(o.textSizeData,u.zoom),m=eI(e,1,r.transform.zoom),g=eg(a.posMatrix,p,f,r.transform,m),y="none"!==n.layout.get("icon-text-fit")&&o.hasIconData();if(d){let n=Math.pow(2,u.zoom-e.tileID.overscaledZ),i=r.style.map.terrain?(e,t)=>r.style.map.terrain.getElevation(a,e,t):null,m=h.translatePosition(u,e,s,l);(function(e,r,n,i,a,o,s,l,c,u,h,f,p,d){let m=e.text.placedSymbolArray,g=e.text.dynamicLayoutVertexArray,y=e.icon.dynamicLayoutVertexArray,v={};g.clear();for(let y=0;y=0&&(v[x.associatedIconIndex]={shiftedAnchor:L,angle:I})}else eE(x.numGlyphs,g)}if(u){y.clear();let r=e.icon.placedSymbolArray;for(let e=0;ee.sortKey-t.sortKey),d)){let{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=t.state;i.draw(c,u.TRIANGLES,h,f,p,ra.disabled,s,l,n.id,a,o,t.segments,n.paint,e.transform.zoom,r)}}(e,r,n,i);break;case"heatmap":!function(e,r,n,i){if(0===n.paint.get("heatmap-opacity"))return;let a=e.context;if(e.style.map.terrain){for(let a of i){let i=r.getTile(a);r.hasRenderableParent(a)||("offscreen"===e.renderPass?function(e,r,n,i){let a=e.context,o=a.gl,s=ri.disabled,l=new rt([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]),c=r.getBucket(n);if(!c)return;let u=i.key,h=n.heatmapFbos.get(u);h||(h=ru(a,r.tileSize,r.tileSize),n.heatmapFbos.set(u,h)),a.bindFramebuffer.set(h.framebuffer),a.viewport.set([0,0,r.tileSize,r.tileSize]),a.clear({color:t.aM.transparent});let f=c.programConfigurations.get(n.id),p=e.useProgram("heatmap",f),d=e.style.map.terrain.getTerrainData(i);p.draw(a,o.TRIANGLES,rn.disabled,s,l,ra.disabled,tl(i.posMatrix,r,e.transform.zoom,n.paint.get("heatmap-intensity")),d,n.id,c.layoutVertexBuffer,c.indexBuffer,c.segments,n.paint,e.transform.zoom,f)}(e,i,n,a):"translucent"===e.renderPass&&function(e,t,r){let n=e.context,i=n.gl;n.setColorMode(e.colorModeForRenderPass());let a=rh(n,t),o=r.key,s=t.heatmapFbos.get(o);s&&(n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,s.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1),a.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,i.TRIANGLES,rn.disabled,ri.disabled,e.colorModeForRenderPass(),ra.disabled,tc(e,t,0,1),null,t.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments,t.paint,e.transform.zoom),s.destroy(),t.heatmapFbos.delete(o))}(e,n,a))}a.viewport.set([0,0,e.width,e.height])}else"offscreen"===e.renderPass?function(e,r,n,i){let a=e.context,o=a.gl,s=ri.disabled,l=new rt([o.ONE,o.ONE],t.aM.transparent,[!0,!0,!0,!0]);(function(e,r,n){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,r.width/4,r.height/4]);let a=n.heatmapFbos.get(t.aU);a?(i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)):(a=ru(e,r.width/4,r.height/4),n.heatmapFbos.set(t.aU,a))})(a,e,n),a.clear({color:t.aM.transparent});for(let t=0;t{let n=r.stride,i=t.H();return t.aP(i,0,t.X,-t.X,0,0,1),t.J(i,i,[0,-t.X,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}})(r.tileID,c),null,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}(e,a,n,o,ri.disabled,s):"translucent"===e.renderPass&&function(e,r,n,i,a,o,s){let l=e.context,c=l.gl,u=n.fbo;if(!u)return;let h=e.useProgram("hillshade"),f=e.style.map.terrain&&e.style.map.terrain.getTerrainData(r);l.activeTexture.set(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,u.colorAttachment.get()),h.draw(l,c.TRIANGLES,a,o,s,ra.disabled,((e,r,n,i)=>{let a=n.paint.get("hillshade-shadow-color"),o=n.paint.get("hillshade-highlight-color"),s=n.paint.get("hillshade-accent-color"),l=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(l-=e.transform.angle);let c=!e.options.moving;return{u_matrix:i?i.posMatrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),c),u_image:0,u_latrange:function(e,r){let n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new t.Z(0,i/n).toLngLat().lat,new t.Z(0,(i+1)/n).toLngLat().lat]}(0,r.tileID),u_light:[n.paint.get("hillshade-exaggeration"),l],u_shadow:a,u_highlight:o,u_accent:s}})(e,n,i,f?r:null),f,i.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}(e,i,a,n,o,l[i.overscaledZ],s)}a.viewport.set([0,0,e.width,e.height])}(e,r,n,i);break;case"raster":!function(e,r,n,i){if("translucent"!==e.renderPass||0===n.paint.get("raster-opacity")||!i.length)return;let a=e.context,o=a.gl,s=r.getSource(),l=e.useProgram("raster"),c=e.colorModeForRenderPass(),[u,f]=s instanceof K?[{},i]:e.stencilConfigForOverlap(i),p=f[f.length-1].overscaledZ,d=!e.options.moving;for(let i of f){let f,m;let g=e.depthModeForSublayer(i.overscaledZ-p,1===n.paint.get("raster-opacity")?rn.ReadWrite:rn.ReadOnly,o.LESS),y=r.getTile(i);y.registerFadeDuration(n.paint.get("raster-fade-duration"));let v=r.findLoadedParent(i,0),x=r.findLoadedSibling(i),_=function(e,r,n,i,a,o){let s=i.paint.get("raster-fade-duration");if(!o&&s>0){let i=h.now(),o=(i-e.timeAdded)/s,l=r?(i-r.timeAdded)/s:-1,c=n.getSource(),u=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-u)>Math.abs(e.tileID.overscaledZ-u),p=f&&e.refreshedUponExpiration?1:t.ac(f?o:1-l,0,1);return e.refreshedUponExpiration&&o>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}(y,v||x||null,r,n,e.transform,e.style.map.terrain),b="nearest"===n.paint.get("raster-resampling")?o.NEAREST:o.LINEAR;a.activeTexture.set(o.TEXTURE0),y.texture.bind(b,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.activeTexture.set(o.TEXTURE1),v?(v.texture.bind(b,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),f=Math.pow(2,v.tileID.overscaledZ-y.tileID.overscaledZ),m=[y.tileID.canonical.x*f%1,y.tileID.canonical.y*f%1]):y.texture.bind(b,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),y.texture.useMipmap&&a.extTextureFilterAnisotropic&&e.transform.pitch>20&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax);let w=e.style.map.terrain&&e.style.map.terrain.getTerrainData(i),T=w?i:null,k=tg(T?T.posMatrix:e.transform.calculatePosMatrix(i.toUnwrapped(),d),m||[0,0],f||1,_,n);s instanceof K?l.draw(a,o.TRIANGLES,g,ri.disabled,c,ra.disabled,k,w,n.id,s.boundsBuffer,e.quadTriangleIndexBuffer,s.boundsSegments):l.draw(a,o.TRIANGLES,g,u[i.overscaledZ],c,ra.disabled,k,w,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}(e,r,n,i);break;case"background":!function(e,t,r,n){let i=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0===a)return;let o=e.context,s=o.gl,l=e.transform,c=l.tileSize,u=r.paint.get("background-pattern");if(e.isPatternMissing(u))return;let h=!u&&1===i.a&&1===a&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==h)return;let f=ri.disabled,p=e.depthModeForSublayer(0,"opaque"===h?rn.ReadWrite:rn.ReadOnly),d=e.colorModeForRenderPass(),m=e.useProgram(u?"backgroundPattern":"background"),g=n||l.coveringTiles({tileSize:c,terrain:e.style.map.terrain});u&&(o.activeTexture.set(s.TEXTURE0),e.imageManager.bind(e.context));let y=r.getCrossfadeParameters();for(let t of g){let l=n?t.posMatrix:e.transform.calculatePosMatrix(t.toUnwrapped()),h=u?tb(l,a,e,u,{tileID:t,tileSize:c},y):t_(l,a,i),g=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);m.draw(o,s.TRIANGLES,p,f,d,ra.disabled,h,g,r.id,e.tileExtentBuffer,e.quadTriangleIndexBuffer,e.tileExtentSegments)}}(e,0,n,i);break;case"custom":!function(e,t,r){let n=e.context,i=r.implementation;if("offscreen"===e.renderPass){let t=i.prerender;t&&(e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),t.call(i,n.gl,e.transform.customLayerMatrix()),n.setDirty(),e.setBaseState())}else if("translucent"===e.renderPass){e.setCustomLayerDefaults(),n.setColorMode(e.colorModeForRenderPass()),n.setStencilMode(ri.disabled);let t="3d"===i.renderingMode?new rn(e.context.gl.LEQUAL,rn.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,rn.ReadOnly);n.setDepthMode(t),i.render(n.gl,e.transform.customLayerMatrix(),{farZ:e.transform.farZ,nearZ:e.transform.nearZ,fov:e.transform._fov,modelViewProjectionMatrix:e.transform.modelViewProjectionMatrix,projectionMatrix:e.transform.projectionMatrix}),n.setDirty(),e.setBaseState(),n.bindFramebuffer.set(null)}}(e,0,n)}}translatePosMatrix(e,r,n,i,a){if(!n[0]&&!n[1])return e;let o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){let e=Math.sin(o),t=Math.cos(o);n=[n[0]*t-n[1]*e,n[0]*e+n[1]*t]}let s=[a?n[0]:eI(r,n[0],this.transform.zoom),a?n[1]:eI(r,n[1],this.transform.zoom),0],l=new Float32Array(16);return t.J(l,e,s),l}saveTileTexture(e){let t=this._tileTextures[e.size[0]];t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),r=this.imageManager.getPattern(e.to.toString());return!t||!r}useProgram(e,t){this.cache=this.cache||{};let r=e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[r]||(this.cache[r]=new e6(this.context,e1[e],t,tw[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[r]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new S(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}class rM{constructor(e,t){this.points=e,this.planes=t}static fromInvProjectionMatrix(e,r,n){let i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(n=>{let a=1/(n=t.af([],n,e))[3]/r*i;return t.b1(n,n,[a,a,1/n[3],a])}),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(e=>{var t,r,n,i,o,s,l,c,u,h,f,p,d,m,g;let y=(f=[],(g=(p=(r=[],n=T([],a[e[0]],a[e[1]]),i=T([],a[e[2]],a[e[1]]),o=n[0],s=n[1],l=n[2],c=i[0],u=i[1],h=i[2],r[0]=s*h-l*u,r[1]=l*c-o*h,r[2]=o*u-s*c,r)[0])*p+(d=r[1])*d+(m=r[2])*m)>0&&(g=1/Math.sqrt(g)),f[0]=r[0]*g,f[1]=r[1]*g,f[2]=r[2]*g,f),v=-(y[0]*(t=a[e[1]])[0]+y[1]*t[1]+y[2]*t[2]);return y.concat(v)});return new rM(a,o)}}class rS{constructor(e,t){var r,n,i,a;this.min=e,this.max=t,this.center=(a=[],r=[],n=this.min,i=this.max,r[0]=n[0]+i[0],r[1]=n[1]+i[1],r[2]=n[2]+i[2],a[0]=.5*r[0],a[1]=.5*r[1],a[2]=.5*r[2],a)}quadrant(e){let t=[e%2==0,e<2],r=_(this.min),n=_(this.max);for(let e=0;e=0&&o++;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(let t=0;t<3;t++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[t]-this.min[t])return 0}return 1}}class rE{constructor(e=0,t=0,r=0,n=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(r)||r<0||isNaN(n)||n<0)throw Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=r,this.right=n}interpolate(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.y.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.y.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.y.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.y.number(e.right,r.right,n)),this}getCenter(e,r){let n=t.ac((this.left+e-this.right)/2,0,e),i=t.ac((this.top+r-this.bottom)/2,0,r);return new t.P(n,i)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new rE(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class rC{constructor(e,r,n,i,a){this.tileSize=512,this._renderWorldCopies=void 0===a||!!a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new rE,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let e=new rC(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.lngRange=e.lngRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){var r,n,i,a,o,s,l,c,u,h;let f=-t.b3(e,-180,180)*Math.PI/180;this.angle!==f&&(this._unmodified=!1,this.angle=f,this._calcMatrices(),this.rotationMatrix=(r=new t.A(4),t.A!=Float32Array&&(r[1]=0,r[2]=0),r[0]=1,r[3]=1,r),n=this.rotationMatrix,i=this.rotationMatrix,a=this.angle,o=i[0],s=i[1],l=i[2],c=i[3],u=Math.sin(a),h=Math.cos(a),n[0]=o*h+l*u,n[1]=s*h+c*u,n[2]=-(o*u)+l*h,n[3]=-(s*u)+c*h)}get pitch(){return this._pitch/Math.PI*180}set pitch(e){let r=t.ac(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){let t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.tileZoom=Math.max(0,Math.floor(t)),this.scale=this.zoomScale(t),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,r){this._unmodified=!1,this._edgeInsets.interpolate(e,t,r),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){return Math.max(0,(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize)))}getVisibleUnwrappedCoordinates(e){let r=[new t.b4(0,e)];if(this._renderWorldCopies){let n=this.pointCoordinate(new t.P(0,0)),i=this.pointCoordinate(new t.P(this.width,0)),a=this.pointCoordinate(new t.P(this.width,this.height)),o=this.pointCoordinate(new t.P(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x));for(let n=s-1;n<=l+1;n++)0!==n&&r.push(new t.b4(n,e))}return r}coveringTiles(e){var r,n;let i=this.coveringZoomLevel(e),a=i;if(void 0!==e.minzoom&&ie.maxzoom&&(i=e.maxzoom);let o=this.pointCoordinate(this.getCameraPoint()),s=t.Z.fromLngLat(this.center),l=Math.pow(2,i),c=[l*o.x,l*o.y,0],u=[l*s.x,l*s.y,0],h=rM.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,i),f=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(f=i);let p=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,d=e=>({aabb:new rS([e*l,0,0],[(e+1)*l,l,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),m=[],g=[],y=i,v=e.reparseOverscaled?a:i;if(this._renderWorldCopies)for(let e=1;e<=3;e++)m.push(d(-e)),m.push(d(e));for(m.push(d(0));m.length>0;){let i=m.pop(),a=i.x,o=i.y,s=i.fullyVisible;if(!s){let e=i.aabb.intersects(h);if(0===e)continue;s=2===e}let l=e.terrain?c:u,d=Math.max(Math.abs(i.aabb.distanceX(l)),Math.abs(i.aabb.distanceY(l)));if(i.zoom===y||d>p+(1<=f){let e=y-i.zoom,r=c[0]-.5-(a<>1),h=i.zoom+1,f=i.aabb.quadrant(l);if(e.terrain){let a=new t.S(h,i.wrap,h,c,u),o=e.terrain.getMinMaxElevation(a),s=null!==(r=o.minElevation)&&void 0!==r?r:this.elevation,l=null!==(n=o.maxElevation)&&void 0!==n?n:this.elevation;f=new rS([f.min[0],f.min[1],s],[f.max[0],f.max[1],l])}m.push({aabb:f,zoom:h,x:c,y:u,wrap:i.wrap,fullyVisible:s})}}return g.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){let r=t.ac(e.lat,-85.051129,85.051129);return new t.P(t.O(e.lng)*this.worldSize,t.Q(r)*this.worldSize)}unproject(e){return new t.Z(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){let r=this.elevation,n=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,i=this.pointLocation(this.centerPoint,e),a=e.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-a))return;let o=Math.cos(this._pitch)*this.cameraToCenterDistance/(n+r-a)/t.b5(1,i.lat),s=this.scaleZoom(o/this.tileSize);this._elevation=a,this._center=i,this.zoom=s}setLocationAtPoint(e,r){let n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.Z(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,t){return t?this.coordinatePoint(this.locationCoordinate(e),t.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,t){return this.coordinateLocation(this.pointCoordinate(e,t))}locationCoordinate(e){return t.Z.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,r){if(r){let t=r.pointCoordinate(e);if(null!=t)return t}let n=[e.x,e.y,0,1],i=[e.x,e.y,1,1];t.af(n,n,this.pixelMatrixInverse),t.af(i,i,this.pixelMatrixInverse);let a=n[3],o=i[3],s=n[1]/a,l=i[1]/o,c=n[2]/a,u=i[2]/o,h=c===u?0:(0-c)/(u-c);return new t.Z(t.y.number(n[0]/a,i[0]/o,h)/this.worldSize,t.y.number(s,l,h)/this.worldSize)}coordinatePoint(e,r=0,n=this.pixelMatrix){let i=[e.x*this.worldSize,e.y*this.worldSize,r,1];return t.af(i,i,n),new t.P(i[0]/i[3],i[1]/i[3])}getBounds(){let e=Math.max(0,this.height/2-this.getHorizon());return new G().extend(this.pointLocation(new t.P(0,e))).extend(this.pointLocation(new t.P(this.width,e))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new G([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,85.051129])}calculateTileMatrix(e){let r=e.canonical,n=this.worldSize/this.zoomScale(r.z),i=r.x+Math.pow(2,r.z)*e.wrap,a=t.an(new Float64Array(16));return t.J(a,a,[i*n,r.y*n,0]),t.K(a,a,[n/t.X,n/t.X,1]),a}calculatePosMatrix(e,r=!1){let n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];let a=this.calculateTileMatrix(e);return t.L(a,r?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,a),i[n]=new Float32Array(a),i[n]}calculateFogMatrix(e){let r=e.key,n=this._fogMatrixCache;if(n[r])return n[r];let i=this.calculateTileMatrix(e);return t.L(i,this.fogMatrix,i),n[r]=new Float32Array(i),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,r){let n,i;r=t.ac(+r,this.minZoom,this.maxZoom);let a={center:new t.N(e.lng,e.lat),zoom:r},o=this.lngRange;this._renderWorldCopies||null!==o||(o=[-(180-1e-10),180-1e-10]);let s=this.tileSize*this.zoomScale(a.zoom),l=0,c=s,u=0,h=s,f=0,p=0,{x:d,y:m}=this.size;if(this.latRange){let e=this.latRange;l=t.Q(e[1])*s,(c=t.Q(e[0])*s)-lc&&(i=c-e)}if(o){let e=(u+h)/2,r=g;this._renderWorldCopies&&(r=t.b3(g,e-s/2,e+s/2));let i=d/2;r-ih&&(n=h-i)}if(void 0!==n||void 0!==i){let e=new t.P(null!=n?n:g,null!=i?i:y);a.center=this.unproject.call({worldSize:s},e).wrap()}return a}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:r}=this.getConstrained(this.center,this.zoom);this.center=t,this.zoom=r,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;let e=this.centerOffset,r=this.point.x,n=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b5(1,this.center.lat)*this.worldSize;let i=t.an(new Float64Array(16));t.K(i,i,[this.width/2,-this.height/2,1]),t.J(i,i,[1,-1,0]),this.labelPlaneMatrix=i,i=t.an(new Float64Array(16)),t.K(i,i,[1,-1,1]),t.J(i,i,[-1,-1,0]),t.K(i,i,[2/this.width,2/this.height,1]),this.glCoordMatrix=i;let a=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),o=Math.min(this.elevation,this.minElevationForCurrentTile),s=a-o*this._pixelPerMeter/Math.cos(this._pitch),l=o<0?s:a,c=Math.PI/2+this._pitch,u=this._fov*(.5+e.y/this.height),h=Math.sin(u)*l/Math.sin(t.ac(Math.PI-c-u,.01,Math.PI-.01)),f=this.getHorizon(),p=2*Math.atan(f/this.cameraToCenterDistance)*(.5+e.y/(2*f)),d=Math.min(h,Math.sin(p)*l/Math.sin(t.ac(Math.PI-c-p,.01,Math.PI-.01)));this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*d+l),this.nearZ=this.height/50,i=new Float64Array(16),t.b6(i,this._fov,this.width/this.height,this.nearZ,this.farZ),i[8]=-(2*e.x)/this.width,i[9]=2*e.y/this.height,this.projectionMatrix=t.ae(i),t.K(i,i,[1,-1,1]),t.J(i,i,[0,0,-this.cameraToCenterDistance]),t.b7(i,i,this._pitch),t.ad(i,i,this.angle),t.J(i,i,[-r,-n,0]),this.mercatorMatrix=t.K([],i,[this.worldSize,this.worldSize,this.worldSize]),t.K(i,i,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.L(new Float64Array(16),this.labelPlaneMatrix,i),t.J(i,i,[0,0,-this.elevation]),this.modelViewProjectionMatrix=i,this.invModelViewProjectionMatrix=t.as([],i),this.fogMatrix=new Float64Array(16),t.b6(this.fogMatrix,this._fov,this.width/this.height,a,this.farZ),this.fogMatrix[8]=-(2*e.x)/this.width,this.fogMatrix[9]=2*e.y/this.height,t.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),t.b7(this.fogMatrix,this.fogMatrix,this._pitch),t.ad(this.fogMatrix,this.fogMatrix,this.angle),t.J(this.fogMatrix,this.fogMatrix,[-r,-n,0]),t.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),t.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=t.L(new Float64Array(16),this.labelPlaneMatrix,i);let m=this.width%2/2,g=this.height%2/2,y=Math.cos(this.angle),v=Math.sin(this.angle),x=r-Math.round(r)+y*m+v*g,_=n-Math.round(n)+y*g+v*m,b=new Float64Array(i);if(t.J(b,b,[x>.5?x-1:x,_>.5?_-1:_,0]),this.alignedModelViewProjectionMatrix=b,!(i=t.as(new Float64Array(16),this.pixelMatrix)))throw Error("failed to invert matrix");this.pixelMatrixInverse=i,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let e=this.pointCoordinate(new t.P(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.af(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,e))}getCameraQueryGeometry(e){let r=this.getCameraPoint();if(1===e.length)return[e[0],r];{let n=r.x,i=r.y,a=r.x,o=r.y;for(let t of e)n=Math.min(n,t.x),i=Math.min(i,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y);return[new t.P(n,i),new t.P(a,i),new t.P(a,o),new t.P(n,o),new t.P(n,i)]}}lngLatToCameraDepth(e,r){let n=this.locationCoordinate(e),i=[n.x*this.worldSize,n.y*this.worldSize,r,1];return t.af(i,i,this.modelViewProjectionMatrix),i[2]/i[3]}}function rL(e,t){let r,n=!1,i=null,a=null,o=()=>{i=null,n&&(e.apply(a,r),i=setTimeout(o,t),n=!1)};return(...e)=>(n=!0,a=this,r=e,i||o(),i)}class rI{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map(e=>e.split("=")).forEach(e=>{e[0]===this._hashName&&(t=e)}),(t&&t[1]||"").split("/")}return e.split("/")},this._onHashChange=()=>{let e=this._getCurrentHash();if(e.length>=3&&!e.some(e=>isNaN(e))){let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,e)},this._removeHash=()=>{let e=this._getCurrentHash();if(0===e.length)return;let t=e.join("/"),r=t;r.split("&").length>0&&(r=r.split("&")[0]),this._hashName&&(r=`${this._hashName}=${t}`);let n=window.location.hash.replace(r,"");n.startsWith("#&")?n=n.slice(0,1)+n.slice(2):"#"===n&&(n="");let i=window.location.href.replace(/(#.+)?$/,n);i=i.replace("&&","&"),window.history.replaceState(window.history.state,null,i)},this._updateHash=rL(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){let t=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.pow(10,Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10)),i=Math.round(t.lng*n)/n,a=Math.round(t.lat*n)/n,o=this._map.getBearing(),s=this._map.getPitch(),l="";if(l+=e?`/${i}/${a}/${r}`:`${r}/${a}/${i}`,(o||s)&&(l+="/"+Math.round(10*o)/10),s&&(l+=`/${Math.round(s)}`),this._hashName){let e=this._hashName,t=!1,r=window.location.hash.slice(1).split("&").map(r=>{let n=r.split("=")[0];return n===e?(t=!0,`${n}=${l}`):r}).filter(e=>e);return t||r.push(`${e}=${l}`),`#${r.join("&")}`}return`#${l}`}}let rP={linearity:.3,easing:t.b8(0,0,.3,1)},rz=t.e({deceleration:2500,maxSpeed:1400},rP),rO=t.e({deceleration:20,maxSpeed:1400},rP),rD=t.e({deceleration:1e3,maxSpeed:360},rP),rR=t.e({deceleration:1e3,maxSpeed:90},rP);class rF{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:h.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=h.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let r={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)r.zoom+=e.zoomDelta||0,r.bearing+=e.bearingDelta||0,r.pitch+=e.pitchDelta||0,e.panDelta&&r.pan._add(e.panDelta),e.around&&(r.around=e.around),e.pinchAround&&(r.pinchAround=e.pinchAround);let n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(r.pan.mag()){let a=rB(r.pan.mag(),n,t.e({},rz,e||{}));i.offset=r.pan.mult(a.amount/r.pan.mag()),i.center=this._map.transform.center,rj(i,a)}if(r.zoom){let e=rB(r.zoom,n,rO);i.zoom=this._map.transform.zoom+e.amount,rj(i,e)}if(r.bearing){let e=rB(r.bearing,n,rD);i.bearing=this._map.transform.bearing+t.ac(e.amount,-179,179),rj(i,e)}if(r.pitch){let e=rB(r.pitch,n,rR);i.pitch=this._map.transform.pitch+e.amount,rj(i,e)}if(i.zoom||i.bearing){let e=void 0===r.pinchAround?r.around:r.pinchAround;i.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(i,{noMoveStart:!0})}}function rj(e,t){(!e.duration||e.durationr.unproject(e)),s=a.reduce((e,t,r,n)=>e.add(t.div(n.length)),new t.P(0,0));super(e,{points:a,point:s,lngLats:o,lngLat:r.unproject(s),originalEvent:n}),this._defaultPrevented=!1}}class rV extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,r){super(e,{originalEvent:r}),this._defaultPrevented=!1}}class rq{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new rV(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new rN(e.type,this._map,e))}mouseup(e){this._map.fire(new rN(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new rN(e.type,this._map,e))}dblclick(e){return this._firePreventable(new rN(e.type,this._map,e))}mouseover(e){this._map.fire(new rN(e.type,this._map,e))}mouseout(e){this._map.fire(new rN(e.type,this._map,e))}touchstart(e){return this._firePreventable(new rU(e.type,this._map,e))}touchmove(e){this._map.fire(new rU(e.type,this._map,e))}touchend(e){this._map.fire(new rU(e.type,this._map,e))}touchcancel(e){this._map.fire(new rU(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class rH{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new rN(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new rN("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new rN(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class rG{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.pointLocation(t.P.convert(e),this._map.terrain)}}class rZ{constructor(e,t){this._map=e,this._tr=new rG(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(f.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active||this._lastPos.equals(t)||!this._box&&t.dist(this._startPos)e.fitScreenCoordinates(n,r,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(f.remove(this._box),this._box=null),f.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,r){return this._map.fire(new t.k(e,{originalEvent:r}))}}function rW(e,t){if(e.length!==t.length)throw Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let r={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){let r=new t.P(0,0);for(let t of e)r._add(t);return r.div(e.length)}(r),this.touches=rW(n,r)))}touchmove(e,t,r){if(this.aborted||!this.centroid)return;let n=rW(r,t);for(let e in this.touches){let t=n[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,r){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class rX{constructor(e){this.singleTap=new rY(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,r){this.singleTap.touchstart(e,t,r)}touchmove(e,t,r){this.singleTap.touchmove(e,t,r)}touchend(e,t,r){let n=this.singleTap.touchend(e,t,r);if(n){let t=e.timeStamp-this.lastTime<500,r=!this.lastTap||30>this.lastTap.dist(n);if(t&&r||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class r${constructor(e){this._tr=new rG(e),this._zoomIn=new rX({numTouches:1,numTaps:2}),this._zoomOut=new rX({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,r){this._zoomIn.touchstart(e,t,r),this._zoomOut.touchstart(e,t,r)}touchmove(e,t,r){this._zoomIn.touchmove(e,t,r),this._zoomOut.touchmove(e,t,r)}touchend(e,t,r){let n=this._zoomIn.touchend(e,t,r),i=this._zoomOut.touchend(e,t,r),a=this._tr;return n?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(n)},{originalEvent:e})}):i?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class rJ{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=t.length?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let r=this._lastPoint;if(!r)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let n=t.length?t[0]:t;return!this._moved&&n.dist(r){e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=e=>{e.preventDefault()}},r2=({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>new rJ({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:new rQ({checkCorrectEvent:e=>0===f.mouseButton(e)&&e.ctrlKey||2===f.mouseButton(e)}),enable:e,assignEvents:r1}),r3=({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>new rJ({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:new rQ({checkCorrectEvent:e=>0===f.mouseButton(e)&&e.ctrlKey||2===f.mouseButton(e)}),enable:e,assignEvents:r1});class r5{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,t,r){return this._calculateTransform(e,t,r)}touchmove(e,t,r){if(this._active){if(!this._shouldBePrevented(r.length))return e.preventDefault(),this._calculateTransform(e,t,r);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e)}}touchend(e,t,r){this._calculateTransform(e,t,r),this._active&&this._shouldBePrevented(r.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,r,n){n.length>0&&(this._active=!0);let i=rW(n,r),a=new t.P(0,0),o=new t.P(0,0),s=0;for(let e in i){let t=i[e],r=this._touches[e];r&&(a._add(t),o._add(t.sub(r)),s++,i[e]=t)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;let l=o.div(s);return this._sum._add(l),this._sum.mag()Math.abs(r8(this._distance,this._startDistance))))return this._active=!0,{zoomDelta:r8(this._distance,r),pinchAround:t}}}function r9(e,t){return 180*e.angleWith(t)/Math.PI}class ne extends r4{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,t,r){let n=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:r9(this._vector,n),pinchAround:t}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());let t=25/(Math.PI*this._minDiameter)*360;return Math.abs(r9(e,this._startVector))Math.abs(e.x)}class nr extends r4{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,r){super.touchstart(e,t,r),this._currentTouchCount=r.length}_start(e){this._lastPoints=e,nt(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,r){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let n=e[0].sub(this._lastPoints[0]),i=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:-((n.y+i.y)/2*.5)}):void 0}gestureBeginsVertically(e,t,r){if(void 0!==this._valid)return this._valid;let n=e.mag()>=2,i=t.mag()>=2;if(!n&&!i)return;if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;let a=e.y>0==t.y>0;return nt(e)&&nt(t)&&a}}class nn{constructor(e){this._tr=new rG(e),this._panStep=100,this._bearingStep=15,this._pitchStep=10,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,r=0,n=0,i=0,a=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?r=-1:(e.preventDefault(),i=-1);break;case 39:e.shiftKey?r=1:(e.preventDefault(),i=1);break;case 38:e.shiftKey?n=1:(e.preventDefault(),a=-1);break;case 40:e.shiftKey?n=-1:(e.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(r=0,n=0),{cameraAnimation:o=>{let s=this._tr;o.easeTo({duration:300,easeId:"keyboardHandler",easing:ni,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+r*this._bearingStep,pitch:s.pitch+n*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function ni(e){return e*(2-e)}class na{constructor(e,t){this._onTimeout=e=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new rG(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,r=h.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==t&&t%4.000244140625==0?this._type="wheel":0!==t&&4>Math.abs(t)?this._type="trackpad":n>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=200>Math.abs(n*t)?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let r=f.mousePos(this._map.getCanvas(),e),n=this._tr;this._around=r.y>n.transform.height/2-n.transform.getHorizon()?t.N.convert(this._aroundCenter?n.center:n.unproject(r)):t.N.convert(n.center),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(0!==this._delta){let t="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==r&&(r=1/r);let n="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let r="number"==typeof this._targetZoom?this._targetZoom:e.zoom,n=this._startZoom,i=this._easing,a,o=!1,s=h.now()-this._lastWheelEventTime;if("wheel"===this._type&&n&&i&&s){let e=Math.min(s/200,1),l=i(e);a=t.y.number(n,r,l),e<1?this._frameId||(this._frameId=!0):o=!0}else a=r,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!o,zoomDelta:a-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let r=t.b9;if(this._prevEase){let e=this._prevEase,n=(h.now()-e.start)/e.duration,i=e.easing(n+.01)-e.easing(n),a=.27/Math.sqrt(i*i+1e-4)*.01;r=t.b8(a,Math.sqrt(.0729-a*a),.25,1)}return this._prevEase={start:h.now(),duration:e,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class no{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class ns{constructor(e){this._tr=new rG(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nl{constructor(){this._tap=new rX({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,r){if(!this._swipePoint){if(this._tapTime){let n=t[0],i=e.timeStamp-this._tapTime<500,a=30>this._tapPoint.dist(n);i&&a?r.length>0&&(this._swipePoint=n,this._swipeTouch=r[0].identifier):this.reset()}else this._tap.touchstart(e,t,r)}}touchmove(e,t,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;let n=t[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,e.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(e,t,r)}touchend(e,t,r){if(this._tapTime)this._swipePoint&&0===r.length&&this.reset();else{let n=this._tap.touchend(e,t,r);n&&(this._tapTime=e.timeStamp,this._tapPoint=n)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nc{constructor(e,t,r){this._el=e,this._mousePan=t,this._touchPan=r}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class nu{constructor(e,t,r){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class nh{constructor(e,t,r,n){this._el=e,this._touchZoom=t,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class nf{constructor(e,t){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=f.create("div","maplibregl-cooperative-gesture-screen",e);let t=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(t=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let r=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),n=document.createElement("div");n.className="maplibregl-desktop-message",n.textContent=t,this._container.appendChild(n);let i=document.createElement("div");i.className="maplibregl-mobile-message",i.textContent=r,this._container.appendChild(i),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(f.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,r){this._enabled&&(this._map.fire(new t.k("cooperativegestureprevented",{gestureType:e,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let np=e=>e.zoom||e.drag||e.pitch||e.rotate;class nd extends t.k{}function nm(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class ng{constructor(e,t){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,t)=>{if("blur"===e.type)return void this.stop(!0);this._updatingCamera=!0;let r="renderFrame"===e.type?void 0:e,n={needsRenderFrame:!1},i={},a={},o=e.touches,s=o?this._getMapTouches(o):void 0,l=s?f.touchPos(this._map.getCanvas(),s):f.mousePos(this._map.getCanvas(),e);for(let{handlerName:o,handler:c,allowed:u}of this._handlers){let h;c.isEnabled()&&(this._blockedByActive(a,u,o)?c.reset():c[t||e.type]&&(h=c[t||e.type](e,l,s),this.mergeHandlerResult(n,i,h,o,r),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||c.isActive())&&(a[o]=c))}let c={};for(let e in this._previousActiveHandlers)a[e]||(c[e]=r);this._previousActiveHandlers=a,(Object.keys(c).length||nm(n))&&(this._changes.push([n,i,c]),this._triggerRenderFrame()),(Object.keys(a).length||nm(n))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:u}=n;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new rF(e),this._bearingSnap=t.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(t);let r=this._el;for(let[e,t,n]of(this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]],this._listeners))f.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,n)}destroy(){for(let[e,t,r]of this._listeners)f.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(e){let t=this._map,r=t.getCanvasContainer();this._add("mapEvent",new rq(t,e));let n=t.boxZoom=new rZ(t,e);this._add("boxZoom",n),e.interactive&&e.boxZoom&&n.enable();let i=t.cooperativeGestures=new nf(t,e.cooperativeGestures);this._add("cooperativeGestures",i),e.cooperativeGestures&&i.enable();let a=new r$(t),o=new ns(t);t.doubleClickZoom=new no(o,a),this._add("tapZoom",a),this._add("clickZoom",o),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let s=new nl;this._add("tapDragZoom",s);let l=t.touchPitch=new nr(t);this._add("touchPitch",l),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let c=r2(e),u=r3(e);t.dragRotate=new nu(e,c,u),this._add("mouseRotate",c,["mousePitch"]),this._add("mousePitch",u,["mouseRotate"]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let h=(({enable:e,clickTolerance:t})=>new rJ({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:new rQ({checkCorrectEvent:e=>0===f.mouseButton(e)&&!e.ctrlKey}),enable:e,assignEvents:r1}))(e),p=new r5(e,t);t.dragPan=new nc(r,h,p),this._add("mousePan",h),this._add("touchPan",p,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let d=new ne,m=new r7;t.touchZoomRotate=new nh(r,m,d,s),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate);let g=t.scrollZoom=new na(t,()=>this._triggerRenderFrame());this._add("scrollZoom",g,["mousePan"]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let y=t.keyboard=new nn(t);this._add("keyboard",y),e.interactive&&e.keyboard&&t.keyboard.enable(),this._add("blockableMapEvent",new rH(t))}_add(e,t,r){this._handlers.push({handlerName:e,handler:t,allowed:r}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!np(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,r){for(let n in e)if(n!==r&&(!t||0>t.indexOf(n)))return!0;return!1}_getMapTouches(e){let t=[];for(let r of e)this._el.contains(r.target)&&t.push(r);return t}mergeHandlerResult(e,r,n,i,a){if(!n)return;t.e(e,n);let o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}_applyChanges(){let e={},r={},n={};for(let[i,a,o]of this._changes)i.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(i.panDelta)),i.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+i.pitchDelta),void 0!==i.around&&(e.around=i.around),void 0!==i.pinchAround&&(e.pinchAround=i.pinchAround),i.noInertia&&(e.noInertia=i.noInertia),t.e(r,a),t.e(n,o);this._updateMapTransform(e,r,n),this._changes=[]}_updateMapTransform(e,t,r){let n=this._map,i=n._getTransformForUpdate(),a=n.terrain;if(!(nm(e)||a&&this._terrainMovement))return this._fireEvents(t,r,!0);let{panDelta:o,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:u,pinchAround:h}=e;void 0!==h&&(u=h),n._stop(!0),u=u||n.transform.centerPoint;let f=i.pointLocation(o?u.sub(o):u);l&&(i.bearing+=l),c&&(i.pitch+=c),s&&(i.zoom+=s),a?!this._terrainMovement&&(t.drag||t.zoom)?(this._terrainMovement=!0,this._map._elevationFreeze=!0,i.setLocationAtPoint(f,u)):t.drag&&this._terrainMovement?i.center=i.pointLocation(i.centerPoint.sub(o)):i.setLocationAtPoint(f,u):i.setLocationAtPoint(f,u),n._applyUpdatedTransform(i),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,r,!0)}_fireEvents(e,r,n){let i;let a=np(this._eventsInProgress),o=np(e),s={};for(let t in e){let{originalEvent:r}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=r),this._eventsInProgress[t]=e[t]}for(let e in!a&&o&&this._fireEvent("movestart",o.originalEvent),s)this._fireEvent(e,s[e]);for(let t in o&&this._fireEvent("move",o.originalEvent),e){let{originalEvent:r}=e[t];this._fireEvent(t,r)}let l={};for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:n}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],i=r[t]||n,l[`${e}end`]=i)}for(let e in l)this._fireEvent(e,l[e]);let c=np(this._eventsInProgress),u=(a||o)&&!c;if(u&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let e=this._map._getTransformForUpdate();e.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(e)}if(n&&u){let e,r;this._updatingCamera=!0;let n=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions);n&&(n.essential||!h.prefersReducedMotion)?(0!==(e=n.bearing||this._map.getBearing())&&-this._bearingSnap{delete this._frameId,this.handleEvent(new nd("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class ny extends t.E{constructor(e,t){super(),this._renderFrameCallback=()=>{let e=Math.min((h.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=t.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new t.N(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(e,r,n){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},r),n)}panTo(e,r,n){return this.easeTo(t.e({center:e},r),n)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,r,n){return this.easeTo(t.e({zoom:e},r),n)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,r,n){return this.easeTo(t.e({bearing:e},r),n)}resetNorth(e,r){return this.rotateTo(0,t.e({duration:1e3},e),r),this}resetNorthPitch(e,r){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},e),r),this}snapToNorth(e,t){return Math.abs(this.getBearing()){if(this._zooming&&(o.zoom=t.y.number(s,x,n)),this._rotating&&(o.bearing=t.y.number(l,f,n)),this._pitching&&(o.pitch=t.y.number(c,p,n)),this._padding&&(o.interpolatePadding(u,d,n),g=o.centerPoint.add(m)),this.terrain&&!e.freezeElevation&&this._updateElevation(n),i)o.setLocationAtPoint(i,a);else{let e=o.zoomScale(o.zoom-s),t=Math.pow(x>s?Math.min(2,w):Math.max(.5,w),1-n),r=o.unproject(_.add(b.mult(n*t)).mult(e));o.setLocationAtPoint(o.renderWorldCopies?r.wrap():r,g)}this._applyUpdatedTransform(o),this._fireMoveEvents(r)},t=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r,t)},e),this}_prepareEase(e,r,n={}){this._moving=!0,r||n.moving||this.fire(new t.k("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.k("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.k("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&r!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(r-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=r}this.transform.elevation=t.y.number(this._elevationStart,this._elevationTarget,e)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(e){let t=e.getCameraPosition(),r=this.terrain.getElevationForLngLatZoom(t.lngLat,e.zoom);if(t.altitudethis._elevateCameraIfInsideTerrain(e)),this.transformCameraUpdate&&t.push(e=>this.transformCameraUpdate(e)),!t.length)return;let r=e.clone();for(let e of t){let t=r.clone(),{center:n,zoom:i,pitch:a,bearing:o,elevation:s}=e(t);n&&(t.center=n),void 0!==i&&(t.zoom=i),void 0!==a&&(t.pitch=a),void 0!==o&&(t.bearing=o),void 0!==s&&(t.elevation=s),r.apply(t)}this.transform.apply(r)}_fireMoveEvents(e){this.fire(new t.k("move",e)),this._zooming&&this.fire(new t.k("zoom",e)),this._rotating&&this.fire(new t.k("rotate",e)),this._pitching&&this.fire(new t.k("pitch",e))}_afterEase(e,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;let n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.k("zoomend",e)),i&&this.fire(new t.k("rotateend",e)),a&&this.fire(new t.k("pitchend",e)),this.fire(new t.k("moveend",e))}flyTo(e,r){var n;if(!e.essential&&h.prefersReducedMotion){let n=t.M(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,r)}this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b9},e);let i=this._getTransformForUpdate(),a=i.zoom,o=i.bearing,s=i.pitch,l=i.padding,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,f="padding"in e?e.padding:i.padding,p=t.P.convert(e.offset),d=i.centerPoint.add(p),m=i.pointLocation(d),{center:g,zoom:y}=i.getConstrained(t.N.convert(e.center||m),null!==(n=e.zoom)&&void 0!==n?n:a);this._normalizeCenter(g,i);let v=i.zoomScale(y-a),x=i.project(m),_=i.project(g).sub(x),b=e.curve,w=Math.max(i.width,i.height),T=w/v,k=_.mag();if("minZoom"in e){let r=t.ac(Math.min(e.minZoom,a,y),i.minZoom,i.maxZoom);b=Math.sqrt(w/i.zoomScale(r-a)/k*2)}let A=b*b;function M(e){let t=(T*T-w*w+(e?-1:1)*A*A*k*k)/(2*(e?T:w)*A*k);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function E(e){return(Math.exp(e)+Math.exp(-e))/2}let C=M(!1),L=function(e){return E(C)/E(C+b*e)},I=function(e){var t;return(E(C)*(S(t=C+b*e)/E(t))-S(C))/A*w/k},P=(M(!0)-C)/b;if(1e-6>Math.abs(k)||!isFinite(P)){if(1e-6>Math.abs(w-T))return this.easeTo(e,r);let t=T0,L=e=>Math.exp(t*b*e)}return e.duration="duration"in e?+e.duration:1e3*P/("screenSpeed"in e?+e.screenSpeed/b:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=o!==c,this._pitching=u!==s,this._padding=!i.isPaddingEqual(f),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(g),this._ease(n=>{let h=n*P,m=1/L(h);i.zoom=1===n?y:a+i.scaleZoom(m),this._rotating&&(i.bearing=t.y.number(o,c,n)),this._pitching&&(i.pitch=t.y.number(s,u,n)),this._padding&&(i.interpolatePadding(l,f,n),d=i.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(n);let v=1===n?g:i.unproject(x.add(_.mult(I(h))).mult(m));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,d),this._applyUpdatedTransform(i),this._fireMoveEvents(r)},()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){var r;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}return e||null===(r=this.handlers)||void 0===r||r.stop(!1),this}_ease(e,t,r){!1===r.animate||0===r.duration?(e(1),t()):(this._easeStart=h.now(),this._easeOptions=r,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,r){let n=Math.abs((e=t.b3(e,-180,180))-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.N.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}let nv={compact:!0,customAttribution:'MapLibre'};class nx{constructor(e=nv){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=e=>{e&&("metadata"===e.sourceDataType||"visibility"===e.sourceDataType||"style"===e.dataType||"terrain"===e.type)&&this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=f.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=f.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=f.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){f.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let r=this._map._getUIString(`AttributionControl.${t}`);e.title=r,e.setAttribute("aria-label",r)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(e=>"string"!=typeof e?"":e)):"string"==typeof this.options.customAttribution&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let r in t){let n=t[r];if(n.used||n.usedForTerrain){let t=n.getSource();t.attribution&&0>e.indexOf(t.attribution)&&e.push(t.attribution)}}(e=e.filter(e=>String(e).trim())).sort((e,t)=>e.length-t.length);let r=(e=e.filter((t,r)=>{for(let n=r+1;n=0)return!1;return!0})).join(" | ");r!==this._attribHTML&&(this._attribHTML=r,e.length?(this._innerContainer.innerHTML=r,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class n_{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add("maplibregl-compact"):t.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=f.create("div","maplibregl-ctrl");let t=f.create("a","maplibregl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://maplibre.org/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){f.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class nb{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning;for(let r of t?this._queue.concat(t):this._queue)if(r.id===e)return void(r.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw Error("Attempting to run(), but is already running.");let t=this._currentlyRunning=this._queue;for(let r of(this._queue=[],t))if(!r.cancelled&&(r.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var nw=t.Y([{name:"a_pos3d",type:"Int16",components:3}]);class nT extends t.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,r){this.sourceCache.update(e,r),this._renderableTilesKeys=[];let n={};for(let i of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),this._tiles[i.key]=new es(i,this.tileSize));for(let e in this._tiles)n[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let r=this._tiles[t];(!e||r.tileID.equals(e)||r.tileID.isChildOf(e)||e.isChildOf(r.tileID))&&(r.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){let r={};for(let n of this._renderableTilesKeys){let i=this._tiles[n].tileID;if(i.canonical.equals(e.canonical)){let i=e.clone();i.posMatrix=new Float64Array(16),t.aP(i.posMatrix,0,t.X,0,t.X,0,1),r[n]=i}else if(i.canonical.isChildOf(e.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=i.canonical.z-e.canonical.z,s=i.canonical.x-(i.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,c,0,c,0,1),t.J(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),r[n]=a}else if(e.canonical.isChildOf(i.canonical)){let a=e.clone();a.posMatrix=new Float64Array(16);let o=e.canonical.z-i.canonical.z,s=e.canonical.x-(e.canonical.x>>o<>o<>o;t.aP(a.posMatrix,0,t.X,0,t.X,0,1),t.J(a.posMatrix,a.posMatrix,[s*c,l*c,0]),t.K(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),r[n]=a}}return r}getSourceTile(e,t){let r=this.sourceCache._source,n=e.overscaledZ-this.deltaZoom;if(n>r.maxzoom&&(n=r.maxzoom),n=r.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(e.scaledTo(n--).key);return i}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter(t=>t.timeAdded>=e)}}class nk{constructor(e,t,r){this.painter=e,this.sourceCache=new nT(t),this.options=r,this.exaggeration="number"==typeof r.exaggeration?r.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,r,n,i=t.X){var a,o,s,l,c,u;if(!(r>=0&&r=0&&ne.canonical.z&&(e.canonical.z>=n?i=e.canonical.z-n:t.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let a=e.canonical.x-(e.canonical.x>>i<>i<>8<<4|e>>8,r[t+3]=0;let n=new S(e,new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),e.gl.RGBA,{premultiply:!1});return n.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let r=new Uint8Array(4),n=this.painter.context,i=n.gl,a=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,r),n.bindFramebuffer.set(null);let l=r[0]+(r[2]>>4<<8),c=r[1]+((15&r[2])<<8),u=this.coordsIndex[255-r[3]],h=u&&this.sourceCache.getTileByID(u);if(!h)return null;let f=this._coordsTextureSize,p=(1<e.id!==t),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw Error("No free RenderPool available, call freeAllObjects() required!");let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length!e.inUse)}}let nM={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class nS{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new nA(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){for(let r in this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(r=>!e._layers[r].isHidden(t)),this._coordsDescendingInv={},e.sourceCaches)for(let t of(this._coordsDescendingInv[r]={},e.sourceCaches[r].getVisibleCoordinates())){let e=this.terrain.sourceCache.getTerrainCoords(t);for(let t in e)this._coordsDescendingInv[r][t]||(this._coordsDescendingInv[r][t]=[]),this._coordsDescendingInv[r][t].push(e[t])}for(let t of(this._coordsDescendingInvStr={},e._order)){let r=e._layers[t],n=r.source;if(nM[r.type]&&!this._coordsDescendingInvStr[n])for(let e in this._coordsDescendingInvStr[n]={},this._coordsDescendingInv[n])this._coordsDescendingInvStr[n][e]=this._coordsDescendingInv[n][e].map(e=>e.key).sort().join()}for(let e of this._renderableTiles)for(let t in this._coordsDescendingInvStr){let r=this._coordsDescendingInvStr[t][e.tileID.key];r&&r!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;let r=e.type,n=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(nM[r]&&(this._prevType&&nM[this._prevType]||this._stacks.push([]),this._prevType=r,this._stacks[this._stacks.length-1].push(e.id),!i))return!0;if(nM[this._prevType]||nM[r]&&i){this._prevType=r;let e=this._stacks.length-1,i=this._stacks[e]||[];for(let r of this._renderableTiles){if(this.pool.isFull()&&(rT(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(r),r.rtt[e]){let t=this.pool.getObjectForId(r.rtt[e].id);if(t.stamp===r.rtt[e].stamp){this.pool.useObject(t);continue}}let a=this.pool.getOrCreateFreeObject();this.pool.useObject(a),this.pool.stampObject(a),r.rtt[e]={id:a.id,stamp:a.stamp},n.context.bindFramebuffer.set(a.fbo.framebuffer),n.context.clear({color:t.aM.transparent,stencil:0}),n.currentStencilSource=void 0;for(let e=0;e{e.touchstart=e.dragStart,e.touchmoveWindow=e.dragMove,e.touchend=e.dragEnd},nI={showCompass:!0,showZoom:!0,visualizePitch:!1};class nP{constructor(e,r,n=!1){this.mousedown=e=>{this.startMouse(t.e({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),f.mousePos(this.element,e)),f.addEventListener(window,"mousemove",this.mousemove),f.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=e=>{this.moveMouse(e,f.mousePos(this.element,e))},this.mouseup=e=>{this.mouseRotate.dragEnd(e),this.mousePitch&&this.mousePitch.dragEnd(e),this.offTemp()},this.touchstart=e=>{1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=f.touchPos(this.element,e.targetTouches)[0],this.startTouch(e,this._startPos),f.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),f.addEventListener(window,"touchend",this.touchend))},this.touchmove=e=>{1!==e.targetTouches.length?this.reset():(this._lastPos=f.touchPos(this.element,e.targetTouches)[0],this.moveTouch(e,this._lastPos))},this.touchend=e=>{0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let i=e.dragRotate._mouseRotate.getClickTolerance(),a=e.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=r2({clickTolerance:i,enable:!0}),this.touchRotate=(({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:r=.8})=>new rJ({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*r}),moveStateManager:new r0,enable:e,assignEvents:nL}))({clickTolerance:i,enable:!0}),this.map=e,n&&(this.mousePitch=r3({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:r=-.5})=>new rJ({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*r}),moveStateManager:new r0,enable:e,assignEvents:nL}))({clickTolerance:a,enable:!0})),f.addEventListener(r,"mousedown",this.mousedown),f.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),f.addEventListener(r,"touchcancel",this.reset)}startMouse(e,t){this.mouseRotate.dragStart(e,t),this.mousePitch&&this.mousePitch.dragStart(e,t),f.disableDrag()}startTouch(e,t){this.touchRotate.dragStart(e,t),this.touchPitch&&this.touchPitch.dragStart(e,t),f.disableDrag()}moveMouse(e,t){let r=this.map,{bearingDelta:n}=this.mouseRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.mousePitch){let{pitchDelta:n}=this.mousePitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}moveTouch(e,t){let r=this.map,{bearingDelta:n}=this.touchRotate.dragMove(e,t)||{};if(n&&r.setBearing(r.getBearing()+n),this.touchPitch){let{pitchDelta:n}=this.touchPitch.dragMove(e,t)||{};n&&r.setPitch(r.getPitch()+n)}}off(){let e=this.element;f.removeEventListener(e,"mousedown",this.mousedown),f.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),f.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),f.removeEventListener(window,"touchend",this.touchend),f.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){f.enableDrag(),f.removeEventListener(window,"mousemove",this.mousemove),f.removeEventListener(window,"mouseup",this.mouseup),f.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),f.removeEventListener(window,"touchend",this.touchend)}}function nz(e,r,n){let i=new t.N(e.lng,e.lat);if(e=new t.N(e.lng,e.lat),r){let i=new t.N(e.lng-360,e.lat),a=new t.N(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)180;){let t=n.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=n.width&&t.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e.lng!==i.lng&&n.locationPoint(e).y>n.height/2-n.getHorizon()?e:i}let nO={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function nD(e,t,r){let n=e.classList;for(let e in nO)n.remove(`maplibregl-${r}-anchor-${e}`);n.add(`maplibregl-${r}-anchor-${t}`)}class nR extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,r=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==r&&13!==r||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,r=this._element;this._popup&&(t===r||r.contains(t))&&this.togglePopup()},this._update=e=>{var t;if(!this._map)return;let r=this._map.loaded()&&!this._map.isMoving();"terrain"!==(null==e?void 0:e.type)&&("render"!==(null==e?void 0:e.type)||r)||this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?nz(this._lngLat,this._flatPos,this._map.transform):null===(t=this._lngLat)||void 0===t?void 0:t.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let n="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?n=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||e&&"moveend"!==e.type||(this._pos=this._pos.round()),f.setTransform(this._element,`${nO[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${n}`),h.frameAsync(new AbortController).then(()=>{this._updateOpacity(e&&"moveend"===e.type)}).catch(()=>{})},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.k("dragstart"))),this.fire(new t.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.k("dragend")),this._state="inactive"},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==e?void 0:e.opacity,null==e?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=f.create("div");let r=f.createNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height","41px"),r.setAttributeNS(null,"width","27px"),r.setAttributeNS(null,"viewBox","0 0 27 41");let n=f.createNS("http://www.w3.org/2000/svg","g");n.setAttributeNS(null,"stroke","none"),n.setAttributeNS(null,"stroke-width","1"),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"fill-rule","evenodd");let i=f.createNS("http://www.w3.org/2000/svg","g");i.setAttributeNS(null,"fill-rule","nonzero");let a=f.createNS("http://www.w3.org/2000/svg","g");for(let e of(a.setAttributeNS(null,"transform","translate(3.0, 29.0)"),a.setAttributeNS(null,"fill","#000000"),[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}])){let t=f.createNS("http://www.w3.org/2000/svg","ellipse");t.setAttributeNS(null,"opacity","0.04"),t.setAttributeNS(null,"cx","10.5"),t.setAttributeNS(null,"cy","5.80029008"),t.setAttributeNS(null,"rx",e.rx),t.setAttributeNS(null,"ry",e.ry),a.appendChild(t)}let o=f.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"fill",this._color);let s=f.createNS("http://www.w3.org/2000/svg","path");s.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),o.appendChild(s);let l=f.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"opacity","0.25"),l.setAttributeNS(null,"fill","#000000");let c=f.createNS("http://www.w3.org/2000/svg","path");c.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),l.appendChild(c);let u=f.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"transform","translate(6.0, 7.0)"),u.setAttributeNS(null,"fill","#FFFFFF");let h=f.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"transform","translate(8.0, 8.0)");let p=f.createNS("http://www.w3.org/2000/svg","circle");p.setAttributeNS(null,"fill","#000000"),p.setAttributeNS(null,"opacity","0.25"),p.setAttributeNS(null,"cx","5.5"),p.setAttributeNS(null,"cy","5.5"),p.setAttributeNS(null,"r","5.4999962");let d=f.createNS("http://www.w3.org/2000/svg","circle");d.setAttributeNS(null,"fill","#FFFFFF"),d.setAttributeNS(null,"cx","5.5"),d.setAttributeNS(null,"cy","5.5"),d.setAttributeNS(null,"r","5.4999962"),h.appendChild(p),h.appendChild(d),i.appendChild(a),i.appendChild(o),i.appendChild(l),i.appendChild(u),i.appendChild(h),r.appendChild(i),r.setAttributeNS(null,"height",41*this._scale+"px"),r.setAttributeNS(null,"width",27*this._scale+"px"),this._element.appendChild(r),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",e=>{e.preventDefault()}),this._element.addEventListener("mousedown",e=>{e.preventDefault()}),nD(this._element,this._anchor,"marker"),e&&e.className)for(let t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),f.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.N.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){let t=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered||e&&(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map))),this}_updateOpacity(e=!1){var r,n;if(!(null===(r=this._map)||void 0===r?void 0:r.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let i=this._map,a=i.terrain.depthAtPoint(this._pos),o=i.terrain.getElevationForLngLatZoom(this._lngLat,i.transform.tileZoom);if(i.transform.lngLatToCameraDepth(this._lngLat,o)-a<.006)return void(this._element.style.opacity=this._opacity);let s=-this._offset.y/i.transform._pixelPerMeter,l=Math.sin(i.getPitch()*Math.PI/180)*s,c=i.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),u=i.transform.lngLatToCameraDepth(this._lngLat,o+l)-c>.006;(null===(n=this._popup)||void 0===n?void 0:n.isOpen())&&u&&this._popup.remove(),this._element.style.opacity=u?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return void 0===e&&void 0===t&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==e&&(this._opacity=e),void 0!==t&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let nF={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},nj=0,nB=!1,nN={maxWidth:100,unit:"metric"};function nU(e,t,r){let n=r&&r.maxWidth||100,i=e._container.clientHeight/2,a=e.unproject([0,i]),o=e.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){let r=3.2808*s;r>5280?nV(t,n,r/5280,e._getUIString("ScaleControl.Miles")):nV(t,n,r,e._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?nV(t,n,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?nV(t,n,s/1e3,e._getUIString("ScaleControl.Kilometers")):nV(t,n,s,e._getUIString("ScaleControl.Meters"))}function nV(e,t,r,n){let i=function(e){let t=Math.pow(10,`${Math.floor(e)}`.length-1),r=e/t;return t*(r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(e){let t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(r))}(r);e.style.width=i/r*t+"px",e.innerHTML=`${i} ${n}`}let nq={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1};e.AJAXError=t.bh,e.Evented=t.E,e.LngLat=t.N,e.MercatorCoordinate=t.Z,e.Point=t.P,e.addProtocol=t.bi,e.config=t.a,e.removeProtocol=t.bj,e.AttributionControl=nx,e.BoxZoomHandler=rZ,e.CanvasSource=ee,e.CooperativeGesturesHandler=nf,e.DoubleClickZoomHandler=no,e.DragPanHandler=nc,e.DragRotateHandler=nu,e.EdgeInsets=rE,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{var e;let t=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(e=null==t?void 0:t.shadowRoot)||void 0===e?void 0:e.fullscreenElement;)t=t.shadowRoot.fullscreenElement;t===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=f.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){f.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=f.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);f.create("span","maplibregl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new t.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=$,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{let r=new t.N(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.e({bearing:i},this.options.fitBoundsOptions),o=G.fromLngLat(r,n);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let r=new t.N(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(this.options.trackUserLocation){if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&nB)return;this._setErrorState()}}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",e=>e.preventDefault()),this._geolocateButton=f.create("button","maplibregl-ctrl-geolocate",this._container),f.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(!1===e){t.w("Geolocation support is not available so the GeolocateControl will be disabled.");let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{let e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=f.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new nR({element:this._dotElement}),this._circleElement=f.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new nR({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new t.k("trackuserlocationend")),this.fire(new t.k("userlocationlostfocus")))})}},this.options=t.e({},nF,e)}onAdd(e){return this._map=e,this._container=f.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),(function(){return t._(this,arguments,void 0,function*(e=!1){if(void 0!==l&&!e)return l;if(void 0===window.navigator.permissions)return l=!!window.navigator.geolocation;try{let e=yield window.navigator.permissions.query({name:"geolocation"});l="denied"!==e.state}catch(e){l=!!window.navigator.geolocation}return l})})().then(e=>this._finishSetupUI(e)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),f.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,nj=0,nB=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),r=e.coords;return t&&(r.longitudet.getEast()||r.latitudet.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let e=this._map.getBounds(),t=e.getSouthEast(),r=e.getNorthEast(),n=t.distanceTo(r),i=Math.ceil(this._accuracy/(n/this._map._container.clientHeight)*2);this._circleElement.style.width=`${i}px`,this._circleElement.style.height=`${i}px`}trigger(){if(!this._setup)return t.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":nj--,nB=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new t.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.k("trackuserlocationstart")),this.fire(new t.k("userlocationfocus"));break;default:throw Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++nj>1?(e={maximumAge:6e5,timeout:0},nB=!0):(e=this.options.positionOptions,nB=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},e.Hash=rI,e.ImageSource=K,e.KeyboardHandler=nn,e.LngLatBounds=G,e.LogoControl=n_,e.Map=class extends ny{constructor(e){t.bf.mark(t.bg.create);let r=Object.assign(Object.assign({},nC),e);if(null!=r.minZoom&&null!=r.maxZoom&&r.minZoom>r.maxZoom)throw Error("maxZoom must be greater than or equal to minZoom");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw Error("maxPitch must be greater than or equal to minPitch");if(null!=r.minPitch&&r.minPitch<0)throw Error("minPitch must be greater than or equal to 0");if(null!=r.maxPitch&&r.maxPitch>85)throw Error("maxPitch must be less than or equal to 85");if(super(new rC(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies),{bearingSnap:r.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new nb,this._controls=[],this._mapId=t.a4(),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k("webglcontextlost",{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k("webglcontextrestored",{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===r.preserveDrawingBuffer,this._antialias=!0===r.antialias,this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},nE),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this.transformCameraUpdate=r.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=b.addThrottleControl(()=>this.isMoving()),this._requestManager=new x(r.transformRequest),"string"==typeof r.container){if(this._container=document.getElementById(r.container),!this._container)throw Error(`Container '${r.container}' not found.`)}else{if(!(r.container instanceof HTMLElement))throw Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=r.container}if(r.maxBounds&&this.setMaxBounds(r.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)).on("moveend",()=>this._update(!1)).on("zoom",()=>this._update(!0)).on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once("idle",()=>{this._idleTriggered=!0}),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let e=!1,t=rL(e=>{this._trackResize&&!this._removed&&(this.resize(e),this.redraw())},50);this._resizeObserver=new ResizeObserver(r=>{e?t(r):e=!0}),this._resizeObserver.observe(this._container)}this.handlers=new ng(this,r),this._hash=r.hash&&new rI("string"==typeof r.hash&&r.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,t.e({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new nx("boolean"==typeof r.attributionControl?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new n_,r.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",e=>{this._update("style"===e.dataType),this.fire(new t.k(`${e.dataType}data`,e))}),this.on("dataloading",e=>{this.fire(new t.k(`${e.dataType}dataloading`,e))}),this.on("dataabort",e=>{this.fire(new t.k("sourcedataabort",e))})}_getMapId(){return this._mapId}addControl(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.j(Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let n=e.onAdd(this);this._controls.push(e);let i=this._controlPositions[r];return -1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.j(Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,r,n){return null==n&&this.terrain&&(n=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,r,n)}resize(e){var r;let n=this._containerDimensions(),i=n[0],a=n[1],o=this._getClampedPixelRatio(i,a);if(this._resizeCanvas(i,a,o),this.painter.resize(i,a,o),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(i,a);this._resizeCanvas(i,a,t),this.painter.resize(i,a,t)}this.transform.resize(i,a),null===(r=this._requestedCameraState)||void 0===r||r.resize(i,a);let s=!this._moving;return s&&(this.stop(),this.fire(new t.k("movestart",e)).fire(new t.k("move",e))),this.fire(new t.k("resize",e)),s&&this.fire(new t.k("moveend",e)),this}_getClampedPixelRatio(e,t){let{0:r,1:n}=this._maxCanvasSize,i=this.getPixelRatio(),a=e*i,o=t*i;return Math.min(a>r?r/a:1,o>n?n/o:1)*i}getPixelRatio(){var e;return null!==(e=this._overridePixelRatio)&&void 0!==e?e:devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(G.convert(e)),this._update()}setMinZoom(e){if((e=null==e?-2:e)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=null==e?0:e)<0)throw Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()85)throw Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this._update()}project(e){return this.transform.locationPoint(t.N.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.P.convert(e),this.terrain)}isMoving(){var e;return this._moving||(null===(e=this.handlers)||void 0===e?void 0:e.isMoving())}isZooming(){var e;return this._zooming||(null===(e=this.handlers)||void 0===e?void 0:e.isZooming())}isRotating(){var e;return this._rotating||(null===(e=this.handlers)||void 0===e?void 0:e.isRotating())}_createDelegatedListener(e,t,r){if("mouseenter"===e||"mouseover"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter(e=>this.getLayer(e)),o=0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[];o.length?n||(n=!0,r.call(this,new rN(e,this,i.originalEvent,{features:o}))):n=!1},mouseout:()=>{n=!1}}}}if("mouseleave"===e||"mouseout"===e){let n=!1;return{layers:t,listener:r,delegates:{mousemove:i=>{let a=t.filter(e=>this.getLayer(e));(0!==a.length?this.queryRenderedFeatures(i.point,{layers:a}):[]).length?n=!0:n&&(n=!1,r.call(this,new rN(e,this,i.originalEvent)))},mouseout:t=>{n&&(n=!1,r.call(this,new rN(e,this,t.originalEvent)))}}}}return{layers:t,listener:r,delegates:{[e]:e=>{let n=t.filter(e=>this.getLayer(e)),i=0!==n.length?this.queryRenderedFeatures(e.point,{layers:n}):[];i.length&&(e.features=i,r.call(this,e),delete e.features)}}}}_saveDelegatedListener(e,t){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(t)}_removeDelegatedListener(e,t,r){if(!this._delegatedListeners||!this._delegatedListeners[e])return;let n=this._delegatedListeners[e];for(let e=0;et.includes(e))){for(let e in i.delegates)this.off(e,i.delegates[e]);return void n.splice(e,1)}}}on(e,t,r){if(void 0===r)return super.on(e,t);let n=this._createDelegatedListener(e,"string"==typeof t?[t]:t,r);for(let t in this._saveDelegatedListener(e,n),n.delegates)this.on(t,n.delegates[t]);return this}once(e,t,r){if(void 0===r)return super.once(e,t);let n="string"==typeof t?[t]:t,i=this._createDelegatedListener(e,n,r);for(let t in i.delegates){let a=i.delegates[t];i.delegates[t]=(...t)=>{this._removeDelegatedListener(e,n,r),a(...t)}}for(let t in this._saveDelegatedListener(e,i),i.delegates)this.once(t,i.delegates[t]);return this}off(e,t,r){return void 0===r?super.off(e,t):(this._removeDelegatedListener(e,"string"==typeof t?[t]:t,r),this)}queryRenderedFeatures(e,r){let n;if(!this.style)return[];let i=e instanceof t.P||Array.isArray(e),a=i?e:[[0,0],[this.transform.width,this.transform.height]];if(r=r||(i?{}:e)||{},a instanceof t.P||"number"==typeof a[0])n=[t.P.convert(a)];else{let e=t.P.convert(a[0]),r=t.P.convert(a[1]);n=[e,new t.P(r.x,e.y),r,new t.P(e.x,r.y),e]}return this.style.queryRenderedFeatures(n,r,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,r){return!1!==(r=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(null==t)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(e,t));let r=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new eQ(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof e?this.style.loadURL(e,t,r):this.style.loadJSON(e,t,r)):delete this.style,this}_lazyInitEmptyStyle(){this.style||(this.style=new eQ(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,r){if("string"==typeof e){let n=this._requestManager.transformRequest(e,"Style");t.h(n,new AbortController).then(e=>{this._updateDiff(e.data,r)}).catch(e=>{e&&this.fire(new t.j(e))})}else"object"==typeof e&&this._updateDiff(e,r)}_updateDiff(e,r){try{this.style.setState(e,r)&&this._update(!0)}catch(n){t.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(e,r)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w("There is no style added to the map.")}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.j(Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),e){let r=this.style.sourceCaches[e.source];if(!r)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);for(let n in null===this.terrain&&r.reload(),this.style._layers){let r=this.style._layers[n];"hillshade"===r.type&&r.source===e.source&&t.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new nk(this.painter,r,e),this.painter.renderToTexture=new nS(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=t=>{"style"===t.dataType?this.terrain.sourceCache.freeRtt():"source"===t.dataType&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(t.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new t.k("terrain",{terrain:e})),this}getTerrain(){var e,t;return null!==(t=null===(e=this.terrain)||void 0===e?void 0:e.options)&&void 0!==t?t:null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let r=e[t]._tiles;for(let e in r){let t=r[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(e,r,n={}){let{pixelRatio:i=1,sdf:a=!1,stretchX:o,stretchY:s,content:l,textFitWidth:c,textFitHeight:u}=n;if(this._lazyInitEmptyStyle(),!(r instanceof HTMLImageElement||t.b(r))){if(void 0===r.width||void 0===r.height)return this.fire(new t.j(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:n,height:h,data:f}=r;return this.style.addImage(e,{data:new t.R({width:n,height:h},new Uint8Array(f)),pixelRatio:i,stretchX:o,stretchY:s,content:l,textFitWidth:c,textFitHeight:u,sdf:a,version:0,userImage:r}),r.onAdd&&r.onAdd(this,e),this}}{let{width:n,height:f,data:p}=h.getImageData(r);this.style.addImage(e,{data:new t.R({width:n,height:f},p),pixelRatio:i,stretchX:o,stretchY:s,content:l,textFitWidth:c,textFitHeight:u,sdf:a,version:0})}}updateImage(e,r){let n=this.style.getImage(e);if(!n)return this.fire(new t.j(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:i,height:a,data:o}=r instanceof HTMLImageElement||t.b(r)?h.getImageData(r):r;if(void 0===i||void 0===a)return this.fire(new t.j(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(i!==n.data.width||a!==n.data.height)return this.fire(new t.j(Error("The width and height of the updated image must be that same as the previous version of the image")));let s=!(r instanceof HTMLImageElement||t.b(r));return n.data.replace(o,s),this.style.updateImage(e,n),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.j(Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return b.getImage(this._requestManager.transformRequest(e,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,r){return this.style.setLayerZoomRange(e,t,r),this._update(!0)}setFilter(e,t,r={}){return this.style.setFilter(e,t,r),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,r,n={}){return this.style.setPaintProperty(e,t,r,n),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,r,n={}){return this.style.setLayoutProperty(e,t,r,n),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,r,e=>{e||this._update(!0)}),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,e=>{e||this._update(!0)}),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(e){return this._lazyInitEmptyStyle(),this.style.setSky(e),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add("maplibregl-map");let t=this._canvasContainer=f.create("div","maplibregl-canvas-container",e);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=f.create("canvas","maplibregl-canvas",t),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");let r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);let i=this._controlContainer=f.create("div","maplibregl-control-container",e),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(e=>{a[e]=f.create("div",`maplibregl-ctrl-${e} `,i)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,t,r){this._canvas.width=Math.floor(r*e),this._canvas.height=Math.floor(r*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},t=null;this._canvas.addEventListener("webglcontextcreationerror",r=>{t={requestedAttributes:e},r&&(t.statusMessage=r.statusMessage,t.type=r.type)},{once:!0});let r=this._canvas.getContext("webgl2",e)||this._canvas.getContext("webgl",e);if(!r){let e="Failed to initialize WebGL";throw t?(t.message=e,Error(JSON.stringify(t))):Error(e)}this.painter=new rA(r,this.transform),p.testSupport(r)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded&&(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint()),this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let r=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,i=h.now();this.style.zoomHistory.update(e,i);let a=new t.z(e,{now:i,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),o=a.crossFadingFactor();1===o&&o===this._crossFadingFactor||(n=!0,this._crossFadingFactor=o),this.style.update(a)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,r,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding}),this.fire(new t.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.bf.mark(t.bg.load),this.fire(new t.k("load"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let i=this._sourcesDirty||this._styleDirty||this._placementDirty;return i||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k("idle")),!this._loaded||this._fullyLoaded||i||(this._fullyLoaded=!0,t.bf.mark(t.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var e;for(let e of(this._hash&&this._hash.remove(),this._controls))e.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),b.removeThrottleControl(this._imageQueueHandle),null===(e=this._resizeObserver)||void 0===e||e.disconnect();let r=this.painter.context.gl.getExtension("WEBGL_lose_context");(null==r?void 0:r.loseContext)&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),f.remove(this._canvasContainer),f.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),t.bf.clearMetrics(),this._removed=!0,this.fire(new t.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,h.frameAsync(this._frameRequest).then(e=>{t.bf.frame(e),this._frameRequest=null,this._render(e)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return u}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=rN,e.MapTouchEvent=rU,e.MapWheelEvent=rV,e.Marker=nR,e.NavigationControl=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),r=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",t.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())},this._rotateCompassArrow=()=>{let e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=e},this._setButtonTitle=(e,t)=>{let r=this._map._getUIString(`NavigationControl.${t}`);e.title=r,e.setAttribute("aria-label",r)},this.options=t.e({},nI,e),this._container=f.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),f.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),f.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=f.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new nP(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){f.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(e,t){let r=f.create("button",e,this._container);return r.type="button",r.addEventListener("click",t),r}},e.Popup=class extends t.E{constructor(e){super(),this.remove=()=>(this._content&&f.remove(this._content),this._container&&(f.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new t.k("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var r;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=f.create("div","maplibregl-popup",this._map.getContainer()),this._tip=f.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(" "))this._container.classList.add(e);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?nz(this._lngLat,this._flatPos,this._map.transform):null===(r=this._lngLat)||void 0===r?void 0:r.wrap(),this._trackPointer&&!e)return;let n=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let i=this.options.anchor,a=function e(r){if(r){if("number"==typeof r){let e=Math.round(Math.abs(r)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,r),"top-left":new t.P(e,e),"top-right":new t.P(-e,e),bottom:new t.P(0,-r),"bottom-left":new t.P(e,-e),"bottom-right":new t.P(-e,-e),left:new t.P(r,0),right:new t.P(-r,0)}}if(r instanceof t.P||Array.isArray(r)){let e=t.P.convert(r);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:t.P.convert(r.center||[0,0]),top:t.P.convert(r.top||[0,0]),"top-left":t.P.convert(r["top-left"]||[0,0]),"top-right":t.P.convert(r["top-right"]||[0,0]),bottom:t.P.convert(r.bottom||[0,0]),"bottom-left":t.P.convert(r["bottom-left"]||[0,0]),"bottom-right":t.P.convert(r["bottom-right"]||[0,0]),left:t.P.convert(r.left||[0,0]),right:t.P.convert(r.right||[0,0])}}return e(new t.P(0,0))}(this.options.offset);if(!i){let e;let t=this._container.offsetWidth,r=this._container.offsetHeight;e=n.y+a.bottom.ythis._map.transform.height-r?["bottom"]:[],n.xthis._map.transform.width-t/2&&e.push("right"),i=0===e.length?"bottom":e.join("-")}let o=n.add(a[i]);this.options.subpixelPositioning||(o=o.round()),f.setTransform(this._container,`${nO[i]} translate(${o.x}px,${o.y}px)`),nD(this._container,i,"popup")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(nq),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new t.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.N.convert(e),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t;let r=document.createDocumentFragment(),n=document.createElement("body");for(n.innerHTML=e;t=n.firstChild;)r.appendChild(t);return this.setDOMContent(r)}getMaxWidth(){var e;return null===(e=this._container)||void 0===e?void 0:e.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=f.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){return this._container&&this._container.classList.add(e),this}removeClassName(e){return this._container&&this._container.classList.remove(e),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=f.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let e=this._container.querySelector("a[href], [tabindex]:not([tabindex='-1']), [contenteditable]:not([contenteditable='false']), button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])");e&&e.focus()}},e.RasterDEMTileSource=X,e.RasterTileSource=Y,e.ScaleControl=class{constructor(e){this._onMove=()=>{nU(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,nU(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},nN),e)}getDefaultPosition(){return"bottom-left"}onAdd(e){return this._map=e,this._container=f.create("div","maplibregl-ctrl maplibregl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){f.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},e.ScrollZoomHandler=na,e.Style=eQ,e.TerrainControl=class{constructor(e){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=e}onAdd(e){return this._map=e,this._container=f.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=f.create("button","maplibregl-ctrl-terrain",this._container),f.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){f.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=nr,e.TwoFingersTouchRotateHandler=ne,e.TwoFingersTouchZoomHandler=r7,e.TwoFingersTouchZoomRotateHandler=nh,e.VectorTileSource=W,e.VideoSource=Q,e.addSourceType=(e,r)=>t._(void 0,void 0,void 0,function*(){if(er(e))throw Error(`A source type called "${e}" already exists.`);et[e]=r}),e.clearPrewarmedResources=function(){let e=a;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(F),a=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return eo().getRTLTextPluginStatus()},e.getVersion=function(){return u},e.getWorkerCount=function(){return j.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return V().broadcast("IS",e)},e.prewarm=function(){N().acquire(F)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return eo().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){j.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}}),e},"object"==typeof e&&void 0!==t?t.exports=n():(r="undefined"!=typeof globalThis?globalThis:r||self).maplibregl=n()}}),vl=ed({"src/plots/map/layers.js"(e,t){var r=tQ(),n=rl().sanitizeHTML,i=vt(),a=y4();function o(e,t){this.subplot=e,this.uid=e.uid+"-"+t,this.index=t,this.idSource="source-"+this.uid,this.idLayer=a.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var n=0;n0}function c(e){var t={},n={};switch(e.type){case"circle":r.extendFlat(n,{"circle-radius":e.circle.radius,"circle-color":e.color,"circle-opacity":e.opacity});break;case"line":r.extendFlat(n,{"line-width":e.line.width,"line-color":e.color,"line-opacity":e.opacity,"line-dasharray":e.line.dash});break;case"fill":r.extendFlat(n,{"fill-color":e.color,"fill-outline-color":e.fill.outlinecolor,"fill-opacity":e.opacity});break;case"symbol":var a=e.symbol,o=i(a.textposition,a.iconsize);r.extendFlat(t,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":a.placement}),r.extendFlat(n,{"icon-color":e.color,"text-color":a.textfont.color,"text-opacity":e.opacity});break;case"raster":r.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":e.opacity})}return{layout:t,paint:n}}s.update=function(e){this.visible?this.needsNewImage(e)?this.updateImage(e):this.needsNewSource(e)?(this.removeLayer(),this.updateSource(e),this.updateLayer(e)):this.needsNewLayer(e)?this.updateLayer(e):this.updateStyle(e):(this.updateSource(e),this.updateLayer(e)),this.visible=l(e)},s.needsNewImage=function(e){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===e.sourcetype&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))},s.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type},s.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},s.updateImage=function(e){this.subplot.map.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var t=this.findFollowingMapLayerId(this.lookupBelow());null!==t&&this.subplot.map.moveLayer(this.idLayer,t)},s.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,l(e)){var r,i,a,o,s=(i=e.sourcetype,a=e.source,o={type:i},"geojson"===i?r="data":"vector"===i?r="string"==typeof a?"url":"tiles":"raster"===i?(r="tiles",o.tileSize=256):"image"===i&&(r="url",o.coordinates=e.coordinates),o[r]=a,e.sourceattribution&&(o.attribution=n(e.sourceattribution)),o);t.addSource(this.idSource,s)}},s.findFollowingMapLayerId=function(e){if("traces"===e)for(var t=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&m(t.originalEvent,n,[r.xaxis],[r.yaxis],r.id,e),i.indexOf("event")>-1&&l.click(n,t.originalEvent)}}},x.updateFx=function(e){var t,r=this,i=r.map,a=r.gd;if(!r.isStatic){var o=e.dragmode;t=function(e,t){t.isRect?(e.range={})[r.id]=[c([t.xmin,t.ymin]),c([t.xmax,t.ymax])]:(e.lassoPoints={})[r.id]=t.map(c)};var l=r.dragOptions;r.dragOptions=n.extendDeep(l||{},{dragmode:e.dragmode,element:r.div,gd:a,plotinfo:{id:r.id,domain:e[r.id].domain,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:t},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id}),i.off("click",r.onClickInPanHandler),h(o)||u(o)?(i.dragPan.disable(),i.on("zoomstart",r.clearOutline),r.dragOptions.prepFn=function(e,t,n){f(e,t,n,r.dragOptions,o)},s.init(r.dragOptions)):(i.dragPan.enable(),i.off("zoomstart",r.clearOutline),r.div.onmousedown=null,r.div.ontouchstart=null,r.div.removeEventListener("touchstart",r.div._ontouchstart),r.onClickInPanHandler=r.onClickInPanFn(r.dragOptions),i.on("click",r.onClickInPanHandler))}function c(e){var t=r.map.unproject(e);return[t.lng,t.lat]}},x.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+"px",n.height=r.h*(t.y[1]-t.y[0])+"px",n.left=r.l+t.x[0]*r.w+"px",n.top=r.t+(1-t.y[1])*r.h+"px",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])},x.updateLayers=function(e){var t,r=e[this.id].layers,n=this.layerList;if(r.length!==n.length){for(t=0;tv/2){var x=d.split("|").join("
");g.text(x).attr("data-unformatted",x).call(l.convertToTspans,e),y=s.bBox(g.node())}g.attr("transform",r(-3,-y.height+8)),m.insert("rect",".static-attribution").attr({x:-y.width-6,y:-y.height-3,width:y.width+6,height:y.height+3,fill:"rgba(255, 255, 255, 0.75)"});var _=1;y.width+6>v&&(_=v/(y.width+6));var b=[c.l+c.w*f.x[1],c.t+c.h*(1-f.y[0])];m.attr("transform",r(b[0],b[1])+n(_))}},e.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots.map,n=0;n=0;r--)e.removeLayer(t[r][1])},o.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,i=new a(e,n.uid),o=i.sourceId,s=r(t),l=i.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),t[0].trace._glTrace=i,i}}}),vv=ed({"src/traces/choroplethmap/index.js"(e,t){t.exports={attributes:vd(),supplyDefaults:vm(),colorbar:oR(),calc:dd(),plot:vy(),hoverPoints:dy(),eventData:dv(),selectPoints:dx(),styleOnSelect:function(e,t){t&&t[0].trace._glTrace.updateOnSelect(t)},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water")){for(var a=n+1;a0?+p[t]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=a.extractOpts(l),b=_.reversescale?a.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,1>i.opacity(w)?w:i.addOpacity(w,0)];for(t=1;t=0;r--)e.removeLayer(t[r][1])},a.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)},t.exports=function(e,t){var n=t[0].trace,a=new i(e,n.uid),o=a.sourceId,s=r(t),l=a.below=e.belowLookup["trace-"+n.uid];return e.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}}}),vA=ed({"src/traces/densitymap/hover.js"(e,t){var r=rB(),n=vi().hoverPoints,i=vi().getExtraText;t.exports=function(e,t,a){var o=n(e,t,a);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=r.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=i(c,u,l[0].t.labels),[s]}}}}),vM=ed({"src/traces/densitymap/event_data.js"(e,t){t.exports=function(e,t){return e.lon=t.lon,e.lat=t.lat,e.z=t.z,e}}}),vS=ed({"src/traces/densitymap/index.js"(e,t){t.exports={attributes:v_(),supplyDefaults:vb(),colorbar:oR(),formatLabels:ve(),calc:vw(),plot:vk(),hoverPoints:vA(),eventData:vM(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;na(f.paper_bgcolor).getLuminance(),k=w("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(e){var t=a(e);if(!t.isValid())return e;var r=t.getAlpha();return r<=.8?t.setAlpha(r+.2):t=T?t.brighten():t.darken(),t.toRgbString()}w("hovercolor",Array.isArray(k)?k.map(A):A(k)),w("customdata"),c(_,b,{name:"colorscales",handleItemDefaults:u}),o(t,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),y.x.length&&y.y.length&&(d="freeform"),p("arrangement",d),r.coerceFont(p,"textfont",f.font,{autoShadowDflt:!0}),t._length=null}}}),vI=ed({"node_modules/strongly-connected-components/scc.js"(e,t){t.exports=function(e){for(var t,r=e.length,n=Array(r),i=Array(r),a=Array(r),o=Array(r),s=Array(r),l=Array(r),c=0;c0;){var p=e[t=c[c.length-1]];if(o[t]=0&&l[t].push(s[m])}o[t]=d}else{if(i[t]===n[t]){for(var g=[],y=[],v=0,d=r.length-1;d>=0;--d){var x=r[d];if(a[x]=!1,g.push(x),y.push(l[x]),v+=l[x].length,s[x]=h.length,x===t){r.length=d;break}}h.push(g);for(var _=Array(v),d=0;d_&&(_=c.source[t]),c.target[t]>_&&(_=c.target[t]);var b=_+1;e.node._count=b;var w=e.node.groups,T={};for(t=0;t0&&o(C,b)&&o(L,b))||T.hasOwnProperty(C)&&T.hasOwnProperty(L)&&T[C]===T[L])){T.hasOwnProperty(L)&&(L=T[L]),T.hasOwnProperty(C)&&(C=T[C]),L=+L,d[C=+C]=d[L]=!0;var I="";c.label&&c.label[t]&&(I=c.label[t]);var P=null;I&&m.hasOwnProperty(I)&&(P=m[I]),u.push({pointNumber:t,label:I,color:h?c.color[t]:c.color,hovercolor:f?c.hovercolor[t]:c.hovercolor,customdata:p?c.customdata[t]:c.customdata,concentrationscale:P,source:C,target:L,value:+E}),S.source.push(C),S.target.push(L)}}var z=b+w.length,O=a(l.color),D=a(l.customdata),R=[];for(t=0;tb-1,childrenNodes:[],pointNumber:t,label:F,color:O?l.color[t]:l.color,customdata:D?l.customdata[t]:l.customdata})}var j=!1;return function(e,t,i){for(var a=n.init2dArray(e,0),o=0;o1})}(z,S.source,S.target)&&(j=!0),{circular:j,links:u,nodes:R,groups:w,groupLookup:T}}(t);return i({circular:l.circular,_nodes:l.nodes,_links:l.links,_groups:l.groups,_groupLookup:l.groupLookup})}}}),vz=ed({"node_modules/d3-quadtree/dist/d3-quadtree.js"(e,t){var r;r=e,function(e){function t(e,t,r,n){if(isNaN(t)||isNaN(r))return e;var i,a,o,s,l,c,u,h,f,p=e._root,d={data:n},m=e._x0,g=e._y0,y=e._x1,v=e._y1;if(!p)return e._root=d,e;for(;p.length;)if((c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o,i=p,!(p=p[h=u<<1|c]))return i[h]=d,e;if(s=+e._x.call(null,p.data),l=+e._y.call(null,p.data),t===s&&r===l)return d.next=p,i?i[h]=d:e._root=d,e;do i=i?i[h]=[,,,,]:e._root=[,,,,],(c=t>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o;while((h=u<<1|c)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,e}function r(e,t,r,n,i){this.node=e,this.x0=t,this.y0=r,this.x1=n,this.y1=i}function n(e){return e[0]}function i(e){return e[1]}function a(e,t,r){var a=new o(null==t?n:t,null==r?i:r,NaN,NaN,NaN,NaN);return null==e?a:a.addAll(e)}function o(e,t,r,n,i,a){this._x=e,this._y=t,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(e){for(var t={data:e.data},r=t;e=e.next;)r=r.next={data:e.data};return t}var l=a.prototype=o.prototype;l.copy=function(){var e,t,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(e=[{source:n,target:r._root=[,,,,]}];n=e.pop();)for(var i=0;i<4;++i)(t=n.source[i])&&(t.length?e.push({source:t,target:n.target[i]=[,,,,]}):n.target[i]=s(t));return r},l.add=function(e){var r=+this._x.call(null,e),n=+this._y.call(null,e);return t(this.cover(r,n),r,n,e)},l.addAll=function(e){var r,n,i,a,o=e.length,s=Array(o),l=Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;nh&&(h=i),af&&(f=a));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),n=0;ne||e>=i||n>t||t>=a;)switch(s=(tp)&&!((o=c.y0)>d)&&!((s=c.x1)=v)<<1|e>=y)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=e-+this._x.call(null,g.data),_=t-+this._y.call(null,g.data),b=x*x+_*_;if(b=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+y)/2))?m=l:y=l,t=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(t[h+1&3]||t[h+2&3]||t[h+3&3])&&(r=t,f=h)}for(;p.data!==e;)if(n=p,!(p=p.next))return this;return((i=p.next)&&delete p.next,n)?i?n.next=i:delete n.next:t?(i?t[h]=i:delete t[h],(p=t[0]||t[1]||t[2]||t[3])&&p===(t[3]||t[2]||t[1]||t[0])&&!p.length&&(r?r[f]=p:this._root=p)):this._root=i,this},l.removeAll=function(e){for(var t=0,r=e.length;t=l.length)return null!=e&&n.sort(e),null!=t?t(n):n;for(var s,c,h,f=-1,p=n.length,d=l[i++],m=r(),g=a();++fl.length)return r;var i,a=c[n-1];return null!=t&&n>=l.length?i=r.entries():(i=[],r.each(function(t,r){i.push({key:r,values:e(t,n)})})),null!=a?i.sort(function(e,t){return a(e.key,t.key)}):i}(u(e,0,a,o),0)},key:function(e){return l.push(e),s},sortKeys:function(e){return c[l.length-1]=e,s},sortValues:function(t){return e=t,s},rollup:function(e){return t=e,s}}},e.set=c,e.map=r,e.keys=function(e){var t=[];for(var r in e)t.push(r);return t},e.values=function(e){var t=[];for(var r in e)t.push(e[r]);return t},e.entries=function(e){var t=[];for(var r in e)t.push({key:r,value:e[r]});return t},Object.defineProperty(e,"__esModule",{value:!0})})("object"==typeof e&&void 0!==t?e:e.d3=e.d3||{})}}),vD=ed({"node_modules/d3-dispatch/dist/d3-dispatch.js"(e,t){var r;r=e,function(e){var t={value:function(){}};function r(){for(var e,t=0,r=arguments.length,i={};t=0&&(t=e.slice(r+1),e=e.slice(0,r)),e&&!n.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),o=-1,s=a.length;if(arguments.length<2){for(;++o0)for(var r,n,i=Array(r),a=0;a=0&&r._call.call(null,e),r=r._next;--n}function g(){s=(o=c.now())+l,n=i=0;try{m()}finally{n=0,function(){for(var e,n,i=t,a=1/0;i;)i._call?(a>i._time&&(a=i._time),e=i,i=i._next):(n=i._next,i._next=null,i=e?e._next=n:t=n);r=e,v(a)}(),s=0}}function y(){var e=c.now(),t=e-o;t>1e3&&(l-=t,o=e)}function v(e){!n&&(i&&(i=clearTimeout(i)),e-s>24?(e<1/0&&(i=setTimeout(g,e-c.now()-l)),a&&(a=clearInterval(a))):(a||(o=c.now(),a=setInterval(y,1e3)),n=1,u(g)))}p.prototype=d.prototype={constructor:p,restart:function(e,n,i){if("function"!=typeof e)throw TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:t=this,r=this),this._call=e,this._time=i,v()},stop:function(){this._call&&(this._call=null,this._time=1/0,v())}},e.interval=function(e,t,r){var n=new p,i=t;return null==t?n.restart(e,t,r):(t=+t,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=t,r),e(o)},t,r)),n},e.now=h,e.timeout=function(e,t,r){var n=new p;return t=null==t?0:+t,n.restart(function(r){n.stop(),e(r+t)},t,r),n},e.timer=d,e.timerFlush=m,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&void 0!==t?e:(r=r||self).d3=r.d3||{})}}),vF=ed({"node_modules/d3-force/dist/d3-force.js"(e,t){var r;r=function(e,t,r,n,i){function a(e){return function(){return e}}function o(){return(Math.random()-.5)*1e-6}function s(e){return e.x+e.vx}function l(e){return e.y+e.vy}function c(e){return e.index}function u(e,t){var r=e.get(t);if(!r)throw Error("missing: "+t);return r}function h(e){return e.x}function f(e){return e.y}var p=Math.PI*(3-Math.sqrt(5));e.forceCenter=function(e,t){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;nu.index){var h=f-s.x-s.vx,g=p-s.y-s.vy,y=h*h+g*g;yf+c||np+c||ae.r&&(e.r=e[t].r)}function f(){if(r){var t,i,a=r.length;for(t=0,n=Array(a);t=c)){(e.data!==r||e.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d1?(null==r?u.remove(e):u.set(e,y(r)),t):u.get(e)},find:function(t,r,n){var i,a,o,s,l,c=0,u=e.length;for(null==n?n=1/0:n*=n,c=0;c1?(f.on(e,r),t):f.on(e)}}},e.forceX=function(e){var t,r,n,i=a(.1);function o(e){for(var i,a=0,o=t.length;a1e-6){if(Math.abs(h*l-c*u)>1e-6&&a){var p=n-o,d=i-s,m=l*l+c*c,g=Math.sqrt(m),y=Math.sqrt(f),v=a*Math.tan((t-Math.acos((m+f-(p*p+d*d))/(2*g*y)))/2),x=v/y,_=v/g;Math.abs(x-1)>1e-6&&(this._+="L"+(e+x*u)+","+(r+x*h)),this._+="A"+a+","+a+",0,0,"+ +(h*p>u*d)+","+(this._x1=e+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=e)+","+(this._y1=r)}},arc:function(e,i,a,o,s,l){e=+e,i=+i,a=+a,l=!!l;var c=a*Math.cos(o),u=a*Math.sin(o),h=e+c,f=i+u,p=1^l,d=l?o-s:s-o;if(a<0)throw Error("negative radius: "+a);null===this._x1?this._+="M"+h+","+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+h+","+f),a&&(d<0&&(d=d%r+r),d>n?this._+="A"+a+","+a+",0,1,"+p+","+(e-c)+","+(i-u)+"A"+a+","+a+",0,1,"+p+","+(this._x1=h)+","+(this._y1=f):d>1e-6&&(this._+="A"+a+","+a+",0,"+ +(d>=t)+","+p+","+(this._x1=e+a*Math.cos(s))+","+(this._y1=i+a*Math.sin(s))))},rect:function(e,t,r,n){this._+="M"+(this._x0=this._x1=+e)+","+(this._y0=this._y1=+t)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},e.path=a,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof e&&void 0!==t?e:(r=r||self).d3=r.d3||{})}}),vB=ed({"node_modules/d3-shape/dist/d3-shape.js"(e,t){var r,n;r=e,n=function(e,t){function r(e){return function(){return e}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=Math.PI,h=u/2,f=2*u;function p(e){return e>=1?h:e<=-1?-h:Math.asin(e)}function d(e){return e.innerRadius}function m(e){return e.outerRadius}function g(e){return e.startAngle}function y(e){return e.endAngle}function v(e){return e&&e.padAngle}function x(e,t,r,n,i,a,s){var l=e-r,u=t-n,h=(s?a:-a)/c(l*l+u*u),f=h*u,p=-h*l,d=e+f,m=t+p,g=r+f,y=n+p,v=(d+g)/2,x=(m+y)/2,_=g-d,b=y-m,w=_*_+b*b,T=i-a,k=d*y-g*m,A=(b<0?-1:1)*c(o(0,T*T*w-k*k)),M=(k*b-_*A)/w,S=(-k*_-b*A)/w,E=(k*b+_*A)/w,C=(-k*_+b*A)/w,L=M-v,I=S-x,P=E-v,z=C-x;return L*L+I*I>P*P+z*z&&(M=E,S=C),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(i/T-1),y11:S*(i/T-1)}}function _(e){this._context=e}function b(e){return new _(e)}function w(e){return e[0]}function T(e){return e[1]}function k(){var e=w,n=T,i=r(!0),a=null,o=b,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==a&&(s=o(u=t.path())),l=0;l<=h;++l)!(l=h;--f)c.point(y[f],v[f]);c.lineEnd(),c.areaEnd()}}g&&(y[u]=+e(p,u,r),v[u]=+i(p,u,r),c.point(n?+n(p,u,r):y[u],a?+a(p,u,r):v[u]))}if(d)return c=null,d+""||null}function h(){return k().defined(o).curve(l).context(s)}return u.x=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),n=null,u):e},u.x0=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),u):e},u.x1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:r(+e),u):n},u.y=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),a=null,u):i},u.y0=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),u):i},u.y1=function(e){return arguments.length?(a=null==e?null:"function"==typeof e?e:r(+e),u):a},u.lineX0=u.lineY0=function(){return h().x(e).y(i)},u.lineY1=function(){return h().x(e).y(a)},u.lineX1=function(){return h().x(n).y(i)},u.defined=function(e){return arguments.length?(o="function"==typeof e?e:r(!!e),u):o},u.curve=function(e){return arguments.length?(l=e,null!=s&&(c=l(s)),u):l},u.context=function(e){return arguments.length?(null==e?s=c=null:c=l(s=e),u):s},u}function M(e,t){return te?1:t>=e?0:NaN}function S(e){return e}_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var E=L(b);function C(e){this._curve=e}function L(e){function t(t){return new C(e(t))}return t._curve=e,t}function I(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(L(e)):t()._curve},e}function P(){return I(k().curve(E))}function z(){var e=A().curve(E),t=e.curve,r=e.lineX0,n=e.lineX1,i=e.lineY0,a=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return I(r())},delete e.lineX0,e.lineEndAngle=function(){return I(n())},delete e.lineX1,e.lineInnerRadius=function(){return I(i())},delete e.lineY0,e.lineOuterRadius=function(){return I(a())},delete e.lineY1,e.curve=function(e){return arguments.length?t(L(e)):t()._curve},e}function O(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}C.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),-(t*Math.cos(e)))}};var D=Array.prototype.slice;function R(e){return e.source}function F(e){return e.target}function j(e){var n=R,i=F,a=w,o=T,s=null;function l(){var r,l=D.call(arguments),c=n.apply(this,l),u=i.apply(this,l);if(s||(s=r=t.path()),e(s,+a.apply(this,(l[0]=c,l)),+o.apply(this,l),+a.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(e){return arguments.length?(n=e,l):n},l.target=function(e){return arguments.length?(i=e,l):i},l.x=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),l):a},l.y=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),l):o},l.context=function(e){return arguments.length?(s=null==e?null:e,l):s},l}function B(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t=(t+n)/2,r,t,i,n,i)}function N(e,t,r,n,i){e.moveTo(t,r),e.bezierCurveTo(t,r=(r+i)/2,n,r,n,i)}function U(e,t,r,n,i){var a=O(t,r),o=O(t,r=(r+i)/2),s=O(n,r),l=O(n,i);e.moveTo(a[0],a[1]),e.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var V={draw:function(e,t){var r=Math.sqrt(t/u);e.moveTo(r,0),e.arc(0,0,r,0,f)}},q={draw:function(e,t){var r=Math.sqrt(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},H=Math.sqrt(1/3),G=2*H,Z={draw:function(e,t){var r=Math.sqrt(t/G),n=r*H;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},W=Math.sin(u/10)/Math.sin(7*u/10),Y=Math.sin(f/10)*W,X=-Math.cos(f/10)*W,$={draw:function(e,t){var r=Math.sqrt(.8908130915292852*t),n=Y*r,i=X*r;e.moveTo(0,-r),e.lineTo(n,i);for(var a=1;a<5;++a){var o=f*a/5,s=Math.cos(o),l=Math.sin(o);e.lineTo(l*r,-s*r),e.lineTo(s*n-l*i,l*n+s*i)}e.closePath()}},J={draw:function(e,t){var r=Math.sqrt(t),n=-r/2;e.rect(n,n,r,r)}},K=Math.sqrt(3),Q={draw:function(e,t){var r=-Math.sqrt(t/(3*K));e.moveTo(0,2*r),e.lineTo(-K*r,-r),e.lineTo(K*r,-r),e.closePath()}},ee=Math.sqrt(3)/2,et=1/Math.sqrt(12),er=(et/2+1)*3,en={draw:function(e,t){var r=Math.sqrt(t/er),n=r/2,i=r*et,a=r*et+r,o=-n;e.moveTo(n,i),e.lineTo(n,a),e.lineTo(o,a),e.lineTo(-.5*n-ee*i,ee*n+-.5*i),e.lineTo(-.5*n-ee*a,ee*n+-.5*a),e.lineTo(-.5*o-ee*a,ee*o+-.5*a),e.lineTo(-.5*n+ee*i,-.5*i-ee*n),e.lineTo(-.5*n+ee*a,-.5*a-ee*n),e.lineTo(-.5*o+ee*a,-.5*a-ee*o),e.closePath()}},ei=[V,q,Z,J,$,Q,en];function ea(){}function eo(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function es(e){this._context=e}function el(e){this._context=e}function ec(e){this._context=e}function eu(e,t){this._basis=new es(e),this._beta=t}es.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:eo(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:eo(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},el.prototype={areaStart:ea,areaEnd:ea,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:eo(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},ec.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:eo(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},eu.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,r=e.length-1;if(r>0)for(var n,i=e[0],a=t[0],o=e[r]-i,s=t[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*e[l]+(1-this._beta)*(i+n*o),this._beta*t[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var eh=function e(t){function r(e){return 1===t?new es(e):new eu(e,t)}return r.beta=function(t){return e(+t)},r}(.85);function ef(e,t,r){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-r),e._x2,e._y2)}function ep(e,t){this._context=e,this._k=(1-t)/6}ep.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:ef(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:ef(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ed=function e(t){function r(e){return new ep(e,t)}return r.tension=function(t){return e(+t)},r}(0);function em(e,t){this._context=e,this._k=(1-t)/6}em.prototype={areaStart:ea,areaEnd:ea,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:ef(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var eg=function e(t){function r(e){return new em(e,t)}return r.tension=function(t){return e(+t)},r}(0);function ey(e,t){this._context=e,this._k=(1-t)/6}ey.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ef(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ev=function e(t){function r(e){return new ey(e,t)}return r.tension=function(t){return e(+t)},r}(0);function ex(e,t,r){var n=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);n=(n*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>1e-12){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*c+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*c+e._y1*e._l23_2a-r*e._l12_2a)/u}e._context.bezierCurveTo(n,i,a,o,e._x2,e._y2)}function e_(e,t){this._context=e,this._alpha=t}e_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:ex(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var eb=function e(t){function r(e){return t?new e_(e,t):new ep(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function ew(e,t){this._context=e,this._alpha=t}ew.prototype={areaStart:ea,areaEnd:ea,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:ex(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var eT=function e(t){function r(e){return t?new ew(e,t):new em(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function ek(e,t){this._context=e,this._alpha=t}ek.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var r=this._x2-e,n=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ex(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var eA=function e(t){function r(e){return t?new ek(e,t):new ey(e,0)}return r.alpha=function(t){return e(+t)},r}(.5);function eM(e){this._context=e}function eS(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0);return((a<0?-1:1)+(o<0?-1:1))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs((a*i+o*n)/(n+i)))||0}function eE(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function eC(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-n)/3;e._context.bezierCurveTo(n+s,i+s*t,a-s,o-s*r,a,o)}function eL(e){this._context=e}function eI(e){this._context=new eP(e)}function eP(e){this._context=e}function ez(e){this._context=e}function eO(e){var t,r,n=e.length-1,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(t=0,a[n-1]=(e[n]+i[n-1])/2;t1)for(var r,n,i,a=1,o=e[t[0]],s=o.length;a=0;)r[t]=t;return r}function ej(e,t){return e[t]}function eB(e){var t=e.map(eN);return eF(e).sort(function(e,r){return t[e]-t[r]})}function eN(e){for(var t,r=-1,n=0,i=e.length,a=-1/0;++ra&&(a=t,n=r);return n}function eU(e){var t=e.map(eV);return eF(e).sort(function(e,r){return t[e]-t[r]})}function eV(e){for(var t,r=0,n=-1,i=e.length;++n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}}this._x=e,this._y=t}},e.arc=function(){var e=d,o=m,_=r(0),b=null,w=g,T=y,k=v,A=null;function M(){var r,d,m=+e.apply(this,arguments),g=+o.apply(this,arguments),y=w.apply(this,arguments)-h,v=T.apply(this,arguments)-h,M=n(v-y),S=v>y;if(A||(A=r=t.path()),g1e-12){if(M>f-1e-12)A.moveTo(g*a(y),g*l(y)),A.arc(0,0,g,y,v,!S),m>1e-12&&(A.moveTo(m*a(v),m*l(v)),A.arc(0,0,m,v,y,S));else{var E,C,L=y,I=v,P=y,z=v,O=M,D=M,R=k.apply(this,arguments)/2,F=R>1e-12&&(b?+b.apply(this,arguments):c(m*m+g*g)),j=s(n(g-m)/2,+_.apply(this,arguments)),B=j,N=j;if(F>1e-12){var U=p(F/m*l(R)),V=p(F/g*l(R));(O-=2*U)>1e-12?(U*=S?1:-1,P+=U,z-=U):(O=0,P=z=(y+v)/2),(D-=2*V)>1e-12?(V*=S?1:-1,L+=V,I-=V):(D=0,L=I=(y+v)/2)}var q=g*a(L),H=g*l(L),G=m*a(z),Z=m*l(z);if(j>1e-12){var W,Y=g*a(I),X=g*l(I),$=m*a(P),J=m*l(P);if(M1?0:K<-1?u:Math.acos(K))/2),ei=c(W[0]*W[0]+W[1]*W[1]);B=s(j,(m-ei)/(en-1)),N=s(j,(g-ei)/(en+1))}}D>1e-12?N>1e-12?(E=x($,J,q,H,g,N,S),C=x(Y,X,G,Z,g,N,S),A.moveTo(E.cx+E.x01,E.cy+E.y01),N1e-12&&O>1e-12?B>1e-12?(E=x(G,Z,Y,X,m,-B,S),C=x(q,H,$,J,m,-B,S),A.lineTo(E.cx+E.x01,E.cy+E.y01),B0&&(d+=h);for(null!=t?m.sort(function(e,r){return t(g[e],g[r])}):null!=n&&m.sort(function(e,t){return n(r[e],r[t])}),s=0,c=d?(v-p*_)/d:0;s0?h*c:0)+_,g[l]={data:r[l],index:s,value:h,startAngle:y,endAngle:u,padAngle:x};return g}return s.value=function(t){return arguments.length?(e="function"==typeof t?t:r(+t),s):e},s.sortValues=function(e){return arguments.length?(t=e,n=null,s):t},s.sort=function(e){return arguments.length?(n=e,t=null,s):n},s.startAngle=function(e){return arguments.length?(i="function"==typeof e?e:r(+e),s):i},s.endAngle=function(e){return arguments.length?(a="function"==typeof e?e:r(+e),s):a},s.padAngle=function(e){return arguments.length?(o="function"==typeof e?e:r(+e),s):o},s},e.pointRadial=O,e.radialArea=z,e.radialLine=P,e.stack=function(){var e=r([]),t=eF,n=eR,i=ej;function a(r){var a,o,s=e.apply(this,arguments),l=r.length,c=s.length,u=Array(c);for(a=0;a0)for(var r,n,i,a,o,s,l=0,c=e[t[0]].length;l0?(n[0]=a,n[1]=a+=i):i<0?(n[1]=o,n[0]=o+=i):(n[0]=0,n[1]=i)},e.stackOffsetExpand=function(e,t){if((n=e.length)>0){for(var r,n,i,a=0,o=e[0].length;a0){for(var r,n=0,i=e[t[0]],a=i.length;n0&&(n=(r=e[t[0]]).length)>0){for(var r,n,i,a=0,o=1;on.indexOf(e.target)&&n.push(e.target)})});for(r=t.nodes,n=[],a=0;r.length;++a,r=n,n=[])r.forEach(function(e){e.height=a,e.targetLinks.forEach(function(e){0>n.indexOf(e.source)&&n.push(e.source)})});var r,n,a,o=(i-e-x)/(a-1);t.nodes.forEach(function(t){t.x1=(t.x0=e+Math.max(0,Math.min(a-1,Math.floor(w.call(null,t,a))))*o)+x})}(a),function(e){var i,a,o,s=r.nest().key(function(e){return e.x0}).sortKeys(t.ascending).entries(e.nodes).map(function(e){return e.values});i=t.max(s,function(e){return e.length}),_>(a=M*(v-n)/(i-1))&&(_=a),o=t.min(s,function(e){return(v-n-(e.length-1)*_)/t.sum(e,u)}),s.forEach(function(e){e.forEach(function(e,t){e.y1=(e.y0=t)+e.value*o})}),e.links.forEach(function(e){e.width=e.value*o}),m();for(var l=1,d=A;d>0;--d)(function(e){s.slice().reverse().forEach(function(r){r.forEach(function(r){if(r.sourceLinks.length){var n=(t.sum(r.sourceLinks,p)/t.sum(r.sourceLinks,u)-h(r))*e;r.y0+=n,r.y1+=n}})})})(l*=.99),m(),function(e){s.forEach(function(r){r.forEach(function(r){if(r.targetLinks.length){var n=(t.sum(r.targetLinks,f)/t.sum(r.targetLinks,u)-h(r))*e;r.y0+=n,r.y1+=n}})})}(l),m();function m(){s.forEach(function(e){var t,r,i,a=n,o=e.length;for(e.sort(c),i=0;i0&&(t.y0+=r,t.y1+=r),a=t.y1+_;if((r=a-_-v)>0)for(a=t.y0-=r,t.y1-=r,i=o-2;i>=0;--i)(r=(t=e[i]).y1+_-a)>0&&(t.y0-=r,t.y1-=r),a=t.y0})}}(a,A),E(a),a}function E(e){e.nodes.forEach(function(e){e.sourceLinks.sort(l),e.targetLinks.sort(s)}),e.nodes.forEach(function(e){var t=e.y0,r=t;e.sourceLinks.forEach(function(e){e.y0=t+e.width/2,t+=e.width}),e.targetLinks.forEach(function(e){e.y1=r+e.width/2,r+=e.width})})}return S.update=function(e){return E(e),e},S.nodeId=function(e){return arguments.length?(b="function"==typeof e?e:o(e),S):b},S.nodeAlign=function(e){return arguments.length?(w="function"==typeof e?e:o(e),S):w},S.nodeWidth=function(e){return arguments.length?(x=+e,S):x},S.nodePadding=function(e){return arguments.length?(_=+e,S):_},S.nodes=function(e){return arguments.length?(T="function"==typeof e?e:o(e),S):T},S.links=function(e){return arguments.length?(k="function"==typeof e?e:o(e),S):k},S.size=function(t){return arguments.length?(e=n=0,i=+t[0],v=+t[1],S):[i-e,v-n]},S.extent=function(t){return arguments.length?(e=+t[0][0],i=+t[1][0],n=+t[0][1],v=+t[1][1],S):[[e,n],[i,v]]},S.iterations=function(e){return arguments.length?(A=+e,S):A},S},e.sankeyCenter=function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?t.min(e.sourceLinks,i)-1:0},e.sankeyLeft=function(e){return e.depth},e.sankeyRight=function(e,t){return t-1-e.height},e.sankeyJustify=a,e.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(v).target(x)},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof e&&void 0!==t?r(e,dt(),vO(),vB()):r(e.d3=e.d3||{},e.d3,e.d3,e.d3)}}),vU=ed({"node_modules/elementary-circuits-directed-graph/johnson.js"(e,t){var r=vI();t.exports=function(e,t){var n,i=[],a=[],o=[],s={},l=[];n=0;for(var c=e.length;n=t})}(t);for(var n,i=r(e).components.filter(function(e){return e.length>1}),a=1/0,o=0;o1)&&!(i>1)}function k(e,t,r){return e.sort(M),e.forEach(function(n,i){var a=0;if(B(n,r)&&T(n))n.circularPathData.verticalBuffer=a+n.width/2;else{for(var o,s,l=0;ls.source.column)){var c=e[l].circularPathData.verticalBuffer+e[l].width/2+t;a=c>a?c:a}n.circularPathData.verticalBuffer=a+n.width/2}}),e}function A(e,r,i,a){var o=t.min(e.links,function(e){return e.source.y0});e.links.forEach(function(e){e.circular&&(e.circularPathData={})}),k(e.links.filter(function(e){return"top"==e.circularLinkType}),r,a),k(e.links.filter(function(e){return"bottom"==e.circularLinkType}),r,a),e.links.forEach(function(t){if(t.circular){if(t.circularPathData.arcRadius=t.width+10,t.circularPathData.leftNodeBuffer=5,t.circularPathData.rightNodeBuffer=5,t.circularPathData.sourceWidth=t.source.x1-t.source.x0,t.circularPathData.sourceX=t.source.x0+t.circularPathData.sourceWidth,t.circularPathData.targetX=t.target.x0,t.circularPathData.sourceY=t.y0,t.circularPathData.targetY=t.y1,B(t,a)&&T(t))t.circularPathData.leftSmallArcRadius=10+t.width/2,t.circularPathData.leftLargeArcRadius=10+t.width/2,t.circularPathData.rightSmallArcRadius=10+t.width/2,t.circularPathData.rightLargeArcRadius=10+t.width/2,"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=t.source.y1+25+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=t.source.y0-25-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius);else{var s=t.source.column,l=t.circularLinkType,c=e.links.filter(function(e){return e.source.column==s&&e.circularLinkType==l});"bottom"==t.circularLinkType?c.sort(E):c.sort(S);var u=0;c.forEach(function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.leftSmallArcRadius=10+t.width/2+u,t.circularPathData.leftLargeArcRadius=10+t.width/2+n*r+u),u+=e.width}),s=t.target.column,c=e.links.filter(function(e){return e.target.column==s&&e.circularLinkType==l}),"bottom"==t.circularLinkType?c.sort(L):c.sort(C),u=0,c.forEach(function(e,n){e.circularLinkID==t.circularLinkID&&(t.circularPathData.rightSmallArcRadius=10+t.width/2+u,t.circularPathData.rightLargeArcRadius=10+t.width/2+n*r+u),u+=e.width}),"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=Math.max(i,t.source.y1,t.target.y1)+25+t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius):(t.circularPathData.verticalFullExtent=o-25-t.circularPathData.verticalBuffer,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius)}t.circularPathData.leftInnerExtent=t.circularPathData.sourceX+t.circularPathData.leftNodeBuffer,t.circularPathData.rightInnerExtent=t.circularPathData.targetX-t.circularPathData.rightNodeBuffer,t.circularPathData.leftFullExtent=t.circularPathData.sourceX+t.circularPathData.leftLargeArcRadius+t.circularPathData.leftNodeBuffer,t.circularPathData.rightFullExtent=t.circularPathData.targetX-t.circularPathData.rightLargeArcRadius-t.circularPathData.rightNodeBuffer}if(t.circular)t.path="top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY;else{var h=n.linkHorizontal().source(function(e){return[e.source.x0+(e.source.x1-e.source.x0),e.y0]}).target(function(e){return[e.target.x0,e.y1]});t.path=h(t)}})}function M(e,t){return I(e)==I(t)?"bottom"==e.circularLinkType?E(e,t):S(e,t):I(t)-I(e)}function S(e,t){return e.y0-t.y0}function E(e,t){return t.y0-e.y0}function C(e,t){return e.y1-t.y1}function L(e,t){return t.y1-e.y1}function I(e){return e.target.column-e.source.column}function P(e){return e.target.x0-e.source.x1}function z(e,t){var r=b(e),n=P(t)/Math.tan(r);return"up"==j(e)?e.y1+n:e.y1-n}function O(e,t){var r=b(e),n=P(t)/Math.tan(r);return"up"==j(e)?e.y1-n:e.y1+n}function D(e,t,r,n){return e.y0+t>=r&&e.y1+t<=n&&(e.y0=e.y0+t,e.y1=e.y1+t,e.targetLinks.forEach(function(e){e.y1=e.y1+t}),e.sourceLinks.forEach(function(e){e.y0=e.y0+t})),e}function R(e,t,r,n){e.nodes.forEach(function(i){n&&i.y+(i.y1-i.y0)>t&&(i.y=i.y-(i.y+(i.y1-i.y0)-t));var a=e.links.filter(function(e){return r(e.source)==r(i)}),o=a.length;o>1&&a.sort(function(e,t){if(!e.circular&&!t.circular){if(e.target.column==t.target.column||j(e)!=j(t))return e.y1-t.y1;if(e.target.column>t.target.column){var r=O(t,e);return e.y1-r}if(t.target.column>e.target.column)return O(e,t)-t.y1}return e.circular&&!t.circular?"top"==e.circularLinkType?-1:1:t.circular&&!e.circular?"top"==t.circularLinkType?1:-1:e.circular&&t.circular?e.circularLinkType===t.circularLinkType&&"top"==e.circularLinkType?e.target.column===t.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:e.circularLinkType!==t.circularLinkType||"bottom"!=e.circularLinkType?"top"==e.circularLinkType?-1:1:e.target.column===t.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:void 0});var s=i.y0;a.forEach(function(e){e.y0=s+e.width/2,s+=e.width}),a.forEach(function(e,t){if("bottom"==e.circularLinkType){for(var r=t+1,n=0;r1&&n.sort(function(e,t){if(!e.circular&&!t.circular){if(e.source.column==t.source.column||j(e)!=j(t))return e.y0-t.y0;if(t.source.column0?"up":"down"}function B(e,t){return t(e.source)==t(e.target)}e.sankeyCircular=function(){var e,n,a=0,b=0,T=1,k=1,M=24,S=g,E=o,C=y,L=v,I=32,P=2,z=null;function O(){var o={nodes:C.apply(null,arguments),links:L.apply(null,arguments)};(function(e){e.nodes.forEach(function(e,t){e.index=t,e.sourceLinks=[],e.targetLinks=[]});var t=r.map(e.nodes,S);e.links.forEach(function(e,r){e.index=r;var n=e.source,i=e.target;(void 0===n?"undefined":l(n))!=="object"&&(n=e.source=x(t,n)),(void 0===i?"undefined":l(i))!=="object"&&(i=e.target=x(t,i)),n.sourceLinks.push(e),i.targetLinks.push(e)})})(o),function(e,t,r){var n=0;if(null===r){for(var a=[],o=0;or.indexOf(e.target)&&!e.circular&&r.push(e.target)})});for(t=e.nodes,r=[],n=0;t.length;++n,t=r,r=[])t.forEach(function(e){e.height=n,e.targetLinks.forEach(function(e){0>r.indexOf(e.source)&&!e.circular&&r.push(e.source)})});e.nodes.forEach(function(e){e.column=Math.floor(E.call(null,e,n))})}(o),_(o,S),function(i,o,s){var l=r.nest().key(function(e){return e.column}).sortKeys(t.ascending).entries(i.nodes).map(function(e){return e.values});(function(r){if(n){var o,s,c,u,h,p,d,m,g,y,v,x,_=1/0;l.forEach(function(e){var t=k*n/(e.length+1);_=t<_?t:_}),e=_}var A=t.min(l,function(r){return(k-b-(r.length-1)*e)/t.sum(r,f)});A*=.3,i.links.forEach(function(e){e.width=e.value*A});var S=(o=0,s=0,c=0,u=0,h=t.max(i.nodes,function(e){return e.column}),i.links.forEach(function(e){e.circular&&("top"==e.circularLinkType?o+=e.width:s+=e.width,0==e.target.column&&(u+=e.width),e.source.column==h&&(c+=e.width))}),{top:o=o>0?o+25+10:o,bottom:s=s>0?s+25+10:s,left:u=u>0?u+25+10:u,right:c=c>0?c+25+10:c}),E=(p=t.max(i.nodes,function(e){return e.column}),d=T-a,m=k-b,g=d+S.right+S.left,y=m+S.top+S.bottom,v=d/g,x=m/y,a=a*v+S.left,T=0==S.right?T:T*v,b=b*x+S.top,k*=x,i.nodes.forEach(function(e){e.x0=a+e.column*((T-a-M)/p),e.x1=e.x0+M}),x);A*=E,i.links.forEach(function(e){e.width=e.value*A}),l.forEach(function(e){var t=e.length;e.forEach(function(e,n){e.depth==l.length-1&&1==t?e.y0=k/2-e.value*A:0==e.depth&&1==t?e.y0=k/2-e.value*A:e.partOfCycle?0==w(e,r)?e.y0=k/2+n:"top"==e.circularLinkType?e.y0=b+n:e.y0=k-e.value*A-n:0==S.top||0==S.bottom?e.y0=(k-b)/t*n:e.y0=(k-b)/2-t/2+n,e.y1=e.y0+e.value*A})})})(s),g();for(var c=1,u=o;u>0;--u)(function(e,r){var n=l.length;l.forEach(function(i){var a=i.length,o=i[0].depth;i.forEach(function(i){var s;if(i.sourceLinks.length||i.targetLinks.length){if(i.partOfCycle&&w(i,r)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=k/2-s/2,i.y1=k/2+s/2;else if(o==n-1&&1==a)s=i.y1-i.y0,i.y0=k/2-s/2,i.y1=k/2+s/2;else{var l=t.mean(i.sourceLinks,m),c=t.mean(i.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(i))*e;i.y0+=u,i.y1+=u}}})})})(c*=.99,s),g();function g(){l.forEach(function(t){var r,n,i,a=b,o=t.length;for(t.sort(h),i=0;i0&&(r.y0+=n,r.y1+=n),a=r.y1+e;if((n=a-e-k)>0)for(a=r.y0-=n,r.y1-=n,i=o-2;i>=0;--i)(n=(r=t[i]).y1+e-a)>0&&(r.y0-=n,r.y1-=n),a=r.y0})}}(o,I,S),j(o);for(var s=0;s<4;s++)R(o,k,S),F(o,k,S),function(e,t,r,n){e.links.forEach(function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)e.nodes.forEach(function(o){if(o.column==a){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=h*i.y0+f*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,y=m+i.width/2;g>o.y0&&ge.y0&&i.y0e.y0&&i.y1e.y1?0:1)||D(e,c,t,r)}})):y>o.y0&&yo.y1&&D(e,c,t,r)})):go.y1&&(c=y-o.y0+10,o=D(o,c,t,r),e.nodes.forEach(function(e){n(e)!=n(o)&&e.column==o.column&&e.y0o.y1&&D(e,c,t,r)}))}})}})}(o,b,k,S),R(o,k,S),F(o,k,S);return function(e,r,n){var i=e.nodes,a=e.links,o=!1,s=!1;if(a.forEach(function(e){"top"==e.circularLinkType?o=!0:"bottom"==e.circularLinkType&&(s=!0)}),!1==o||!1==s){var l=t.min(i,function(e){return e.y0}),c=(n-r)/(t.max(i,function(e){return e.y1})-l);i.forEach(function(e){var t=(e.y1-e.y0)*c;e.y0=(e.y0-l)*c,e.y1=e.y0+t}),a.forEach(function(e){e.y0=(e.y0-l)*c,e.y1=(e.y1-l)*c,e.width=e.width*c})}}(o,b,k),A(o,P,k,S),o}function j(e){e.nodes.forEach(function(e){e.sourceLinks.sort(u),e.targetLinks.sort(c)}),e.nodes.forEach(function(e){var t=e.y0,r=t,n=e.y1,i=n;e.sourceLinks.forEach(function(e){e.circular?(e.y0=n-e.width/2,n-=e.width):(e.y0=t+e.width/2,t+=e.width)}),e.targetLinks.forEach(function(e){e.circular?(e.y1=i-e.width/2,i-=e.width):(e.y1=r+e.width/2,r+=e.width)})})}return O.nodeId=function(e){return arguments.length?(S="function"==typeof e?e:s(e),O):S},O.nodeAlign=function(e){return arguments.length?(E="function"==typeof e?e:s(e),O):E},O.nodeWidth=function(e){return arguments.length?(M=+e,O):M},O.nodePadding=function(t){return arguments.length?(e=+t,O):e},O.nodes=function(e){return arguments.length?(C="function"==typeof e?e:s(e),O):C},O.links=function(e){return arguments.length?(L="function"==typeof e?e:s(e),O):L},O.size=function(e){return arguments.length?(a=b=0,T=+e[0],k=+e[1],O):[T-a,k-b]},O.extent=function(e){return arguments.length?(a=+e[0][0],T=+e[1][0],b=+e[0][1],k=+e[1][1],O):[[a,b],[T,k]]},O.iterations=function(e){return arguments.length?(I=+e,O):I},O.circularLinkGap=function(e){return arguments.length?(P=+e,O):P},O.nodePaddingRatio=function(e){return arguments.length?(n=+e,O):n},O.sortNodes=function(e){return arguments.length?(z=e,O):z},O.update=function(e){return _(e,S),j(e),e.links.forEach(function(e){e.circular&&(e.circularLinkType=e.y0+e.y1=i||(r=i-t.y0)>1e-6&&(t.y0+=r,t.y1+=r),i=t.y1+f})}(function(e){var t,r,n=e.map(function(e,t){return{x0:e.x0,index:t}}).sort(function(e,t){return e.x0-t.x0}),i=[],a=-1,o=-1/0;for(k=0;ko+p&&(a+=1,t=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=t-s.x0,s.x0+=r,s.x1+=r}return i}(v=b.nodes)),T.update(b)}return{circular:_,key:r,trace:i,guid:h.randstr(),horizontal:u,width:m,height:g,nodePad:i.node.pad,nodeLineColor:i.node.line.color,nodeLineWidth:i.node.line.width,linkLineColor:i.link.line.color,linkLineWidth:i.link.line.width,linkArrowLength:i.link.arrowlen,valueFormat:i.valueformat,valueSuffix:i.valuesuffix,textFont:i.textfont,translateX:c.x[0]*e.width+e.margin.l,translateY:e.height-c.y[1]*e.height+e.margin.t,dragParallel:u?g:m,dragPerpendicular:u?m:g,arrangement:i.arrangement,sankey:T,graph:b,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function k(e,t,r){var n=l(t.color),i=l(t.hovercolor),a=t.source.label+"|"+t.target.label;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:a+"__"+r,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:A,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function A(){return function(e){var t,r,i,a,o,s,l,c=e.linkArrowLength;if(e.link.circular)return t=e.link,r=c,i="",a=t.width/2,s=(o=t.circularPathData).sourceX+o.verticalBuffer0?" L "+o.targetX+" "+o.targetY:"")+"Z"):(i="M "+(o.targetX-r)+" "+(o.targetY-a)+" L "+(o.rightInnerExtent-r)+" "+(o.targetY-a)+" A "+(o.rightLargeArcRadius+a)+" "+(o.rightSmallArcRadius+a)+" 0 0 0 "+(o.rightFullExtent-a-r)+" "+(o.targetY+o.rightSmallArcRadius)+" L "+(o.rightFullExtent-a-r)+" "+o.verticalRightInnerExtent,s&&l?i+=" A "+(o.rightLargeArcRadius+a)+" "+(o.rightLargeArcRadius+a)+" 0 0 0 "+(o.rightInnerExtent-a-r)+" "+(o.verticalFullExtent+a)+" L "+(o.rightFullExtent+a-r-(o.rightLargeArcRadius-a))+" "+(o.verticalFullExtent+a)+" A "+(o.rightLargeArcRadius+a)+" "+(o.rightLargeArcRadius+a)+" 0 0 0 "+(o.leftFullExtent+a)+" "+o.verticalLeftInnerExtent:s?i+=" A "+(o.rightLargeArcRadius-a)+" "+(o.rightSmallArcRadius-a)+" 0 0 1 "+(o.rightFullExtent-r-a-(o.rightLargeArcRadius-a))+" "+(o.verticalFullExtent-a)+" L "+(o.leftFullExtent+a+(o.rightLargeArcRadius-a))+" "+(o.verticalFullExtent-a)+" A "+(o.rightLargeArcRadius-a)+" "+(o.rightSmallArcRadius-a)+" 0 0 1 "+(o.leftFullExtent+a)+" "+o.verticalLeftInnerExtent:i+=" A "+(o.rightLargeArcRadius+a)+" "+(o.rightLargeArcRadius+a)+" 0 0 0 "+(o.rightInnerExtent-r)+" "+(o.verticalFullExtent+a)+" L "+o.leftInnerExtent+" "+(o.verticalFullExtent+a)+" A "+(o.leftLargeArcRadius+a)+" "+(o.leftLargeArcRadius+a)+" 0 0 0 "+(o.leftFullExtent+a)+" "+o.verticalLeftInnerExtent,i+=" L "+(o.leftFullExtent+a)+" "+(o.sourceY+o.leftSmallArcRadius)+" A "+(o.leftLargeArcRadius+a)+" "+(o.leftSmallArcRadius+a)+" 0 0 0 "+o.leftInnerExtent+" "+(o.sourceY-a)+" L "+o.sourceX+" "+(o.sourceY-a)+" L "+o.sourceX+" "+(o.sourceY+a)+" L "+o.leftInnerExtent+" "+(o.sourceY+a)+" A "+(o.leftLargeArcRadius-a)+" "+(o.leftSmallArcRadius-a)+" 0 0 1 "+(o.leftFullExtent-a)+" "+(o.sourceY+o.leftSmallArcRadius)+" L "+(o.leftFullExtent-a)+" "+o.verticalLeftInnerExtent,s&&l?i+=" A "+(o.rightLargeArcRadius-a)+" "+(o.rightSmallArcRadius-a)+" 0 0 1 "+(o.leftFullExtent-a-(o.rightLargeArcRadius-a))+" "+(o.verticalFullExtent-a)+" L "+(o.rightFullExtent+a-r+(o.rightLargeArcRadius-a))+" "+(o.verticalFullExtent-a)+" A "+(o.rightLargeArcRadius-a)+" "+(o.rightSmallArcRadius-a)+" 0 0 1 "+(o.rightFullExtent+a-r)+" "+o.verticalRightInnerExtent:s?i+=" A "+(o.rightLargeArcRadius+a)+" "+(o.rightLargeArcRadius+a)+" 0 0 0 "+(o.leftFullExtent+a)+" "+(o.verticalFullExtent+a)+" L "+(o.rightFullExtent-r-a)+" "+(o.verticalFullExtent+a)+" A "+(o.rightLargeArcRadius+a)+" "+(o.rightLargeArcRadius+a)+" 0 0 0 "+(o.rightFullExtent+a-r)+" "+o.verticalRightInnerExtent:i+=" A "+(o.leftLargeArcRadius-a)+" "+(o.leftLargeArcRadius-a)+" 0 0 1 "+o.leftInnerExtent+" "+(o.verticalFullExtent-a)+" L "+(o.rightInnerExtent-r)+" "+(o.verticalFullExtent-a)+" A "+(o.rightLargeArcRadius-a)+" "+(o.rightLargeArcRadius-a)+" 0 0 1 "+(o.rightFullExtent+a-r)+" "+o.verticalRightInnerExtent,i+=" L "+(o.rightFullExtent+a-r)+" "+(o.targetY+o.rightSmallArcRadius)+" A "+(o.rightLargeArcRadius-a)+" "+(o.rightSmallArcRadius-a)+" 0 0 1 "+(o.rightInnerExtent-r)+" "+(o.targetY+a)+" L "+(o.targetX-r)+" "+(o.targetY+a)+(r>0?" L "+o.targetX+" "+o.targetY:"")+"Z"),i;var u=Math.abs((e.link.target.x0-e.link.source.x1)/2);c>u&&(c=u);var h=e.link.source.x1,f=e.link.target.x0-c,p=n(h,f),d=p(.5),m=p(.5),g=e.link.y0-e.link.width/2,y=e.link.y0+e.link.width/2,v=e.link.y1-e.link.width/2,x=e.link.y1+e.link.width/2,_="M"+h+","+g,b="C"+d+","+g+" "+m+","+v+" "+f+","+v,w="C"+m+","+x+" "+d+","+y+" "+h+","+y,T=c>0?"L"+(f+c)+","+(v+e.link.width/2):"";return _+b+(T+="L"+f+","+x)+w+"Z"}}function M(e,t){var r=l(t.color),n=s.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),u="node_"+t.pointNumber;return t.group&&(u=h.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:u,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:1===t.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:128>=r.getBrightness(),tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,u].join("_"),interactionState:e.interactionState,figure:e}}function S(e){e.attr("transform",function(e){return f(e.node.x0.toFixed(3),e.node.y0.toFixed(3))})}function E(e){e.call(S)}function C(e,t){e.call(E),t.attr("d",A())}function L(e){e.attr("width",function(e){return e.node.x1-e.node.x0}).attr("height",function(e){return e.visibleHeight})}function I(e){return e.link.width>1||e.linkLineWidth>0}function P(e){return f(e.translateX,e.translateY)+(e.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function z(e,t,r){e.on(".basic",null).on("mouseover.basic",function(e){e.interactionState.dragInProgress||e.partOfGroup||(r.hover(this,e,t),e.interactionState.hovered=[this,e])}).on("mousemove.basic",function(e){e.interactionState.dragInProgress||e.partOfGroup||(r.follow(this,e),e.interactionState.hovered=[this,e])}).on("mouseout.basic",function(e){e.interactionState.dragInProgress||e.partOfGroup||(r.unhover(this,e,t),e.interactionState.hovered=!1)}).on("click.basic",function(e){e.interactionState.hovered&&(r.unhover(this,e,t),e.interactionState.hovered=!1),e.interactionState.dragInProgress||e.partOfGroup||r.select(this,e,t)})}function O(e,t,n,a){var o=i.behavior.drag().origin(function(e){return{x:e.node.x0+e.visibleWidth/2,y:e.node.y0+e.visibleHeight/2}}).on("dragstart",function(i){if("fixed"!==i.arrangement&&(h.ensureSingle(a._fullLayout._infolayer,"g","dragcover",function(e){a._fullLayout._dragCover=e}),h.raiseToTop(this),i.interactionState.dragInProgress=i.node,R(i.node),i.interactionState.hovered&&(n.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var o,l=i.traceId+"|"+i.key;i.forceLayouts[l]?i.forceLayouts[l].alpha(1):(function(e){for(var t=0;t0&&i.forceLayouts[l].alpha(0)}).stop()),window.requestAnimationFrame(function r(){for(n=0;n0)window.requestAnimationFrame(r);else{var n,o=i.node.originalX;i.node.x0=o-i.visibleWidth/2,i.node.x1=o+i.visibleWidth/2,D(i,a)}})}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),a=Math.max(0,Math.min(r.size-r.visibleHeight/2,a))),r.node.y0=a-r.visibleHeight/2,r.node.y1=a+r.visibleHeight/2,R(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(e.filter(F(r)),t))}}).on("dragend",function(e){if("fixed"!==e.arrangement){e.interactionState.dragInProgress=!1;for(var t=0;t"),color:_(l,"bgcolor")||s.addOpacity(m.color,1),borderColor:_(l,"bordercolor"),fontFamily:_(l,"font.family"),fontSize:_(l,"font.size"),fontColor:_(l,"font.color"),fontWeight:_(l,"font.weight"),fontStyle:_(l,"font.style"),fontVariant:_(l,"font.variant"),fontTextcase:_(l,"font.textcase"),fontLineposition:_(l,"font.lineposition"),fontShadow:_(l,"font.shadow"),nameLength:_(l,"namelength"),textAlign:_(l,"align"),idealAlign:r.event.x"),color:_(s,"bgcolor")||a.tinyColorHue,borderColor:_(s,"bordercolor"),fontFamily:_(s,"font.family"),fontSize:_(s,"font.size"),fontColor:_(s,"font.color"),fontWeight:_(s,"font.weight"),fontStyle:_(s,"font.style"),fontVariant:_(s,"font.variant"),fontTextcase:_(s,"font.textcase"),fontLineposition:_(s,"font.lineposition"),fontShadow:_(s,"font.shadow"),nameLength:_(s,"namelength"),textAlign:_(s,"align"),idealAlign:"left",hovertemplate:s.hovertemplate,hovertemplateLabels:v,eventData:[a.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:e});f(w,.85),p(w)}}},unhover:function(t,i,a){!1!==e._fullLayout.hovermode&&(r.select(t).call(y,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,e.emit("plotly_unhover",{event:r.event,points:[i.node]})),o.loneUnhover(n._hoverlayer.node()))},select:function(t,n,i){var a=n.node;a.originalEvent=r.event,e._hoverdata=[a],r.select(t).call(y,n,i),o.click(e,{target:!0})}}})}}}),vZ=ed({"src/traces/sankey/base_plot.js"(e){var t=tk().overrideAll,r=rn().getModuleCalcData,n=vG(),i=eU(),a=rY(),o=rW(),s=nK().prepSelect,l=tQ(),c=tO(),u="sankey";e.name=u,e.baseLayoutAttrOverrides=t({hoverlabel:i.hoverlabel},"plot","nested"),e.plot=function(t){var i=r(t.calcdata,u)[0];n(t,i),e.updateFx(t)},e.clean=function(e,t,r,n){var i=n._has&&n._has(u),a=t._has&&t._has(u);i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())},e.updateFx=function(e){for(var t=0;t0}function w(e){e.each(function(e){y.stroke(r.select(this),e.line.color)}).each(function(e){y.fill(r.select(this),e.color)}).style("stroke-width",function(e){return e.line.width})}function T(e,t,r){var n=e._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},t),o={type:"linear",_id:"x"+t._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(e,t){return a.coerce(i,o,g,e,t)}return d(i,o,l,s,n),m(i,o,l,s),o}function k(e,t,r){return[Math.min(t/e.width,r/e.height),e,t+"x"+r]}function A(e,t,n,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=r.select(a);return o.text(e).attr("x",0).attr("y",0).attr("text-anchor",n).attr("data-unformatted",e).call(f.convertToTspans,i).call(u.font,t),u.bBox(o.node())}function M(e,t,r,n,i,o){var s="_cache"+t;e[s]&&e[s].key===i||(e[s]={key:i,value:r});var l=a.aggNums(o,null,[e[s].value,n],2);return e[s].value=l,l}t.exports=function(e,t,d,m){var g,S=e._fullLayout;b(d)&&m&&(g=m()),a.makeTraceGroups(S._indicatorlayer,t,"trace").each(function(t){var m,E,C,L,I,P=t[0].trace,z=r.select(this),O=P._hasGauge,D=P._isAngular,R=P._isBullet,F=P.domain,j={w:S._size.w*(F.x[1]-F.x[0]),h:S._size.h*(F.y[1]-F.y[0]),l:S._size.l+S._size.w*F.x[0],r:S._size.r+S._size.w*(1-F.x[1]),t:S._size.t+S._size.h*(1-F.y[1]),b:S._size.b+S._size.h*F.y[0]},B=j.l+j.w/2,N=j.t+j.h/2,U=Math.min(j.w/2,j.h),V=h.innerRadius*U,q=P.align||"center";if(E=N,O){if(D&&(m=B,E=N+U/2,C=function(e){var t;return[(t=.9*V)/Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),e,t]}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;m=j.l+(G+(1-G)*x[q])*j.w,C=function(e){return k(e,(h.bulletNumberDomainSize-H)*j.w,j.h)}}}else m=j.l+x[q]*j.w,C=function(e){return k(e,j.w,j.h)};(function(e,t,n,l){var c=n[0].trace,h=l.numbersX,d=l.numbersY,m=c.align||"center",g=v[m],w=l.transitionOpts,k=l.onComplete,S=a.ensureSingle(t,"g","numbers"),E=[];c._hasNumber&&E.push("number"),c._hasDelta&&(E.push("delta"),"left"===c.delta.position&&E.reverse());var C=S.selectAll("text").data(E);function L(t,r,n,i){if(!t.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=T(e,{tickformat:t.slice().replace("s","f").replace(/\d+/,function(e){return parseInt(e)-1})});return function(e){return 1>Math.abs(e)?p.tickText(a,e).text:r(e)}}C.enter().append("text"),C.attr("text-anchor",function(){return g}).attr("class",function(e){return e}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),C.exit().remove();var I=c.mode+c.align;if(c._hasDelta&&(D=function(){var t=T(e,{tickformat:c.delta.valueformat},c._range);t.setScale(),p.prepTicks(t);var a=function(e){return p.tickText(t,e).text},o=c.delta.suffix,s=c.delta.prefix,l=function(e){return c.delta.relative?e.relativeDelta:e.delta},h=function(e,t){return 0===e||"number"!=typeof e||isNaN(e)?"-":(e>0?c.delta.increasing.symbol:c.delta.decreasing.symbol)+s+t(e)+o},d=function(e){return e.delta>=0?c.delta.increasing.color:c.delta.decreasing.color};void 0===c._deltaLastValue&&(c._deltaLastValue=l(n[0]));var m=S.select("text.delta");function v(){m.text(h(l(n[0]),a)).call(y.fill,d(n[0])).call(f.convertToTspans,e)}return m.call(u.font,c.delta.font).call(y.fill,d({delta:c._deltaLastValue})),b(w)?m.transition().duration(w.duration).ease(w.easing).tween("text",function(){var e=r.select(this),t=l(n[0]),o=c._deltaLastValue,s=L(c.delta.valueformat,a,o,t),u=i(o,t);return c._deltaLastValue=t,function(t){e.text(h(u(t),s)),e.call(y.fill,d({delta:u(t)}))}}).each("end",function(){v(),k&&k()}).each("interrupt",function(){v(),k&&k()}):v(),z=A(h(l(n[0]),a),c.delta.font,g,e),m}(),I+=c.delta.position+c.delta.font.size+c.delta.font.family+c.delta.valueformat+(c.delta.increasing.symbol+c.delta.decreasing.symbol),O=z),c._hasNumber&&(function(){var t=T(e,{tickformat:c.number.valueformat},c._range);t.setScale(),p.prepTicks(t);var a=function(e){return p.tickText(t,e).text},o=c.number.suffix,s=c.number.prefix,l=S.select("text.number");function h(){var t="number"==typeof n[0].y?s+a(n[0].y)+o:"-";l.text(t).call(u.font,c.number.font).call(f.convertToTspans,e)}b(w)?l.transition().duration(w.duration).ease(w.easing).each("end",function(){h(),k&&k()}).each("interrupt",function(){h(),k&&k()}).attrTween("text",function(){var e=r.select(this),t=i(n[0].lastY,n[0].y);c._lastValue=n[0].y;var l=L(c.number.valueformat,a,n[0].lastY,n[0].y);return function(r){e.text(s+l(t(r))+o)}}):h(),P=A(s+a(n[0].y)+o,c.number.font,g,e)}(),I+=c.number.font.size+c.number.font.family+c.number.valueformat+c.number.suffix+c.number.prefix,O=P),c._hasDelta&&c._hasNumber){var P,z,O,D,R,F,j=[(P.left+P.right)/2,(P.top+P.bottom)/2],B=[(z.left+z.right)/2,(z.top+z.bottom)/2],N=.75*c.delta.font.size;"left"===c.delta.position&&(R=M(c,"deltaPos",0,-1*(P.width*x[c.align]+z.width*(1-x[c.align])+N),I,Math.min),F=j[1]-B[1],O={width:P.width+z.width+N,height:Math.max(P.height,z.height),left:z.left+R,right:P.right,top:Math.min(P.top,z.top+F),bottom:Math.max(P.bottom,z.bottom+F)}),"right"===c.delta.position&&(R=M(c,"deltaPos",0,P.width*(1-x[c.align])+z.width*x[c.align]+N,I,Math.max),F=j[1]-B[1],O={width:P.width+z.width+N,height:Math.max(P.height,z.height),left:P.left,right:z.right+R,top:Math.min(P.top,z.top+F),bottom:Math.max(P.bottom,z.bottom+F)}),"bottom"===c.delta.position&&(R=null,F=z.height,O={width:Math.max(P.width,z.width),height:P.height+z.height,left:Math.min(P.left,z.left),right:Math.max(P.right,z.right),top:P.bottom-P.height,bottom:P.bottom+z.height}),"top"===c.delta.position&&(R=null,F=P.top,O={width:Math.max(P.width,z.width),height:P.height+z.height,left:Math.min(P.left,z.left),right:Math.max(P.right,z.right),top:P.bottom-P.height-z.height,bottom:P.bottom}),D.attr({dx:R,dy:F})}(c._hasNumber||c._hasDelta)&&S.attr("transform",function(){var e,t=l.numbersScaler(O);I+=t[2];var r=M(c,"numbersScale",1,t[0],I,Math.min);c._scaleNumbers||(r=1),e=c._isAngular?d-r*O.bottom:d-r*(O.top+O.bottom)/2,c._numbersTop=r*O.top+e;var n=O[m];"center"===m&&(n=(O.left+O.right)/2);var i=h-r*n;return s(i=M(c,"numbersTranslate",0,i,I,Math.max),e)+o(r)})})(e,z,t,{numbersX:m,numbersY:E,numbersScaler:C,transitionOpts:d,onComplete:g}),O&&(L={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},I={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var Z=z.selectAll("g.angular").data(D?t:[]);Z.exit().remove();var W=z.selectAll("g.angularaxis").data(D?t:[]);W.exit().remove(),D&&function(e,t,i,a){var o,u,h,f,d,m,g=i[0].trace,y=a.size,v=a.radius,x=a.innerRadius,_=a.gaugeBg,k=a.gaugeOutline,A=[y.l+y.w/2,y.t+y.h/2+v/2],M=a.gauge,S=a.layer,E=a.transitionOpts,C=a.onComplete,L=Math.PI/2;function I(e){var t=g.gauge.axis.range[0],r=(e-t)/(g.gauge.axis.range[1]-t)*Math.PI-L;return r<-L?-L:r>L?L:r}function P(e){return r.svg.arc().innerRadius((x+v)/2-e/2*(v-x)).outerRadius((x+v)/2+e/2*(v-x)).startAngle(-L)}function z(e){e.attr("d",function(e){return P(e.thickness).startAngle(I(e.range[0])).endAngle(I(e.range[1]))()})}M.enter().append("g").classed("angular",!0),M.attr("transform",s(A[0],A[1])),S.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),S.selectAll("g.xangularaxistick,path,text").remove(),(h=T(e,g.gauge.axis)).type="linear",h.range=g.gauge.axis.range,h._id="xangularaxis",h.ticklabeloverflow="allow",h.setScale();var O=function(e){return(h.range[0]-e.x)/(h.range[1]-h.range[0])*Math.PI+Math.PI},D={},R=p.makeLabelFns(h,0).labelStandoff;D.xFn=function(e){return Math.cos(O(e))*R},D.yFn=function(e){var t=O(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(R+e.fontSize*r)+e.fontSize*c*Math.abs(Math.cos(t))},D.anchorFn=function(e){var t=Math.cos(O(e));return .1>Math.abs(t)?"middle":t>0?"start":"end"},D.heightFn=function(e,t,r){return -.5*(1+Math.sin(O(e)))*r};var F=function(e){return s(A[0]+v*Math.cos(e),A[1]-v*Math.sin(e))};if(d=function(e){return F(O(e))},f=p.calcTicks(h),m=p.getTickSigns(h)[2],h.visible){m="inside"===h.ticks?-1:1;var j=(h.linewidth||1)/2;p.drawTicks(e,h,{vals:f,layer:S,path:"M"+m*j+",0h"+m*h.ticklen,transFn:function(e){var t=O(e);return F(t)+"rotate("+-l(t)+")"}}),p.drawLabels(e,h,{vals:f,layer:S,transFn:d,labelFns:D})}var B=[_].concat(g.gauge.steps),N=M.selectAll("g.bg-arc").data(B);N.enter().append("g").classed("bg-arc",!0).append("path"),N.select("path").call(z).call(w),N.exit().remove();var U=P(g.gauge.bar.thickness),V=M.selectAll("g.value-arc").data([g.gauge.bar]);V.enter().append("g").classed("value-arc",!0).append("path");var q=V.select("path");b(E)?(q.transition().duration(E.duration).ease(E.easing).each("end",function(){C&&C()}).each("interrupt",function(){C&&C()}).attrTween("d",(o=I(i[0].lastY),u=I(i[0].y),function(){var e=n(o,u);return function(t){return U.endAngle(e(t))()}})),g._lastValue=i[0].y):q.attr("d","number"==typeof i[0].y?U.endAngle(I(i[0].y)):"M0,0Z"),q.call(w),V.exit().remove(),B=[];var H=g.gauge.threshold.value;(H||0===H)&&B.push({range:[H,H],color:g.gauge.threshold.color,line:{color:g.gauge.threshold.line.color,width:g.gauge.threshold.line.width},thickness:g.gauge.threshold.thickness});var G=M.selectAll("g.threshold-arc").data(B);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(z).call(w),G.exit().remove();var Z=M.selectAll("g.gauge-outline").data([k]);Z.enter().append("g").classed("gauge-outline",!0).append("path"),Z.select("path").call(z).call(w),Z.exit().remove()}(e,0,t,{radius:U,innerRadius:V,gauge:Z,layer:W,size:j,gaugeBg:L,gaugeOutline:I,transitionOpts:d,onComplete:g});var Y=z.selectAll("g.bullet").data(R?t:[]);Y.exit().remove();var X=z.selectAll("g.bulletaxis").data(R?t:[]);X.exit().remove(),R&&function(e,t,r,n){var i,a,o,l,c,u=r[0].trace,f=n.gauge,d=n.layer,m=n.gaugeBg,g=n.gaugeOutline,v=n.size,x=u.domain,_=n.transitionOpts,k=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",s(v.l,v.t)),d.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),d.selectAll("g.xbulletaxistick,path,text").remove();var A=v.h,M=u.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-h.bulletNumberDomainSize:1);function C(e){e.attr("width",function(e){return Math.max(0,i.c2p(e.range[1])-i.c2p(e.range[0]))}).attr("x",function(e){return i.c2p(e.range[0])}).attr("y",function(e){return .5*(1-e.thickness)*A}).attr("height",function(e){return e.thickness*A})}(i=T(e,u.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=p.calcTicks(i),o=p.makeTransTickFn(i),l=p.getTickSigns(i)[2],c=v.t+v.h,i.visible&&(p.drawTicks(e,i,{vals:"inside"===i.ticks?p.clipEnds(i,a):a,layer:d,path:p.makeTickPath(i,c,l),transFn:o}),p.drawLabels(e,i,{vals:a,layer:d,transFn:o,labelFns:p.makeLabelFns(i,c)}));var L=[m].concat(u.gauge.steps),I=f.selectAll("g.bg-bullet").data(L);I.enter().append("g").classed("bg-bullet",!0).append("rect"),I.select("rect").call(C).call(w),I.exit().remove();var P=f.selectAll("g.value-bullet").data([u.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(A-M)/2).call(w),b(_)?P.select("rect").transition().duration(_.duration).ease(_.easing).each("end",function(){k&&k()}).each("interrupt",function(){k&&k()}).attr("width",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var z=r.filter(function(){return u.gauge.threshold.value||0===u.gauge.threshold.value}),O=f.selectAll("g.threshold-bullet").data(z);O.enter().append("g").classed("threshold-bullet",!0).append("line"),O.select("line").attr("x1",i.c2p(u.gauge.threshold.value)).attr("x2",i.c2p(u.gauge.threshold.value)).attr("y1",(1-u.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-u.gauge.threshold.thickness)/2)*A).call(y.stroke,u.gauge.threshold.line.color).style("stroke-width",u.gauge.threshold.line.width),O.exit().remove();var D=f.selectAll("g.gauge-outline").data([g]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(C).call(w),D.exit().remove()}(e,0,t,{gauge:Y,layer:X,size:j,gaugeBg:L,gaugeOutline:I,transitionOpts:d,onComplete:g});var $=z.selectAll("text.title").data(t);$.exit().remove(),$.enter().append("text").classed("title",!0),$.attr("text-anchor",function(){return R?v.right:v[P.title.align]}).text(P.title.text).call(u.font,P.title.font).call(f.convertToTspans,e),$.attr("transform",function(){var e,t=j.l+j.w*x[P.title.align],r=h.titlePadding,n=u.bBox($.node());return O?(D&&(e=P.gauge.axis.visible?u.bBox(W.node()).top-r-n.bottom:j.t+j.h/2-U/2-n.bottom-r),R&&(e=E-(n.top+n.bottom)/2,t=j.l-h.bulletPadding*j.w)):e=P._numbersTop-r-n.bottom,s(t,e)})})}}}),v2=ed({"src/traces/indicator/index.js"(e,t){t.exports={moduleType:"trace",name:"indicator",basePlotModule:v$(),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:vJ(),supplyDefaults:vQ().supplyDefaults,calc:v0().calc,plot:v1(),meta:{}}}}),v3=ed({"lib/indicator.js"(e,t){t.exports=v2()}}),v5=ed({"src/traces/table/attributes.js"(e,t){var r=nH(),n=ej().extendFlat,i=tk().overrideAll,a=eB(),o=aI().attributes,s=ru().descriptionOnlyNumbers;t.exports=i({domain:o({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:n({},r.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:n({},a({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:s("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:n({},r.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:n({},a({arrayOk:!0}))}},"calc","from-root")}}),v4=ed({"src/traces/table/defaults.js"(e,t){var r=tQ(),n=v5(),i=aI().defaults;t.exports=function(e,t,a,o){function s(i,a){return r.coerce(e,t,n,i,a)}i(t,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),r.coerceFont(s,"header.font",o.font),function(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(e,t){return e-t}),o=i.map(function(e){return a.indexOf(e)}),s=o.length;s",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}}}),v7=ed({"src/traces/table/data_preparation_helper.js"(e,t){var r=v8(),n=ej().extendFlat,i=eM(),a=eL().isTypedArray,o=eL().isArrayOrTypedArray;function s(e){if(o(e)){for(var t=0,r=0;r=t||c===e.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o=d(),i+=a,s=c+1,a=0);return n}function d(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}t.exports=function(e,t){var a=c(t.cells.values),d=function(e){return e.slice(t.header.values.length,e.length)},m=c(t.header.values);m.length&&!m[0].length&&(m[0]=[""],m=c(m));var g=m.concat(d(a).map(function(){return u((m[0]||[""]).length)})),y=t.domain,v=Math.floor(e._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(e._fullLayout._size.h*(y.y[1]-y.y[0])),_=t.header.values.length?g[0].map(function(){return t.header.height}):[r.emptyHeaderHeight],b=a.length?a[0].map(function(){return t.cells.height}):[],w=_.reduce(l,0),T=p(b,x-w+r.uplift),k=f(p(_,w),[]),A=f(T,k),M={},S=t._fullInput.columnorder;o(S)&&(S=Array.from(S)),S=S.concat(d(a.map(function(e,t){return t})));var E=g.map(function(e,r){var n=o(t.columnwidth)?t.columnwidth[Math.min(r,t.columnwidth.length-1)]:t.columnwidth;return i(n)?Number(n):1}),C=E.reduce(l,0);E=E.map(function(e){return e/C*v});var L=Math.max(s(t.header.line.width),s(t.cells.line.width)),I={key:t.uid+e._context.staticPlot,translateX:y.x[0]*e._fullLayout._size.w,translateY:e._fullLayout._size.h*(1-y.y[1]),size:e._fullLayout._size,width:v,maxLineWidth:L,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:n({},t.cells,{values:a}),headerCells:n({},t.header,{values:g}),gdColumns:g.map(function(e){return e[0]}),gdColumnsOriginalOrder:g.map(function(e){return e[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(e,t){var r=M[e];return M[e]=(r||0)+1,{key:e+"__"+M[e],label:e,specIndex:t,xIndex:S[t],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[t]}})};return I.columns.forEach(function(e){e.calcdata=I,e.x=h(e)}),I}}}),v9=ed({"src/traces/table/data_split_helpers.js"(e){var t=ej().extendFlat;e.splitToPanels=function(e){var r=[0,0],n=t({},e,{key:"header",type:"header",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:t({},e.calcdata,{cells:e.calcdata.headerCells})});return[t({},e,{key:"cells1",type:"cells",page:0,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),t({},e,{key:"cells2",type:"cells",page:1,prevPages:r,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),n]},e.splitToCells=function(e){var t,r,n,i=(r=(t=e.rowBlocks[e.page])?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0,[r,n]);return(e.values||[]).slice(i[0],i[1]).map(function(t,r){return{keyWithinBlock:r+("string"==typeof t&&t.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:i[0]+r,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:t}})}}}),xe=ed({"src/traces/table/plot.js"(e,t){var r=v8(),n=eb(),i=tQ(),a=i.numberFormat,o=g6(),s=rO(),l=rl(),c=tQ().raiseToTop,u=tQ().strTranslate,h=tQ().cancelTransition,f=v7(),p=v9(),d=eZ();function m(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function g(e,t){return"clip"+e._fullLayout._uid+"_scrollAreaBottomClip_"+t.key}function y(e,t){return"clip"+e._fullLayout._uid+"_columnBoundaryClippath_"+t.calcdata.key+"_"+t.specIndex}function v(e){return[].concat.apply([],e.map(function(e){return e})).map(function(e){return e.__data__})}function x(e,t,i){var a=e.selectAll("."+r.cn.scrollbarKit).data(o.repeat,o.keyFun);a.enter().append("g").classed(r.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),a.each(function(e){var t,n=e.scrollbarState;n.totalHeight=D(t=e.rowBlocks,t.length-1)+(t.length?R(t[t.length-1],1/0):1),n.scrollableAreaHeight=e.groupHeight-S(e),n.currentlyVisibleHeight=Math.min(n.totalHeight,n.scrollableAreaHeight),n.ratio=n.currentlyVisibleHeight/n.totalHeight,n.barLength=Math.max(n.ratio*n.currentlyVisibleHeight,r.goldenRatio*r.scrollbarWidth),n.barWiggleRoom=n.currentlyVisibleHeight-n.barLength,n.wiggleRoom=Math.max(0,n.totalHeight-n.scrollableAreaHeight),n.topY=0===n.barWiggleRoom?0:e.scrollY/n.wiggleRoom*n.barWiggleRoom,n.bottomY=n.topY+n.barLength,n.dragMultiplier=n.wiggleRoom/n.barWiggleRoom}).attr("transform",function(e){return u(e.width+r.scrollbarWidth/2+r.scrollbarOffset,S(e))});var s=a.selectAll("."+r.cn.scrollbar).data(o.repeat,o.keyFun);s.enter().append("g").classed(r.cn.scrollbar,!0);var l=s.selectAll("."+r.cn.scrollbarSlider).data(o.repeat,o.keyFun);l.enter().append("g").classed(r.cn.scrollbarSlider,!0),l.attr("transform",function(e){return u(0,e.scrollbarState.topY||0)});var c=l.selectAll("."+r.cn.scrollbarGlyph).data(o.repeat,o.keyFun);c.enter().append("line").classed(r.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",r.scrollbarWidth).attr("stroke-linecap","round").attr("y1",r.scrollbarWidth/2),c.attr("y2",function(e){return e.scrollbarState.barLength-r.scrollbarWidth/2}).attr("stroke-opacity",function(e){return e.columnDragInProgress||!e.scrollbarState.barWiggleRoom||i?0:.4}),c.transition().delay(0).duration(0),c.transition().delay(r.scrollbarHideDelay).duration(r.scrollbarHideDuration).attr("stroke-opacity",0);var h=s.selectAll("."+r.cn.scrollbarCaptureZone).data(o.repeat,o.keyFun);h.enter().append("line").classed(r.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",r.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(r){var i=n.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=i-a.top,l=n.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||C(t,e,null,l(s-o.barLength/2))(r)}).call(n.behavior.drag().origin(function(e){return n.event.stopPropagation(),e.scrollbarState.scrollbarScrollInProgress=!0,e}).on("drag",C(t,e)).on("dragend",function(){})),h.attr("y2",function(e){return e.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(c.remove(),h.remove())}function _(e,t,i,a){var l,c,u,h,f,m=((c=((l=i.selectAll("."+r.cn.columnCells).data(o.repeat,o.keyFun)).enter().append("g").classed(r.cn.columnCells,!0),l.exit().remove(),l).selectAll("."+r.cn.columnCell).data(p.splitToCells,function(e){return e.keyWithinBlock})).enter().append("g").classed(r.cn.columnCell,!0),c.exit().remove(),c);(function(e){e.each(function(e,t){var r=e.calcdata.cells.font,n=e.column.specIndex,i={size:T(r.size,n,t),color:T(r.color,n,t),family:T(r.family,n,t),weight:T(r.weight,n,t),style:T(r.style,n,t),variant:T(r.variant,n,t),textcase:T(r.textcase,n,t),lineposition:T(r.lineposition,n,t),shadow:T(r.shadow,n,t)};e.rowNumber=e.key,e.align=T(e.calcdata.cells.align,n,t),e.cellBorderWidth=T(e.calcdata.cells.line.width,n,t),e.font=i})})(m),function(e){e.attr("width",function(e){return e.column.columnWidth}).attr("stroke-width",function(e){return e.cellBorderWidth}).each(function(e){var t=n.select(this);d.stroke(t,T(e.calcdata.cells.line.color,e.column.specIndex,e.rowNumber)),d.fill(t,T(e.calcdata.cells.fill.color,e.column.specIndex,e.rowNumber))})}(((u=m.selectAll("."+r.cn.cellRect).data(o.repeat,function(e){return e.keyWithinBlock})).enter().append("rect").classed(r.cn.cellRect,!0),u));var g=((f=((h=m.selectAll("."+r.cn.cellTextHolder).data(o.repeat,function(e){return e.keyWithinBlock})).enter().append("g").classed(r.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),h).selectAll("."+r.cn.cellText).data(o.repeat,function(e){return e.keyWithinBlock})).enter().append("text").classed(r.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){n.event.stopPropagation()}),f);(function(e){e.each(function(e){s.font(n.select(this),e.font)})})(g),b(g,t,a,e),O(m)}function b(e,t,i,o){e.text(function(e){var t,n,i=e.column.specIndex,o=e.rowNumber,s=e.value,l="string"==typeof s,c=l&&s.match(/
/i),u=!l||c;e.mayHaveMarkup=l&&s.match(/[<&>]/);var h="string"==typeof s&&s.match(r.latexCheck);e.latex=h;var f=h?"":T(e.calcdata.cells.prefix,i,o)||"",p=h?"":T(e.calcdata.cells.suffix,i,o)||"",d=h?null:T(e.calcdata.cells.format,i,o)||null,m=f+(d?a(d)(e.value):e.value)+p;if(e.wrappingNeeded=!e.wrapped&&!u&&!h&&(t=w(m)),e.cellHeightMayIncrease=c||h||e.mayHaveMarkup||(void 0===t?w(m):t),e.needsConvertToTspans=e.mayHaveMarkup||e.wrappingNeeded||e.latex,e.wrappingNeeded){var g=(" "===r.wrapSplitCharacter?m.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),t.each(function(e,t){e.page=c[t],e.scrollY=l}),t.attr("transform",function(e){return u(0,D(e.rowBlocks,e.page)-e.scrollY)}),e&&(L(e,r,t,c,n.prevPages,n,0),L(e,r,t,c,n.prevPages,n,1),x(r,e))}}function C(e,t,i,a){return function(o){var s=o.calcdata?o.calcdata:o,l=t.filter(function(e){return s.key===e.key}),c=i||s.scrollbarState.dragMultiplier,u=s.scrollY;return s.scrollY=void 0===a?s.scrollY+c*n.event.dy:a,E(e,l.selectAll("."+r.cn.yColumn).selectAll("."+r.cn.columnBlock).filter(A),l),s.scrollY===u}}function L(e,t,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){_(e,t,r.filter(function(e,t){return t===o&&n[t]!==i[t]}),r),i[o]=n[o]}))}function I(e,t,i,a){return function(){var o=n.select(t.parentNode);o.each(function(e){var t,n,i=e.fragments;o.selectAll("tspan.line").each(function(e,t){i[t].width=this.getComputedTextLength()});var a=i[i.length-1].width,s=i.slice(0,-1),l=[],c=0,u=e.column.columnWidth-2*r.cellPad;for(e.value="";s.length;)c+(n=(t=s.shift()).width+a)>u&&(e.value+=l.join(r.wrapSpacer)+r.lineBreaker,l=[],c=0),l.push(t.text),c+=n;c&&(e.value+=l.join(r.wrapSpacer)),e.wrapped=!0}),o.selectAll("tspan.line").remove(),b(o.select("."+r.cn.cellText),i,e,a),n.select(t.parentNode.parentNode).call(O)}}function P(e,t,i,a,o){return function(){if(!o.settledY){var s=n.select(t.parentNode),l=F(o),c=o.key-l.firstRowIndex,h=l.rows[c].rowHeight,f=Math.max(o.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*r.cellPad:h,h);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,e.selectAll("."+r.cn.columnCell).call(O),E(null,e.filter(A),0),x(i,a,!0)),s.attr("transform",function(){var e=this.parentNode.getBoundingClientRect(),t=n.select(this.parentNode).select("."+r.cn.cellRect).node().getBoundingClientRect(),i=this.transform.baseVal.consolidate(),a=t.top-e.top+(i?i.matrix.f:r.cellPad);return u(z(o,n.select(this.parentNode).select("."+r.cn.cellTextHolder).node().getBoundingClientRect().width),a)}),o.settledY=!0}}}function z(e,t){switch(e.align){case"left":default:return r.cellPad;case"right":return e.column.columnWidth-(t||0)-r.cellPad;case"center":return(e.column.columnWidth-(t||0))/2}}function O(e){e.attr("transform",function(e){var t=e.rowBlocks[0].auxiliaryBlocks.reduce(function(e,t){return e+R(t,1/0)},0);return u(0,R(F(e),e.key)+t)}).selectAll("."+r.cn.cellRect).attr("height",function(e){var t,r;return(t=F(e),r=e.key,t.rows[r-t.firstRowIndex]).rowHeight})}function D(e,t){for(var r=0,n=t-1;n>=0;n--)r+=function(e){var t=e.allRowsHeight;if(void 0!==t)return t;for(var r=0,n=0;nt.length&&(e=e.slice(0,t.length)):e=[],i=0;i90&&(f-=180,l=-l),{angle:f,flip:l,p:e.c2p(n,t,r),offsetMultplier:c}}}}),xp=ed({"src/traces/carpet/plot.js"(e,t){var r=eb(),n=rO(),i=xu(),a=xh(),o=xf(),s=rl(),l=tQ(),c=l.strRotate,u=l.strTranslate,h=rs();function f(e,t,o,s,l,c,u){var h="const-"+l+"-lines",f=o.selectAll("."+h).data(c);f.enter().append("path").classed(h,!0).style("vector-effect",u?"none":"non-scaling-stroke"),f.each(function(o){var s=o.x,l=o.y,c="M"+a(i([],s,e.c2p),i([],l,t.c2p),o.smoothing);r.select(this).attr("d",c).style("stroke-width",o.width).style("stroke",o.color).style("stroke-dasharray",n.dashStyle(o.dash,o.width)).style("fill","none")}),f.exit().remove()}function p(e,t,i,a,l,h,f,p){var d=h.selectAll("text."+p).data(f);d.enter().append("text").classed(p,!0);var m=0,g={};return d.each(function(l,h){if("auto"===l.axis.tickangle)f=o(a,t,i,l.xy,l.dxy);else{var f,p=(l.axis.tickangle+180)*Math.PI/180;f=o(a,t,i,l.xy,[Math.cos(p),Math.sin(p)])}h||(g={angle:f.angle,flip:f.flip});var d=(l.endAnchor?-1:1)*f.flip,y=r.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(n.font,l.font).text(l.text).call(s.convertToTspans,e),v=n.bBox(this);y.attr("transform",u(f.p[0],f.p[1])+c(f.angle)+u(l.axis.labelpadding*d,.3*v.height)),m=Math.max(m,v.width+l.axis.labelpadding)}),d.exit().remove(),g.maxExtent=m,g}t.exports=function(e,t,n,s){var c=e._context.staticPlot,u=t.xaxis,h=t.yaxis,d=e._fullLayout._clips;l.makeTraceGroups(s,n,"trace").each(function(t){var n,s,m,y,v,x,_,b,w=r.select(this),T=t[0],k=T.trace,A=k.aaxis,M=k.baxis,S=l.ensureSingle(w,"g","minorlayer"),E=l.ensureSingle(w,"g","majorlayer"),C=l.ensureSingle(w,"g","boundarylayer"),L=l.ensureSingle(w,"g","labellayer");w.style("opacity",k.opacity),f(u,h,E,A,"a",A._gridlines,!0,c),f(u,h,E,M,"b",M._gridlines,!0,c),f(u,h,S,A,"a",A._minorgridlines,!0,c),f(u,h,S,M,"b",M._minorgridlines,!0,c),f(u,h,C,A,"a-boundary",A._boundarylines,c),f(u,h,C,M,"b-boundary",M._boundarylines,c);var I=p(e,u,h,k,T,L,A._labels,"a-label"),P=p(e,u,h,k,T,L,M._labels,"b-label");v=l.aggNums(Math.min,null,k.a),x=l.aggNums(Math.max,null,k.a),_=l.aggNums(Math.min,null,k.b),b=l.aggNums(Math.max,null,k.b),n=.5*(v+x),s=_,m=k.ab2xy(n,s,!0),y=k.dxyda_rough(n,s),void 0===I.angle&&l.extendFlat(I,o(k,u,h,m,k.dxydb_rough(n,s))),g(e,L,k,T,m,y,k.aaxis,u,h,I,"a-title"),n=v,s=.5*(_+b),m=k.ab2xy(n,s,!0),y=k.dxydb_rough(n,s),void 0===P.angle&&l.extendFlat(P,o(k,u,h,m,k.dxyda_rough(n,s))),g(e,L,k,T,m,y,k.baxis,u,h,P,"b-title"),function(e,t,r,n,o){var s,c,u=r.select("#"+e._clipPathId);u.size()||(u=r.append("clipPath").classed("carpetclip",!0));var h=l.ensureSingle(u,"path","carpetboundary"),f=t.clipsegments,p=[];for(c=0;c90&&v<270&&(b=(-s.lineCount(x)+m)*d*a-b),x.attr("transform",u(t.p[0],t.p[1])+c(t.angle)+u(0,b)).attr("text-anchor","middle").call(n.font,f.title.font)}),_.exit().remove()}}}),xd=ed({"src/traces/carpet/cheater_basis.js"(e,t){var r=tQ().isArrayOrTypedArray;t.exports=function(e,t,n){var i,a,o,s,l,c,u=[],h=r(e)?e.length:e,f=r(t)?t.length:t,p=r(e)?e:null,d=r(t)?t:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var m=1/0,g=-1/0;for(a=0;a=10)return null;for(var i=1/0,a=-1/0,o=t.length,s=0;s0&&(p=e.dxydi([],n-1,o,0,s),y.push(l[0]+p[0]/3),v.push(l[1]+p[1]/3),d=e.dxydi([],n-1,o,1,s),y.push(h[0]-d[0]/3),v.push(h[1]-d[1]/3)),y.push(h[0]),v.push(h[1]),l=h;else for(a=0,c=Math.floor(Math.max(0,Math.min(L-2,n=e.a2i(r)))),u=n-c,x.length=L,x.crossLength=I,x.xy=function(t){return e.evalxy([],n,t)},x.dxy=function(t,r){return e.dxydj([],c,t,u,r)};a0&&(m=e.dxydj([],c,a-1,u,0),y.push(l[0]+m[0]/3),v.push(l[1]+m[1]/3),g=e.dxydj([],c,a-1,u,1),y.push(h[0]-g[0]/3),v.push(h[1]-g[1]/3)),y.push(h[0]),v.push(h[1]),l=h;return x.axisLetter=t,x.axis=_,x.crossAxis=A,x.value=r,x.constvar=i,x.index=f,x.x=y,x.y=v,x.smoothing=A.smoothing,x}function O(r){var n,a,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,"b"===t)for(n=0,o=Math.max(0,Math.min(I-2,r)),l=Math.min(1,Math.max(0,r-o)),h.xy=function(t){return e.evalxy([],t,r)},h.dxy=function(t,r){return e.dxydi([],t,o,r,l)};nx.length-1||b.push(n(O(o),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u;fx.length-1)&&!(m<0)&&!(m>x.length-1))for(a=0,g=x[s],y=x[m];a<_.minorgridcount;a++)!((v=m-s)<=0)&&((d=g+(y-g)*(a+1)/(_.minorgridcount+1)*(_.arraydtick/v))x[x.length-1]||w.push(n(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash})));_.startline&&T.push(n(O(0),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(n(O(x.length-1),{color:_.endlinecolor,width:_.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-_.tick0)/_.dtick*(1+l)),Math.ceil((x[0]-_.tick0)/_.dtick/(1+l))].sort(function(e,t){return e-t}))[0],h=c[1],f=u;f<=h;f++)p=_.tick0+_.dtick*f,b.push(n(z(p),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u-1;fx[x.length-1]||w.push(n(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(n(z(x[0]),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(n(z(x[x.length-1]),{color:_.endlinecolor,width:_.endlinewidth}))}}}}),xy=ed({"src/traces/carpet/calc_labels.js"(e,t){var r=rB(),n=ej().extendFlat;t.exports=function(e,t){var i,a,o,s,l,c=t._labels=[],u=t._gridlines;for(i=0;i=0;i--)a[u-i]=e[h][i],o[u-i]=t[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=e[i][0],o[h-i]=t[i][0];return s.push({x:a,y:o,bicubic:c}),s}}}),xx=ed({"src/traces/carpet/smooth_fill_2d_array.js"(e,t){var r=tQ();t.exports=function(e,t,n){var i=[],a=[],o=e[0].length,s=e.length,l=0;for(f=0;f0&&void 0!==(n=e[r][t-1])&&(a++,i+=n),t0&&void 0!==(n=e[r-1][t])&&(a++,i+=n),r0&&p0&&f1e-5);return r.log("Smoother converged to",c,"after",u,"iterations"),e}}}),x_=ed({"src/traces/carpet/constants.js"(e,t){t.exports={RELATIVE_CULL_TOLERANCE:1e-6}}}),xb=ed({"src/traces/carpet/catmull_rom.js"(e,t){t.exports=function(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=c*(l+c)*3,p=l*(l+c)*3;return[[t[0]+(f&&u/f),t[1]+(f&&h/f)],[t[0]-(p&&u/p),t[1]-(p&&h/p)]]}}}),xw=ed({"src/traces/carpet/compute_control_points.js"(e,t){var r=xb(),n=tQ().ensureArray;function i(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}t.exports=function(e,t,a,o,s,l){var c,u,h,f,p,d,m,g,y,v,x=a[0].length,_=a.length,b=s?3*x-2:x,w=l?3*_-2:_;for(h=0,e=n(e,w),t=n(t,w);hp&&em&&td||tg},e.setScale=function(){var t=e._x,r=e._y,n=i(e._xctrl,e._yctrl,t,r,h.smoothing,f.smoothing);e._xctrl=n[0],e._yctrl=n[1],e.evalxy=a([e._xctrl,e._yctrl],c,u,h.smoothing,f.smoothing),e.dxydi=o([e._xctrl,e._yctrl],h.smoothing,f.smoothing),e.dxydj=s([e._xctrl,e._yctrl],h.smoothing,f.smoothing)},e.i2a=function(e){var r=Math.max(0,Math.floor(e[0]),c-2),n=e[0]-r;return(1-n)*t[r]+n*t[r+1]},e.j2b=function(e){var t=Math.max(0,Math.floor(e[1]),c-2),r=e[1]-t;return(1-r)*l[t]+r*l[t+1]},e.ij2ab=function(t){return[e.i2a(t[0]),e.j2b(t[1])]},e.a2i=function(e){var r=Math.max(0,Math.min(n(e,t),c-2)),i=t[r],a=t[r+1];return Math.max(0,Math.min(c-1,r+(e-i)/(a-i)))},e.b2j=function(e){var t=Math.max(0,Math.min(n(e,l),u-2)),r=l[t],i=l[t+1];return Math.max(0,Math.min(u-1,t+(e-r)/(i-r)))},e.ab2ij=function(t){return[e.a2i(t[0]),e.b2j(t[1])]},e.i2c=function(t,r){return e.evalxy([],t,r)},e.ab2xy=function(r,n,i){if(!i&&(rt[c-1]|nl[u-1]))return[!1,!1];var a=e.a2i(r),o=e.b2j(n),s=e.evalxy([],a,o);if(i){var h,f,p,d,m=0,g=0,y=[];rt[c-1]?(h=c-2,f=1,m=(r-t[c-1])/(t[c-1]-t[c-2])):(h=Math.max(0,Math.min(c-2,Math.floor(a))),f=a-h),nl[u-1]?(p=u-2,d=1,g=(n-l[u-1])/(l[u-1]-l[u-2])):(p=Math.max(0,Math.min(u-2,Math.floor(o))),d=o-p),m&&(e.dxydi(y,h,p,f,d),s[0]+=y[0]*m,s[1]+=y[1]*m),g&&(e.dxydj(y,h,p,f,d),s[0]+=y[0]*g,s[1]+=y[1]*g)}return s},e.c2p=function(e,t,r){return[t.c2p(e[0]),r.c2p(e[1])]},e.p2x=function(e,t,r){return[t.p2c(e[0]),r.p2c(e[1])]},e.dadi=function(e){var r=Math.max(0,Math.min(t.length-2,e));return t[r+1]-t[r]},e.dbdj=function(e){var t=Math.max(0,Math.min(l.length-2,e));return l[t+1]-l[t]},e.dxyda=function(t,r,n,i){var a=e.dxydi(null,t,r,n,i),o=e.dadi(t,n);return[a[0]/o,a[1]/o]},e.dxydb=function(t,r,n,i){var a=e.dxydj(null,t,r,n,i),o=e.dbdj(r,i);return[a[0]/o,a[1]/o]},e.dxyda_rough=function(t,r,n){var i=y*(n||.1),a=e.ab2xy(t+i,r,!0),o=e.ab2xy(t-i,r,!0);return[(a[0]-o[0])*.5/i,(a[1]-o[1])*.5/i]},e.dxydb_rough=function(t,r,n){var i=v*(n||.1),a=e.ab2xy(t,r+i,!0),o=e.ab2xy(t,r-i,!0);return[(a[0]-o[0])*.5/i,(a[1]-o[1])*.5/i]},e.dpdx=function(e){return e._m},e.dpdy=function(e){return e._m}}}}),xS=ed({"src/traces/carpet/calc.js"(e,t){var r=rB(),n=tQ().isArray1D,i=xd(),a=xm(),o=xg(),s=xy(),l=xv(),c=oE(),u=xx(),h=oS(),f=xM();t.exports=function(e,t){var p=r.getFromId(e,t.xaxis),d=r.getFromId(e,t.yaxis),m=t.aaxis,g=t.baxis,y=t.x,v=t.y,x=[];y&&n(y)&&x.push("x"),v&&n(v)&&x.push("y"),x.length&&h(t,m,g,"a","b",x);var _=t._a=t._a||t.a,b=t._b=t._b||t.b;y=t._x||t.x,v=t._y||t.y;var w={};t._cheater&&(y=i("index"===m.cheatertype?_.length:_,"index"===g.cheatertype?b.length:b,t.cheaterslope)),t._x=y=c(y),t._y=v=c(v),u(y,_,b),u(v,_,b),f(t),t.setScale();var T=a(y),k=a(v),A=.5*(T[1]-T[0]),M=.5*(T[1]+T[0]),S=.5*(k[1]-k[0]),E=.5*(k[1]+k[0]);return T=[M-1.3*A,M+1.3*A],k=[E-1.3*S,E+1.3*S],t._extremes[p._id]=r.findExtremes(p,T,{padded:!0}),t._extremes[d._id]=r.findExtremes(d,k,{padded:!0}),o(t,"a","b"),o(t,"b","a"),s(t,m),s(t,g),w.clipsegments=l(t._xctrl,t._yctrl,m,g),w.x=y,w.y=v,w.a=_,w.b=b,[w]}}}),xE=ed({"src/traces/carpet/index.js"(e,t){t.exports={attributes:xa(),supplyDefaults:xc(),plot:xp(),calc:xS(),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:iH(),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}}}),xC=ed({"lib/carpet.js"(e,t){t.exports=xE()}}),xL=ed({"src/traces/scattercarpet/attributes.js"(e,t){var r=nZ(),n=nW(),i=eq(),{hovertemplateAttrs:a,texttemplateAttrs:o,templatefallbackAttrs:s}=tS(),l=rp(),c=ej().extendFlat,u=n.marker,h=n.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:c({},n.mode,{dflt:"markers"}),text:c({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),texttemplatefallback:s({editType:"plot"}),hovertext:c({},n.hovertext,{}),line:{color:h.color,width:h.width,dash:h.dash,backoff:h.backoff,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:c({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:r(),marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,dash:f.dash,editType:"calc"},l("marker.line")),gradient:u.gradient,editType:"calc"},l("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:c({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a(),hovertemplatefallback:s(),zorder:n.zorder}}}),xI=ed({"src/traces/scattercarpet/defaults.js"(e,t){var r=tQ(),n=nG(),i=rC(),a=il(),o=ic(),s=iu(),l=ih(),c=ip(),u=xL();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}p("carpet"),t.xaxis="x",t.yaxis="y";var d=p("a"),m=p("b"),g=Math.min(d.length,m.length);if(!g){t.visible=!1;return}t._length=g,p("text"),p("texttemplate"),p("texttemplatefallback"),p("hovertext"),p("mode",g")}return o}function v(e,t){var r;r=e.labelprefix&&e.labelprefix.length>0?e.labelprefix.replace(/ = $/,""):e._hovertitle,g.push(r+": "+t.toFixed(3)+e.labelsuffix)}}}}),xF=ed({"src/traces/scattercarpet/event_data.js"(e,t){t.exports=function(e,t,r,n,i){var a=n[i];return e.a=a.a,e.b=a.b,e.y=a.y,e}}}),xj=ed({"src/traces/scattercarpet/index.js"(e,t){t.exports={attributes:xL(),supplyDefaults:xI(),colorbar:iL(),formatLabels:xP(),calc:xO(),plot:xD(),style:iP().style,styleOnSelect:iP().styleOnSelect,hoverPoints:xR(),selectPoints:iD(),eventData:xF(),moduleType:"trace",name:"scattercarpet",basePlotModule:iH(),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}}}),xB=ed({"lib/scattercarpet.js"(e,t){t.exports=xj()}}),xN=ed({"src/traces/contourcarpet/attributes.js"(e,t){var r=og(),n=o3(),i=rp(),a=ej().extendFlat,o=n.contours;t.exports=a({carpet:{valType:"string",editType:"calc"},z:r.z,a:r.x,a0:r.x0,da:r.dx,b:r.y,b0:r.y0,db:r.dy,text:r.text,hovertext:r.hovertext,transpose:r.transpose,atype:r.xtype,btype:r.ytype,fillcolor:n.fillcolor,autocontour:n.autocontour,ncontours:n.ncontours,contours:{type:o.type,start:o.start,end:o.end,size:o.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:o.showlines,showlabels:o.showlabels,labelfont:o.labelfont,labelformat:o.labelformat,operation:o.operation,value:o.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:n.line.color,width:n.line.width,dash:n.line.dash,smoothing:n.line.smoothing,editType:"plot"},zorder:n.zorder},i("",{cLetter:"z",autoColorDflt:!1}))}}),xU=ed({"src/traces/contourcarpet/defaults.js"(e,t){var r=tQ(),n=oy(),i=xN(),a=sg(),o=o4(),s=o8();t.exports=function(e,t,l,c){function u(n,a){return r.coerce(e,t,i,n,a)}if(u("carpet"),e.a&&e.b){if(!n(e,t,u,c,"a","b")){t.visible=!1;return}u("text"),"constraint"===u("contours.type")?a(e,t,u,c,l,{hasHover:!1}):(o(e,t,u,function(n){return r.coerce2(e,t,i,n)}),s(e,t,u,c,{hasHover:!1}))}else t._defaultColor=l,t._length=null;u("zorder")}}}),xV=ed({"src/traces/contourcarpet/calc.js"(e,t){var r=rS(),n=tQ(),i=oS(),a=oE(),o=oC(),s=oL(),l=oI(),c=xU(),u=xz(),h=o9();t.exports=function(e,t){var f=t._carpetTrace=u(e,t);if(f&&f.visible&&"legendonly"!==f.visible){if(!t.a||!t.b){var p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=e.data[f.index],C=e.data[t.index];C.a||(C.a=E.a),C.b||(C.b=E.b),c(C,t,t._defaultColor,e._fullLayout)}var L=(b=(_=t._carpetTrace).aaxis,w=_.baxis,b._minDtick=0,w._minDtick=0,n.isArray1D(t.z)&&i(t,b,w,"a","b",["z"]),p=t._a=t._a||t.a,g=t._b=t._b||t.b,p=p?b.makeCalcdata(t,"_a"):[],g=g?w.makeCalcdata(t,"_b"):[],d=t.a0||0,m=t.da||1,y=t.b0||0,v=t.db||1,x=t._z=a(t._z||t.z,t.transpose),t._emptypoints=s(x),o(x,t._emptypoints),T=n.maxRowLength(x),k="scaled"===t.xtype?"":p,A=l(t,k,d,m,T,b),M="scaled"===t.ytype?"":g,S=l(t,M,y,v,x.length,w),"levels"===t.contours.type&&"none"!==t.contours.coloring&&r(e,t,{vals:x,containerStr:"",cLetter:"z"}),[{a:A,b:S,z:x}]);return h(t,t._z),L}}}}),xq=ed({"src/traces/carpet/axis_aligned_line.js"(e,t){var r=tQ().isArrayOrTypedArray;t.exports=function(e,t,n,i){var a,o,s,l,c,u,h,f,p,d,m,g,y,v=r(n)?"a":"b",x=("a"===v?e.aaxis:e.baxis).smoothing,_="a"===v?e.a2i:e.b2j,b="a"===v?n:i,w="a"===v?i:n,T="a"===v?t.a.length:t.b.length,k="a"===v?t.b.length:t.a.length,A=Math.floor("a"===v?e.b2j(w):e.a2i(w)),M="a"===v?function(t){return e.evalxy([],t,A)}:function(t){return e.evalxy([],A,t)};x&&(s=Math.max(0,Math.min(k-2,A)),l=A-s,o="a"===v?function(t,r){return e.dxydi([],t,s,r,l)}:function(t,r){return e.dxydj([],s,t,l,r)});var S=_(b[0]),E=_(b[1]),C=S0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=I(S+L),R=P(E-L),F=[[h=M(S)]];for(a=D;a*C=0;A--)T=n([],(_=L.clipsegments[A]).x,b.c2p),k=n([],_.y,w.c2p),T.reverse(),k.reverse(),q.push(i(T,k,_.bicubic));var H="M"+q.join("L")+"Z";(function(e,t,r,a,s,l){var c,u,h=o.ensureSingle(e,"g","contourbg").selectAll("path").data("fill"!==l||s?[]:[0]);h.enter().append("path"),h.exit().remove();var f=[];for(u=0;u=0&&(f=C,d=g):Math.abs(h[1]-f[1])=0&&(f=C,d=g):o.log("endpt to newendpt is not vert. or horz.",h,f,C)}if(d>=0)break;v+=S(h,f),h=f}if(d===t.edgepaths.length){o.log("unclosed perimeter path");break}u=d,(_=-1===x.indexOf(u))&&(u=x[0],v+=S(h,f)+"Z",h=null)}for(u=0;um&&(n.max=m),n.len=n.max-n.min}function x(e,t){var r=0;return(.1>Math.abs(e[0]-l)||.1>Math.abs(e[0]-c))&&(r=Math.max(r,a*v(t,y(i.dxydb_rough(e[0],e[1],.1)))/2)),(.1>Math.abs(e[1]-u)||.1>Math.abs(e[1]-h))&&(r=Math.max(r,a*v(t,y(i.dxyda_rough(e[0],e[1],.1)))/2)),r}}(this,r,e,n,h,t.height),!(n.len<(t.width+t.height)*u.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/z),u.LABELMAX),a=0;ay):g=A>w,y=A;var M=c(w,T,k,A);M.pos=b,M.yc=(w+A)/2,M.i=_,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],v&&(M.orig_p=a[_]),d&&(M.tx=t.text[_]),m&&(M.htx=t.hovertext[_]),x.push(M)}else x.push({pos:b,empty:!0})}return t._extremes[l._id]=i.findExtremes(l,r.concat(f,h),{padded:!0}),x.length&&(x[0].t={labels:{open:n(e,"open:")+" ",high:n(e,"high:")+" ",low:n(e,"low:")+" ",close:n(e,"close:")+" "}}),x}t.exports={calc:function(e,t){var n=i.getFromId(e,t.xaxis),o=i.getFromId(e,t.yaxis),c=function(e,t,n){var i=n._minDiff;if(!i){var o,s=e._fullData,l=[];for(o=0,i=1/0;o"+u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat)):((y=n.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=x,y.yLabel=u.labels[v]+r.hoverLabelText(s,x,l.yhoverformat),y.name="",h.push(y),m[x]=y)}return h}function h(e,t,n,i){var a=e.cd,s=e.ya,u=a[0].trace,h=a[0].t,f=c(e,t,n,i);if(!f)return[];var p=a[f.index],d=f.index=p.i,m=p.dir;function g(e){return h.labels[e]+r.hoverLabelText(s,u[e][d],u.yhoverformat)}var y=p.hi||u.hoverinfo||"",v=y.split("+"),x="all"===y,_=x||-1!==v.indexOf("y"),b=x||-1!==v.indexOf("text"),w=_?[g("open"),g("high"),g("low"),g("close")+" "+l[m]]:[];return b&&o(p,u,w),f.extraText=w.join("
"),f.y0=f.y1=s.c2p(p.yc,!0),[f]}t.exports={hoverPoints:function(e,t,r,n){return e.cd[0].trace.hoverlabel.split?u(e,t,r,n):h(e,t,r,n)},hoverSplit:u,hoverOnPoints:h}}}),x0=ed({"src/traces/ohlc/select.js"(e,t){t.exports=function(e,t){var r,n=e.cd,i=e.xaxis,a=e.yaxis,o=[],s=n[0].t.bPos||0;if(!1===t)for(r=0;rr?function(e){return e<=0}:function(e){return e>=0};e.c2g=function(r){var n=e.c2l(r)-t;return(o(n)?n:0)+a},e.g2c=function(r){return e.l2c(r+t-a)},e.g2p=function(e){return e*i},e.c2p=function(t){return e.g2p(e.c2g(t))}};break;case"angularaxis":(function(e,t){var n=e.type;if("linear"===n){var o=e.d2c,s=e.c2d;e.d2c=function(e,t){var r;return r=o(e),"degrees"===t?i(r):r},e.c2d=function(e,t){return s("degrees"===t?a(e):e)}}e.makeCalcdata=function(t,r){var n,i,a=t[r],o=t._length,s=function(r){return e.d2c(r,t.thetaunit)};if(a)for(i=0,n=Array(o);i1e-10?e:0}function h(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=Array(n),a=0;a0?r:1/0}),a=r.mod(n+1,t.length);return[t[n],t[a]]},findIntersectionXY:l,findXYatLength:function(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=Math.sqrt(o*o-4*a*(i*i+r*r-e*e)),l=(-o+s)/(2*a),c=(-o-s)/(2*a);return[[l,t*l+i+n],[c,t*c+i+n]]},clampTiny:u,pathPolygon:function(e,t,r,n,i,a){return"M"+h(c(e,t,r,n),i,a).join("L")},pathPolygonAnnulus:function(e,t,r,n,i,a,o){e0?1:0}function n(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function i(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}t.exports={smith:n,reactanceArc:function(e,t,r,a){var o=i(e,n([r,t])),s=o[0],l=o[1],c=i(e,n([a,t])),u=c[0],h=c[1];if(0===t)return["M"+s+","+l,"L"+u+","+h].join(" ");var f=1/Math.abs(t)*e.radius;return["M"+s+","+l,"A"+f+","+f+" 0 0,"+(t<0?1:0)+" "+u+","+h].join(" ")},resistanceArc:function(e,t,a,o){var s=1/(t+1)*e.radius,l=i(e,n([t,a])),c=l[0],u=l[1],h=i(e,n([t,o])),f=h[0],p=h[1];if(r(a)!==r(o)){var d=i(e,n([t,0]));return["M"+c+","+u,"A"+s+","+s+" 0 0,"+(0=90||a>90&&o>=450?1:h<=0&&p<=0?0:Math.max(h,p),[a<=180&&o>=180||a>180&&o>=540?-1:u>=0&&f>=0?0:Math.min(u,f),a<=270&&o>=270||a>270&&o>=630?-1:h>=0&&p>=0?0:Math.min(h,p),o>=360?1:u<=0&&f<=0?0:Math.max(u,f),r]),L=C[2]-C[0],I=Math.abs((C[3]-C[1])/L);S/M>I?(d=M,v=(S-(m=M*I))/b.h/2,g=[k[0],k[1]],y=[A[0]+v,A[1]-v]):(d=S/I,m=S,v=(M-d)/b.w/2,g=[k[0]+v,k[1]-v],y=[A[0],A[1]]),this.xLength2=d,this.yLength2=m,this.xDomain2=g,this.yDomain2=y;var P=this.xOffset2=b.l+b.w*g[0],z=this.yOffset2=b.t+b.h*(1-y[1]),R=this.radius=d/L,F=this.innerRadius=this.getHole(t)*R,j=this.cx=P-R*C[0],B=this.cy=z+R*C[3],N=this.cxx=j-P,U=this.cyy=B-z,V=w.side;"counterclockwise"===V?(x=V,V="top"):"clockwise"===V&&(x=V,V="bottom"),this.radialAxis=this.mockAxis(e,t,w,{_id:"x",side:V,_trueSide:x,domain:[F/b.w,R/b.w]}),this.angularAxis=this.mockAxis(e,t,T,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(e,t),this.updateAngularAxis(e,t),this.updateRadialAxis(e,t),this.updateRadialAxisTitle(e,t),this.xaxis=this.mockCartesianAxis(e,t,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(e,t,{_id:"y",domain:y});var q=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",q).attr("transform",s(N,U)),_.frontplot.attr("transform",s(P,z)).call(c.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),_.bg.attr("d",q).attr("transform",s(j,B)).call(l.fill,t.bgcolor)},j.mockAxis=function(e,t,r,n){var i=a.extendFlat({},r,n);return p(i,t,e),i},j.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,o=r._id,s=a.extendFlat({type:"linear"},r);f(s,e);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var e=n.sectorBBox,r=l[o],i=n.radialAxis._rl,a=(i[1]-i[0])/(1-n.getHole(t));s.range=[e[r[0]]*a,e[r[1]]*a]},s.isPtWithinRange="x"!==o||i?function(){return!0}:function(e){return n.isPtInside(e)},s.setRange(),s.setScale(),s},j.doAutoRange=function(e,t){var r=this.gd,n=this.radialAxis,i=this.getRadial(t);d(r,n);var a=n.range;if(i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,"gregorian"),n.r2l(a[1],null,"gregorian")],void 0!==n.minallowed){var o=n.r2l(n.minallowed);n._rl[0]>n._rl[1]?n._rl[1]=Math.max(n._rl[1],o):n._rl[0]=Math.max(n._rl[0],o)}if(void 0!==n.maxallowed){var s=n.r2l(n.maxallowed);n._rl[0]90&&m<=270&&(g.tickangle=180);var x=v?function(e){var t=P(r,C([e.x,0]));return s(t[0]-f,t[1]-p)}:function(e){return s(g.l2p(e.x)+u,0)},_=v?function(e){return I(r,e.x,-1/0,1/0)}:function(e){return r.pathArc(g.r2p(e.x)+u)},b=B(d);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),y){g.setScale();var w=0,T=v?(g.tickvals||[]).filter(function(e){return e>=0}).map(function(e){return h.tickText(g,e,!0,!1)}):h.calcTicks(g),k=v?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];v&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:_,transFn:a.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?R(N(D(d.angle),r.vangles)):d.angle,S=s(f,p),E=S+o(-M);U(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),U(i["radial-grid"],y&&d.showgrid,{transform:v?"":S}),U(i["radial-line"].select("line"),y&&d.showline,{x1:v?-c:u,y1:0,x2:c,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(l.stroke,d.linecolor)},j.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=this.getRadial(t),l=this.id+"title",u=0;if(s.title){var h=c.bBox(this.layers["radial-axis"].node()).height,f=s.title.font.size,p=s.side;u="top"===p?f:"counterclockwise"===p?-(h+.4*f):h+.8*f}var d=void 0!==r?r:this.radialAxisAngle,m=D(d),g=Math.cos(m),y=Math.sin(m),x=a+i/2*g+u*y,_=o-i/2*y+u*g;this.layers["radial-axis-title"]=v.draw(n,l,{propContainer:s,propName:this.id+".radialaxis.title.text",placeholder:z(n,"Click to enter radial axis title"),attributes:{x,y:_,"text-anchor":"middle"},transform:{rotate:-d}})}},j.updateAngularAxis=function(e,t){var r,n=this,i=n.gd,c=n.layers,u=n.radius,f=n.innerRadius,p=n.cx,d=n.cy,m=n.getAngular(t),g=n.angularAxis,y=n.isSmith;y||(n.fillViewInitialKey("angularaxis.rotation",m.rotation),g.setGeometry(),g.setScale());var v=y?function(e){var t=P(n,C([0,e.x]));return Math.atan2(t[0]-p,t[1]-d)-Math.PI/2}:function(e){return g.t2g(e.x)};"linear"===g.type&&"radians"===g.thetaunit&&(g.tick0=R(g.tick0),g.dtick=R(g.dtick));var x=function(e){return s(p+u*Math.cos(e),d-u*Math.sin(e))},_=y?function(e){var t=P(n,C([0,e.x]));return s(t[0],t[1])}:function(e){return x(v(e))},b=y?function(e){var t=P(n,C([0,e.x])),r=Math.atan2(t[0]-p,t[1]-d)-Math.PI/2;return s(t[0],t[1])+o(-R(r))}:function(e){var t=v(e);return x(t)+o(-R(t))},w=y?function(e){return L(n,e.x,0,1/0)}:function(e){var t=v(e),r=Math.cos(t),n=Math.sin(t);return"M"+[p+f*r,d-f*n]+"L"+[p+u*r,d-u*n]},T=h.makeLabelFns(g,0).labelStandoff,k={};k.xFn=function(e){return Math.cos(v(e))*T},k.yFn=function(e){var t=v(e),r=Math.sin(t)>0?.2:1;return-Math.sin(t)*(T+e.fontSize*r)+e.fontSize*A*Math.abs(Math.cos(t))},k.anchorFn=function(e){var t=Math.cos(v(e));return .1>Math.abs(t)?"middle":t>0?"start":"end"},k.heightFn=function(e,t,r){return -.5*(1+Math.sin(v(e)))*r};var M=B(m);n.angularTickLayout!==M&&(c["angular-axis"].selectAll("."+g._id+"tick").remove(),n.angularTickLayout=M);var S=y?[1/0].concat(g.tickvals||[]).map(function(e){return h.tickText(g,e,!0,!1)}):h.calcTicks(g);if(y&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===t.gridshape?(r=S.map(v),0>a.angleDelta(r[0],r[1])&&(r=r.slice().reverse())):r=null,n.vangles=r,"category"===g.type&&(S=S.filter(function(e){return a.isAngleInsideSector(v(e),n.sectorInRad)})),g.visible){var E="inside"===g.ticks?-1:1,I=(g.linewidth||1)/2;h.drawTicks(i,g,{vals:S,layer:c["angular-axis"],path:"M"+E*I+",0h"+E*g.ticklen,transFn:b,crisp:!1}),h.drawGrid(i,g,{vals:S,layer:c["angular-grid"],path:w,transFn:a.noop,crisp:!1}),h.drawLabels(i,g,{vals:S,layer:c["angular-axis"],repositionOnUpdate:!0,transFn:_,labelFns:k})}U(c["angular-line"].select("path"),m.showline,{d:n.pathSubplot(),transform:s(p,d)}).attr("stroke-width",m.linewidth).call(l.stroke,m.linecolor)},j.updateFx=function(e,t){this.gd._context.staticPlot||(this.isSmith||(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e))},j.updateHoverAndMainDrag=function(e){var t,o,l,c,u,h,f,p,d,v,w,T=this,k=T.isSmith,A=T.gd,E=T.layers,C=e._zoomlayer,L=M.MINZOOM,I=M.OFFEDGE,P=T.radius,z=T.innerRadius,O=T.cx,D=T.cy,R=T.cxx,F=T.cyy,j=T.sectorInRad,B=T.vangles,N=T.radialAxis,U=S.clampTiny,V=S.findXYatLength,q=S.findEnclosingVertexAngles,H=M.cornerHalfWidth,G=M.cornerLen/2,Z=m.makeDragger(E,"path","maindrag",!1===e.dragmode?"none":"crosshair");r.select(Z).attr("d",T.pathSubplot()).attr("transform",s(O,D)),Z.onmousemove=function(e){y.hover(A,e,T.id),A._fullLayout._lasthover=Z,A._fullLayout._hoversubplot=T.id},Z.onmouseout=function(e){A._dragging||g.unhover(A,e)};var W={element:Z,gd:A,subplot:T.id,plotinfo:{id:T.id,xaxis:T.xaxis,yaxis:T.yaxis},xaxes:[T.xaxis],yaxes:[T.yaxis]};function Y(e,t){return Math.sqrt(e*e+t*t)}function X(e,t){return Math.atan2(F-t,e-R)}function $(e,t){return[e*Math.cos(t),e*Math.sin(-t)]}function J(e,t){if(0===e)return T.pathSector(2*H);var r=G/e,n=t-r,i=t+r,a=Math.max(0,Math.min(e,P)),o=a-H,s=a+H;return"M"+$(o,n)+"A"+[o,o]+" 0,0,0 "+$(o,i)+"L"+$(s,i)+"A"+[s,s]+" 0,0,1 "+$(s,n)+"Z"}function K(e,t,r){if(0===e)return T.pathSector(2*H);var n,i,a,o,s=$(e,t),l=$(e,r),c=U((s[0]+l[0])/2),u=U((s[1]+l[1])/2);if(c&&u){var h=u/c,f=-1/h,p=V(H,h,c,u);n=V(G,f,p[0][0],p[0][1]),i=V(G,f,p[1][0],p[1][1])}else u?(a=G,o=H):(a=H,o=G),n=[[c-a,u-o],[c+a,u-o]],i=[[c-a,u+o],[c+a,u+o]];return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function Q(e,t){return(t=Math.max(Math.min(t,P),z),eL)?(e-1&&1===e&&_(t,A,[T.xaxis],[T.yaxis],T.id,W),r.indexOf("event")>-1&&y.click(A,t,T.id)}W.prepFn=function(e,r,i){var s=A._fullLayout.dragmode,g=Z.getBoundingClientRect();A._fullLayout._calcInverseTransform(A);var y=A._fullLayout._invTransform;t=A._fullLayout._invScaleX,o=A._fullLayout._invScaleY;var _=a.apply3DTransform(y)(r-g.left,i-g.top);if(l=_[0],c=_[1],B){var M=S.findPolygonOffset(P,j[0],j[1],B);l+=R+M[0],c+=F+M[1]}switch(s){case"zoom":W.clickFn=eo,k||(B?W.moveFn=en:W.moveFn=et,W.doneFn=ei,u=null,h=null,f=T.pathSubplot(),p=!1,d=n(A._fullLayout[T.id].bgcolor).getLuminance(),(v=m.makeZoombox(C,d,O,D,f)).attr("fill-rule","evenodd"),w=m.makeCorners(C,O,D),b(A));break;case"select":case"lasso":x(e,r,i,W,s)}},g.init(W)},j.updateRadialDrag=function(e,t,n){var l,c,u,h,f,p,d=this,y=d.gd,v=d.layers,x=d.radius,_=d.innerRadius,w=d.cx,A=d.cy,S=d.radialAxis,E=M.radialDragBoxSize,C=E/2;if(S.visible){var L=D(d.radialAxisAngle),I=S._rl,P=I[0],z=I[1],O=I[n],F=.75*(I[1]-I[0])/(1-d.getHole(t))/x;n?(l=w+(x+C)*Math.cos(L),c=A-(x+C)*Math.sin(L),u="radialdrag"):(l=w+(_-C)*Math.cos(L),c=A-(_-C)*Math.sin(L),u="radialdrag-inner");var j=m.makeRectDragger(v,u,"crosshair",-C,-C,E,E),B={element:j,gd:y};!1===e.dragmode&&(B.dragmode=!1),U(r.select(j),S.visible&&_0!=(n?p>P:p")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),_f=ed({"src/traces/scatterpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:_a(),categories:["polar","symbols","showLegend","scatter-like"],attributes:_o(),supplyDefaults:_s().supplyDefaults,colorbar:iL(),formatLabels:_l(),calc:_c(),plot:_u(),style:iP().style,styleOnSelect:iP().styleOnSelect,hoverPoints:_h().hoverPoints,selectPoints:iD(),meta:{}}}}),_p=ed({"lib/scatterpolar.js"(e,t){t.exports=_f()}}),_d=ed({"src/traces/scatterpolargl/attributes.js"(e,t){var r=_o(),{cliponaxis:n,hoveron:i}=r,a=ef(r,["cliponaxis","hoveron"]),{connectgaps:o,line:{color:s,dash:l,width:c},fill:u,fillcolor:h,marker:f,textfont:p,textposition:d}=dk();t.exports=eh(eu({},a),{connectgaps:o,fill:u,fillcolor:h,line:{color:s,dash:l,editType:"calc",width:c},marker:f,textfont:p,textposition:d})}}),_m=ed({"src/traces/scatterpolargl/defaults.js"(e,t){var r=tQ(),n=rC(),i=_s().handleRThetaDefaults,a=il(),o=ic(),s=ih(),l=ip(),c=nG().PTS_LINESONLY,u=_d();t.exports=function(e,t,h,f){function p(n,i){return r.coerce(e,t,u,n,i)}var d=i(e,t,f,p);if(!d){t.visible=!1;return}p("thetaunit"),p("mode",d=l&&(y.marker.cluster=p.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&s.extendFlat(y.line,o.linePositions(e,c,_)),y.text&&(s.extendFlat(y.text,{positions:_},o.textPosition(e,c,y.text,y.marker)),s.extendFlat(y.textSel,{positions:_},o.textPosition(e,c,y.text,y.markerSel)),s.extendFlat(y.textUnsel,{positions:_},o.textPosition(e,c,y.text,y.markerUnsel))),y.fill&&!f.fill2d&&(f.fill2d=!0),y.marker&&!f.scatter2d&&(f.scatter2d=!0),y.line&&!f.line2d&&(f.line2d=!0),y.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(y.line),f.fillOptions.push(y.fill),f.markerOptions.push(y.marker),f.markerSelectedOptions.push(y.markerSel),f.markerUnselectedOptions.push(y.markerUnsel),f.textOptions.push(y.text),f.textSelectedOptions.push(y.textSel),f.textUnselectedOptions.push(y.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),p.x=b,p.y=w,p.rawx=b,p.rawy=w,p.r=m,p.theta=g,p.positions=_,p._scene=f,p.index=f.count,f.count++}}),i(e,t,c)}},t.exports.reglPrecompiled={}}}),_b=ed({"src/traces/scatterpolargl/index.js"(e,t){var r=_x();r.plot=__(),t.exports=r}}),_w=ed({"lib/scatterpolargl.js"(e,t){t.exports=_b()}}),_T=ed({"src/traces/barpolar/attributes.js"(e,t){var r,{hovertemplateAttrs:n,templatefallbackAttrs:i}=tS(),a=ej().extendFlat,o=_o(),s=aJ();t.exports={r:o.r,theta:o.theta,r0:o.r0,dr:o.dr,theta0:o.theta0,dtheta:o.dtheta,thetaunit:o.thetaunit,base:a({},s.base,{}),offset:a({},s.offset,{}),width:a({},s.width,{}),text:a({},s.text,{}),hovertext:a({},s.hovertext,{}),marker:(r=a({},s.marker),delete r.cornerradius,r),hoverinfo:o.hoverinfo,hovertemplate:n(),hovertemplatefallback:i(),selected:s.selected,unselected:s.unselected}}}),_k=ed({"src/traces/barpolar/layout_attributes.js"(e,t){t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}}}),_A=ed({"src/traces/barpolar/defaults.js"(e,t){var r=tQ(),n=_s().handleRThetaDefaults,i=aQ(),a=_T();t.exports=function(e,t,o,s){function l(n,i){return r.coerce(e,t,a,n,i)}if(!n(e,t,s,l)){t.visible=!1;return}l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),l("hovertemplatefallback"),i(e,t,l,o,s),r.coerceSelectionMarkerOpacity(t,l)}}}),_M=ed({"src/traces/barpolar/layout_defaults.js"(e,t){var r=tQ(),n=_k();t.exports=function(e,t,i){var a,o={};function s(i,o){return r.coerce(e[a]||{},t[a],n,i,o)}for(var l=0;l0?(s=n,u=a):(s=a,u=n);var s,u,h=o.findEnclosingVertexAngles(s,t.vangles)[0],f=o.findEnclosingVertexAngles(u,t.vangles)[1],p=[h,(s+u)/2,f];return o.pathPolygonAnnulus(e,r,s,u,p,l,c)}:function(e,t,r,n){return i.pathAnnulus(e,t,r,n,l,c)}),g=t.layers.frontplot.select("g.barlayer");i.makeTraceGroups(g,s,"trace bars").each(function(){var o=r.select(this),s=i.ensureSingle(o,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect",u?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each(function(e){var t,a=r.select(this),o=e.rp0=p.c2p(e.s0),s=e.rp1=p.c2p(e.s1),l=e.thetag0=d.c2g(e.p0),c=e.thetag1=d.c2g(e.p1);if(n(o)&&n(s)&&n(l)&&n(c)&&o!==s&&l!==c){var u=p.c2g(e.s1),g=(l+c)/2;e.ct=[h.c2p(u*Math.cos(g)),f.c2p(u*Math.sin(g))],t=m(o,s,l,c)}else t="M0,0Z";i.ensureSingle(a,"path").attr("d",t)}),a.setClipUrl(o,t._hasClipOnAxisFalse?t.clipIds.forTraces:null,e)})}}}),_C=ed({"src/traces/barpolar/hover.js"(e,t){var r=na(),n=tQ(),i=a7().getTraceColor,a=n.fillText,o=_h().makeHoverPointText,s=_e().isPtInsidePolygon;t.exports=function(e,t,l){var c=e.cd,u=c[0].trace,h=e.subplot,f=h.radialAxis,p=h.angularAxis,d=h.vangles,m=d?s:n.isPtInsideSector,g=e.maxHoverDistance,y=p._period||2*Math.PI,v=Math.abs(f.g2p(Math.sqrt(t*t+l*l))),x=Math.atan2(l,t);if(f.range[0]>f.range[1]&&(x+=Math.PI),r.getClosest(c,function(e){return m(v,x,[e.rp0,e.rp1],[e.thetag0,e.thetag1],d)?g+Math.min(1,Math.abs(e.thetag1-e.thetag0)/y)-1+(e.rp1-v)/(e.rp1-e.rp0)-1:1/0},e),!1!==e.index){var _=c[e.index];e.x0=e.x1=_.ct[0],e.y0=e.y1=_.ct[1];var b=n.extendFlat({},_,{r:_.s,theta:_.p});return a(_,u,e),o(b,u,h,e),e.hovertemplate=u.hovertemplate,e.color=i(u,_),e.xLabelVal=e.yLabelVal=void 0,_.s<0&&(e.idealAlign="left"),[e]}}}}),_L=ed({"src/traces/barpolar/index.js"(e,t){t.exports={moduleType:"trace",name:"barpolar",basePlotModule:_a(),categories:["polar","bar","showLegend"],attributes:_T(),layoutAttributes:_k(),supplyDefaults:_A(),supplyLayoutDefaults:_M(),calc:_S().calc,crossTraceCalc:_S().crossTraceCalc,plot:_E(),colorbar:iL(),formatLabels:_l(),style:a6().style,styleOnSelect:a6().styleOnSelect,hoverPoints:_C(),selectPoints:oe(),meta:{}}}}),_I=ed({"lib/barpolar.js"(e,t){t.exports=_L()}}),_P=ed({"src/plots/smith/constants.js"(e,t){t.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}}}),_z=ed({"src/plots/smith/layout_attributes.js"(e,t){var r=eG(),n=rh(),i=aI().attributes,a=tQ().extendFlat,o=tk().overrideAll,s=o({color:n.color,showline:a({},n.showline,{dflt:!0}),linecolor:n.linecolor,linewidth:n.linewidth,showgrid:a({},n.showgrid,{dflt:!0}),gridcolor:n.gridcolor,gridwidth:n.gridwidth,griddash:n.griddash},"plot","from-root"),l=o({ticklen:n.ticklen,tickwidth:a({},n.tickwidth,{dflt:2}),tickcolor:n.tickcolor,showticklabels:n.showticklabels,labelalias:n.labelalias,showtickprefix:n.showtickprefix,tickprefix:n.tickprefix,showticksuffix:n.showticksuffix,ticksuffix:n.ticksuffix,tickfont:n.tickfont,tickformat:n.tickformat,hoverformat:n.hoverformat,layer:n.layer},"plot","from-root"),c=a({visible:a({},n.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:a({},n.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},s,l),u=a({visible:a({},n.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:n.ticks,editType:"calc"},s,l);t.exports={domain:i({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:r.background},realaxis:c,imaginaryaxis:u,editType:"calc"}}}),_O=ed({"src/plots/smith/layout_defaults.js"(e,t){var r,n,i,a=tQ(),o=eZ(),s=t7(),l=sC(),c=rn().getSubplotData,u=rw(),h=rb(),f=iB(),p=rR(),d=_z(),m=_P(),g=m.axisNames,y=(r=function(e){return a.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(e){return-e}).concat([0]).concat(e)},n=String,i={},function(e){var t=n?n(e):e;if(t in i)return i[t];var a=r(e);return i[t]=a,a});function v(e,t,r,n){var i=r("bgcolor");n.bgColor=o.combine(i,n.paper_bgcolor);var l=c(n.fullData,m.name,n.id),v=n.layoutOut;function x(e,t){return r(k+"."+e,t)}for(var _=0;_")}}t.exports={hoverPoints:function(e,t,i,a){var o=r(e,t,i,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=e.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,n(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:n}}}),_V=ed({"src/traces/scattersmith/index.js"(e,t){t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:_D(),categories:["smith","symbols","showLegend","scatter-like"],attributes:_R(),supplyDefaults:_F(),colorbar:iL(),formatLabels:_j(),calc:_B(),plot:_N(),style:iP().style,styleOnSelect:iP().styleOnSelect,hoverPoints:_U().hoverPoints,selectPoints:iD(),meta:{}}}}),_q=ed({"lib/scattersmith.js"(e,t){t.exports=_V()}}),_H=ed({"node_modules/world-calendars/dist/main.js"(e,t){var r=d0();function n(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function a(e,t){return e=""+e,"000000".substring(0,t-e.length)+e}function o(){this.shortYearCutoff="+10"}function s(e){this.local=this.regionalOptions[e]||this.regionalOptions[""]}r(n.prototype,{instance:function(e,t){e=(e||"gregorian").toLowerCase(),t=t||"";var r=this._localCals[e+"-"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+"-"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,e);return r},newDate:function(e,t,r,n,i){return(n=(null!=e&&e.year?e.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+"").replace(/[0-9]/g,function(t){return e[t]})}},substituteChineseDigits:function(e,t){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(e[1]+t[1])&&(n=n.substr(1)),n||e[0]}}}),r(i.prototype,{newDate:function(e,t,r){return this._calendar.newDate(null==e?this:e,t,r)},year:function(e){return 0==arguments.length?this._year:this.set(e,"y")},month:function(e){return 0==arguments.length?this._month:this.set(e,"m")},day:function(e){return 0==arguments.length?this._day:this.set(e,"d")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(l.local.invalidDate||l.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(l.local.differentCalendars||l.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return 0===t?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(0>this.year()?"-":"")+a(Math.abs(this.year()),4)+"-"+a(this.month(),2)+"-"+a(this.day(),2)}}),r(o.prototype,{_validateLevel:0,newDate:function(e,t,r){return null==e?this.today():(e.year&&(this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),r=e.day(),t=e.month(),e=e.year()),new i(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){return 0>this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear).year()?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return(0>t.year()?"-":"")+a(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,l.local.invalidYear||l.regionalOptions[""].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,"d"===r||"w"===r){var n=e.toJD()+t*("w"===r?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+("y"===r?t:0),o=e.monthOfYear()+("m"===r?t:0),i=e.day();"y"===r?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(e){for(;ot-1+e.minMonth;)a++,o-=t,t=e.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(e){throw this._validateLevel--,e}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&("y"===n||"m"===n)&&(0===t[0]||e.year()>0!=t[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n];t=this._add(e,r*i[0]+(r<0?-1:1)*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,l.local.invalidDate||l.regionalOptions[""].invalidDate);var n="y"===r?t:e.year(),i="m"===r?t:e.month(),a="d"===r?t:e.day();return("y"===r||"m"===r)&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||0!==e;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDayt.year()?1:0);return e%4==0&&(e%100!=0||e%400==0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,l.local.invalidMonth||l.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+(2-i+Math.floor(i/4))-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-1867216.25)/36524.25),n=(r=t+1+r-Math.floor(r/4))+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=o-(o>13.5?13:1),l=i-(s>2.5?4716:4715);return l<=0&&l--,this.newDate(l,s,n-a-Math.floor(30.6001*o))},toJSDate:function(e,t,r){var n=this._validate(e,t,r,l.local.invalidDate||l.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var l=t.exports=new n;l.cdate=i,l.baseCalendar=o,l.calendars.gregorian=s}}),_G=ed({"node_modules/world-calendars/dist/plus.js"(){var e=d0(),t=_H();e(t.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),t.local=t.regionalOptions[""],e(t.cdate.prototype,{formatDate:function(e,t){return"string"!=typeof e&&(t=e,e=""),this._calendar.formatDate(e||"",this,t)}}),e(t.baseCalendar.prototype,{UNIX_EPOCH:t.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:t.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(e,r,n){if("string"!=typeof e&&(n=r,r=e,e=""),!r)return"";if(r.calendar()!==this)throw t.local.invalidFormat||t.regionalOptions[""].invalidFormat;e=e||this.local.dateFormat;var i,a,o,s=(n=n||{}).dayNamesShort||this.local.dayNamesShort,l=n.dayNames||this.local.dayNames,c=n.monthNumbers||this.local.monthNumbers,u=n.monthNamesShort||this.local.monthNamesShort,h=n.monthNames||this.local.monthNames;n.calculateWeek||this.local.calculateWeek;for(var f=function(t,r){for(var n=1;v+n1},p=function(e,t,r,n){var i=""+t;if(f(e,n))for(;i.length1},x=function(e,n){var i=v(e,n),a=RegExp("^-?\\d{1,"+[2,3,i?4:2,i?4:2,10,11,20]["oyYJ@!".indexOf(e)+1]+"}"),o=r.substring(T).match(a);if(!o)throw(t.local.missingNumberAt||t.regionalOptions[""].missingNumberAt).replace(/\{0\}/,T);return T+=o[0].length,parseInt(o[0],10)},_=this,b=function(e,n,i,a){for(var o=v(e,a)?i:n,s=0;s-1){p=1,d=m;for(var M=this.daysInMonth(f,p);d>M;M=this.daysInMonth(f,p))p++,d-=M}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(e,t,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return t=t?t.newDate():null,e=null==e?t:"string"==typeof e?function(e){try{return a.parseDate(n,e,i)}catch(e){}for(var t=((e=e.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(e);s;)t.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(e);return t}(e):"number"==typeof e?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,"d"):a.newDate(e)}})}}),_Z=ed({"node_modules/world-calendars/dist/calendars/chinese.js"(){var e=_H(),t=d0(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(e,t){if("string"==typeof e){var r=e.match(a);return r?r[0]:""}var n=this._validateYear(e),i=e.month(),o=""+this.toChineseMonth(n,i);return t&&o.length<2&&(o="0"+o),this.isIntercalaryMonth(n,i)&&(o+="i"),o},monthNames:function(e){if("string"==typeof e){var t=e.match(o);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(e){if("string"==typeof e){var t=e.match(s);return t?t[0]:""}var r=this._validateYear(e),n=e.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(e,t){e=this._validateYear(e);var r,n=parseInt(t);if(isNaN(n))"闰"===t[0]&&(r=!0,t=t.substring(1)),"月"===t[t.length-1]&&(t=t.substring(0,t.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(t);else{var i=t[t.length-1];r="i"===i||"I"===i}return this.toMonthIndex(e,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),"number"!=typeof e||e<1888||e>2111)throw t.replace(/\{0\}/,this.local.name);return e},toMonthIndex:function(t,r,n){var i=this.intercalaryMonth(t);if(n&&r!==i||r<1||r>12)throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!n&&r<=i?r-1:r:r-1},toChineseMonth:function(t,r){t.year&&(r=(t=t.year()).month());var n=this.intercalaryMonth(t);if(r<0||r>(n?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n?r>13},isIntercalaryMonth:function(e,t){e.year&&(t=(e=e.year()).month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return 0!==this.intercalaryMonth(e)},weekOfYear:function(t,n,i){var a,o=c[this._validateYear(t,e.local.invalidyear)-c[0]];return(a=r.newDate(o>>9&4095,o>>5&15,31&o)).add(4-(a.dayOfWeek()||7),"d"),1+Math.floor((this.toJD(t,n,i)-a.toJD())/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(t,r){t.year&&(r=t.month(),t=t.year());var n=l[(t=this._validateYear(t))-l[0]];if(r>(n>>13?12:11))throw e.local.invalidMonth.replace(/\{0\}/,this.local.name);return n&1<<12-r?30:29},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(t,n,i){var a=this._validate(t,s,i,e.local.invalidDate);t=this._validateYear(a.year()),n=a.month(),i=a.day();var o=this.isIntercalaryMonth(t,n),s=this.toChineseMonth(t,n),u=function(e,t,r,n,i){if("object"==typeof e)u=e,s=t||{};else{var a,o,s,u,h;if(!("number"==typeof e&&e>=1888&&e<=2111))throw Error("Lunar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw Error("Lunar day outside range 1 - 30");"object"==typeof n?(h=!1,s=n):(h=!!n,s={}),u={year:e,month:t,day:r,isIntercalary:h}}a=u.day-1;var f=l[u.year-l[0]],p=f>>13;o=p?u.month>p?u.month:u.isIntercalary?u.month:u.month-1:u.month-1;for(var d=0;d>9&4095,(m>>5&15)-1,(31&m)+a);return s.year=g.getFullYear(),s.month=1+g.getMonth(),s.day=g.getDate(),s}(t,s,i,o);return r.toJD(u.year,u.month,u.day)},fromJD:function(e){var t=r.fromJD(e),n=function(e,t,r,n){if("object"==typeof e)i=e,a=t||{};else{var i,a,o,s;if(!("number"==typeof e&&e>=1888&&e<=2111))throw Error("Solar year outside range 1888-2111");if(!("number"==typeof t&&t>=1&&t<=12))throw Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw Error("Solar day outside range 1 - 31");i={year:e,month:t,day:r},a={}}var u=c[i.year-c[0]],h=i.year<<9|i.month<<5|i.day;a.year=h>=u?i.year:i.year-1;var f=new Date((u=c[a.year-c[0]])>>9&4095,(u>>5&15)-1,31&u);o=Math.round((new Date(i.year,i.month-1,i.day)-f)/864e5);var p=l[a.year-l[0]];for(s=0;s<13;s++){var d=p&1<<12-s?30:29;if(o>13;return!m||sr.year()?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(13===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return(t=i.year())<0&&t++,i.day()+(i.month()-1)*30+(t-1)*365+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--;var n=Math.floor((t=Math.floor(e)+.5-this.newDate(r,1,1).toJD())/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}}),e.calendars.coptic=r}}),_Y=ed({"node_modules/world-calendars/dist/calendars/discworld.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,r,n){return(this._validate(t,r,n,e.local.invalidDate).day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(t,r,i){return{century:n[Math.floor((this._validate(t,r,i,e.local.invalidDate).year()-1)/100)+1]||""}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year()+(0>i.year()?1:0),r=i.month(),(n=i.day())+(r>1?16:0)+(r>2?(r-2)*32:0)+(t-1)*400+this.jdEpoch-1},fromJD:function(e){var t=Math.floor((e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1)/400)+1;e-=(t-1)*400;var r=Math.floor((e+=e>15?16:0)/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var n={20:"Fruitbat",21:"Anchovy"};e.calendars.discworld=r}}),_X=ed({"node_modules/world-calendars/dist/calendars/ethiopian.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),t=r.year()+(0>r.year()?1:0);return t%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(13===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return(t=i.year())<0&&t++,i.day()+(i.month()-1)*30+(t-1)*365+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--;var n=Math.floor((t=Math.floor(e)+.5-this.newDate(r,1,1).toJD())/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}}),e.calendars.ethiopian=r}}),_$=ed({"node_modules/world-calendars/dist/calendars/hebrew.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return this._leapYear(r.year())},_leapYear:function(e){return 7>n(7*(e=e<0?e+1:e)+1,19)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),12===r&&this.leapYear(t)?30:8===r&&5===n(this.daysInYear(t),10)?30:9===r&&3===n(this.daysInYear(t),10)?29:this.daysPerMonth[r-1]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+n+1;if(r<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(var s=1;sn(3*(r+1),7)&&r++,r},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e);return this._delay1(e+1)-r==356?2:r-t==382?1:0},fromJD:function(e){for(var t=Math.floor(((e=Math.floor(e)+.5)-this.jdEpoch)*98496/35975351)-1;e>=this.toJD(-1===t?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),e.calendars.hebrew=r}}),_J=ed({"node_modules/world-calendars/dist/calendars/islamic.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year()+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),(n=i.day())+Math.ceil(29.5*(r-1))+((t=t<=0?t+1:t)-1)*354+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor((30*((e=Math.floor(e)+.5)-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}}),e.calendars.islamic=r}}),_K=ed({"node_modules/world-calendars/dist/calendars/julian.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),t=0>r.year()?r.year()+1:r.year();return t%4==0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return t=i.year(),r=i.month(),n=i.day(),t<0&&t++,r<=2&&(t--,r+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(r+1))+n-1524.5},fromJD:function(e){var t=Math.floor(e+.5)+1524,r=Math.floor((t-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((t-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715);return o<=0&&o--,this.newDate(o,a,t-n-Math.floor(30.6001*i))}}),e.calendars.julian=r}}),_Q=ed({"node_modules/world-calendars/dist/calendars/mayan.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}function n(e,t){return e-t*Math.floor(e/t)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),!1},formatYear:function(t){var r=Math.floor((t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year())/400);return t%=400,r+"."+Math.floor((t+=t<0?400:0)/20)+"."+t%20},forYear:function(e){if((e=e.split(".")).length<3)throw"Invalid Mayan year";for(var t=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";t=20*t+n}return t},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),18},weekOfYear:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),360},daysInMonth:function(t,r){return this._validate(t,r,this.minDay,e.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate).day()},weekDay:function(t,r,n){return this._validate(t,r,n,e.local.invalidDate),!0},extraInfo:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){var t=n((e-=this.jdEpoch)+8+340,365);return[Math.floor(t/20)+1,n(t,20)]},_toTzolkin:function(e){return[n((e-=this.jdEpoch)+20-1,20)+1,n(e+4-1,13)+1]},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(e){var t=Math.floor((e=Math.floor(e)+.5-this.jdEpoch)/360);e%=360;var r=Math.floor((e+=e<0?360:0)/20),n=e%20;return this.newDate(t,r,n)}}),e.calendars.mayan=r}}),_0=ed({"node_modules/world-calendars/dist/calendars/nanakshahi.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar;var n=e.instance("gregorian");t(r.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear||e.regionalOptions[""].invalidYear);return n.leapYear(r.year()+(1>r.year()?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidMonth),t=a.year();t<0&&t++;for(var o=a.day(),s=1;s=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}}),e.calendars.nanakshahi=r}}),_1=ed({"node_modules/world-calendars/dist/calendars/nepali.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[t][n];return r},daysInMonth:function(t,r){return t.year&&(r=t.month(),t=t.year()),this._validate(t,r,this.minDay,e.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[r-1]:this.NEPALI_CALENDAR_DATA[t][r]},weekDay:function(e,t,r){return 6!==this.dayOfWeek(e,t,r)},toJD:function(t,r,n){var i=this._validate(t,r,n,e.local.invalidDate);t=i.year(),r=i.month(),n=i.day();var a=e.instance(),o=0,s=r,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&n>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==r&&(o=n,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===r?(o+=n-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var r=e.instance().fromJD(t),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;rn-Math.floor(n)}r.prototype=new e.baseCalendar,t(r.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Dey","Bah","Esf"],dayNames:["Yekshanbeh","Doshanbeh","Seshanbeh","Chahārshanbeh","Panjshanbeh","Jom'eh","Shanbeh"],dayNamesShort:["Yek","Do","Se","Cha","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return n(this._validate(t,this.minMonth,this.minDay,e.local.invalidYear).year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(12===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate);t=a.year(),r=a.month(),i=a.day();var o=0;if(t>0)for(var s=1;s0?t-1:t)*365+o+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(475+((e=Math.floor(e)+.5)-this.toJD(475,1,1))/365.242197);t<=0&&t--,e>this.toJD(t,12,n(t)?30:29)&&0==++t&&t++;var r=e-this.toJD(t,1,1)+1,i=r<=186?Math.ceil(r/31):Math.ceil((r-6)/30),a=e-this.toJD(t,i,1)+1;return this.newDate(t,i,a)}}),e.calendars.persian=r,e.calendars.jalali=r}}),_3=ed({"node_modules/world-calendars/dist/calendars/taiwan.js"(){var e=_H(),t=d0(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),t=this._t2gYear(n.year());return r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),t=this._t2gYear(a.year());return r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate),t=this._t2gYear(a.year());return r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}}),e.calendars.taiwan=n}}),_5=ed({"node_modules/world-calendars/dist/calendars/thai.js"(){var e=_H(),t=d0(),r=e.instance();function n(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}n.prototype=new e.baseCalendar,t(n.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var n=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),t=this._t2gYear(n.year());return r.leapYear(t)},weekOfYear:function(t,n,i){var a=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear),t=this._t2gYear(a.year());return r.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,r){var n=this._validate(t,r,this.minDay,e.local.invalidMonth);return this.daysPerMonth[n.month()-1]+(2===n.month()&&this.leapYear(n.year())?1:0)},weekDay:function(e,t,r){return 6>(this.dayOfWeek(e,t,r)||7)},toJD:function(t,n,i){var a=this._validate(t,n,i,e.local.invalidDate),t=this._t2gYear(a.year());return r.toJD(t,a.month(),a.day())},fromJD:function(e){var t=r.fromJD(e),n=this._g2tYear(t.year());return this.newDate(n,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}}),e.calendars.thai=n}}),_4=ed({"node_modules/world-calendars/dist/calendars/ummalqura.js"(){var e=_H(),t=d0();function r(e){this.local=this.regionalOptions[e||""]||this.regionalOptions[""]}r.prototype=new e.baseCalendar,t(r.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,e.local.invalidYear);return 355===this.daysInYear(r.year())},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(t,r){for(var i=this._validate(t,r,this.minDay,e.local.invalidMonth).toJD()-24e5+.5,a=0,o=0;oi)return n[a]-n[a-1];a++}return 30},weekDay:function(e,t,r){return 5!==this.dayOfWeek(e,t,r)},toJD:function(t,r,i){var a=this._validate(t,r,i,e.local.invalidDate),o=12*(a.year()-1)+a.month()-15292;return a.day()+n[o-1]-1+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,i=0;it);i++)r++;var a=r+15292,o=Math.floor((a-1)/12),s=t-n[r-1]+1;return this.newDate(o+1,a-12*o,s)},isValid:function(t,r,n){var i=e.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,r,n,i){var a=e.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),e.calendars.ummalqura=r;var n=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]}}),_6=ed({"src/components/calendars/calendars.js"(e,t){t.exports=_H(),_G(),_Z(),_W(),_Y(),_X(),_$(),_J(),_K(),_Q(),_0(),_1(),_2(),_3(),_5(),_4()}}),_8=ed({"src/components/calendars/index.js"(e,t){var r=_6(),n=tQ(),i=eS(),a=i.EPOCHJD,o=i.ONEDAY,s={valType:"enumerated",values:n.sortObjectKeys(r.calendars),editType:"calc",dflt:"gregorian"},l=function(e,t,r,i){var a={};return a[r]=s,n.coerce(e,t,a,r,i)},c={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:"##",w:"##",c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}},u={};function h(e){var t=u[e];return t||(t=u[e]=r.instance(e))}function f(e){return n.extendFlat({},s,{description:e})}function p(e){return"Sets the calendar system to use with `"+e+"` date data."}var d={xcalendar:f(p("x"))},m=n.extendFlat({},d,{ycalendar:f(p("y"))}),g=n.extendFlat({},m,{zcalendar:f(p("z"))}),y=f("Sets the calendar system to use for `range` and `tick0` if this is a date axis. This does not set the calendar for interpreting data on this axis, that's specified in the trace or via the global `layout.calendar`");t.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:g,surface:g,mesh3d:g,scattergl:m,ohlc:d,candlestick:d},layout:{calendar:f("Sets the default calendar system to use for interpreting and displaying dates throughout the plot.")},subplots:{xaxis:{calendar:y},yaxis:{calendar:y},scene:{xaxis:{calendar:y},yaxis:{calendar:y},zaxis:{calendar:y}},polar:{radialaxis:{calendar:y}}}},layoutAttributes:s,handleDefaults:l,handleTraceDefaults:function(e,t,r,n){for(var i=0;i0?f-4:f;for(r=0;r>16&255,a[h++]=e>>8&255,a[h++]=255&e;return 2===u&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,a[h++]=255&e),1===u&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,a[h++]=e>>8&255,a[h++]=255&e),a},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],f=0,u=n-o;f>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return i.join("")}(t,f,f+16383>u?u:f+16383));return 1===o?i.push(r[(e=t[n-1])>>2]+r[e<<4&63]+"=="):2===o&&i.push(r[(e=(t[n-2]<<8)+t[n-1])>>10]+r[e>>4&63]+r[e<<2&63]+"="),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,u=i.length;f0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var n=r===e?0:4-r%4;return[r,n]}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},72:function(t,e,r){"use strict";var n=r(675),o=r(783),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function f(t){if(t>2147483647)throw RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,u.prototype),e}function u(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return h(t)}return s(t,e,r)}function s(t,e,r){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!u.isEncoding(e))throw TypeError("Unknown encoding: "+e);var r=0|p(t,e),n=f(r),o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}(t,e);if(ArrayBuffer.isView(t))return l(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(T(t,ArrayBuffer)||t&&T(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(T(t,SharedArrayBuffer)||t&&T(t.buffer,SharedArrayBuffer)))return function(t,e,r){var n;if(e<0||t.byteLength=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function p(t,e){if(u.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||T(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var o=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return R(t).length;default:if(o)return n?-1:U(t).length;e=(""+e).toLowerCase(),o=!0}}function y(t,e,r){var o,i,f=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0)))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var o="",i=e;i2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(i=r=+r)!=i&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return -1;r=t.length-1}else if(r<0){if(!o)return -1;r=0}if("string"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:v(t,e,r,n,o);if("number"==typeof e)return(e&=255,"function"==typeof Uint8Array.prototype.indexOf)?o?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):v(t,[e],r,n,o);throw TypeError("val must be string, number or Buffer")}function v(t,e,r,n,o){var i,f=1,u=t.length,s=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return -1;f=2,u/=2,s/=2,r/=2}function a(t,e){return 1===f?t[e]:t.readUInt16BE(e*f)}if(o){var h=-1;for(i=r;iu&&(r=u-s),i=r;i>=0;i--){for(var l=!0,c=0;c239?4:a>223?3:a>191?2:1;if(o+l<=r)switch(l){case 1:a<128&&(h=a);break;case 2:(192&(i=t[o+1]))==128&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=t[o+1],f=t[o+2],(192&i)==128&&(192&f)==128&&(s=(15&a)<<12|(63&i)<<6|63&f)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=t[o+1],f=t[o+2],u=t[o+3],(192&i)==128&&(192&f)==128&&(192&u)==128&&(s=(15&a)<<18|(63&i)<<12|(63&f)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),o+=l}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);for(var r="",n=0;nr)throw RangeError("Trying to access beyond buffer length")}function w(t,e,r,n,o,i){if(!u.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw RangeError("Index out of range")}function E(t,e,r,n,o,i){if(r+n>t.length||r<0)throw RangeError("Index out of range")}function A(t,e,r,n,i){return e=+e,r>>>=0,i||E(t,e,r,4,34028234663852886e22,-34028234663852886e22),o.write(t,e,r,n,23,4),r+4}function B(t,e,r,n,i){return e=+e,r>>>=0,i||E(t,e,r,8,17976931348623157e292,-17976931348623157e292),o.write(t,e,r,n,52,8),r+8}e.Buffer=u,e.SlowBuffer=function(t){return+t!=t&&(t=0),u.alloc(+t)},e.INSPECT_MAX_BYTES=50,e.kMaxLength=2147483647,u.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),u.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(u.prototype,"parent",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.buffer}}),Object.defineProperty(u.prototype,"offset",{enumerable:!0,get:function(){if(u.isBuffer(this))return this.byteOffset}}),u.poolSize=8192,u.from=function(t,e,r){return s(t,e,r)},Object.setPrototypeOf(u.prototype,Uint8Array.prototype),Object.setPrototypeOf(u,Uint8Array),u.alloc=function(t,e,r){return(a(t),t<=0)?f(t):void 0!==e?"string"==typeof r?f(t).fill(e,r):f(t).fill(e):f(t)},u.allocUnsafe=function(t){return h(t)},u.allocUnsafeSlow=function(t){return h(t)},u.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==u.prototype},u.compare=function(t,e){if(T(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),T(e,Uint8Array)&&(e=u.from(e,e.offset,e.byteLength)),!u.isBuffer(t)||!u.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,o=0,i=Math.min(r,n);or&&(t+=" ... "),""},i&&(u.prototype[i]=u.prototype.inspect),u.prototype.compare=function(t,e,r,n,o){if(T(t,Uint8Array)&&(t=u.from(t,t.offset,t.byteLength)),!u.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),e<0||r>t.length||n<0||o>this.length)throw RangeError("out of range index");if(n>=o&&e>=r)return 0;if(n>=o)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,o>>>=0,this===t)return 0;for(var i=o-n,f=r-e,s=Math.min(i,f),a=this.slice(n,o),h=t.slice(e,r),l=0;l>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var o,i,f,u,s,a,h,l,c,p,y,d,g=this.length-e;if((void 0===r||r>g)&&(r=g),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var v=!1;;)switch(n){case"hex":return function(t,e,r,n){r=Number(r)||0;var o=t.length-r;n?(n=Number(n))>o&&(n=o):n=o;var i=e.length;n>i/2&&(n=i/2);for(var f=0;f>8,o.push(r%256),o.push(n);return o}(t,this.length-y),this,y,d);default:if(v)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),v=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},u.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||m(t,e,this.length);for(var n=this[t],o=1,i=0;++i>>=0,e>>>=0,r||m(t,e,this.length);for(var n=this[t+--e],o=1;e>0&&(o*=256);)n+=this[t+--e]*o;return n},u.prototype.readUInt8=function(t,e){return t>>>=0,e||m(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return t>>>=0,e||m(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return t>>>=0,e||m(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return t>>>=0,e||m(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return t>>>=0,e||m(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||m(t,e,this.length);for(var n=this[t],o=1,i=0;++i=(o*=128)&&(n-=Math.pow(2,8*e)),n},u.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||m(t,e,this.length);for(var n=e,o=1,i=this[t+--n];n>0&&(o*=256);)i+=this[t+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},u.prototype.readInt8=function(t,e){return(t>>>=0,e||m(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},u.prototype.readInt16LE=function(t,e){t>>>=0,e||m(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt16BE=function(t,e){t>>>=0,e||m(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},u.prototype.readInt32LE=function(t,e){return t>>>=0,e||m(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return t>>>=0,e||m(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return t>>>=0,e||m(t,4,this.length),o.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return t>>>=0,e||m(t,4,this.length),o.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return t>>>=0,e||m(t,8,this.length),o.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return t>>>=0,e||m(t,8,this.length),o.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){var o=Math.pow(2,8*r)-1;w(this,t,e,r,o,0)}var i=1,f=0;for(this[e]=255&t;++f>>=0,r>>>=0,!n){var o=Math.pow(2,8*r)-1;w(this,t,e,r,o,0)}var i=r-1,f=1;for(this[e+i]=255&t;--i>=0&&(f*=256);)this[e+i]=t/f&255;return e+r},u.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,1,255,0),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},u.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var o=Math.pow(2,8*r-1);w(this,t,e,r,o-1,-o)}var i=0,f=1,u=0;for(this[e]=255&t;++i>0)-u&255;return e+r},u.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var o=Math.pow(2,8*r-1);w(this,t,e,r,o-1,-o)}var i=r-1,f=1,u=0;for(this[e+i]=255&t;--i>=0&&(f*=256);)t<0&&0===u&&0!==this[e+i+1]&&(u=1),this[e+i]=(t/f>>0)-u&255;return e+r},u.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},u.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},u.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},u.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||w(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},u.prototype.writeFloatLE=function(t,e,r){return A(this,t,e,!0,r)},u.prototype.writeFloatBE=function(t,e,r){return A(this,t,e,!1,r)},u.prototype.writeDoubleLE=function(t,e,r){return B(this,t,e,!0,r)},u.prototype.writeDoubleBE=function(t,e,r){return B(this,t,e,!1,r)},u.prototype.copy=function(t,e,r,n){if(!u.isBuffer(t))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return o},u.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!u.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===t.length){var o,i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!o){if(r>56319||f+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=(o-55296<<10|r-56320)+65536}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return i}function k(t){for(var e=[],r=0;r=e.length)&&!(o>=t.length);++o)e[o+r]=t[o];return o}function T(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}var P=function(){for(var t="0123456789abcdef",e=Array(256),r=0;r<16;++r)for(var n=16*r,o=0;o<16;++o)e[n+o]=t[r]+t[o];return e}()},783:function(t,e){e.read=function(t,e,r,n,o){var i,f,u=8*o-n-1,s=(1<>1,h=-7,l=r?o-1:0,c=r?-1:1,p=t[e+l];for(l+=c,i=p&(1<<-h)-1,p>>=-h,h+=u;h>0;i=256*i+t[e+l],l+=c,h-=8);for(f=i&(1<<-h)-1,i>>=-h,h+=n;h>0;f=256*f+t[e+l],l+=c,h-=8);if(0===i)i=1-a;else{if(i===s)return f?NaN:1/0*(p?-1:1);f+=Math.pow(2,n),i-=a}return(p?-1:1)*f*Math.pow(2,i-n)},e.write=function(t,e,r,n,o,i){var f,u,s,a=8*i-o-1,h=(1<>1,c=23===o?5960464477539062e-23:0,p=n?0:i-1,y=n?1:-1,d=e<0||0===e&&1/e<0?1:0;for(isNaN(e=Math.abs(e))||e===1/0?(u=isNaN(e)?1:0,f=h):(f=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-f))<1&&(f--,s*=2),f+l>=1?e+=c/s:e+=c*Math.pow(2,1-l),e*s>=2&&(f++,s/=2),f+l>=h?(u=0,f=h):f+l>=1?(u=(e*s-1)*Math.pow(2,o),f+=l):(u=e*Math.pow(2,l-1)*Math.pow(2,o),f=0));o>=8;t[r+p]=255&u,p+=y,u/=256,o-=8);for(f=f<0;t[r+p]=255&f,p+=y,f/=256,a-=8);t[r+p-y]|=128*d}}},r={};function n(t){var o=r[t];if(void 0!==o)return o.exports;var i=r[t]={exports:{}},f=!0;try{e[t](i,i.exports,n),f=!1}finally{f&&delete r[t]}return i.exports}n.ab="//";var o=n(72);t.exports=o}()},3769:function(t,e,r){"use strict";var n=r(3138);function o(){}function i(){}i.resetWarningCache=o,t.exports=function(){function t(t,e,r,o,i,f){if(f!==n){var u=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function e(){return t}t.isRequired=t;var r={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},6853:function(t,e,r){t.exports=r(3769)()},3138:function(t){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4124:function(t,e,r){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=function(e){!function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&s(t,e)}(u,e);var r,o,f=(r=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}(),function(){var t,e=h(u);return t=r?Reflect.construct(e,arguments,h(this).constructor):e.apply(this,arguments),function(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw TypeError("Derived constructors may only return object or undefined");return a(t)}(this,t)});function u(t){var e;return function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")}(this,u),(e=f.call(this,t)).p=Promise.resolve(),e.resizeHandler=null,e.handlers={},e.syncWindowResize=e.syncWindowResize.bind(a(e)),e.syncEventHandlers=e.syncEventHandlers.bind(a(e)),e.attachUpdateEvents=e.attachUpdateEvents.bind(a(e)),e.getRef=e.getRef.bind(a(e)),e.handleUpdate=e.handleUpdate.bind(a(e)),e.figureCallback=e.figureCallback.bind(a(e)),e.updatePlotly=e.updatePlotly.bind(a(e)),e}return o=[{key:"updatePlotly",value:function(e,r,n){var o=this;this.p=this.p.then(function(){if(!o.unmounting){if(!o.el)throw Error("Missing element reference");return t.react(o.el,{data:o.props.data,layout:o.props.layout,config:o.props.config,frames:o.props.frames})}}).then(function(){!o.unmounting&&(o.syncWindowResize(e),o.syncEventHandlers(),o.figureCallback(r),n&&o.attachUpdateEvents())}).catch(function(t){o.props.onError&&o.props.onError(t)})}},{key:"componentDidMount",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:"componentDidUpdate",value:function(t){this.unmounting=!1;var e=t.frames&&t.frames.length?t.frames.length:0,r=this.props.frames&&this.props.frames.length?this.props.frames.length:0,n=!(t.layout===this.props.layout&&t.data===this.props.data&&t.config===this.props.config&&r===e),o=void 0!==t.revision,i=t.revision!==this.props.revision;(n||o&&(!o||i))&&this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:"componentWillUnmount",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&p&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),t.purge(this.el)}},{key:"attachUpdateEvents",value:function(){var t=this;this.el&&this.el.removeListener&&c.forEach(function(e){t.el.on(e,t.handleUpdate)})}},{key:"removeUpdateEvents",value:function(){var t=this;this.el&&this.el.removeListener&&c.forEach(function(e){t.el.removeListener(e,t.handleUpdate)})}},{key:"handleUpdate",value:function(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function(t){if("function"==typeof t){var e=this.el;t({data:e.data,layout:e.layout,frames:this.el._transitionData?this.el._transitionData._frames:null},this.el)}}},{key:"syncWindowResize",value:function(e){var r=this;p&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return t.Plots.resize(r.el)},window.addEventListener("resize",this.resizeHandler),e&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null))}},{key:"getRef",value:function(t){this.el=t,this.props.debug&&p&&(window.gd=this.el)}},{key:"syncEventHandlers",value:function(){var t=this;l.forEach(function(e){var r=t.props["on"+e],n=t.handlers[e],o=!!n;r&&!o?t.addEventHandler(e,r):!r&&o?t.removeEventHandler(e):r&&o&&r!==n&&(t.removeEventHandler(e),t.addEventHandler(e,r))})}},{key:"addEventHandler",value:function(t,e){this.handlers[t]=e,this.el.on(this.getPlotlyEventName(t),this.handlers[t])}},{key:"removeEventHandler",value:function(t){this.el.removeListener(this.getPlotlyEventName(t),this.handlers[t]),delete this.handlers[t]}},{key:"getPlotlyEventName",value:function(t){return"plotly_"+t.toLowerCase()}},{key:"render",value:function(){return i.default.createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}],function(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},l=String(null!==(n=i.method)&&void 0!==n?n:"GET").toUpperCase(),s="".concat(l,":").concat(e,":").concat("string"==typeof i.body?i.body:""),g=m();if(o.total+=1,"GET"===l){let n=r.get(s);if(n&&n.expiresAt>Date.now())return o.cacheHits+=1,u(e,l,m()-g,"cache",!1,!0),d(e,l,m()-g,"cache_hit",!0),new Response(JSON.stringify(n.value),{status:200,headers:{"Content-Type":"application/json","X-BLUM-FRONTEND-CACHE":"true"}});let t=c.get(s);if(t)return o.duplicate+=1,u(e,l,m()-g,"deduped",!0,!1),d(e,l,m()-g,"deduped",!0),t.then(e=>new Response(JSON.stringify(e),{status:200,headers:{"Content-Type":"application/json","X-BLUM-FRONTEND-DEDUPE":"true"}}))}let p=new AbortController,h=setTimeout(()=>p.abort(),null!==(t=i.timeoutMs)&&void 0!==t?t:12e3),v=fetch("".concat(a).concat(e),{...i,method:l,cache:"no-store",signal:p.signal}).then(async n=>{let t=m()-g;if(u(e,l,t,n.ok?"ok":"http_".concat(n.status),!1,!1),d(e,l,t,n.ok?"ok":"http_".concat(n.status)),"GET"===l&&n.ok&&i.cacheTtlMs&&!e.includes("/performance/")){let e=n.clone();try{r.set(s,{expiresAt:Date.now()+i.cacheTtlMs,value:await e.json()})}catch(e){}}return n}).catch(async n=>{let t=m()-g;if(u(e,l,t,"error",!1,!1),d(e,l,t,"error"),"GET"===l&&!String(null==n?void 0:n.name).includes("Abort")&&!e.includes("/performance/"))return fetch("".concat(a).concat(e),{...i,method:l,cache:"no-store"});throw n}).finally(()=>{clearTimeout(h),c.delete(s)});return"GET"===l&&c.set(s,v.then(e=>e.clone().json()).catch(()=>void 0)),v}function d(e,n,t,i){let c=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(e.includes("/performance/frontend-widget")||e.includes("/api/performance/frontend-widget"))return;let r="undefined"!=typeof location&&location.pathname.startsWith("/learning");(c||r||!(t<400)||e.includes("/learning"))&&fetch("".concat(a,"/api/performance/frontend-widget"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"frontend.api.".concat(n,".").concat(e),duration_ms:t,status:i,source:"fetchBlum"}),keepalive:!0}).catch(()=>void 0)}function u(e,n,t,i,a,c){"undefined"!=typeof location&&location.pathname.startsWith("/learning")&&(o.initialLearningPage.push({path:e,method:n,duration_ms:Number(t.toFixed(2)),status:i,duplicate:a,cache_hit:c}),o.initialLearningPage.length>160&&o.initialLearningPage.shift())}function m(){return"undefined"==typeof performance?Date.now():performance.now()}async function p(e){try{var n;let t=await e.json(),i="string"==typeof(null==t?void 0:t.detail)?t.detail:JSON.stringify(null!==(n=null==t?void 0:t.detail)&&void 0!==n?n:t);return"".concat(e.status," ").concat(e.statusText,": ").concat(i)}catch(n){return"".concat(e.status," ").concat(e.statusText)}}let h={clientRequestStats:()=>({...o,initialLearningPage:[...o.initialLearningPage]}),performanceDiagnostics:()=>l("/performance/diagnostics"),recordPerformanceWidget:e=>s("/performance/frontend-widget",e),systemStatus:()=>l("/system/status"),brainStatus:()=>l("/brain/status"),brainAccuracy:()=>l("/brain/accuracy"),brainLearningEvents:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return l("/brain/learning-events?limit=".concat(e))},brainSignalEvaluations:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:120,n=arguments.length>1?arguments[1]:void 0;return l("/brain/signal-evaluations?limit=".concat(e).concat(n?"&ticker=".concat(encodeURIComponent(n)):""))},brainAssetMemory:e=>l("/brain/asset-memory/".concat(encodeURIComponent(e))),brainConfidenceHistory:e=>l("/brain/confidence-history/".concat(encodeURIComponent(e))),evaluateBrainSignals:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:240;return s("/brain/evaluate-signals?limit=".concat(e),{})},recalculateBrainWeights:()=>s("/brain/recalculate-weights",{}),runLearningCycle:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:240;return s("/brain/run-learning-cycle?limit=".concat(e),{})},learningDashboard:()=>l("/learning/dashboard"),learningSummary:()=>l("/api/learning-intelligence/summary"),dashboardSnapshot:e=>l("/api/dashboard-snapshots/".concat(encodeURIComponent(e))),startupStatus:()=>l("/startup/status"),learningRuns:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return l("/learning/runs?limit=".concat(e))},learningPredictions:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80,n=arguments.length>1?arguments[1]:void 0;return l("/learning/predictions?limit=".concat(e).concat(n?"&ticker=".concat(encodeURIComponent(n)):""))},learningMemory:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40;return l("/learning/memory?limit=".concat(e))},runBlumLearningLoop:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:25;return s("/learning/run-cycle?batch_size=".concat(e),{})},reasoningCoreStatus:()=>l("/model/reasoning-core/status"),reasoningCoreDiagnostics:()=>l("/model/reasoning-core/diagnostics"),thesisSurvival:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40;return l("/model/thesis-survival?limit=".concat(e))},convictionDecay:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40;return l("/model/conviction-decay?limit=".concat(e))},reliabilityByRegime:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40;return l("/model/reliability-by-regime?limit=".concat(e))},thesisCompetitions:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;return l("/model/thesis-competitions?limit=".concat(e))},ensembleStatus:()=>l("/model/ensemble/status"),benchmarkRelative:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40;return l("/model/benchmark-relative?limit=".concat(e))},trainingQuality:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40;return l("/model/training/quality?limit=".concat(e))},sniperStatus:()=>l("/api/sniper/status"),sniperCandidates:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return l("/api/sniper/candidates?limit=".concat(e,"&persist=").concat(n?"true":"false"))},sniperCandidate:function(e){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return l("/api/sniper/candidates/".concat(encodeURIComponent(e),"?persist=").concat(n?"true":"false"))},sniperEvaluate:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40,n=arguments.length>1?arguments[1]:void 0;return s("/api/sniper/evaluate?limit=".concat(e).concat(n?"&tickers=".concat(encodeURIComponent(n)):""),{})},sniperSimulate:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:120,n=arguments.length>1?arguments[1]:void 0;return s("/api/sniper/simulate?limit=".concat(e).concat(n?"&ticker=".concat(encodeURIComponent(n)):""),{})},sniperSetups:()=>l("/api/sniper/setups"),sniperRegimes:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return l("/api/sniper/regimes?limit=".concat(e))},sniperMetrics:()=>l("/api/sniper/metrics"),sniperLessons:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:40;return l("/api/sniper/lessons?limit=".concat(e))},tradingGameStatus:()=>l("/api/trading-game/status"),tradingGameRun:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:60;return s("/api/trading-game/run?batch_size=".concat(e),{})},tradingGameReset:()=>s("/api/trading-game/reset",{}),tradingGameEquity:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:500,n=arguments.length>1?arguments[1]:void 0;return l("/api/trading-game/equity?limit=".concat(e).concat(n?"&game_id=".concat(n):""))},tradingGameAnnotatedEquity:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:800,n=arguments.length>1?arguments[1]:void 0;return l("/api/trading-game/equity/annotated?limit=".concat(e).concat(n?"&game_id=".concat(n):""))},tradingGameTrades:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,n=arguments.length>1?arguments[1]:void 0;return l("/api/trading-game/trades?limit=".concat(e).concat(n?"&game_id=".concat(n):""))},tradingGameLedger:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200,n=arguments.length>1?arguments[1]:void 0;return l("/api/trading-game/ledger?limit=".concat(e).concat(n?"&game_id=".concat(n):""))},tradingGameLedgerSummary:e=>l("/api/trading-game/ledger/summary".concat(e?"?game_id=".concat(e):"")),tradingGameLedgerByTicker:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return l("/api/trading-game/ledger/by-ticker/".concat(encodeURIComponent(e),"?limit=").concat(n))},tradingGameLedgerBySetup:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return l("/api/trading-game/ledger/by-setup/".concat(encodeURIComponent(e),"?limit=").concat(n))},tradingGameLedgerByOutcome:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return l("/api/trading-game/ledger/by-outcome/".concat(encodeURIComponent(e),"?limit=").concat(n))},tradingGameLedgerByCycle:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500;return l("/api/trading-game/ledger/by-cycle/".concat(e,"?limit=").concat(n))},tradingGameTradeDetail:e=>l("/api/trading-game/trades/".concat(e)),tradingGameTradeAttribution:e=>l("/api/trading-game/trades/".concat(e,"/attribution")),tradingGameTradeQuality:e=>l("/api/trading-game/trades/".concat(e,"/quality")),tradingGameTradePnlBreakdown:e=>l("/api/trading-game/trades/".concat(e,"/pnl-breakdown")),tradingGameFailures:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return l("/api/trading-game/failures?limit=".concat(e))},tradingGameLessons:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return l("/api/trading-game/lessons?limit=".concat(e))},tradingGameBenchmark:e=>l("/api/trading-game/benchmark".concat(e?"?game_id=".concat(e):"")),tradingGameReproducibility:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:120;return l("/api/trading-game/reproducibility?limit=".concat(e))},tradingGameLearningEvidence:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:120;return l("/api/trading-game/learning-evidence?limit=".concat(e))},tradingGameRealityCheck:e=>l("/api/trading-game/reality-check".concat(e?"?game_id=".concat(e):"")),tradingGamePnlBreakdown:e=>l("/api/trading-game/pnl-breakdown".concat(e?"?game_id=".concat(e):"")),tradingGameCycles:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,n=arguments.length>1?arguments[1]:void 0;return l("/api/trading-game/cycles?limit=".concat(e).concat(n?"&game_id=".concat(n):""))},tradingGameCurrentCycle:e=>l("/api/trading-game/cycles/current".concat(e?"?game_id=".concat(e):"")),tradingGameCycleStats:e=>l("/api/trading-game/cycles/stats".concat(e?"?game_id=".concat(e):"")),tradingGameCycleDetail:e=>l("/api/trading-game/cycles/".concat(e)),tradingGameCycleReset:e=>s("/api/trading-game/cycles/reset".concat(e?"?game_id=".concat(e):""),{}),tradingGameIntelligenceMetrics:e=>l("/api/trading-game/intelligence-metrics".concat(e?"?game_id=".concat(e):"")),tradingGameIntelligenceRolling:e=>l("/api/trading-game/intelligence-metrics/rolling".concat(e?"?game_id=".concat(e):"")),tradingGameIntelligenceBySetup:e=>l("/api/trading-game/intelligence-metrics/by-setup".concat(e?"?game_id=".concat(e):"")),tradingGameIntelligenceByRegime:e=>l("/api/trading-game/intelligence-metrics/by-regime".concat(e?"?game_id=".concat(e):"")),tradingGameIntelligenceBySector:e=>l("/api/trading-game/intelligence-metrics/by-sector".concat(e?"?game_id=".concat(e):"")),tradingGameIntelligenceByCycle:e=>l("/api/trading-game/intelligence-metrics/by-cycle".concat(e?"?game_id=".concat(e):"")),tradingGameHistoricalVsLive:()=>l("/api/trading-game/historical-vs-live"),liveTradingGameStatus:()=>l("/api/live-trading-game/status"),liveTradingGameRunCycle:()=>s("/api/live-trading-game/run-cycle",{}),liveTradingGamePositions:()=>l("/api/live-trading-game/positions"),liveTradingGameTrades:()=>l("/api/live-trading-game/trades"),liveTradingGameLedger:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return l("/api/live-trading-game/ledger?limit=".concat(e))},liveTradingGameEquity:()=>l("/api/live-trading-game/equity"),liveTradingGameMetrics:()=>l("/api/live-trading-game/metrics"),liveTradingGameCompareHistorical:()=>l("/api/live-trading-game/compare-historical"),learningIntelligenceDashboard:()=>l("/api/learning-intelligence/dashboard"),learningTradingPower:()=>l("/api/learning-intelligence/trading-power"),recalculateLearningTradingPower:()=>s("/api/learning-intelligence/trading-power/recalculate",{}),learningBenchmarks:()=>l("/api/learning-intelligence/benchmarks"),learningBenchmark:e=>l("/api/learning-intelligence/benchmarks/".concat(encodeURIComponent(e))),recalculateLearningBenchmarks:()=>s("/api/learning-intelligence/benchmarks/recalculate",{}),learningProgress:()=>l("/api/learning-intelligence/progress"),learningProgressRolling:()=>l("/api/learning-intelligence/progress/rolling"),learningProgressBySetup:()=>l("/api/learning-intelligence/progress/by-setup"),learningProgressByRegime:()=>l("/api/learning-intelligence/progress/by-regime"),learningWeaknessMap:()=>l("/api/learning-intelligence/weakness-map"),learningWeaknessBySetup:()=>l("/api/learning-intelligence/weakness-map/by-setup"),learningWeaknessByRegime:()=>l("/api/learning-intelligence/weakness-map/by-regime"),learningWeaknessBySector:()=>l("/api/learning-intelligence/weakness-map/by-sector"),learningWeaknessByEngine:()=>l("/api/learning-intelligence/weakness-map/by-engine"),learningSelfImprovementActions:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return l("/api/learning-intelligence/self-improvement/actions?limit=".concat(e))},generateLearningSelfImprovement:()=>s("/api/learning-intelligence/self-improvement/generate",{}),applyLearningSelfImprovement:e=>s("/api/learning-intelligence/self-improvement/apply/".concat(e),{}),evaluateLearningSelfImprovement:e=>s("/api/learning-intelligence/self-improvement/evaluate/".concat(e),{}),decisionIntelligenceDashboard:()=>l("/api/decision-intelligence/dashboard"),decisionSuperiority:()=>l("/api/decision-intelligence/superiority"),recalculateDecisionSuperiority:()=>s("/api/decision-intelligence/superiority/recalculate",{}),decisionUniverseSnapshots:()=>l("/api/decision-intelligence/universe-snapshots"),recalculateDecisionUniverseSnapshots:()=>s("/api/decision-intelligence/universe-snapshots/recalculate",{}),missedOpportunities:()=>l("/api/decision-intelligence/missed-opportunities"),businessQualityDashboard:()=>l("/api/business-quality/dashboard"),businessQualityScores:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return l("/api/business-quality/scores?limit=".concat(e))},recalculateBusinessQuality:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return s("/api/business-quality/recalculate?limit=".concat(e),{})},portfolioIntelligenceDashboard:()=>l("/api/portfolio-intelligence/dashboard"),portfolioQuality:()=>l("/api/portfolio-intelligence/quality"),recalculatePortfolioIntelligence:()=>s("/api/portfolio-intelligence/recalculate",{}),chartAnalyzeTicker:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"6M",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"1y",i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return s("/chart/analyze-ticker?ticker=".concat(encodeURIComponent(e),"&timeframe=").concat(encodeURIComponent(n),"&period=").concat(encodeURIComponent(t),"&include_visual=").concat(i?"true":"false"),{})},chartTechnicalReport:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"6M";return l("/chart/technical-report/".concat(encodeURIComponent(e),"?timeframe=").concat(encodeURIComponent(n)))},chartLevels:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"6M";return l("/chart/levels/".concat(encodeURIComponent(e),"?timeframe=").concat(encodeURIComponent(n)))},chartSignals:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"6M";return l("/chart/signals/".concat(encodeURIComponent(e),"?timeframe=").concat(encodeURIComponent(n)))},chartHistory:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;return l("/chart/history/".concat(encodeURIComponent(e),"?limit=").concat(n))},assets:()=>l("/assets"),asset:e=>l("/assets/".concat(encodeURIComponent(e))),overview:()=>l("/dashboard/overview"),liveNews:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:60;return l("/news/live?limit=".concat(e))},marketSentiment:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:48;return l("/sentiment/market?hours=".concat(e))},dataCoverage:()=>l("/data/coverage"),repairData:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36;return s("/data/repair?limit=".concat(e),{})},accuracyOverview:()=>l("/accuracy/overview"),runAccuracy:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return s("/accuracy/run?limit=".concat(e),{})},assetAccuracy:e=>l("/accuracy/".concat(encodeURIComponent(e))),signalValidation:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:240;return l("/validation/signals?limit=".concat(e))},macroOverview:()=>l("/macro/overview"),updateMacro:()=>s("/macro/update",{}),updateFundamentals:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:24;return s("/fundamentals/update?limit=".concat(e),{})},fundamentals:e=>l("/fundamentals/".concat(encodeURIComponent(e))),executiveDashboard:()=>l("/intelligence/executive"),opportunityRadar:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;return l("/intelligence/opportunities?limit=".concat(e))},marketNarrative:()=>l("/intelligence/narrative"),communitySentiment:()=>l("/intelligence/community"),watchlist:()=>l("/intelligence/watchlist"),addWatchlist:function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return s("/intelligence/watchlist/".concat(encodeURIComponent(e),"?thesis=").concat(encodeURIComponent(n)),{})},portfolioScenario:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"balanced";return l("/intelligence/portfolio-scenario?risk_profile=".concat(encodeURIComponent(e)))},intelligenceReport:e=>l("/intelligence/reports/".concat(encodeURIComponent(e))),similarBacktest:e=>l("/intelligence/backtest/".concat(encodeURIComponent(e))),pipelineStatus:()=>l("/pipeline/status"),topSignals:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return l("/signals/top".concat(e))},signal:e=>l("/signals/".concat(e)),sentiment:e=>l("/sentiment/".concat(e)),explain:e=>l("/ai/explain/".concat(e)),relatedNews:e=>l("/related-news?ticker=".concat(e)),themes:()=>l("/themes"),themeDetail:e=>l("/themes/".concat(encodeURIComponent(e))),etfTrends:()=>l("/etf-trends"),stockRadar:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return l("/stock-radar?limit=".concat(e))},updateStockRadar:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:36;return s("/stock-radar/update?limit=".concat(e),{})},ipoRadar:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return l("/ipo-radar?limit=".concat(e))},updateIpoRadar:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50;return s("/ipo-radar/update?limit_per_form=".concat(e),{})},secSubmissions:function(e){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return l("/ipo-radar/sec-submissions/".concat(e,"?persist=").concat(n?"true":"false"))},marketBrain:()=>l("/market-brain"),marketBrainHistory:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return l("/market-brain/history?limit=".concat(e))},runMarketBrain:function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return s("/market-brain/run?refresh_pipeline=".concat(e?"true":"false","&refresh_sec=true"),{})},modelStatus:()=>l("/ai/models/status"),semanticSearch:e=>s("/semantic-search",{query:e,limit:12}),financialChat:e=>s("/api/chat",e),financialChatContext:()=>l("/api/chat/context"),financialChatHistory:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:80;return l("/api/chat/history?limit=".concat(e))},marketUpdate:()=>s("/market/update",{period:"max",limit:36}),newsUpdate:()=>s("/news/update",{lookback_hours:72,limit_per_feed:35}),runSignals:()=>s("/signals/run",{refresh_prices:!1,limit:36}),runPipeline:()=>s("/pipeline/run",{refresh_prices:!1,limit:36}),backtest:e=>s("/backtest/".concat(e),{})}}}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/75-8c48549bc3f12b00.js b/frontend/.next/static/chunks/75-8c48549bc3f12b00.js new file mode 100644 index 0000000000000000000000000000000000000000..e39ddba08bb5ffbb2b76d5f452a85726aa05889a --- /dev/null +++ b/frontend/.next/static/chunks/75-8c48549bc3f12b00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[75],{342:function(e,l,n){n.d(l,{P:function(){return o}});var i=n(3890),a=n(8496),s=n(7160),r=n(979);let t=["1D","5D","1M","3M","6M","YTD","1Y","5Y"];function o(e){var l,n,o,m,p;let{ticker:x,prices:f=[]}=e,[j,y]=(0,a.useState)("6M"),[g,b]=(0,a.useState)(null),[_,N]=(0,a.useState)(!1),[w,S]=(0,a.useState)(""),M=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;S("");try{b(await s.h.chartTechnicalReport(x,e))}catch(e){S(e.message)}};(0,a.useEffect)(()=>{M(j)},[x,j]);let k=async()=>{N(!0),S("");try{var e;b(await s.h.chartAnalyzeTicker(x,j,null!==(e=({"1D":"5d","5D":"1mo","1M":"3mo","3M":"6mo","6M":"1y",YTD:"1y","1Y":"2y","5Y":"5y"})[j])&&void 0!==e?e:"1y",!1))}catch(e){S(e.message)}finally{N(!1)}},A=(0,a.useMemo)(()=>{var e,l;return((null==g?void 0:null===(e=g.price_series)||void 0===e?void 0:e.length)?g.price_series:f).slice(-(null!==(l=({"1D":96,"5D":120,"1M":42,"3M":84,"6M":150,YTD:260,"1Y":260,"5Y":1260})[j])&&void 0!==l?l:150))},[g,f,j]),P=null!==(l=null==g?void 0:g.hybrid_analysis)&&void 0!==l?l:{},C=null!==(n=null==g?void 0:g.deterministic_analysis)&&void 0!==n?n:{},T=null!==(o=P.key_levels)&&void 0!==o?o:{},O=null!==(m=null==g?void 0:g.visual_analysis)&&void 0!==m?m:{},R=function(e,l){let n=e.map(e=>e.date),i=function(e,l){if(!l.length)return[];let n=l[0],i=l[l.length-1];return[{value:e.support_1,color:"#20e070"},{value:e.support_2,color:"#20e070"},{value:e.resistance_1,color:"#ff4d5e"},{value:e.resistance_2,color:"#ff4d5e"},{value:e.invalidation_level,color:"#ffb000"}].filter(e=>e.value).map(e=>({type:"line",xref:"x",yref:"y",x0:n,x1:i,y0:Number(e.value),y1:Number(e.value),line:{color:e.color,width:1,dash:"dot"}}))}(l,n);return{data:[{type:"candlestick",x:n,open:e.map(e=>{var l;return null!==(l=e.open)&&void 0!==l?l:e.close}),high:e.map(e=>{var l;return null!==(l=e.high)&&void 0!==l?l:e.close}),low:e.map(e=>{var l;return null!==(l=e.low)&&void 0!==l?l:e.close}),close:e.map(e=>e.close),increasing:{line:{color:"#20e070"}},decreasing:{line:{color:"#ff4d5e"}},name:"OHLC"},{type:"bar",x:n,y:e.map(e=>{var l;return null!==(l=e.volume)&&void 0!==l?l:0}),yaxis:"y2",marker:{color:"rgba(77,216,255,.24)"},name:"Volume"}],layout:{shapes:i,xaxis:{rangeslider:{visible:!1},gridcolor:"rgba(255,255,255,.06)"},yaxis:{domain:[.24,1],gridcolor:"rgba(255,255,255,.06)"},yaxis2:{domain:[0,.17],gridcolor:"rgba(255,255,255,.04)"},showlegend:!1}}}(A,T);return(0,i.jsxs)("section",{className:"chart-analyst-shell",children:[(0,i.jsxs)("div",{className:"page-header compact-header",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"kicker",children:"Chart Vision Technical Analyst"}),(0,i.jsxs)("h2",{children:[x," technical chart intelligence."]})]}),(0,i.jsxs)("div",{className:"header-actions",children:[(0,i.jsx)("select",{className:"input",value:j,onChange:e=>y(e.target.value),children:t.map(e=>(0,i.jsx)("option",{children:e},e))}),(0,i.jsx)("button",{className:"button primary",onClick:k,disabled:_,children:_?"Analyzing...":"Analyze chart"})]})]}),w&&(0,i.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["Chart API warning: ",w]}),(0,i.jsxs)("section",{className:"grid-2",children:[(0,i.jsx)(r.G,{title:"Price Structure With Key Levels",data:R.data,layout:R.layout,height:430,emptyMessage:"Waiting for stored OHLCV data to render the chart."}),(0,i.jsx)(d,{report:g})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsx)(c,{levels:T}),(0,i.jsx)(u,{hybrid:P})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsx)(v,{hybrid:P,visual:O,deterministic:C}),(0,i.jsx)(h,{similarity:null!==(p=P.historical_similarity)&&void 0!==p?p:{}})]})]})}function d(e){var l,n,a,s,r,t,o,d,c,u,v,h,p,x,f,j,y,g,b,_,N;let{report:w}=e,S=null!==(r=null==w?void 0:w.deterministic_analysis)&&void 0!==r?r:{},M=null!==(t=null==w?void 0:w.hybrid_analysis)&&void 0!==t?t:{},k=null!==(o=S.momentum)&&void 0!==o?o:{},A=null!==(d=S.volatility)&&void 0!==d?d:{},P=null!==(c=S.volume)&&void 0!==c?c:{},C=null!==(u=null===(n=S.patterns)||void 0===n?void 0:null===(l=n[0])||void 0===l?void 0:l.pattern)&&void 0!==u?u:"pending";return(0,i.jsxs)("div",{className:"panel chart-snapshot-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Technical Snapshot"}),(0,i.jsxs)("strong",{children:[Number(null!==(h=null!==(v=M.confidence_score)&&void 0!==v?v:null==w?void 0:w.confidence)&&void 0!==h?h:0).toFixed(1)," confidence"]})]}),(0,i.jsxs)("div",{className:"brain-status-grid",children:[(0,i.jsx)(m,{label:"Trend",value:String(null!==(p=S.trend_direction)&&void 0!==p?p:"pending").replaceAll("_"," ")}),(0,i.jsx)(m,{label:"Momentum",value:String(null!==(x=k.state)&&void 0!==x?x:"pending").replaceAll("_"," ")}),(0,i.jsx)(m,{label:"Volatility",value:String(null!==(f=A.regime)&&void 0!==f?f:"pending").replaceAll("_"," ")}),(0,i.jsx)(m,{label:"Volume",value:String(null!==(j=P.volume_state)&&void 0!==j?j:"pending").replaceAll("_"," ")}),(0,i.jsx)(m,{label:"Pattern",value:String(C).replaceAll("_"," ")}),(0,i.jsx)(m,{label:"Breakout",value:"".concat(Number(null!==(y=null===(a=S.breakout_probability)||void 0===a?void 0:a.score)&&void 0!==y?y:0).toFixed(1),"/100")})]}),(0,i.jsxs)("div",{className:"brain-drift info",children:[(0,i.jsx)("strong",{children:String(null!==(g=M.timeframe_relevance)&&void 0!==g?g:"timeframe pending").replaceAll("_"," ")}),(0,i.jsx)("span",{children:null!==(b=M.trend_summary)&&void 0!==b?b:"Technical summary will appear when stored OHLCV evidence is sufficient for the autonomous chart analyst."})]}),(0,i.jsx)("p",{children:null!==(N=null===(s=null!==(_=null==w?void 0:w.warnings)&&void 0!==_?_:M.warnings)||void 0===s?void 0:s.join(" "))&&void 0!==N?N:"Vision model status and deterministic analysis warnings will appear here."})]})}function c(e){let{levels:l}=e;return(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Key Levels"}),(0,i.jsx)("strong",{children:"zones, not guarantees"})]}),(0,i.jsxs)("div",{className:"key-level-grid",children:[(0,i.jsx)(p,{label:"Support 1",value:l.support_1}),(0,i.jsx)(p,{label:"Support 2",value:l.support_2}),(0,i.jsx)(p,{label:"Resistance 1",value:l.resistance_1}),(0,i.jsx)(p,{label:"Resistance 2",value:l.resistance_2}),(0,i.jsx)(p,{label:"Breakout",value:l.breakout_level}),(0,i.jsx)(p,{label:"Breakdown",value:l.breakdown_level}),(0,i.jsx)(p,{label:"Invalidation",value:l.invalidation_level})]})]})}function u(e){var l,n,a,s,r;let{hybrid:t}=e;return(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Signal Evidence"}),(0,i.jsxs)("strong",{children:[null!==(n=null===(l=t.technical_signals)||void 0===l?void 0:l.length)&&void 0!==n?n:0," signals"]})]}),(0,i.jsxs)("div",{className:"evidence-columns",children:[(0,i.jsx)(x,{title:"Bullish Evidence",rows:null!==(a=t.bullish_evidence)&&void 0!==a?a:[]}),(0,i.jsx)(x,{title:"Bearish Evidence",rows:null!==(s=t.bearish_evidence)&&void 0!==s?s:[]}),(0,i.jsx)(x,{title:"Neutral / Uncertain",rows:null!==(r=t.neutral_evidence)&&void 0!==r?r:[]})]})]})}function v(e){var l,n,a,s,r;let{hybrid:t,visual:o,deterministic:d}=e;return(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Analyst Report"}),(0,i.jsx)("strong",{children:String(null!==(l=o.mode)&&void 0!==l?l:"deterministic").replaceAll("_"," ")})]}),(0,i.jsx)("p",{children:null!==(a=null!==(n=t.analyst_report)&&void 0!==n?n:d.technical_summary)&&void 0!==a?a:"The autonomous chart analyst is waiting for sufficient deterministic technical evidence."}),(0,i.jsx)("div",{className:"scenario-list",children:(null!==(s=t.possible_scenarios)&&void 0!==s?s:[]).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:e.name}),(0,i.jsx)("span",{children:e.condition}),(0,i.jsx)("span",{children:e.impact})]},e.name))}),(0,i.jsx)("div",{className:"learning-event-list",style:{marginTop:10},children:(null!==(r=t.what_to_watch_next)&&void 0!==r?r:[]).slice(0,6).map(e=>(0,i.jsx)("span",{children:e},e))})]})}function h(e){var l,n,a,s,r;let{similarity:t}=e;return(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Historical Similarity"}),(0,i.jsx)("strong",{children:t.reliability_score?"".concat(Number(t.reliability_score).toFixed(1)," reliability"):"maturing"})]}),(0,i.jsxs)("div",{className:"brain-status-grid",children:[(0,i.jsx)(m,{label:"Similar Setups",value:null!==(l=t.similar_chart_setups)&&void 0!==l?l:0}),(0,i.jsx)(m,{label:"Mature Cases",value:null!==(n=t.mature_cases)&&void 0!==n?n:0}),(0,i.jsx)(m,{label:"7D Avg Return",value:null==(s=t.average_forward_return_7d)||Number.isNaN(Number(s))?"Pending":"".concat(Number(s).toFixed(2),"%")}),(0,i.jsx)(m,{label:"Success Rate",value:null==(r=t.success_rate)||Number.isNaN(Number(r))?"Pending":"".concat(Math.round(100*Number(r)),"%")})]}),(0,i.jsx)("p",{children:null!==(a=t.explanation)&&void 0!==a?a:"Chart pattern memory will mature as future OHLCV outcomes are observed."})]})}function m(e){let{label:l,value:n}=e;return(0,i.jsxs)("div",{className:"brain-metric",children:[(0,i.jsx)("span",{children:l}),(0,i.jsx)("strong",{children:n})]})}function p(e){let{label:l,value:n}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:l}),(0,i.jsx)("strong",{children:null==n||Number.isNaN(Number(n))?"n/a":Number(n).toFixed(2)})]})}function x(e){let{title:l,rows:n}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{children:l}),(0,i.jsx)("div",{className:"learning-event-list",children:n.length?n.slice(0,6).map(e=>(0,i.jsx)("span",{children:e},e)):(0,i.jsx)("span",{children:"No confirmed evidence yet."})})]})}},9273:function(e,l,n){n.d(l,{G:function(){return a}});var i=n(3890);function a(e){let{label:l="Loading intelligence snapshot"}=e;return(0,i.jsxs)("div",{className:"loading-state",children:[(0,i.jsx)("div",{}),(0,i.jsx)("span",{children:l})]})}},979:function(e,l,n){n.d(l,{G:function(){return o}});var i=n(3890),a=n(3548),s=n.n(a),r=n(8496);let t=s()(()=>Promise.all([n.e(715),n.e(54)]).then(n.bind(n,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function o(e){let{title:l,data:n,layout:a={},height:s=360,emptyMessage:o="Waiting for real data series."}=e,d=n.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:n,layout:{autosize:!0,height:s,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...a},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,i.jsxs)("section",{className:"panel",children:[(0,i.jsx)("div",{className:"panel-head",children:(0,i.jsx)("span",{children:l})}),d?(0,r.createElement)(t,c):(0,i.jsx)("div",{className:"plot-empty",children:o})]})}},3548:function(e,l,n){Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"default",{enumerable:!0,get:function(){return s}});let i=n(6651);n(3890),n(8496);let a=i._(n(3992));function s(e,l){var n;let i={loading:e=>{let{error:l,isLoading:n,pastDelay:i}=e;return null}};"function"==typeof e&&(i.loader=e);let s={...i,...l};return(0,a.default)({...s,modules:null==(n=s.loadableGenerated)?void 0:n.modules})}("function"==typeof l.default||"object"==typeof l.default&&null!==l.default)&&void 0===l.default.__esModule&&(Object.defineProperty(l.default,"__esModule",{value:!0}),Object.assign(l.default,l),e.exports=l.default)},4377:function(e,l,n){Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let i=n(4895);function a(e){let{reason:l,children:n}=e;if("undefined"==typeof window)throw new i.BailoutToCSRError(l);return n}},3992:function(e,l,n){Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"default",{enumerable:!0,get:function(){return d}});let i=n(3890),a=n(8496),s=n(4377),r=n(2992);function t(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(t(()=>null)),loading:null,ssr:!0},d=function(e){let l={...o,...e},n=(0,a.lazy)(()=>l.loader().then(t)),d=l.loading;function c(e){let t=d?(0,i.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,o=l.ssr?(0,i.jsxs)(i.Fragment,{children:["undefined"==typeof window?(0,i.jsx)(r.PreloadCss,{moduleIds:l.modules}):null,(0,i.jsx)(n,{...e})]}):(0,i.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(n,{...e})});return(0,i.jsx)(a.Suspense,{fallback:t,children:o})}return c.displayName="LoadableComponent",c}},2992:function(e,l,n){Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"PreloadCss",{enumerable:!0,get:function(){return s}});let i=n(3890),a=n(5296);function s(e){let{moduleIds:l}=e;if("undefined"!=typeof window)return null;let n=(0,a.getExpectedRequestStore)("next/dynamic css"),s=[];if(n.reactLoadableManifest&&l){let e=n.reactLoadableManifest;for(let n of l){if(!e[n])continue;let l=e[n].files.filter(e=>e.endsWith(".css"));s.push(...l)}}return 0===s.length?null:(0,i.jsx)(i.Fragment,{children:s.map(e=>(0,i.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}}}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/908-fe3c8e03f00ace4e.js b/frontend/.next/static/chunks/908-fe3c8e03f00ace4e.js new file mode 100644 index 0000000000000000000000000000000000000000..15dbab4185de6cdb9936f971cc681a4829a6b211 --- /dev/null +++ b/frontend/.next/static/chunks/908-fe3c8e03f00ace4e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[908],{8908:function(e,n,s){s.d(n,{XK:function(){return M},Xz:function(){return Z},Ez:function(){return f},IL:function(){return S},VL:function(){return N},i9:function(){return g},uy:function(){return C},x8:function(){return F},pB:function(){return A},en:function(){return y},Dk:function(){return w},cL:function(){return _},il:function(){return z},ft:function(){return b},V8:function(){return L},pX:function(){return T},bD:function(){return R}});var i=s(3890),t=s(8496),l=s(6788),r=s(2675),a=s(6697),c=s(5907),o=s(8964);let d=(0,o.Z)("Newspaper",[["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2",key:"7pis2x"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M10 6h8v4h-8V6Z",key:"smlsk5"}]]);var u=s(3258),m=s(6024),h=s(8625),x=s(406),v=s(4340);let j=(0,o.Z)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),p=(0,o.Z)("ArrowDownRight",[["path",{d:"m7 7 10 10",key:"1fmybs"}],["path",{d:"M17 7v10H7",key:"6fjiku"}]]);var k=s(6499);function b(e){let{eyebrow:n,title:s,subtitle:t,statusItems:l,actions:a}=e;return(0,i.jsxs)("header",{className:"terminal-header",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"terminal-eyebrow",children:n}),(0,i.jsx)("h1",{children:s}),t&&(0,i.jsx)("p",{children:t})]}),(0,i.jsxs)("div",{className:"terminal-header-right",children:[!!(null==l?void 0:l.length)&&(0,i.jsx)("div",{className:"terminal-status-grid",children:l.map(e=>(0,i.jsxs)("div",{className:(0,r.Z)("terminal-status",e.tone&&"tone-".concat(e.tone)),children:[(0,i.jsx)("span",{children:e.label}),(0,i.jsx)("strong",{children:e.value})]},"".concat(e.label,"-").concat(e.value)))}),a&&(0,i.jsx)("div",{className:"terminal-actions",children:a})]})]})}function f(e){let{title:n,value:s,subtitle:t,children:l,dense:a=!1,className:c,action:o}=e;return(0,i.jsxs)("section",{className:(0,r.Z)("bloomberg-panel",a&&"dense",c),children:[(0,i.jsxs)("div",{className:"bloomberg-panel-head",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:n}),t&&(0,i.jsx)("p",{children:t})]}),(0,i.jsxs)("div",{className:"bloomberg-panel-value",children:[s,o]})]}),l]})}function g(e){let{label:n,value:s,subvalue:t,tone:l="neutral",icon:a,tooltip:c}=e;return(0,i.jsxs)("div",{className:(0,r.Z)("terminal-metric","tone-".concat(l)),title:c,children:[(0,i.jsxs)("div",{className:"terminal-metric-label",children:[a,(0,i.jsx)("span",{children:n})]}),(0,i.jsx)("strong",{children:s}),t&&(0,i.jsx)("p",{children:t})]})}function N(e){let{regime:n}=e,s=n.toLowerCase(),t=s.includes("risk")||s.includes("stress")?"negative":s.includes("constructive")||s.includes("bull")?"positive":"attention";return(0,i.jsxs)("span",{className:(0,r.Z)("regime-badge","tone-".concat(t)),children:[(0,i.jsx)(a.Z,{size:14}),n]})}function _(e){let{positive:n,neutral:s,negative:t,score:l}=e,r=Math.max(1,n+s+t);return(0,i.jsxs)("div",{className:"sentiment-bar-wrap",children:[(0,i.jsxs)("div",{className:"sentiment-bar-labels",children:[(0,i.jsxs)("span",{children:["Negative ",Math.round(t/r*100),"%"]}),(0,i.jsx)("strong",{children:void 0===l?"Sentiment mix":"Score ".concat(l.toFixed(2))}),(0,i.jsxs)("span",{children:["Positive ",Math.round(n/r*100),"%"]})]}),(0,i.jsxs)("div",{className:"terminal-sentiment-bar",children:[(0,i.jsx)("i",{className:"negative",style:{width:"".concat(Math.max(2,t/r*100),"%")}}),(0,i.jsx)("i",{className:"neutral",style:{width:"".concat(Math.max(2,s/r*100),"%")}}),(0,i.jsx)("i",{className:"positive",style:{width:"".concat(Math.max(2,n/r*100),"%")}})]})]})}function w(e){let{value:n,label:s}=e,t=E(n);return(0,i.jsxs)("span",{className:(0,r.Z)("score-badge","tone-".concat(t>=75?"positive":t>=55?"attention":t>=35?"info":"negative")),children:[(0,i.jsx)("strong",{children:null==n?"n/a":t.toFixed(0)}),s&&(0,i.jsx)("em",{children:s})]})}function y(e){let{risk:n,score:s}=e,t=n.toLowerCase(),l=t.includes("high")||t.includes("risky")?"negative":t.includes("low")?"positive":"attention";return(0,i.jsxs)("span",{className:(0,r.Z)("risk-indicator","tone-".concat(l)),children:[(0,i.jsx)(c.Z,{size:13}),n||"Not rated",null!=s&&(0,i.jsx)("b",{children:Number(s).toFixed(0)})]})}function S(e){let{value:n,label:s="AI confidence"}=e,t=E(n);return(0,i.jsxs)("div",{className:"terminal-confidence",title:"".concat(s,": ").concat(t.toFixed(1),"/100"),children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:s}),(0,i.jsx)("strong",{children:null==n?"Pending":"".concat(t.toFixed(0),"%")})]}),(0,i.jsx)("i",{children:(0,i.jsx)("b",{style:{width:"".concat(Math.max(2,t),"%")}})})]})}function C(e){let{values:n,tone:s="attention"}=e,l=(0,t.useMemo)(()=>{if(n.length<2)return"";let e=Math.min(...n),s=Math.max(...n)-e||1;return n.map((i,t)=>{let l=t/(n.length-1)*100;return"".concat(l.toFixed(1),",").concat((28-(i-e)/s*26+1).toFixed(1))}).join(" ")},[n]);return(0,i.jsx)("svg",{className:(0,r.Z)("mini-sparkline","tone-".concat(s)),viewBox:"0 0 100 30",preserveAspectRatio:"none","aria-hidden":"true",children:(0,i.jsx)("polyline",{points:l||"0,24 100,8"})})}function Z(e){let{rows:n}=e,[s,a]=(0,t.useState)("confidence"),[c,o]=(0,t.useState)("desc"),d=(0,t.useMemo)(()=>[...n].sort((e,n)=>{let i=B(e[s]),t=B(n[s]),l=i>t?1:i{s===e?o(e=>"asc"===e?"desc":"asc"):(a(e),o("desc"))};return n.length?(0,i.jsx)("div",{className:"asset-table-shell",children:(0,i.jsxs)("table",{className:"asset-terminal-table",children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)(I,{label:"Ticker",active:"ticker"===s,onClick:()=>u("ticker")}),(0,i.jsx)(I,{label:"Company / ETF",active:"name"===s,onClick:()=>u("name")}),(0,i.jsx)(I,{label:"Price",active:"price"===s,onClick:()=>u("price")}),(0,i.jsx)(I,{label:"Chg %",active:"changePercent"===s,onClick:()=>u("changePercent")}),(0,i.jsx)(I,{label:"Rel Vol",active:"volumeRelative"===s,onClick:()=>u("volumeRelative")}),(0,i.jsx)(I,{label:"Sentiment",active:"sentimentScore"===s,onClick:()=>u("sentimentScore")}),(0,i.jsx)(I,{label:"Momentum",active:"momentumScore"===s,onClick:()=>u("momentumScore")}),(0,i.jsx)(I,{label:"Trend",active:"trendScore"===s,onClick:()=>u("trendScore")}),(0,i.jsx)(I,{label:"News",active:"newsScore"===s,onClick:()=>u("newsScore")}),(0,i.jsx)(I,{label:"AI Conf.",active:"confidence"===s,onClick:()=>u("confidence")}),(0,i.jsx)(I,{label:"Signal",active:"signalType"===s,onClick:()=>u("signalType")}),(0,i.jsx)(I,{label:"Risk",active:"riskScore"===s,onClick:()=>u("riskScore")}),(0,i.jsx)(I,{label:"Action",active:"action"===s,onClick:()=>u("action")})]})}),(0,i.jsx)("tbody",{children:d.map(e=>{var n,s;return(0,i.jsxs)("tr",{children:[(0,i.jsxs)("td",{children:[(0,i.jsx)(l.default,{className:"terminal-ticker",href:(0,k.up)(e.ticker),children:e.ticker}),(0,i.jsx)("span",{children:null!==(n=e.assetType)&&void 0!==n?n:"Asset"})]}),(0,i.jsxs)("td",{className:"asset-name-cell",children:[(0,i.jsx)("strong",{children:e.name}),(0,i.jsx)("span",{children:e.sector}),(0,i.jsx)("p",{children:e.why})]}),(0,i.jsx)("td",{children:(0,i.jsx)("strong",{children:U(e.price,e.currency)})}),(0,i.jsx)("td",{children:(0,i.jsx)(P,{value:e.changePercent})}),(0,i.jsx)("td",{children:null===e.volumeRelative?"n/a":"".concat(e.volumeRelative.toFixed(2),"x")}),(0,i.jsx)("td",{children:(0,i.jsx)(w,{value:e.sentimentScore})}),(0,i.jsx)("td",{children:(0,i.jsx)(w,{value:e.momentumScore})}),(0,i.jsx)("td",{children:(0,i.jsx)(w,{value:e.trendScore})}),(0,i.jsx)("td",{children:(0,i.jsx)(w,{value:e.newsScore,label:null===e.newsCount||void 0===e.newsCount?void 0:"".concat(e.newsCount)})}),(0,i.jsx)("td",{children:(0,i.jsx)(S,{value:e.confidence,label:"Confidence"})}),(0,i.jsx)("td",{children:(0,i.jsx)("span",{className:"terminal-signal",children:e.signalType})}),(0,i.jsx)("td",{children:(0,i.jsx)(y,{risk:e.riskLevel,score:e.riskScore})}),(0,i.jsx)("td",{children:(0,i.jsx)("span",{className:(0,r.Z)("action-pill","Strong Attention"===(s=e.action)?"attention":"Watch"===s?"positive":"Avoid"===s?"negative":"neutral"),children:e.action})})]},"".concat(e.ticker,"-").concat(e.signalType,"-").concat(e.action))})})]})}):(0,i.jsx)("div",{className:"terminal-empty",children:"No ranked assets are available yet. The autonomous intelligence engine is hydrating real prices, news, sentiment and signal snapshots."})}function M(e){let{ticker:n,name:s,description:t,sector:l,exchange:r,assetType:a,price:c,currency:o,changePercent:d,blumScore:u,confidence:m,narrative:h}=e;return(0,i.jsxs)("section",{className:"asset-command-card",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"terminal-eyebrow",children:"Security Intelligence"}),(0,i.jsxs)("h1",{children:[n,(0,i.jsx)("span",{children:s})]}),(0,i.jsx)("p",{children:t||"Institutional asset profile from stored market, signal and news evidence."}),(0,i.jsxs)("div",{className:"tag-row",children:[(0,i.jsx)("span",{children:a}),(0,i.jsx)("span",{children:l}),(0,i.jsx)("span",{children:r})]})]}),(0,i.jsxs)("div",{className:"asset-command-pricing",children:[(0,i.jsx)("span",{children:"Last price"}),(0,i.jsx)("strong",{children:U(null!=c?c:null,o)}),(0,i.jsx)(P,{value:null!=d?d:null}),(0,i.jsxs)("div",{className:"asset-command-scores",children:[(0,i.jsx)(w,{value:null!=u?u:null,label:"Blum"}),(0,i.jsx)(S,{value:null!=m?m:null})]})]}),h&&(0,i.jsxs)("div",{className:"asset-command-narrative",children:[(0,i.jsx)("span",{children:"Main narrative"}),(0,i.jsx)("strong",{children:h})]})]})}function z(e){var n,s,t,r,a,c,o,d,u;let{signal:m}=e,h=null!==(o=null===(n=m.watch_points)||void 0===n?void 0:n.items)&&void 0!==o?o:[];return(0,i.jsxs)("article",{className:"signal-note-card",children:[(0,i.jsxs)("div",{className:"signal-note-head",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(l.default,{href:(0,k.up)(m.ticker),children:m.ticker}),(0,i.jsx)("span",{children:null!==(d=null===(s=m.asset)||void 0===s?void 0:s.name)&&void 0!==d?d:"Asset metadata pending"})]}),(0,i.jsx)(w,{value:m.blum_score,label:"Blum"})]}),(0,i.jsxs)("div",{className:"signal-note-grid",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Signal"}),(0,i.jsx)("strong",{children:m.classification})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Confidence"}),(0,i.jsx)("strong",{children:Number(null!==(u=m.confidence_score)&&void 0!==u?u:0).toFixed(0)})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Risk"}),(0,i.jsx)("strong",{children:m.risk_level})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Horizon"}),(0,i.jsx)("strong",{children:m.time_horizon})]})]}),(0,i.jsx)("p",{children:m.explanation}),(0,i.jsxs)("div",{className:"evidence-stack",children:[(0,i.jsx)(D,{label:"Momentum",value:null===(t=m.score_breakdown)||void 0===t?void 0:t.momentum_score}),(0,i.jsx)(D,{label:"Trend",value:null===(r=m.score_breakdown)||void 0===r?void 0:r.trend_score}),(0,i.jsx)(D,{label:"Sentiment",value:null===(a=m.score_breakdown)||void 0===a?void 0:a.sentiment_score}),(0,i.jsx)(D,{label:"Risk Adj.",value:null===(c=m.score_breakdown)||void 0===c?void 0:c.risk_adjustment})]}),!!h.length&&(0,i.jsx)("ul",{children:h.slice(0,3).map(e=>(0,i.jsx)("li",{children:e},e))})]})}function F(e){let{title:n,sentiment:s,volume:t,explanation:r,tickers:a=[]}=e;return(0,i.jsxs)("article",{className:"narrative-card",children:[(0,i.jsxs)("div",{className:"narrative-card-top",children:[(0,i.jsx)("strong",{children:n}),(0,i.jsx)(w,{value:null==s?null:50*s+50,label:"Sent"})]}),(0,i.jsx)("p",{children:r||"Narrative cluster built from public news, semantic themes and linked asset evidence."}),(0,i.jsxs)("div",{className:"narrative-card-meta",children:[(0,i.jsxs)("span",{children:[(0,i.jsx)(d,{size:12}),null!=t?t:0," news"]}),a.slice(0,5).map(e=>(0,i.jsx)(l.default,{href:(0,k.up)(e),children:e},e))]})]})}function A(e){let{articles:n,limit:s=12}=e;return(0,i.jsxs)("div",{className:"terminal-news-tape",children:[!n.length&&(0,i.jsx)("div",{className:"terminal-empty",children:"No live public news is stored yet. The tape will fill after RSS/web ingestion completes."}),n.slice(0,s).map(e=>{var n,s,t;return(0,i.jsxs)("a",{href:e.url,target:"_blank",rel:"noreferrer",className:"terminal-news-row",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:e.title}),(0,i.jsxs)("span",{children:[e.source," | ",(t=e.published_at)?new Intl.DateTimeFormat("en",{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(t)):"pending"," | quality ",Number(null!==(n=e.quality_score)&&void 0!==n?n:0).toFixed(1)]})]}),(0,i.jsxs)("div",{className:"terminal-news-tags",children:[e.sentiment&&(0,i.jsxs)("b",{className:e.sentiment.label,children:[e.sentiment.label," ",e.sentiment.score.toFixed(2)]}),e.linked_assets.slice(0,3).map(e=>(0,i.jsx)("em",{children:e.ticker},e.ticker)),(null!==(s=e.theme_tags.themes)&&void 0!==s?s:[]).slice(0,2).map(e=>(0,i.jsx)("em",{children:e},e))]})]},e.id)})]})}function T(e){return e.map(e=>({ticker:e.ticker,name:e.name,sector:e.sector,assetType:e.asset_type,price:e.last_price,currency:e.currency,changePercent:e.change_percent,volumeRelative:e.volume_relative,sentimentScore:e.sentiment_score,momentumScore:e.momentum_score,trendScore:e.trend_score,newsScore:e.news_score,confidence:E(.45*e.opportunity_score+.2*e.trend_score+.15*e.sentiment_score+.2*Math.max(0,100-e.risk_score)),signalType:e.classification||e.status_label,riskScore:e.risk_score,riskLevel:e.risk_level,action:V(e.opportunity_score,e.risk_score,e.risk_level),why:e.why_today}))}function R(e){return e.map(e=>{var n,s,i,t,l,r,a,c,o,d,u,m,h,x,v,j,p,k,b,f,g,N,_,w,y,S,C,Z,M;return{ticker:e.ticker,name:null!==(j=null===(n=e.asset)||void 0===n?void 0:n.name)&&void 0!==j?j:"Name pending",sector:null!==(p=null===(s=e.asset)||void 0===s?void 0:s.sector)&&void 0!==p?p:"Sector pending",assetType:null===(i=e.asset)||void 0===i?void 0:i.asset_type,price:null!==(k=null===(t=e.market_snapshot)||void 0===t?void 0:t.price)&&void 0!==k?k:null,currency:null===(l=e.market_snapshot)||void 0===l?void 0:l.currency,changePercent:null!==(b=null===(r=e.market_snapshot)||void 0===r?void 0:r.perf_1d)&&void 0!==b?b:null,volumeRelative:null,sentimentScore:Number(null!==(f=null===(a=e.score_breakdown)||void 0===a?void 0:a.sentiment_score)&&void 0!==f?f:0),momentumScore:Number(null!==(g=null===(c=e.score_breakdown)||void 0===c?void 0:c.momentum_score)&&void 0!==g?g:0),trendScore:Number(null!==(N=null===(o=e.score_breakdown)||void 0===o?void 0:o.trend_score)&&void 0!==N?N:0),newsScore:Number(null!==(w=null!==(_=null===(d=e.score_breakdown)||void 0===d?void 0:d.semantic_trend_score)&&void 0!==_?_:null===(u=e.score_breakdown)||void 0===u?void 0:u.news_score)&&void 0!==w?w:0),confidence:Number(null!==(S=null!==(y=e.confidence_score)&&void 0!==y?y:null===(m=e.accuracy)||void 0===m?void 0:m.blum_confidence_score)&&void 0!==S?S:0),signalType:e.classification,riskScore:Number(null!==(Z=null!==(C=null===(h=e.score_breakdown)||void 0===h?void 0:h.volatility_score)&&void 0!==C?C:null===(x=e.score_breakdown)||void 0===x?void 0:x.risk_adjustment)&&void 0!==Z?Z:0),riskLevel:e.risk_level,action:V(e.blum_score,Number(null!==(M=null===(v=e.score_breakdown)||void 0===v?void 0:v.risk_adjustment)&&void 0!==M?M:50),e.risk_level),why:e.explanation}})}function L(e){return({regime:(0,i.jsx)(a.Z,{size:15}),sentiment:(0,i.jsx)(u.Z,{size:15}),risk:(0,i.jsx)(c.Z,{size:15}),momentum:(0,i.jsx)(m.Z,{size:15}),news:(0,i.jsx)(d,{size:15}),signals:(0,i.jsx)(h.Z,{size:15}),ai:(0,i.jsx)(x.Z,{size:15}),worker:(0,i.jsx)(v.Z,{size:15})})[e]}function I(e){let{label:n,active:s,onClick:t}=e;return(0,i.jsx)("th",{children:(0,i.jsx)("button",{className:(0,r.Z)("sortable-head",s&&"active"),onClick:t,children:n})})}function P(e){let{value:n}=e;if(null==n)return(0,i.jsx)("span",{className:"market-move neutral",children:"n/a"});let s=n>=0;return(0,i.jsxs)("span",{className:(0,r.Z)("market-move",s?"positive":"negative"),children:[s?(0,i.jsx)(j,{size:13}):(0,i.jsx)(p,{size:13}),s?"+":"",Number(n).toFixed(2),"%"]})}function D(e){let{label:n,value:s}=e;return(0,i.jsxs)("span",{children:[n,(0,i.jsx)("b",{children:null==s?"n/a":Number(s).toFixed(0)})]})}function V(e,n,s){return s.toLowerCase().includes("high")&&e<72?"Avoid":e>=84?"Strong Attention":e>=68?"Watch":"Monitor"}function B(e){return"number"==typeof e?e:null==e?-1/0:String(e).toLowerCase()}function E(e){return null==e||Number.isNaN(Number(e))?0:Math.max(0,Math.min(100,Number(e)))}function U(e,n){if(null==e)return"n/a";let s=new Intl.NumberFormat("en",{maximumFractionDigits:e>1e3?0:2}).format(e);return"".concat(null!=n?n:"USD"," ").concat(s)}},6499:function(e,n,s){function i(e){return"/assets/".concat(encodeURIComponent(e.toUpperCase().replaceAll(".","_")))}s.d(n,{up:function(){return i}})},8625:function(e,n,s){s.d(n,{Z:function(){return i}});let i=(0,s(8964).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])}}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/945-dfa5efbc7dfb2860.js b/frontend/.next/static/chunks/945-dfa5efbc7dfb2860.js new file mode 100644 index 0000000000000000000000000000000000000000..0d892066cc1c8d70648db69d78ed3530500d7f48 --- /dev/null +++ b/frontend/.next/static/chunks/945-dfa5efbc7dfb2860.js @@ -0,0 +1,2 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[945],{5132:function(e,t){"use strict";function n(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return n}})},7786:function(){"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},8657:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let r=n(1968),o=n(1635);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,r.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4109:function(e,t){"use strict";function n(e){var t,n;t=self.__next_s,n=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[n,r]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(r)for(let e in r)"children"!==e&&o.setAttribute(e,r[e]);n?(o.src=n,o.onload=()=>e(),o.onerror=t):r&&(o.innerHTML=r.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{n()}):n()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return n}}),window.next={version:"14.2.35",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1428:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return o}});let r=n(2433);async function o(e,t){let n=(0,r.getServerActionDispatcher)();if(!n)throw Error("Invariant: missing action dispatcher.");return new Promise((r,o)=>{n({actionId:e,actionArgs:t,resolve:r,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9096:function(e,t,n){"use strict";let r,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return x}});let u=n(6651),l=n(2568),a=n(3890);n(7786);let i=u._(n(4134)),c=l._(n(8496)),s=n(8645),f=n(997),d=u._(n(9024)),p=n(1428),h=n(5338),y=n(4031);n(4196);let _=window.console.error;window.console.error=function(){for(var e=arguments.length,t=Array(e),n=0;n{if((0,h.isNextRouterError)(e.error)){e.preventDefault();return}});let v=document,b=new TextEncoder,g=!1,m=!1,R=null;function P(e){if(0===e[0])r=[];else if(1===e[0]){if(!r)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(b.encode(e[1])):r.push(e[1])}else 2===e[0]&&(R=e[1])}let j=function(){o&&!m&&(o.close(),m=!0,r=void 0),g=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",j,!1):j();let O=self.__next_f=self.__next_f||[];O.forEach(P),O.push=P;let E=new ReadableStream({start(e){r&&(r.forEach(t=>{e.enqueue(b.encode(t))}),g&&!m&&(e.close(),m=!0,r=void 0)),o=e}}),S=(0,s.createFromReadableStream)(E,{callServer:p.callServer});function w(){return(0,c.use)(S)}let M=c.default.StrictMode;function T(e){let{children:t}=e;return t}function x(){let e=(0,y.createMutableActionQueue)(),t=(0,a.jsx)(M,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(y.ActionQueueContext.Provider,{value:e,children:(0,a.jsx)(T,{children:(0,a.jsx)(w,{})})})})}),n=window.__next_root_layout_missing_tags,r=!!(null==n?void 0:n.length),o={onRecoverableError:d.default};"__next_error__"===document.documentElement.id||r?i.default.createRoot(v,o).render(t):c.default.startTransition(()=>i.default.hydrateRoot(v,t,{...o,formState:R}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3097:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(770),(0,n(4109).appBootstrap)(()=>{let{hydrate:e}=n(9096);n(2433),n(176),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},770:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(5132);{let e=n.u;n.u=function(){for(var t=arguments.length,n=Array(t),r=0;r(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,r.useState)(""),c=(0,r.useRef)();return(0,r.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),n?(0,o.createPortal)(a,n):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9011:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION:function(){return r},FLIGHT_PARAMETERS:function(){return i},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_RSC_UNION_QUERY:function(){return c},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return a},RSC_HEADER:function(){return n}});let n="RSC",r="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Url",a="text/x-component",i=[[n],[o],[u]],c="_rsc",s="x-nextjs-postponed";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2433:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createEmptyCacheNode:function(){return C},default:function(){return I},getServerActionDispatcher:function(){return S},urlToUrlWithoutFlightMarker:function(){return M}});let r=n(2568),o=n(3890),u=r._(n(8496)),l=n(844),a=n(1140),i=n(1353),c=n(3655),s=n(8601),f=n(8528),d=n(3639),p=n(5063),h=n(8657),y=n(1147),_=n(6798),v=n(7662),b=n(5008),g=n(9011),m=n(1837),R=n(3614),P=n(1196),j="undefined"==typeof window,O=j?null:new Map,E=null;function S(){return E}let w={};function M(e){let t=new URL(e,location.origin);if(t.searchParams.delete(g.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,n=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-n)}return t}function T(e){return e.origin!==window.location.origin}function x(e){let{appRouterState:t,sync:n}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:o}=t,u={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==o?(r.pendingPush=!1,window.history.pushState(u,"",o)):window.history.replaceState(u,"",o),n(t)},[t,n]),null}function C(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null}}function A(e){null==e&&(e={});let t=window.history.state,n=null==t?void 0:t.__NA;n&&(e.__NA=n);let r=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return r&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=r),e}function N(e){let{headCacheNode:t}=e,n=null!==t?t.head:null,r=null!==t?t.prefetchHead:null,o=null!==r?r:n;return(0,u.useDeferredValue)(n,o)}function D(e){let t,{buildId:n,initialHead:r,initialTree:i,urlParts:f,initialSeedData:g,couldBeIntercepted:S,assetPrefix:M,missingSlots:C}=e,D=(0,u.useMemo)(()=>(0,d.createInitialRouterState)({buildId:n,initialSeedData:g,urlParts:f,initialTree:i,initialParallelRoutes:O,location:j?null:window.location,initialHead:r,couldBeIntercepted:S}),[n,g,f,i,r,S]),[I,U,k]=(0,s.useReducerWithReduxDevtools)(D);(0,u.useEffect)(()=>{O=null},[]);let{canonicalUrl:F}=(0,s.useUnwrapState)(I),{searchParams:L,pathname:H}=(0,u.useMemo)(()=>{let e=new URL(F,"undefined"==typeof window?"http://n":window.location.href);return{searchParams:e.searchParams,pathname:(0,R.hasBasePath)(e.pathname)?(0,m.removeBasePath)(e.pathname):e.pathname}},[F]),$=(0,u.useCallback)(e=>{let{previousTree:t,serverResponse:n}=e;(0,u.startTransition)(()=>{U({type:a.ACTION_SERVER_PATCH,previousTree:t,serverResponse:n})})},[U]),G=(0,u.useCallback)((e,t,n)=>{let r=new URL((0,h.addBasePath)(e),location.href);return U({type:a.ACTION_NAVIGATE,url:r,isExternalUrl:T(r),locationSearch:location.search,shouldScroll:null==n||n,navigateType:t})},[U]);E=(0,u.useCallback)(e=>{(0,u.startTransition)(()=>{U({...e,type:a.ACTION_SERVER_ACTION})})},[U]);let z=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let n;if(!(0,p.isBot)(window.navigator.userAgent)){try{n=new URL((0,h.addBasePath)(e),window.location.href)}catch(t){throw Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL.")}T(n)||(0,u.startTransition)(()=>{var e;U({type:a.ACTION_PREFETCH,url:n,kind:null!=(e=null==t?void 0:t.kind)?e:a.PrefetchKind.FULL})})}},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;G(e,"replace",null==(n=t.scroll)||n)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;G(e,"push",null==(n=t.scroll)||n)})},refresh:()=>{(0,u.startTransition)(()=>{U({type:a.ACTION_REFRESH,origin:window.location.origin})})},fastRefresh:()=>{throw Error("fastRefresh can only be used in development mode. Please use refresh instead.")}}),[U,G]);(0,u.useEffect)(()=>{window.next&&(window.next.router=z)},[z]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(w.pendingMpaPath=void 0,U({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[U]);let{pushRef:B}=(0,s.useUnwrapState)(I);if(B.mpaNavigation){if(w.pendingMpaPath!==F){let e=window.location;B.pendingPush?e.assign(F):e.replace(F),w.pendingMpaPath=F}(0,u.use)(b.unresolvedThenable)}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),n=e=>{var t;let n=window.location.href,r=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,u.startTransition)(()=>{U({type:a.ACTION_RESTORE,url:new URL(null!=e?e:n,n),tree:r})})};window.history.pushState=function(t,r,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=A(t),o&&n(o)),e(t,r,o)},window.history.replaceState=function(e,r,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=A(e),o&&n(o)),t(e,r,o)};let r=e=>{let{state:t}=e;if(t){if(!t.__NA){window.location.reload();return}(0,u.startTransition)(()=>{U({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:t.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",r),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",r)}},[U]);let{cache:W,tree:K,nextUrl:V,focusAndScrollRef:Y}=(0,s.useUnwrapState)(I),X=(0,u.useMemo)(()=>(0,v.findHeadInCache)(W,K[1]),[W,K]),q=(0,u.useMemo)(()=>(function e(t,n){for(let r of(void 0===n&&(n={}),Object.values(t[1]))){let t=r[0],o=Array.isArray(t),u=o?t[1]:t;!u||u.startsWith(P.PAGE_SEGMENT_KEY)||(o&&("c"===t[2]||"oc"===t[2])?n[t[0]]=t[1].split("/"):o&&(n[t[0]]=t[1]),n=e(r,n))}return n})(K),[K]);if(null!==X){let[e,n]=X;t=(0,o.jsx)(N,{headCacheNode:e},n)}else t=null;let J=(0,o.jsxs)(_.RedirectBoundary,{children:[t,W.rsc,(0,o.jsx)(y.AppRouterAnnouncer,{tree:K})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x,{appRouterState:(0,s.useUnwrapState)(I),sync:k}),(0,o.jsx)(c.PathParamsContext.Provider,{value:q,children:(0,o.jsx)(c.PathnameContext.Provider,{value:H,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:L,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:{buildId:n,changeByServerResponse:$,tree:K,focusAndScrollRef:Y,nextUrl:V},children:(0,o.jsx)(l.AppRouterContext.Provider,{value:z,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:{childNodes:W.parallelRoutes,tree:K,url:F,loading:W.loading},children:J})})})})})})]})}function I(e){let{globalErrorComponent:t,...n}=e;return(0,o.jsx)(f.ErrorBoundary,{errorComponent:t,children:(0,o.jsx)(D,{...n})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8003:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"bailoutToClientRendering",{enumerable:!0,get:function(){return u}});let r=n(4895),o=n(1833);function u(e){let t=o.staticGenerationAsyncStorage.getStore();if((null==t||!t.forceStatic)&&(null==t?void 0:t.isStaticGeneration))throw new r.BailoutToCSRError(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7523:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return u}});let r=n(3890),o=n(7927);function u(e){let{Component:t,props:n}=e;return n.searchParams=(0,o.createDynamicallyTrackedSearchParams)(n.searchParams||{}),(0,r.jsx)(t,{...n})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8528:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let r=n(6651),o=n(3890),u=r._(n(8496)),l=n(1020),a=n(5338),i=n(1833),c={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function s(e){let{error:t}=e,n=i.staticGenerationAsyncStorage.getStore();if((null==n?void 0:n.isRevalidate)||(null==n?void 0:n.isStaticGeneration))throw console.error(t),t;return null}class f extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,n=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(s,{error:t}),(0,o.jsx)("div",{style:c.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:c.text,children:"Application error: a "+(n?"server":"client")+"-side exception has occurred (see the "+(n?"server logs":"browser console")+" for more information)."}),n?(0,o.jsx)("p",{style:c.text,children:"Digest: "+n}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:n,errorScripts:r,children:u}=e,a=(0,l.usePathname)();return t?(0,o.jsx)(f,{pathname:a,errorComponent:t,errorStyles:n,errorScripts:r,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5188:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DynamicServerError:function(){return r},isDynamicServerError:function(){return o}});let n="DYNAMIC_SERVER_USAGE";class r extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5338:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let r=n(5765),o=n(798);function u(e){return e&&e.digest&&((0,o.isRedirectError)(e)||(0,r.isNotFoundError)(e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},176:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return E}});let r=n(6651),o=n(2568),u=n(3890),l=o._(n(8496)),a=r._(n(1720)),i=n(844),c=n(9379),s=n(5008),f=n(8528),d=n(3028),p=n(9542),h=n(6798),y=n(2651),_=n(6839),v=n(372),b=n(1084),g=["bottom","height","left","right","top","width","x","y"];function m(e,t){let n=e.getBoundingClientRect();return n.top>=0&&n.top<=t}class R extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){var n;if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,n)=>(0,d.matchSegment)(t,e[n]))))return;let r=null,o=e.hashFragment;if(o&&(r="top"===o?document.body:null!=(n=document.getElementById(o))?n:document.getElementsByName(o)[0]),r||(r="undefined"==typeof window?null:a.default.findDOMNode(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return g.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(o){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!m(r,t)&&(e.scrollTop=0,m(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function P(e){let{segmentPath:t,children:n}=e,r=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!r)throw Error("invariant global layout router not mounted");return(0,u.jsx)(R,{segmentPath:t,focusAndScrollRef:r.focusAndScrollRef,children:n})}function j(e){let{parallelRouterKey:t,url:n,childNodes:r,segmentPath:o,tree:a,cacheKey:f}=e,p=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{buildId:h,changeByServerResponse:y,tree:_}=p,v=r.get(f);if(void 0===v){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};v=e,r.set(f,e)}let g=null!==v.prefetchRsc?v.prefetchRsc:v.rsc,m=(0,l.useDeferredValue)(v.rsc,g),R="object"==typeof m&&null!==m&&"function"==typeof m.then?(0,l.use)(m):m;if(!R){let e=v.lazyData;if(null===e){let t=function e(t,n){if(t){let[r,o]=t,u=2===t.length;if((0,d.matchSegment)(n[0],r)&&n[1].hasOwnProperty(o)){if(u){let t=e(void 0,n[1][o]);return[n[0],{...n[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[n[0],{...n[1],[o]:e(t.slice(2),n[1][o])}]}}return n}(["",...o],_),r=(0,b.hasInterceptionRouteInCurrentTree)(_);v.lazyData=e=(0,c.fetchServerResponse)(new URL(n,location.origin),t,r?p.nextUrl:null,h),v.lazyDataResolved=!1}let t=(0,l.use)(e);v.lazyDataResolved||(setTimeout(()=>{(0,l.startTransition)(()=>{y({previousTree:_,serverResponse:t})})}),v.lazyDataResolved=!0),(0,l.use)(s.unresolvedThenable)}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{tree:a[1][t],childNodes:v.parallelRoutes,url:n,loading:v.loading},children:R})}function O(e){let{children:t,hasLoading:n,loading:r,loadingStyles:o,loadingScripts:a}=e;return n?(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[o,a,r]}),children:t}):(0,u.jsx)(u.Fragment,{children:t})}function E(e){let{parallelRouterKey:t,segmentPath:n,error:r,errorStyles:o,errorScripts:a,templateStyles:c,templateScripts:s,template:d,notFound:p,notFoundStyles:b}=e,g=(0,l.useContext)(i.LayoutRouterContext);if(!g)throw Error("invariant expected layout router to be mounted");let{childNodes:m,tree:R,url:E,loading:S}=g,w=m.get(t);w||(w=new Map,m.set(t,w));let M=R[1][t][0],T=(0,_.getSegmentValue)(M),x=[M];return(0,u.jsx)(u.Fragment,{children:x.map(e=>{let l=(0,_.getSegmentValue)(e),g=(0,v.createRouterCacheKey)(e);return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(P,{segmentPath:n,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:o,errorScripts:a,children:(0,u.jsx)(O,{hasLoading:!!S,loading:null==S?void 0:S[0],loadingStyles:null==S?void 0:S[1],loadingScripts:null==S?void 0:S[2],children:(0,u.jsx)(y.NotFoundBoundary,{notFound:p,notFoundStyles:b,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(j,{parallelRouterKey:t,url:E,tree:R,childNodes:w,segmentPath:n,cacheKey:g,isActive:T===l})})})})})}),children:[c,s,d]},(0,v.createRouterCacheKey)(e,!0))})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3028:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{canSegmentBeOverridden:function(){return u},matchSegment:function(){return o}});let r=n(3477),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],u=(e,t)=>{var n;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(n=(0,r.getSegmentParam)(e))?void 0:n.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1020:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},useParams:function(){return p},usePathname:function(){return f},useRouter:function(){return d},useSearchParams:function(){return s},useSelectedLayoutSegment:function(){return y},useSelectedLayoutSegments:function(){return h},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let r=n(8496),o=n(844),u=n(3655),l=n(6839),a=n(1196),i=n(3974),c=n(5958);function s(){let e=(0,r.useContext)(u.SearchParamsContext),t=(0,r.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e]);if("undefined"==typeof window){let{bailoutToClientRendering:e}=n(8003);e("useSearchParams()")}return t}function f(){return(0,r.useContext)(u.PathnameContext)}function d(){let e=(0,r.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function p(){return(0,r.useContext)(u.PathParamsContext)}function h(e){void 0===e&&(e="children");let t=(0,r.useContext)(o.LayoutRouterContext);return t?function e(t,n,r,o){let u;if(void 0===r&&(r=!0),void 0===o&&(o=[]),r)u=t[1][n];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,l.getSegmentValue)(c);return!s||s.startsWith(a.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,n,!1,o))}(t.tree,e):null}function y(e){void 0===e&&(e="children");let t=h(e);if(!t||0===t.length)return null;let n="children"===e?t[0]:t[t.length-1];return n===a.DEFAULT_SEGMENT_KEY?null:n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3974:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return r.RedirectType},notFound:function(){return o.notFound},permanentRedirect:function(){return r.permanentRedirect},redirect:function(){return r.redirect}});let r=n(798),o=n(5765);class u extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new u}delete(){throw new u}set(){throw new u}sort(){throw new u}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2651:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotFoundBoundary",{enumerable:!0,get:function(){return s}});let r=n(2568),o=n(3890),u=r._(n(8496)),l=n(1020),a=n(5765);n(5675);let i=n(844);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isNotFoundError)(e))return{notFoundTriggered:!0};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.notFoundTriggered?{notFoundTriggered:!1,previousPathname:e.pathname}:{notFoundTriggered:t.notFoundTriggered,previousPathname:e.pathname}}render(){return this.state.notFoundTriggered?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,this.props.notFoundStyles,this.props.notFound]}):this.props.children}constructor(e){super(e),this.state={notFoundTriggered:!!e.asNotFound,previousPathname:e.pathname}}}function s(e){let{notFound:t,notFoundStyles:n,asNotFound:r,children:a}=e,s=(0,l.usePathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t?(0,o.jsx)(c,{pathname:s,notFound:t,notFoundStyles:n,asNotFound:r,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5765:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{isNotFoundError:function(){return o},notFound:function(){return r}});let n="NEXT_NOT_FOUND";function r(){let e=Error(n);throw e.digest=n,e}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},98:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let r=n(4235),o=n(7495);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,n;let o=new Promise((e,r)=>{t=e,n=r}),u=async()=>{try{r._(this,l)[l]++;let n=await e();t(n)}catch(e){n(e)}finally{r._(this,l)[l]--,r._(this,i)[i]()}};return r._(this,a)[a].push({promiseFn:o,task:u}),r._(this,i)[i](),o}bump(e){let t=r._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=r._(this,a)[a].splice(t,1)[0];r._(this,a)[a].unshift(e),r._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),r._(this,u)[u]=e,r._(this,l)[l]=0,r._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(r._(this,l)[l]0){var t;null==(t=r._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6798:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectBoundary:function(){return s},RedirectErrorBoundary:function(){return c}});let r=n(2568),o=n(3890),u=r._(n(8496)),l=n(1020),a=n(798);function i(e){let{redirect:t,reset:n,redirectType:r}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{r===a.RedirectType.push?o.push(t,{}):o.replace(t,{}),n()})},[t,r,n,o]),null}class c extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(i,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function s(e){let{children:t}=e,n=(0,l.useRouter)();return(0,o.jsx)(c,{router:n,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6876:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return n}}),(r=n||(n={}))[r.SeeOther=303]="SeeOther",r[r.TemporaryRedirect=307]="TemporaryRedirect",r[r.PermanentRedirect=308]="PermanentRedirect",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},798:function(e,t,n){"use strict";var r,o;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectType:function(){return r},getRedirectError:function(){return c},getRedirectStatusCodeFromError:function(){return y},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return p},isRedirectError:function(){return d},permanentRedirect:function(){return f},redirect:function(){return s}});let u=n(5296),l=n(498),a=n(6876),i="NEXT_REDIRECT";function c(e,t,n){void 0===n&&(n=a.RedirectStatusCode.TemporaryRedirect);let r=Error(i);r.digest=i+";"+t+";"+e+";"+n+";";let o=u.requestAsyncStorage.getStore();return o&&(r.mutableCookies=o.mutableCookies),r}function s(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.TemporaryRedirect)}function f(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.PermanentRedirect)}function d(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,n,r,o]=e.digest.split(";",4),u=Number(o);return t===i&&("replace"===n||"push"===n)&&"string"==typeof r&&!isNaN(u)&&u in a.RedirectStatusCode}function p(e){return d(e)?e.digest.split(";",3)[2]:null}function h(e){if(!d(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function y(e){if(!d(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(o=r||(r={})).push="push",o.replace="replace",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9414:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(2568),o=n(3890),u=r._(n(8496)),l=n(844);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5296:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getExpectedRequestStore:function(){return o},requestAsyncStorage:function(){return r.requestAsyncStorage}});let r=n(8737);function o(e){let t=r.requestAsyncStorage.getStore();if(t)return t;throw Error("`"+e+"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4433:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let r=n(4774),o=n(1893);function u(e,t,n,u){let[l,a,i]=n.slice(-3);if(null===a)return!1;if(3===n.length){let n=a[2],o=a[3];t.loading=o,t.rsc=n,t.prefetchRsc=null,(0,r.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,n,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},723:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,n,r,a){let i;let[c,s,f,d,p]=n;if(1===t.length){let e=l(n,r,t);return(0,u.addRefreshMarkerToActiveParallelSegments)(e,a),e}let[h,y]=t;if(!(0,o.matchSegment)(h,c))return null;if(2===t.length)i=l(s[y],r,t);else if(null===(i=e(t.slice(2),s[y],r,a)))return null;let _=[t[0],{...s,[y]:i},f,d];return p&&(_[4]=!0),(0,u.addRefreshMarkerToActiveParallelSegments)(_,a),_}}});let r=n(1196),o=n(3028),u=n(3552);function l(e,t,n){let[u,a]=e,[i,c]=t;if(i===r.DEFAULT_SEGMENT_KEY&&u!==r.DEFAULT_SEGMENT_KEY)return e;if((0,o.matchSegment)(u,i)){let t={};for(let e in a)void 0!==c[e]?t[e]=l(a[e],c[e],n):t[e]=a[e];for(let e in c)t[e]||(t[e]=c[e]);let r=[u,t];return e[2]&&(r[2]=e[2]),e[3]&&(r[3]=e[3]),e[4]&&(r[4]=e[4]),r}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6533:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l),s=t.parallelRoutes.get(l);s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s));let f=null==c?void 0:c.get(i),d=s.get(i);if(u){d&&d.lazyData&&d!==f||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}if(!d||!f){d||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}return d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved,loading:d.loading},s.set(i,d)),e(d,f,o.slice(2))}}});let r=n(372);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9095:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{computeChangedPath:function(){return s},extractPathFromFlightRouterState:function(){return c}});let r=n(4211),o=n(1196),u=n(3028),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let n=Array.isArray(e[0])?e[0][1]:e[0];if(n===o.DEFAULT_SEGMENT_KEY||r.INTERCEPTION_ROUTE_MARKERS.some(e=>n.startsWith(e)))return;if(n.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[a(n)],l=null!=(t=e[1])?t:{},s=l.children?c(l.children):void 0;if(void 0!==s)u.push(s);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let n=c(t);void 0!==n&&u.push(n)}return i(u)}function s(e,t){let n=function e(t,n){let[o,l]=t,[i,s]=n,f=a(o),d=a(i);if(r.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(n))?p:""}for(let t in l)if(s[t]){let n=e(l[t],s[t]);if(null!==n)return a(i)+"/"+n}return null}(e,t);return null==n||"/"===n?n:i(n.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1353:function(e,t){"use strict";function n(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3639:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return c}});let r=n(1353),o=n(4774),u=n(9095),l=n(754),a=n(1140),i=n(3552);function c(e){var t;let{buildId:n,initialTree:c,initialSeedData:s,urlParts:f,initialParallelRoutes:d,location:p,initialHead:h,couldBeIntercepted:y}=e,_=f.join("/"),v=!p,b={lazyData:null,rsc:s[2],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:v?new Map:d,lazyDataResolved:!1,loading:s[3]},g=p?(0,r.createHrefFromUrl)(p):_;(0,i.addRefreshMarkerToActiveParallelSegments)(c,g);let m=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(b,void 0,c,s,h);let R={buildId:n,tree:c,cache:b,prefetchCache:m,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:g,nextUrl:null!=(t=(0,u.extractPathFromFlightRouterState)(c)||(null==p?void 0:p.pathname))?t:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin),t=[["",c,null,null]];(0,l.createPrefetchCacheEntryForInitialLoad)({url:e,kind:a.PrefetchKind.AUTO,data:[t,void 0,!1,y],tree:R.tree,prefetchCache:R.prefetchCache,nextUrl:R.nextUrl})}return R}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},372:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let r=n(1196);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(r.PAGE_SEGMENT_KEY)?r.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9379:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fetchServerResponse",{enumerable:!0,get:function(){return f}});let r=n(9011),o=n(2433),u=n(1428),l=n(1140),a=n(7712),i=n(7177),{createFromFetch:c}=n(8645);function s(e){return[(0,o.urlToUrlWithoutFlightMarker)(e).toString(),void 0,!1,!1]}async function f(e,t,n,f,d){let p={[r.RSC_HEADER]:"1",[r.NEXT_ROUTER_STATE_TREE]:(0,i.prepareFlightRouterStateForRequest)(t)};d===l.PrefetchKind.AUTO&&(p[r.NEXT_ROUTER_PREFETCH_HEADER]="1"),n&&(p[r.NEXT_URL]=n);let h=(0,a.hexHash)([p[r.NEXT_ROUTER_PREFETCH_HEADER]||"0",p[r.NEXT_ROUTER_STATE_TREE],p[r.NEXT_URL]].join(","));try{var y;let t=new URL(e);t.pathname.endsWith("/")?t.pathname+="index.txt":t.pathname+=".txt",t.searchParams.set(r.NEXT_RSC_UNION_QUERY,h);let n=await fetch(t,{credentials:"same-origin",headers:p}),l=(0,o.urlToUrlWithoutFlightMarker)(n.url),a=n.redirected?l:void 0,i=n.headers.get("content-type")||"",d=!!n.headers.get(r.NEXT_DID_POSTPONE_HEADER),_=!!(null==(y=n.headers.get("vary"))?void 0:y.includes(r.NEXT_URL)),v=i===r.RSC_CONTENT_TYPE_HEADER;if(v||(v=i.startsWith("text/plain")),!v||!n.ok)return e.hash&&(l.hash=e.hash),s(l.toString());let[b,g]=await c(Promise.resolve(n),{callServer:u.callServer});if(f!==b)return s(n.url);return[g,a,d,_]}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),[e.toString(),void 0,!1,!1]}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1893:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithNewSubTreeData",{enumerable:!0,get:function(){return function e(t,n,l,a){let i=l.length<=5,[c,s]=l,f=(0,u.createRouterCacheKey)(s),d=n.parallelRoutes.get(c);if(!d)return;let p=t.parallelRoutes.get(c);p&&p!==d||(p=new Map(d),t.parallelRoutes.set(c,p));let h=d.get(f),y=p.get(f);if(i){if(!y||!y.lazyData||y===h){let e=l[3];y={lazyData:null,rsc:e[2],prefetchRsc:null,head:null,prefetchHead:null,loading:e[3],parallelRoutes:h?new Map(h.parallelRoutes):new Map,lazyDataResolved:!1},h&&(0,r.invalidateCacheByRouterState)(y,h,l[2]),(0,o.fillLazyItemsTillLeafWithHead)(y,h,l[2],e,l[4],a),p.set(f,y)}return}y&&h&&(y===h&&(y={lazyData:y.lazyData,rsc:y.rsc,prefetchRsc:y.prefetchRsc,head:y.head,prefetchHead:y.prefetchHead,parallelRoutes:new Map(y.parallelRoutes),lazyDataResolved:!1,loading:y.loading},p.set(f,y)),e(y,h,l.slice(2),a))}}});let r=n(7776),o=n(4774),u=n(372);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4774:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,n,u,l,a,i){if(0===Object.keys(u[1]).length){t.head=a;return}for(let c in u[1]){let s;let f=u[1][c],d=f[0],p=(0,r.createRouterCacheKey)(d),h=null!==l&&void 0!==l[1][c]?l[1][c]:null;if(n){let r=n.parallelRoutes.get(c);if(r){let n;let u=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,l=new Map(r),s=l.get(p);n=null!==h?{lazyData:null,rsc:h[2],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1}:u&&s?{lazyData:s.lazyData,rsc:s.rsc,prefetchRsc:s.prefetchRsc,head:s.head,prefetchHead:s.prefetchHead,parallelRoutes:new Map(s.parallelRoutes),lazyDataResolved:s.lazyDataResolved,loading:s.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1,loading:null},l.set(p,n),e(n,s,f,h||null,a,i),t.parallelRoutes.set(c,l);continue}}if(null!==h){let e=h[2],t=h[3];s={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:t}}else s={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};let y=t.parallelRoutes.get(c);y?y.set(p,s):t.parallelRoutes.set(c,new Map([[p,s]])),e(s,void 0,f,h,a,i)}}}});let r=n(372),o=n(1140);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6535:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return u}});let r=n(9095);function o(e){return void 0!==e}function u(e,t){var n,u,l;let a=null==(u=t.shouldScroll)||u,i=e.nextUrl;if(o(t.patchedTree)){let n=(0,r.computeChangedPath)(e.tree,t.patchedTree);n?i=n:i||(i=e.canonicalUrl)}return{buildId:e.buildId,canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!a&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:!!t.hashFragment&&e.canonicalUrl.split("#",1)[0]===(null==(n=t.canonicalUrl)?void 0:n.split("#",1)[0]),hashFragment:a?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:a?null!=(l=null==t?void 0:t.scrollableSegments)?l:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:i}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6009:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let r=n(5204);function o(e,t,n){return(0,r.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3229:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l);if(!c)return;let s=t.parallelRoutes.get(l);if(s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s)),u){s.delete(i);return}let f=c.get(i),d=s.get(i);d&&f&&(d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved},s.set(i,d)),e(d,f,o.slice(2)))}}});let r=n(372);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7776:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let r=n(372);function o(e,t,n){for(let o in n[1]){let u=n[1][o][0],l=(0,r.createRouterCacheKey)(u),a=t.parallelRoutes.get(o);if(a){let t=new Map(a);t.delete(l),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4621:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,n){let r=t[0],o=n[0];if(Array.isArray(r)&&Array.isArray(o)){if(r[0]!==o[0]||r[2]!==o[2])return!0}else if(r!==o)return!0;if(t[4])return!n[4];if(n[4])return!0;let u=Object.values(t[1])[0],l=Object.values(n[1])[0];return!u||!l||e(u,l)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8664:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{abortTask:function(){return c},listenForDynamicRequest:function(){return a},updateCacheNodeOnNavigation:function(){return function e(t,n,a,c,s){let f=n[1],d=a[1],p=c[1],h=t.parallelRoutes,y=new Map(h),_={},v=null;for(let t in d){let n;let a=d[t],c=f[t],b=h.get(t),g=p[t],m=a[0],R=(0,u.createRouterCacheKey)(m),P=void 0!==c?c[0]:void 0,j=void 0!==b?b.get(R):void 0;if(null!==(n=m===r.PAGE_SEGMENT_KEY?l(a,void 0!==g?g:null,s):m===r.DEFAULT_SEGMENT_KEY?void 0!==c?{route:c,node:null,children:null}:l(a,void 0!==g?g:null,s):void 0!==P&&(0,o.matchSegment)(m,P)&&void 0!==j&&void 0!==c?null!=g?e(j,c,a,g,s):function(e){let t=i(e,null,null);return{route:e,node:t,children:null}}(a):l(a,void 0!==g?g:null,s))){null===v&&(v=new Map),v.set(t,n);let e=n.node;if(null!==e){let n=new Map(b);n.set(R,e),y.set(t,n)}_[t]=n.route}else _[t]=a}if(null===v)return null;let b={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:y,lazyDataResolved:!1};return{route:function(e,t){let n=[e[0],t];return 2 in e&&(n[2]=e[2]),3 in e&&(n[3]=e[3]),4 in e&&(n[4]=e[4]),n}(a,_),node:b,children:v}}},updateCacheNodeOnPopstateRestoration:function(){return function e(t,n){let r=n[1],o=t.parallelRoutes,l=new Map(o);for(let t in r){let n=r[t],a=n[0],i=(0,u.createRouterCacheKey)(a),c=o.get(t);if(void 0!==c){let r=c.get(i);if(void 0!==r){let o=e(r,n),u=new Map(c);u.set(i,o),l.set(t,u)}}}let a=t.rsc,i=d(a)&&"pending"===a.status;return{lazyData:null,rsc:a,head:t.head,prefetchHead:i?t.prefetchHead:null,prefetchRsc:i?t.prefetchRsc:null,loading:i?t.loading:null,parallelRoutes:l,lazyDataResolved:!1}}}});let r=n(1196),o=n(3028),u=n(372);function l(e,t,n){let r=i(e,t,n);return{route:e,node:r,children:null}}function a(e,t){t.then(t=>{for(let n of t[0]){let t=n.slice(0,-3),r=n[n.length-3],l=n[n.length-2],a=n[n.length-1];"string"!=typeof t&&function(e,t,n,r,l){let a=e;for(let e=0;e{c(e,t)})}function i(e,t,n){let r=e[1],o=null!==t?t[1]:null,l=new Map;for(let e in r){let t=r[e],a=null!==o?o[e]:null,c=t[0],s=(0,u.createRouterCacheKey)(c),f=i(t,void 0===a?null:a,n),d=new Map;d.set(s,f),l.set(e,d)}let a=0===l.size,c=null!==t?t[2]:null,s=null!==t?t[3]:null;return{lazyData:null,parallelRoutes:l,prefetchRsc:void 0!==c?c:null,prefetchHead:a?n:null,loading:void 0!==s?s:null,rsc:p(),head:a?p():null,lazyDataResolved:!1}}function c(e,t){let n=e.node;if(null===n)return;let r=e.children;if(null===r)s(e.route,n,t);else for(let e of r.values())c(e,t);e.node=null}function s(e,t,n){let r=e[1],o=t.parallelRoutes;for(let e in r){let t=r[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&s(t,c,n)}let l=t.rsc;d(l)&&(null===n?l.resolve(null):l.reject(n));let a=t.head;d(a)&&a.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let n=new Promise((n,r)=>{e=n,t=r});return n.status="pending",n.resolve=t=>{"pending"===n.status&&(n.status="fulfilled",n.value=t,e(t))},n.reject=e=>{"pending"===n.status&&(n.status="rejected",n.reason=e,t(e))},n.tag=f,n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},754:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createPrefetchCacheEntryForInitialLoad:function(){return c},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let r=n(1353),o=n(9379),u=n(1140),l=n(8048);function a(e,t){let n=(0,r.createHrefFromUrl)(e,!1);return t?t+"%"+n:n}function i(e){let t,{url:n,nextUrl:r,tree:o,buildId:l,prefetchCache:i,kind:c}=e,f=a(n,r),d=i.get(f);if(d)t=d;else{let e=a(n),r=i.get(e);r&&(t=r)}return t?(t.status=h(t),t.kind!==u.PrefetchKind.FULL&&c===u.PrefetchKind.FULL)?s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:null!=c?c:u.PrefetchKind.TEMPORARY}):(c&&t.kind===u.PrefetchKind.TEMPORARY&&(t.kind=c),t):s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:c||u.PrefetchKind.TEMPORARY})}function c(e){let{nextUrl:t,tree:n,prefetchCache:r,url:o,kind:l,data:i}=e,[,,,c]=i,s=c?a(o,t):a(o),f={treeAtTimeOfPrefetch:n,data:Promise.resolve(i),kind:l,prefetchTime:Date.now(),lastUsedTime:Date.now(),key:s,status:u.PrefetchCacheEntryStatus.fresh};return r.set(s,f),f}function s(e){let{url:t,kind:n,tree:r,nextUrl:i,buildId:c,prefetchCache:s}=e,f=a(t),d=l.prefetchQueue.enqueue(()=>(0,o.fetchServerResponse)(t,r,i,c,n).then(e=>{let[,,,n]=e;return n&&function(e){let{url:t,nextUrl:n,prefetchCache:r}=e,o=a(t),u=r.get(o);if(!u)return;let l=a(t,n);r.set(l,u),r.delete(o)}({url:t,nextUrl:i,prefetchCache:s}),e})),p={treeAtTimeOfPrefetch:r,data:d,kind:n,prefetchTime:Date.now(),lastUsedTime:null,key:f,status:u.PrefetchCacheEntryStatus.fresh};return s.set(f,p),p}function f(e){for(let[t,n]of e)h(n)===u.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("30"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:n,lastUsedTime:r}=e;return Date.now()<(null!=r?r:n)+d?r?u.PrefetchCacheEntryStatus.reusable:u.PrefetchCacheEntryStatus.fresh:"auto"===t&&Date.now(){let[n,f]=t,h=!1;if(E.lastUsedTime||(E.lastUsedTime=Date.now(),h=!0),"string"==typeof n)return _(e,R,n,O);if(document.getElementById("__next-page-redirect"))return _(e,R,j,O);let b=e.tree,g=e.cache,w=[];for(let t of n){let n=t.slice(0,-4),r=t.slice(-3)[0],c=["",...n],f=(0,u.applyRouterStatePatchToTree)(c,b,r,j);if(null===f&&(f=(0,u.applyRouterStatePatchToTree)(c,S,r,j)),null!==f){if((0,a.isNavigatingToNewRootLayout)(b,f))return _(e,R,j,O);let u=(0,d.createEmptyCacheNode)(),m=!1;for(let e of(E.status!==i.PrefetchCacheEntryStatus.stale||h?m=(0,s.applyFlightData)(g,u,t,E):(m=function(e,t,n,r){let o=!1;for(let u of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),v(r).map(e=>[...n,...e])))(0,y.clearCacheNodeDataForSegmentPath)(e,t,u),o=!0;return o}(u,g,n,r),E.lastUsedTime=Date.now()),(0,l.shouldHardNavigate)(c,b)?(u.rsc=g.rsc,u.prefetchRsc=g.prefetchRsc,(0,o.invalidateCacheBelowFlightSegmentPath)(u,g,n),R.cache=u):m&&(R.cache=u,g=u),b=f,v(r))){let t=[...n,...e];t[t.length-1]!==p.DEFAULT_SEGMENT_KEY&&w.push(t)}}}return R.patchedTree=b,R.canonicalUrl=f?(0,r.createHrefFromUrl)(f):j,R.pendingPush=O,R.scrollableSegments=w,R.hashFragment=P,R.shouldScroll=m,(0,c.handleMutable)(e,R)},()=>e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8048:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{prefetchQueue:function(){return l},prefetchReducer:function(){return a}});let r=n(9011),o=n(98),u=n(754),l=new o.PromiseQueue(5);function a(e,t){(0,u.prunePrefetchCache)(e.prefetchCache);let{url:n}=t;return n.searchParams.delete(r.NEXT_RSC_UNION_QUERY),(0,u.getOrCreatePrefetchCacheEntry)({url:n,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,buildId:e.buildId}),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1571:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let r=n(9379),o=n(1353),u=n(723),l=n(4621),a=n(5204),i=n(6535),c=n(4774),s=n(2433),f=n(6009),d=n(1084),p=n(3552);function h(e,t){let{origin:n}=t,h={},y=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let v=(0,s.createEmptyCacheNode)(),b=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return v.lazyData=(0,r.fetchServerResponse)(new URL(y,n),[_[0],_[1],_[2],"refetch"],b?e.nextUrl:null,e.buildId),v.lazyData.then(async n=>{let[r,s]=n;if("string"==typeof r)return(0,a.handleExternalUrl)(e,h,r,e.pushRef.pendingPush);for(let n of(v.lazyData=null,r)){if(3!==n.length)return console.log("REFRESH FAILED"),e;let[r]=n,i=(0,u.applyRouterStatePatchToTree)([""],_,r,e.canonicalUrl);if(null===i)return(0,f.handleSegmentMismatch)(e,t,r);if((0,l.isNavigatingToNewRootLayout)(_,i))return(0,a.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let d=s?(0,o.createHrefFromUrl)(s):void 0;s&&(h.canonicalUrl=d);let[g,m]=n.slice(-2);if(null!==g){let e=g[2];v.rsc=e,v.prefetchRsc=null,(0,c.fillLazyItemsTillLeafWithHead)(v,void 0,r,g,m),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:i,updatedCache:v,includeNextUrl:b,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=v,h.patchedTree=i,h.canonicalUrl=y,_=i}return(0,i.handleMutable)(e,h)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5435:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let r=n(1353),o=n(9095);function u(e,t){var n;let{url:u,tree:l}=t,a=(0,r.createHrefFromUrl)(u),i=l||e.tree,c=e.cache;return{buildId:e.buildId,canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:c,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(n=(0,o.extractPathFromFlightRouterState)(i))?n:u.pathname}}n(8664),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6332:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return m}});let r=n(1428),o=n(9011),u=n(8657),l=n(1353),a=n(5204),i=n(723),c=n(4621),s=n(6535),f=n(4774),d=n(2433),p=n(1084),h=n(6009),y=n(3552),_=n(7177),{createFromFetch:v,encodeReply:b}=n(8645);async function g(e,t,n){let l,{actionId:a,actionArgs:i}=n,c=await b(i),s=await fetch("",{method:"POST",headers:{Accept:o.RSC_CONTENT_TYPE_HEADER,[o.ACTION]:a,[o.NEXT_ROUTER_STATE_TREE]:(0,_.prepareFlightRouterStateForRequest)(e.tree),...t?{[o.NEXT_URL]:t}:{}},body:c}),f=s.headers.get("x-action-redirect");try{let e=JSON.parse(s.headers.get("x-action-revalidated")||"[[],0,0]");l={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){l={paths:[],tag:!1,cookie:!1}}let d=f?new URL((0,u.addBasePath)(f),new URL(e.canonicalUrl,window.location.href)):void 0;if(s.headers.get("content-type")===o.RSC_CONTENT_TYPE_HEADER){let e=await v(Promise.resolve(s),{callServer:r.callServer});if(f){let[,t]=null!=e?e:[];return{actionFlightData:t,redirectLocation:d,revalidatedParts:l}}let[t,[,n]]=null!=e?e:[];return{actionResult:t,actionFlightData:n,redirectLocation:d,revalidatedParts:l}}return{redirectLocation:d,revalidatedParts:l}}function m(e,t){let{resolve:n,reject:r}=t,o={},u=e.canonicalUrl,_=e.tree;o.preserveCustomHistoryState=!1;let v=e.nextUrl&&(0,p.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return o.inFlightServerAction=g(e,v,t),o.inFlightServerAction.then(async r=>{let{actionResult:p,actionFlightData:b,redirectLocation:g}=r;if(g&&(e.pushRef.pendingPush=!0,o.pendingPush=!0),!b)return(n(p),g)?(0,a.handleExternalUrl)(e,o,g.href,e.pushRef.pendingPush):e;if("string"==typeof b)return(0,a.handleExternalUrl)(e,o,b,e.pushRef.pendingPush);if(o.inFlightServerAction=null,g){let e=(0,l.createHrefFromUrl)(g,!1);o.canonicalUrl=e}for(let n of b){if(3!==n.length)return console.log("SERVER ACTION APPLY FAILED"),e;let[r]=n,s=(0,i.applyRouterStatePatchToTree)([""],_,r,g?(0,l.createHrefFromUrl)(g):e.canonicalUrl);if(null===s)return(0,h.handleSegmentMismatch)(e,t,r);if((0,c.isNavigatingToNewRootLayout)(_,s))return(0,a.handleExternalUrl)(e,o,u,e.pushRef.pendingPush);let[p,b]=n.slice(-2),m=null!==p?p[2]:null;if(null!==m){let t=(0,d.createEmptyCacheNode)();t.rsc=m,t.prefetchRsc=null,(0,f.fillLazyItemsTillLeafWithHead)(t,void 0,r,p,b),await (0,y.refreshInactiveParallelSegments)({state:e,updatedTree:s,updatedCache:t,includeNextUrl:!!v,canonicalUrl:o.canonicalUrl||e.canonicalUrl}),o.cache=t,o.prefetchCache=new Map}o.patchedTree=s,_=s}return n(p),(0,s.handleMutable)(e,o)},t=>(r(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},901:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return f}});let r=n(1353),o=n(723),u=n(4621),l=n(5204),a=n(4433),i=n(6535),c=n(2433),s=n(6009);function f(e,t){let{serverResponse:n}=t,[f,d]=n,p={};if(p.preserveCustomHistoryState=!1,"string"==typeof f)return(0,l.handleExternalUrl)(e,p,f,e.pushRef.pendingPush);let h=e.tree,y=e.cache;for(let n of f){let i=n.slice(0,-4),[f]=n.slice(-3,-2),_=(0,o.applyRouterStatePatchToTree)(["",...i],h,f,e.canonicalUrl);if(null===_)return(0,s.handleSegmentMismatch)(e,t,f);if((0,u.isNavigatingToNewRootLayout)(h,_))return(0,l.handleExternalUrl)(e,p,e.canonicalUrl,e.pushRef.pendingPush);let v=d?(0,r.createHrefFromUrl)(d):void 0;v&&(p.canonicalUrl=v);let b=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(y,b,n),p.patchedTree=_,p.cache=b,y=b,h=_}return(0,i.handleMutable)(e,p)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3552:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,n){let[r,o,,l]=t;for(let a in r.includes(u.PAGE_SEGMENT_KEY)&&"refresh"!==l&&(t[2]=n,t[3]="refresh"),o)e(o[a],n)}},refreshInactiveParallelSegments:function(){return l}});let r=n(4433),o=n(9379),u=n(1196);async function l(e){let t=new Set;await a({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function a(e){let{state:t,updatedTree:n,updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c=n,canonicalUrl:s}=e,[,f,d,p]=n,h=[];if(d&&d!==s&&"refresh"===p&&!i.has(d)){i.add(d);let e=(0,o.fetchServerResponse)(new URL(d,location.origin),[c[0],c[1],c[2],"refetch"],l?t.nextUrl:null,t.buildId).then(e=>{let t=e[0];if("string"!=typeof t)for(let e of t)(0,r.applyFlightData)(u,u,e)});h.push(e)}for(let e in f){let n=a({state:t,updatedTree:f[e],updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c,canonicalUrl:s});h.push(n)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1140:function(e,t){"use strict";var n,r,o,u;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return a},ACTION_PREFETCH:function(){return s},ACTION_REFRESH:function(){return l},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return c},PrefetchCacheEntryStatus:function(){return r},PrefetchKind:function(){return n},isThenable:function(){return p}});let l="refresh",a="navigate",i="restore",c="server-patch",s="prefetch",f="fast-refresh",d="server-action";function p(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(o=n||(n={})).AUTO="auto",o.FULL="full",o.TEMPORARY="temporary",(u=r||(r={})).fresh="fresh",u.reusable="reusable",u.expired="expired",u.stale="stale",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4227:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let r=n(1140),o=n(5204),u=n(901),l=n(5435),a=n(1571),i=n(8048),c=n(1737),s=n(6332),f="undefined"==typeof window?function(e,t){return e}:function(e,t){switch(t.type){case r.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case r.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case r.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case r.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case r.ACTION_FAST_REFRESH:return(0,c.fastRefreshReducer)(e,t);case r.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case r.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8790:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,n){let[o,u]=n,[l,a]=t;return(0,r.matchSegment)(l,o)?!(t.length<=2)&&e(t.slice(2),u[a]):!!Array.isArray(l)}}});let r=n(3028);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7927:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createDynamicallyTrackedSearchParams:function(){return a},createUntrackedSearchParams:function(){return l}});let r=n(1833),o=n(1818),u=n(4436);function l(e){let t=r.staticGenerationAsyncStorage.getStore();return t&&t.forceStatic?{}:e}function a(e){let t=r.staticGenerationAsyncStorage.getStore();return t?t.forceStatic?{}:t.isStaticGeneration||t.dynamicShouldError?new Proxy({},{get:(e,n,r)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),u.ReflectAdapter.get(e,n,r)),has:(e,n)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),Reflect.has(e,n)),ownKeys:e=>((0,o.trackDynamicDataAccessed)(t,"searchParams"),Reflect.ownKeys(e))}):e:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1833:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r.staticGenerationAsyncStorage}});let r=n(2420);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7533:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{StaticGenBailoutError:function(){return r},isStaticGenBailoutError:function(){return o}});let n="NEXT_STATIC_GEN_BAILOUT";class r extends Error{constructor(...e){super(...e),this.code=n}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5008:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8601:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{useReducerWithReduxDevtools:function(){return i},useUnwrapState:function(){return a}});let r=n(2568)._(n(8496)),o=n(1140),u=n(4031);function l(e){if(e instanceof Map){let t={};for(let[n,r]of e.entries()){if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r._bundlerConfig){t[n]="FlightData";continue}}t[n]=l(r)}return t}if("object"==typeof e&&null!==e){let t={};for(let n in e){let r=e[n];if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r.hasOwnProperty("_bundlerConfig")){t[n]="FlightData";continue}}t[n]=l(r)}return t}return Array.isArray(e)?e.map(l):e}function a(e){return(0,o.isThenable)(e)?(0,r.use)(e):e}let i="undefined"!=typeof window?function(e){let[t,n]=r.default.useState(e),o=(0,r.useContext)(u.ActionQueueContext);if(!o)throw Error("Invariant: Missing ActionQueueContext");let a=(0,r.useRef)(),i=(0,r.useRef)();return(0,r.useEffect)(()=>{if(!a.current&&!1!==i.current){if(void 0===i.current&&void 0===window.__REDUX_DEVTOOLS_EXTENSION__){i.current=!1;return}return a.current=window.__REDUX_DEVTOOLS_EXTENSION__.connect({instanceId:8e3,name:"next-router"}),a.current&&(a.current.init(l(e)),o&&(o.devToolsInstance=a.current)),()=>{a.current=void 0}}},[e,o]),[t,(0,r.useCallback)(t=>{o.state||(o.state=e),o.dispatch(t,n)},[o,e]),(0,r.useCallback)(e=>{a.current&&a.current.send({type:"RENDER_SYNC"},l(e))},[])]}:function(e){return[e,()=>{},()=>{}]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7177:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prepareFlightRouterStateForRequest",{enumerable:!0,get:function(){return o}});let r=n(1196);function o(e,t){return t?encodeURIComponent(JSON.stringify(e)):encodeURIComponent(JSON.stringify(function e(t){let[n,o,,u,l]=t,a="string"==typeof n&&n.startsWith(r.PAGE_SEGMENT_KEY+"?")?r.PAGE_SEGMENT_KEY:n,i={};for(let[t,n]of Object.entries(o))i[t]=e(n);let c=[a,i,null,u&&"refresh"!==u?u:null];return void 0!==l&&(c[4]=l),c}(e)))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3614:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let r=n(2625);function o(e){return(0,r.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1635:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return u}});let r=n(3765),o=n(8141),u=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:n,hash:u}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,r.removeTrailingSlash)(t)+n+u:t.endsWith("/")?""+t+n+u:t+"/"+n+u};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9024:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=n(4895);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,r.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1837:function(e,t,n){"use strict";function r(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return r}}),n(3614),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3429:function(e,t){"use strict";function n(e,t){var n=e.length;for(e.push(t);0>>1,o=e[r];if(0>>1;ru(i,n))cu(s,i)?(e[r]=s,e[c]=n,r=c):(e[r]=i,e[a]=n,r=a);else if(cu(s,n))e[r]=s,e[c]=n,r=c;else break}}return t}function u(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,g="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function R(e){for(var t=r(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,n(s,t);else break;t=r(f)}}function P(e){if(v=!1,R(e),!_){if(null!==r(s))_=!0,C();else{var t=r(f);null!==t&&A(P,t.startTime-e)}}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var j=!1,O=-1,E=5,S=-1;function w(){return!(t.unstable_now()-Se&&w());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,R(e),n=!0;break t}p===r(s)&&o(s),R(e)}else o(s);p=r(s)}if(null!==p)n=!0;else{var c=r(f);null!==c&&A(P,c.startTime-e),n=!1}}break e}finally{p=null,h=u,y=!1}n=void 0}}finally{n?l():j=!1}}}if("function"==typeof m)l=function(){m(M)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,x=T.port2;T.port1.onmessage=M,l=function(){x.postMessage(null)}}else l=function(){b(M,0)};function C(){j||(j=!0,l())}function A(e,n){O=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){_||y||(_=!0,C())},t.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=u,n(f,e),null===r(s)&&e===r(f)&&(v?(g(O),O=-1):v=!0,A(P,u-l))):(e.sortIndex=a,n(s,e),_||y||(_=!0,C())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},3324:function(e,t,n){"use strict";e.exports=n(3429)},108:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getPathname:function(){return r},isFullStringUrl:function(){return o},parseUrl:function(){return u}});let n="http://n";function r(e){return new URL(e,n).pathname}function o(e){return/https?:\/\//.test(e)}function u(e){let t;try{t=new URL(e,n)}catch{}return t}},1818:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Postpone:function(){return d},createPostponedAbortSignal:function(){return b},createPrerenderState:function(){return c},formatDynamicAPIAccesses:function(){return _},markCurrentScopeAsDynamic:function(){return s},trackDynamicDataAccessed:function(){return f},trackDynamicFetch:function(){return p},usedDynamicAPIs:function(){return y}});let o=(r=n(8496))&&r.__esModule?r:{default:r},u=n(5188),l=n(7533),a=n(108),i="function"==typeof o.default.unstable_postpone;function c(e){return{isDebugSkeleton:e,dynamicAccesses:[]}}function s(e,t){let n=(0,a.getPathname)(e.urlPathname);if(!e.isUnstableCacheCallback){if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}}function f(e,t){let n=(0,a.getPathname)(e.urlPathname);if(e.isUnstableCacheCallback)throw Error(`Route ${n} used "${t}" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "${t}" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}function d({reason:e,prerenderState:t,pathname:n}){h(t,e,n)}function p(e,t){e.prerenderState&&h(e.prerenderState,t,e.urlPathname)}function h(e,t,n){v();let r=`Route ${n} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;e.dynamicAccesses.push({stack:e.isDebugSkeleton?Error().stack:void 0,expression:t}),o.default.unstable_postpone(r)}function y(e){return e.dynamicAccesses.length>0}function _(e){return e.dynamicAccesses.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: +${t}`))}function v(){if(!i)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function b(e){v();let t=new AbortController;try{o.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}},3477:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let r=n(4211);function o(e){let t=r.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}},4196:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HMR_ACTIONS_SENT_TO_BROWSER",{enumerable:!0,get:function(){return n}}),(r=n||(n={})).ADDED_PAGE="addedPage",r.REMOVED_PAGE="removedPage",r.RELOAD_PAGE="reloadPage",r.SERVER_COMPONENT_CHANGES="serverComponentChanges",r.MIDDLEWARE_CHANGES="middlewareChanges",r.CLIENT_CHANGES="clientChanges",r.SERVER_ONLY_CHANGES="serverOnlyChanges",r.SYNC="sync",r.BUILT="built",r.BUILDING="building",r.DEV_PAGES_MANIFEST_UPDATE="devPagesManifestUpdate",r.TURBOPACK_MESSAGE="turbopack-message",r.SERVER_ERROR="serverError",r.TURBOPACK_CONNECTED="turbopack-connected"},4211:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return l},isInterceptionRouteAppPath:function(){return u}});let r=n(413),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,n,u;for(let r of e.split("/"))if(n=o.find(e=>r.startsWith(e))){[t,u]=e.split(n,2);break}if(!t||!n||!u)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,r.normalizeAppPath)(t),n){case"(.)":u="/"===t?`/${u}`:t+"/"+u;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);u=l.slice(0,-2).concat(u).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:u}}},4436:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,n){let r=Reflect.get(e,t,n);return"function"==typeof r?r.bind(e):r}static set(e,t,n,r){return Reflect.set(e,t,n,r)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},844:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return a}});let r=n(6651)._(n(8496)),o=r.default.createContext(null),u=r.default.createContext(null),l=r.default.createContext(null),a=r.default.createContext(null),i=r.default.createContext(new Set)},7712:function(e,t){"use strict";function n(e){let t=5381;for(let n=0;n>>0}function r(e){return n(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{djb2Hash:function(){return n},hexHash:function(){return r}})},997:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return r}});let r=n(6651)._(n(8496)).default.createContext({})},3655:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{PathParamsContext:function(){return l},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let r=n(8496),o=(0,r.createContext)(null),u=(0,r.createContext)(null),l=(0,r.createContext)(null)},4895:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{BailoutToCSRError:function(){return r},isBailoutToCSRError:function(){return o}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class r extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},6394:function(e,t){"use strict";function n(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return n}})},4031:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ActionQueueContext:function(){return a},createMutableActionQueue:function(){return s}});let r=n(2568),o=n(1140),u=n(4227),l=r._(n(8496)),a=l.default.createContext(null);function i(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?c({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:o.ACTION_REFRESH,origin:window.location.origin},t)))}async function c(e){let{actionQueue:t,action:n,setState:r}=e,u=t.state;if(!u)throw Error("Invariant: Router state not initialized");t.pending=n;let l=n.payload,a=t.action(u,l);function c(e){n.discarded||(t.state=e,t.devToolsInstance&&t.devToolsInstance.send(l,e),i(t,r),n.resolve(e))}(0,o.isThenable)(a)?a.then(c,e=>{i(t,r),n.reject(e)}):c(a)}function s(){let e={state:null,dispatch:(t,n)=>(function(e,t,n){let r={resolve:n,reject:()=>{}};if(t.type!==o.ACTION_RESTORE){let e=new Promise((e,t)=>{r={resolve:e,reject:t}});(0,l.startTransition)(()=>{n(e)})}let u={payload:t,next:null,resolve:r.resolve,reject:r.reject};null===e.pending?(e.last=u,c({actionQueue:e,action:u,setState:n})):t.type===o.ACTION_NAVIGATE||t.type===o.ACTION_RESTORE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===o.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),c({actionQueue:e,action:u,setState:n})):(null!==e.last&&(e.last.next=u),e.last=u)})(e,t,n),action:async(e,t)=>{if(null===e)throw Error("Invariant: Router state not initialized");return(0,u.reducer)(e,t)},pending:null,last:null};return e}},1968:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let r=n(8141);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:n,query:o,hash:u}=(0,r.parsePath)(e);return""+t+n+o+u}},413:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let r=n(6394),o=n(1196);function u(e){return(0,r.ensureLeadingSlash)(e.split("/").reduce((e,t,n,r)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&n===r.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},9542:function(e,t){"use strict";function n(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let n=document.documentElement,r=n.style.scrollBehavior;n.style.scrollBehavior="auto",t.dontForceLayout||n.getClientRects(),e(),n.style.scrollBehavior=r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return n}})},5063:function(e,t){"use strict";function n(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}})},8141:function(e,t){"use strict";function n(e){let t=e.indexOf("#"),n=e.indexOf("?"),r=n>-1&&(t<0||n-1?{pathname:e.substring(0,r?n:t),query:r?e.substring(n,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return n}})},2625:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let r=n(8141);function o(e,t){if("string"!=typeof e)return!1;let{pathname:n}=(0,r.parsePath)(e);return n===t||n.startsWith(t+"/")}},3765:function(e,t){"use strict";function n(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return n}})},1196:function(e,t){"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return r},isGroupSegment:function(){return n}});let r="__PAGE__",o="__DEFAULT__"},5958:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let r=n(2568)._(n(8496)),o=r.default.createContext(null);function u(e){let t=(0,r.useContext)(o);t&&t(e)}},5675:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},8495:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(999).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},999:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createAsyncLocalStorage",{enumerable:!0,get:function(){return u}});let n=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class r{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}}let o=globalThis.AsyncLocalStorage;function u(){return o?new o:new r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8737:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"requestAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(999).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2420:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(999).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4134:function(e,t,n){"use strict";var r=n(1720);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},1720:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(3977)},1480:function(e,t,n){"use strict";var r=n(1720),o={stream:!0},u=Object.prototype.hasOwnProperty,l=new Map;function a(e){var t=n(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function i(){}var c=new Map,s=n.u;n.u=function(e){var t=c.get(e);return void 0!==t?t:s(e)};var f=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Dispatcher,d=Symbol.for("react.element"),p=Symbol.for("react.lazy"),h=Symbol.iterator,y=Array.isArray,_=Object.getPrototypeOf,v=Object.prototype,b=new WeakMap;function g(e,t,n,r){this.status=e,this.value=t,this.reason=n,this._response=r}function m(e){switch(e.status){case"resolved_model":w(e);break;case"resolved_module":M(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"cyclic":throw e;default:throw e.reason}}function R(e,t){for(var n=0;nh?(_=h,h=3,p++):(_=0,h=3);continue;case 2:44===(m=d[p++])?h=4:v=v<<4|(96d.length&&(m=-1)}var R=d.byteOffset+p;if(-1{let[n,l]=e;return(0,i.jsxs)("span",{children:[n.replaceAll("_"," ")," ",(0,i.jsx)("strong",{children:Number(l).toFixed(2)})]},n)})}),(0,i.jsx)("div",{className:"governance-list",children:p.governance.slice(0,4).map(e=>(0,i.jsx)("span",{children:e},e))}),b&&(0,i.jsx)("div",{className:"control-row",style:{marginTop:12,marginBottom:0},children:(0,i.jsx)("button",{className:"button primary",onClick:b,disabled:j,children:j?"Running learning cycle...":"Run learning cycle"})}),(0,i.jsx)("p",{children:p.disclaimer})]})}function r(e){let{label:n,value:l}=e;return(0,i.jsxs)("div",{className:"brain-metric",children:[(0,i.jsx)("span",{children:n}),(0,i.jsx)("strong",{children:l})]})}function o(e){let{rows:n,empty:l}=e;return(null==n?void 0:n.length)?(0,i.jsx)("div",{className:"brain-performance-list",children:n.slice(0,5).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:e.key}),(0,i.jsxs)("span",{children:[d(e.success_rate)," success | ",e.mature_count," matured | score ",e.accuracy_score.toFixed(1)]})]},e.key))}):(0,i.jsx)("div",{className:"empty-state compact",children:l})}function d(e){return null==e?"Pending":"".concat(Math.round(100*Number(e)),"%")}var c=l(8908),u=l(9273);function v(){var e,n,l,r,o,d,v,f,y,k,N,w,S,C,L,M,E,R,A,B,P,V,F,T,D,I,z,O,H,W,q,G,X,Q,J,K,U,Y,Z,$,ee,en;let[el,ei]=(0,a.useState)(null),[ea,es]=(0,a.useState)([]),[et,er]=(0,a.useState)(null),[eo,ed]=(0,a.useState)(null),[ec,eu]=(0,a.useState)(null),[ev,em]=(0,a.useState)(null),[eh,eg]=(0,a.useState)(null),[ex,e_]=(0,a.useState)(""),[ep,ej]=(0,a.useState)(""),[eb,ef]=(0,a.useState)(null),ey=async()=>{try{e_("");let e=await s.h.overview();ei(e);let[n,l,i,a,t,r]=await Promise.allSettled([s.h.liveNews(60),s.h.marketSentiment(48),s.h.pipelineStatus(),s.h.systemStatus(),s.h.executiveDashboard(),s.h.brainStatus()]);"fulfilled"===n.status&&es(n.value),"fulfilled"===l.status&&er(l.value),"fulfilled"===i.status&&ed(i.value),"fulfilled"===a.status&&eu(a.value),"fulfilled"===t.status&&eg(t.value),"fulfilled"===r.status&&em(r.value),ej(["rejected"===n.status?"news ".concat(b(n.reason)):"","rejected"===l.status?"sentiment ".concat(b(l.reason)):"","rejected"===i.status?"status ".concat(b(i.reason)):"","rejected"===a.status?"system ".concat(b(a.reason)):"","rejected"===t.status?"executive ".concat(b(t.reason)):"","rejected"===r.status?"brain ".concat(b(r.reason)):""].filter(Boolean).join(" | ")),ef(new Date().toISOString())}catch(e){e_(e.message)}};(0,a.useEffect)(()=>{ey();let e=window.setInterval(ey,3e4);return()=>window.clearInterval(e)},[]);let ek=(0,a.useMemo)(()=>{var e,n;return(null==eh?void 0:null===(e=eh.top_opportunities_today)||void 0===e?void 0:e.length)?(0,c.pX)(eh.top_opportunities_today):(0,c.bD)(null!==(n=null==el?void 0:el.todays_strongest_signals)&&void 0!==n?n:[])},[null==el?void 0:el.todays_strongest_signals,null==eh?void 0:eh.top_opportunities_today]);if(ex)return(0,i.jsxs)("div",{className:"terminal-empty",children:["API error: ",ex]});if(!el)return(0,i.jsx)(u.G,{label:"Loading Blum Command Center"});let eN=null!=eo?eo:el.realtime,ew={positive:null!==(U=null==et?void 0:et.label_counts.positive)&&void 0!==U?U:0,neutral:null!==(Y=null==et?void 0:et.label_counts.neutral)&&void 0!==Y?Y:0,negative:null!==(Z=null==et?void 0:et.label_counts.negative)&&void 0!==Z?Z:0},eS=null!==(E=null==eh?void 0:eh.market_mood)&&void 0!==E?E:($=el.market_pulse.average_sentiment,0===el.market_pulse.signal_count?"Evidence Building":$>.18?"Constructive Risk-On":$<-.18?"Defensive Risk-Off":"Selective Rotation"),eC=null!==(R=null==eh?void 0:eh.risk_level)&&void 0!==R?R:(ee=el.market_pulse.average_sentiment,0===el.market_pulse.signal_count?"Data Pending":ee<-.25?"High":ee>.2?"Moderate":"Balanced"),eL=(null==ev?void 0:ev.historical_accuracy)===null||(null==ev?void 0:ev.historical_accuracy)===void 0?null===(e=el.accuracy)||void 0===e?void 0:e.blum_confidence_score:100*ev.historical_accuracy,eM=(en=el.todays_strongest_signals).length?Math.round(en.filter(e=>e.blum_score>=60).length/en.length*100):0,eE=(null==et?void 0:null===(n=et.themes)||void 0===n?void 0:n.length)?et.themes:null!==(A=null==eh?void 0:null===(l=eh.narrative)||void 0===l?void 0:l.emerging_subthemes)&&void 0!==A?A:[],eR=Object.entries(null!==(B=el.market_pulse.classification_mix)&&void 0!==B?B:{}).sort((e,n)=>n[1]-e[1]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.ft,{eyebrow:"Blum Command Center",title:"Market intelligence operating desk.",subtitle:"A professional evidence layer for monitoring market regime, live news, sentiment, momentum, risk and ranked assets without direct financial advice.",statusItems:[{label:"Worker",value:eN.running?"running":eN.started?"online":"pending",tone:eN.running?"attention":"positive"},{label:"Last run",value:j(eN.last_completed_at),tone:"error"===eN.last_status?"negative":"neutral"},{label:"AI model",value:(null==ec?void 0:ec.runtime_flags.financial_brain_model_enabled)?"finance LLM":"fallback",tone:(null==ec?void 0:ec.runtime_flags.financial_brain_model_enabled)?"positive":"attention"},{label:"Refresh",value:eb?j(eb):"loading",tone:"info"}]}),(eN.last_error||ep)&&(0,i.jsx)("div",{className:"terminal-empty",style:{marginBottom:12},children:eN.last_error?"Realtime worker error: ".concat(eN.last_error):"Live endpoint warning: ".concat(ep)}),(0,i.jsxs)("section",{className:"terminal-command-grid",children:[(0,i.jsx)(c.i9,{label:"Market Regime",value:(0,i.jsx)(c.VL,{regime:eS}),subvalue:null!==(P=null==eh?void 0:null===(r=eh.dominant_narrative)||void 0===r?void 0:r.theme)&&void 0!==P?P:"Narrative pending",icon:(0,c.V8)("regime"),tone:"attention"}),(0,i.jsx)(c.i9,{label:"Sentiment Score",value:el.market_pulse.average_sentiment.toFixed(2),subvalue:"".concat(el.market_pulse.article_count," indexed articles"),icon:(0,c.V8)("sentiment"),tone:el.market_pulse.average_sentiment>=0?"positive":"negative"}),(0,i.jsx)(c.i9,{label:"Risk Level",value:eC,subvalue:"Composite signal and news risk",icon:(0,c.V8)("risk"),tone:eC.toLowerCase().includes("high")?"negative":"attention"}),(0,i.jsx)(c.i9,{label:"Momentum Breadth",value:"".concat(eM,"%"),subvalue:"Signals above 60 score",icon:(0,c.V8)("momentum"),tone:eM>=55?"positive":"info"}),(0,i.jsx)(c.i9,{label:"News 48h",value:null!==(V=null==et?void 0:et.article_count)&&void 0!==V?V:ea.length,subvalue:"".concat(eE.length," active themes"),icon:(0,c.V8)("news"),tone:"info"}),(0,i.jsx)(c.i9,{label:"Signals",value:el.market_pulse.signal_count,subvalue:"".concat(ek.length," ranked assets visible"),icon:(0,c.V8)("signals"),tone:el.market_pulse.signal_count?"positive":"attention"}),(0,i.jsx)(c.i9,{label:"AI Confidence",value:void 0===eL?"Pending":"".concat(Number(eL).toFixed(0),"%"),subvalue:null!==(T=null!==(F=null==ev?void 0:ev.learning_state)&&void 0!==F?F:null===(o=el.accuracy)||void 0===o?void 0:o.confidence_label)&&void 0!==T?T:"Evidence layer",icon:(0,c.V8)("ai"),tone:"attention"}),(0,i.jsx)(c.i9,{label:"Worker Status",value:eN.last_status,subvalue:null!==(D=eN.last_job)&&void 0!==D?D:"Startup pipeline",icon:(0,c.V8)("worker"),tone:"error"===eN.last_status?"negative":"neutral"})]}),(0,i.jsxs)("section",{className:"market-command-layout",children:[(0,i.jsxs)("div",{className:"market-pulse-grid",children:[(0,i.jsx)(c.Ez,{title:"Market Pulse",value:"Live evidence",subtitle:"Sentiment, narrative volume and signal breadth",children:(0,i.jsxs)("div",{className:"pulse-chart-grid",children:[(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[(0,i.jsx)("h3",{children:"Sentiment distribution"}),(0,i.jsx)(c.cL,{positive:ew.positive,neutral:ew.neutral,negative:ew.negative,score:null!==(I=null==et?void 0:et.average_sentiment)&&void 0!==I?I:el.market_pulse.average_sentiment}),(0,i.jsx)(c.uy,{values:eE.map(e=>{var n;return 50*Number(null!==(n=e.avg_sentiment)&&void 0!==n?n:0)+50}).slice(0,12),tone:"info"})]}),(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[(0,i.jsx)("h3",{children:"News volume by theme"}),(0,i.jsx)(m,{themes:eE.slice(0,7)})]}),(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[(0,i.jsx)("h3",{children:"Signal mix"}),(0,i.jsx)(h,{rows:eR})]}),(0,i.jsxs)("div",{className:"pulse-mini-chart",children:[(0,i.jsx)("h3",{children:"Risk-on / risk-off"}),(0,i.jsx)(g,{sentiment:el.market_pulse.average_sentiment,breadth:eM,risk:eC})]})]})}),(0,i.jsx)(c.Ez,{title:"Dominant Narratives",value:null!==(z=null==eh?void 0:null===(d=eh.dominant_narrative)||void 0===d?void 0:d.theme)&&void 0!==z?z:"Pending",subtitle:"Semantic themes from public news",children:(0,i.jsxs)("div",{className:"professional-grid-2",children:[(0,i.jsx)(c.x8,{title:null!==(O=null==eh?void 0:null===(v=eh.dominant_narrative)||void 0===v?void 0:v.theme)&&void 0!==O?O:"Market narrative pending",sentiment:null!==(H=null==eh?void 0:null===(f=eh.dominant_narrative)||void 0===f?void 0:f.avg_sentiment)&&void 0!==H?H:null==et?void 0:et.average_sentiment,volume:null!==(W=null==eh?void 0:null===(y=eh.dominant_narrative)||void 0===y?void 0:y.headline_count)&&void 0!==W?W:null==et?void 0:et.article_count,explanation:null==eh?void 0:null===(k=eh.narrative)||void 0===k?void 0:k.operating_summary,tickers:null!==(q=null==eh?void 0:null===(N=eh.narrative)||void 0===N?void 0:N.linked_assets)&&void 0!==q?q:[]}),(null!==(G=null==eh?void 0:null===(w=eh.narrative)||void 0===w?void 0:w.emerging_subthemes)&&void 0!==G?G:eE).slice(0,3).map(e=>{var n,l;return(0,i.jsx)(c.x8,{title:e.theme,sentiment:e.avg_sentiment,volume:e.headline_count,tickers:null!==(l=null==eh?void 0:null===(n=eh.narrative)||void 0===n?void 0:n.linked_assets)&&void 0!==l?l:[]},e.theme)})]})})]}),(0,i.jsx)(c.Ez,{title:"News Tape",value:"".concat(ea.length," latest"),subtitle:"Public RSS and web evidence, no generated headlines",children:(0,i.jsx)(c.pB,{articles:ea,limit:15})})]}),(0,i.jsx)(c.Ez,{title:"Radar Asset",value:"".concat(ek.length," ranked"),subtitle:"Sortable opportunity table with price, sentiment, momentum, risk and AI confidence",className:"radar-core-panel",children:(0,i.jsx)(c.Xz,{rows:ek})}),(0,i.jsxs)("section",{className:"desk-layout",style:{marginTop:12},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(t,{status:ev}),(0,i.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,i.jsx)(x,{accuracy:el.accuracy}),(0,i.jsx)(_,{macro:el.macro,validation:el.validation})]})]}),(0,i.jsxs)(c.Ez,{title:"Evidence Coverage",value:"".concat(Math.round((null!==(X=null===(S=el.data_coverage)||void 0===S?void 0:S.coverage_ratio)&&void 0!==X?X:0)*100),"%"),subtitle:"Historical price memory and provider diagnostics",children:[(0,i.jsxs)("div",{className:"professional-grid-2",children:[(0,i.jsx)(c.i9,{label:"OHLCV Rows",value:el.readiness.price_row_count}),(0,i.jsx)(c.i9,{label:"News Articles",value:el.readiness.news_article_count}),(0,i.jsx)(c.i9,{label:"Signal Snapshots",value:el.readiness.signal_count}),(0,i.jsx)(c.i9,{label:"Ready Assets",value:"".concat(null!==(Q=null===(C=el.data_coverage)||void 0===C?void 0:C.ready_assets)&&void 0!==Q?Q:0,"/").concat(null!==(J=null===(L=el.data_coverage)||void 0===L?void 0:L.asset_count)&&void 0!==J?J:0)})]}),(0,i.jsx)("p",{children:null!==(K=null===(M=el.data_coverage)||void 0===M?void 0:M.data_policy)&&void 0!==K?K:"Evidence policy pending."}),(0,i.jsx)(p,{result:eN.last_result})]})]})]})}function m(e){let{themes:n}=e,l=Math.max(1,...n.map(e=>{var n;return Number(null!==(n=e.headline_count)&&void 0!==n?n:0)}));return n.length?(0,i.jsx)("div",{className:"theme-volume-bars",children:n.map(e=>{var n,a;return(0,i.jsxs)("div",{className:"theme-volume-row",children:[(0,i.jsx)("span",{children:e.theme}),(0,i.jsx)("i",{style:{width:"".concat(Math.max(4,Number(null!==(n=e.headline_count)&&void 0!==n?n:0)/l*100),"%")}}),(0,i.jsx)("strong",{children:null!==(a=e.headline_count)&&void 0!==a?a:0})]},e.theme)})}):(0,i.jsx)("div",{className:"terminal-empty",children:"Theme volume will appear after news ingestion."})}function h(e){let{rows:n}=e,l=Math.max(1,...n.map(e=>{let[,n]=e;return n}));return n.length?(0,i.jsx)("div",{className:"theme-volume-bars",children:n.slice(0,7).map(e=>{let[n,a]=e;return(0,i.jsxs)("div",{className:"theme-volume-row",children:[(0,i.jsx)("span",{children:n}),(0,i.jsx)("i",{style:{width:"".concat(Math.max(4,a/l*100),"%")}}),(0,i.jsx)("strong",{children:a})]},n)})}):(0,i.jsx)("div",{className:"terminal-empty",children:"No signal classifications stored yet."})}function g(e){let{sentiment:n,breadth:l,risk:a}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)(c.IL,{value:Math.max(0,Math.min(100,(35*n+50)*.55+.45*l)),label:"Risk-on proxy"}),(0,i.jsxs)("p",{style:{marginTop:12},children:[a,". The proxy blends market-wide sentiment and signal breadth; it is a monitoring indicator, not a trading instruction."]})]})}function x(e){let{accuracy:n}=e;return n?(0,i.jsxs)(c.Ez,{title:"Confidence Layer",value:"".concat(n.blum_confidence_score.toFixed(1)," / ").concat(n.confidence_label),children:[(0,i.jsx)(c.IL,{value:n.blum_confidence_score,label:"Evidence quality"}),(0,i.jsxs)("div",{className:"professional-grid-3",style:{marginTop:12},children:[(0,i.jsx)(c.i9,{label:"Assets Audited",value:n.asset_count}),(0,i.jsx)(c.i9,{label:"Ready Assets",value:n.coverage.ready_assets}),(0,i.jsx)(c.i9,{label:"Checks",value:n.accuracy_contract.length})]}),(0,i.jsx)("div",{className:"issue-list",children:Object.entries(n.issue_counts).sort((e,n)=>n[1]-e[1]).slice(0,5).map(e=>{let[n,l]=e;return(0,i.jsxs)("span",{children:[n.replaceAll("_"," ")," ",(0,i.jsx)("b",{children:l})]},n)})})]}):(0,i.jsx)(c.Ez,{title:"Confidence Layer",value:"Pending",children:(0,i.jsx)("div",{className:"terminal-empty",children:"Waiting for evidence quality audit."})})}function _(e){var n,l,a,s,t,r,o;let{macro:d,validation:u}=e;return(0,i.jsxs)(c.Ez,{title:"Macro and Validation",value:null!==(l=null==u?void 0:u.status)&&void 0!==l?l:"Pending",children:[(0,i.jsxs)("div",{className:"professional-grid-2",children:[(0,i.jsx)(c.i9,{label:"Macro Series",value:null!==(a=null==d?void 0:d.series_count)&&void 0!==a?a:0}),(0,i.jsx)(c.i9,{label:"Validated Signals",value:null!==(s=null==u?void 0:u.validated_signals)&&void 0!==s?s:0}),(0,i.jsx)(c.i9,{label:"Validation Score",value:null!==(t=null==u?void 0:null===(n=u.validation_score)||void 0===n?void 0:n.toFixed(1))&&void 0!==t?t:"n/a"}),(0,i.jsx)(c.i9,{label:"Confirmed",value:null!==(r=null==u?void 0:u.confirmed_or_strengthening)&&void 0!==r?r:0})]}),(0,i.jsx)("p",{children:null!==(o=null==u?void 0:u.methodology)&&void 0!==o?o:"Signal validation compares stored signals with later evidence without promising future performance."})]})}function p(e){var n,l,a,s,t,r,o,d,c;let{result:u}=e,v=null==u?void 0:u.news_update,m=null==u?void 0:u.market_update;return v||m?(0,i.jsxs)("div",{className:"diagnostic-grid",children:[v&&(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"News ingestion"}),(0,i.jsxs)("strong",{children:[null!==(n=v.sources_ok)&&void 0!==n?n:0,"/",null!==(l=v.sources_requested)&&void 0!==l?l:0," sources ok"]}),(0,i.jsxs)("p",{children:[null!==(a=v.inserted_articles)&&void 0!==a?a:0," inserted | ",null!==(s=v.duplicate_articles)&&void 0!==s?s:0," duplicates | ",null!==(t=v.linked_assets)&&void 0!==t?t:0," asset links"]})]}),m&&(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Market data"}),(0,i.jsxs)("strong",{children:[null!==(r=m.updated_assets)&&void 0!==r?r:0," assets updated"]}),(0,i.jsxs)("p",{children:[null!==(o=m.price_rows)&&void 0!==o?o:0," OHLCV rows | period ",null!==(d=m.period)&&void 0!==d?d:"n/a"," | ",null!==(c=m.data_mode)&&void 0!==c?c:"real data"]})]})]}):null}function j(e){return e?new Intl.DateTimeFormat("en",{hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date(e)):"Pending"}function b(e){return e instanceof Error?e.message:String(e)}},9273:function(e,n,l){l.d(n,{G:function(){return a}});var i=l(3890);function a(e){let{label:n="Loading intelligence snapshot"}=e;return(0,i.jsxs)("div",{className:"loading-state",children:[(0,i.jsx)("div",{}),(0,i.jsx)("span",{children:n})]})}}}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/_not-found/page-8194a34fe9d5ebe2.js b/frontend/.next/static/chunks/app/_not-found/page-8194a34fe9d5ebe2.js new file mode 100644 index 0000000000000000000000000000000000000000..e6b5cab29e7744349459808391da3f78d7098939 --- /dev/null +++ b/frontend/.next/static/chunks/app/_not-found/page-8194a34fe9d5ebe2.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{1763:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return n(1662)}])},1662:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}}),n(6651);let i=n(3890);n(8496);let o={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},l={display:"inline-block"},r={display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},d={fontSize:14,fontWeight:400,lineHeight:"49px",margin:0};function s(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("title",{children:"404: This page could not be found."}),(0,i.jsx)("div",{style:o,children:(0,i.jsxs)("div",{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,i.jsx)("h1",{className:"next-error-h1",style:r,children:"404"}),(0,i.jsx)("div",{style:l,children:(0,i.jsx)("h2",{style:d,children:"This page could not be found."})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},function(e){e.O(0,[649,945,744],function(){return e(e.s=1763)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/assets/[ticker]/page-3687f8c7fa1ef7c8.js b/frontend/.next/static/chunks/app/assets/[ticker]/page-3687f8c7fa1ef7c8.js new file mode 100644 index 0000000000000000000000000000000000000000..824ecf8f912fb8fe5b23b733f1c4acba35b5349e --- /dev/null +++ b/frontend/.next/static/chunks/app/assets/[ticker]/page-3687f8c7fa1ef7c8.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[825],{7691:function(e,i,s){Promise.resolve().then(s.bind(s,3713))},3713:function(e,i,s){"use strict";s.d(i,{AssetDetailClient:function(){return p}});var n=s(3890),l=s(8496),a=s(7160),t=s(9273);function r(e){var i,s;let{memory:l}=e;if(!l)return(0,n.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,n.jsxs)("div",{className:"panel-head",children:[(0,n.jsx)("span",{children:"Blum Memory"}),(0,n.jsx)("strong",{children:"Loading"})]}),(0,n.jsx)("div",{className:"empty-state",children:"Historical memory is loading for this instrument."})]});let a=l.historical_similarity;return(0,n.jsxs)("section",{className:"panel blum-memory-panel",style:{marginTop:12},children:[(0,n.jsxs)("div",{className:"panel-head",children:[(0,n.jsx)("span",{children:"Blum Memory"}),(0,n.jsx)("strong",{children:l.learning_state})]}),(0,n.jsx)("p",{children:l.blum_memory_summary}),(0,n.jsxs)("div",{className:"brain-status-grid",children:[(0,n.jsx)(d,{label:"Similar Cases",value:a.similar_cases_found}),(0,n.jsx)(d,{label:"Average Return",value:c(a.average_return)}),(0,n.jsx)(d,{label:"Success Rate",value:null==(s=a.success_rate)?"Pending":"".concat(Math.round(100*Number(s)),"%")}),(0,n.jsx)(d,{label:"Confidence Adjustment",value:"".concat(Number(null!==(i=a.confidence_adjustment)&&void 0!==i?i:0).toFixed(1)," pts")})]}),(0,n.jsxs)("div",{className:"brain-drift info",children:[(0,n.jsx)("strong",{children:"Historical Similarity"}),(0,n.jsx)("span",{children:a.explanation})]}),(0,n.jsxs)("div",{className:"brain-two-col",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Why Confidence Changed"}),(0,n.jsx)("div",{className:"learning-event-list",children:(l.why_confidence_changed.length?l.why_confidence_changed:["No confidence change has been recorded yet."]).slice(0,5).map(e=>(0,n.jsx)("span",{children:e},e))})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"What Blum Learned"}),(0,n.jsx)("div",{className:"learning-event-list",children:l.what_blum_learned.slice(0,5).map(e=>(0,n.jsx)("span",{children:e},e))})]})]}),(0,n.jsxs)("div",{className:"brain-two-col",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Confidence Evolution"}),(0,n.jsxs)("div",{className:"confidence-timeline",children:[l.confidence_evolution.slice(0,8).map(e=>{var i,s,l;return(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:Number(null!==(i=e.adjusted_confidence)&&void 0!==i?i:0).toFixed(1)}),(0,n.jsxs)("span",{children:[Number(null!==(s=e.adjustment)&&void 0!==s?s:0).toFixed(1)," pts | ",null!==(l=e.signal_type)&&void 0!==l?l:"signal"]})]},e.id)}),!l.confidence_evolution.length&&(0,n.jsx)("div",{className:"empty-state compact",children:"No confidence history yet."})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Signal Outcome History"}),(0,n.jsxs)("div",{className:"brain-performance-list",children:[l.signal_outcome_history.slice(0,8).map(e=>(0,n.jsxs)("div",{children:[(0,n.jsxs)("strong",{children:[e.horizon_days,"D ",e.outcome]}),(0,n.jsxs)("span",{children:[e.signal_type," | return ",c(e.realized_return)," | data ",e.data_quality_score.toFixed(0)]})]},e.id)),!l.signal_outcome_history.length&&(0,n.jsx)("div",{className:"empty-state compact",children:"No evaluated signal horizons yet."})]})]})]}),!!l.similar_historical_setups.length&&(0,n.jsx)("div",{className:"similar-case-strip",children:l.similar_historical_setups.slice(0,6).map(e=>{var i,s,l,a,t;return(0,n.jsxs)("span",{children:[null!==(l=null===(i=e.outcome_summary)||void 0===i?void 0:i.historical_ticker)&&void 0!==l?l:"Case"," | ",Number(null!==(a=e.similarity_score)&&void 0!==a?a:0).toFixed(0)," similarity | ",null!==(t=null===(s=e.outcome_summary)||void 0===s?void 0:s.final_outcome)&&void 0!==t?t:"pending"]},e.id)})}),(0,n.jsx)("p",{children:l.governance_note})]})}function d(e){let{label:i,value:s}=e;return(0,n.jsxs)("div",{className:"brain-metric",children:[(0,n.jsx)("span",{children:i}),(0,n.jsx)("strong",{children:s})]})}function c(e){return null==e?"Pending":"".concat(Number(e).toFixed(2),"%")}function o(e){let{breakdown:i}=e,s=Object.entries(null!=i?i:{});return s.length?(0,n.jsx)("div",{className:"breakdown-bars",children:s.map(e=>{let[i,s]=e;return(0,n.jsxs)("div",{className:"breakdown-row",children:[(0,n.jsx)("span",{children:i.replaceAll("_"," ")}),(0,n.jsx)("div",{children:(0,n.jsx)("i",{style:{width:"".concat(Math.max(4,Math.min(100,Number(s))),"%")}})}),(0,n.jsx)("strong",{children:Number(s).toFixed(1)})]},i)})}):(0,n.jsx)("div",{className:"empty-state",children:"No score breakdown available."})}var u=s(342),v=s(8908),h=s(9509),m=s(979),x=s(6288);function p(e){var i,s,d,c,p,f,b,N,w,k,S,F,C,P,A,M,z,R,I,D,B,q,L,O,H,V,W,G,U,K,Q,J,X,Z,Y,$,ee,ei,es,en,el,ea,et,er,ed;let{ticker:ec}=e,[eo,eu]=(0,l.useState)(null),[ev,eh]=(0,l.useState)(null),[em,ex]=(0,l.useState)(null),[ep,ej]=(0,l.useState)(null),[eg,e_]=(0,l.useState)(null),[ef,eb]=(0,l.useState)(null),[ey,eN]=(0,l.useState)(""),[ew,ek]=(0,l.useState)(!1),[eE,eT]=(0,l.useState)("");(0,l.useEffect)(()=>{eT(""),eu(null),eh(null),ex(null),ej(null),e_(null),eb(null),eN(""),Promise.allSettled([a.h.asset(ec),a.h.assetAccuracy(ec),a.h.fundamentals(ec),a.h.intelligenceReport(ec),a.h.brainAssetMemory(ec)]).then(e=>{let[i,s,n,l,a]=e;"fulfilled"===i.status?eu(i.value):eT(i.reason.message),"fulfilled"===s.status&&eh(s.value),"fulfilled"===n.status&&ex(n.value),"fulfilled"===l.status&&ej(l.value),"fulfilled"===a.status&&e_(a.value)})},[ec]);let eS=async()=>{eN(""),ek(!0);try{let e=await a.h.explain(ec);eb(e),eu(await a.h.asset(ec))}catch(e){eN("AI explanation endpoint warning: ".concat(e.message))}finally{ek(!1)}};if((0,l.useEffect)(()=>{eS()},[ec]),eE)return(0,n.jsxs)("div",{className:"empty-state",children:["API error: ",eE]});if(!eo)return(0,n.jsx)(t.G,{label:"Loading ".concat(ec)});let eF=eo.latest_signal,eC=null!==(S=eo.prices)&&void 0!==S?S:[],eP=null!==(C=null!==(F=eo.market_snapshot)&&void 0!==F?F:null==eF?void 0:eF.market_snapshot)&&void 0!==C?C:null===(i=eo.asset)||void 0===i?void 0:i.market_snapshot,eA=null!==(A=null!==(P=null==ef?void 0:ef.reason)&&void 0!==P?P:null==eF?void 0:eF.explanation)&&void 0!==A?A:null==ep?void 0:ep.why_in_radar,eM=null!==(z=null!==(M=null==ef?void 0:ef.thesis)&&void 0!==M?M:null==ep?void 0:ep.thesis)&&void 0!==z?z:null==eF?void 0:null===(s=eF.narrative_summary)||void 0===s?void 0:s.thesis;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(v.ft,{eyebrow:"Asset Intelligence Report",title:"Security research cockpit.",subtitle:"Price action, sentiment, technical evidence, news quality, Blum memory and AI explanation for a single stock or ETF.",statusItems:[{label:"Ticker",value:eo.asset.ticker,tone:"attention"},{label:"Exchange",value:null!==(R=eo.asset.exchange)&&void 0!==R?R:"n/a"},{label:"Provider",value:null!==(I=null==eP?void 0:eP.provider)&&void 0!==I?I:"pending"},{label:"Updated",value:null!==(D=null==eP?void 0:eP.date)&&void 0!==D?D:"no price date",tone:(null==eP?void 0:eP.price)?"positive":"attention"}]}),(0,n.jsx)(v.XK,{ticker:eo.asset.ticker,name:eo.asset.name,description:eo.asset.description,sector:eo.asset.sector,exchange:eo.asset.exchange,assetType:eo.asset.asset_type,price:null==eP?void 0:eP.price,currency:null==eP?void 0:eP.currency,changePercent:null==eP?void 0:eP.perf_1d,blumScore:null==eF?void 0:eF.blum_score,confidence:null!==(B=null==eF?void 0:eF.confidence_score)&&void 0!==B?B:null==ev?void 0:ev.blum_confidence_score,narrative:eA}),(0,n.jsxs)("section",{className:"terminal-command-grid",style:{marginTop:12},children:[(0,n.jsx)(v.i9,{label:"Last Price",value:(0,h.T4)(null==eP?void 0:eP.price,null==eP?void 0:eP.currency),subvalue:null!==(q=null==eP?void 0:eP.date)&&void 0!==q?q:"price date pending"}),(0,n.jsx)(v.i9,{label:"1D / 5D",value:"".concat((0,h.T3)(null==eP?void 0:eP.perf_1d)," / ").concat((0,h.T3)(null==eP?void 0:eP.perf_5d)),subvalue:"".concat((0,h.T3)(null==eP?void 0:eP.perf_1m)," 1M"),tone:(null!==(L=null==eP?void 0:eP.perf_1d)&&void 0!==L?L:0)>=0?"positive":"negative"}),(0,n.jsx)(v.i9,{label:"Volume",value:(0,h.fP)(null==eP?void 0:eP.volume),subvalue:"Latest stored market volume"}),(0,n.jsx)(v.i9,{label:"Blum Score",value:null!==(O=null==eF?void 0:null===(d=eF.blum_score)||void 0===d?void 0:d.toFixed(1))&&void 0!==O?O:"n/a",subvalue:null!==(H=null==eF?void 0:eF.classification)&&void 0!==H?H:"No active signal",tone:"attention"}),(0,n.jsx)(v.i9,{label:"Sentiment",value:E(eF,"sentiment_score"),subvalue:"News-linked score"}),(0,n.jsx)(v.i9,{label:"Momentum",value:E(eF,"momentum_score"),subvalue:"Price factor"}),(0,n.jsx)(v.i9,{label:"Volatility",value:E(eF,"volatility_score"),subvalue:"Risk component"}),(0,n.jsx)(v.i9,{label:"AI Confidence",value:null!==(W=null!==(V=null==eF?void 0:null===(c=eF.confidence_score)||void 0===c?void 0:c.toFixed(0))&&void 0!==V?V:null==ev?void 0:null===(p=ev.blum_confidence_score)||void 0===p?void 0:p.toFixed(0))&&void 0!==W?W:"Pending",subvalue:null!==(G=null==ev?void 0:ev.confidence_label)&&void 0!==G?G:"Evidence layer"})]}),eF&&(0,n.jsx)("section",{style:{marginTop:12},children:(0,n.jsx)(v.il,{signal:eF})}),(0,n.jsx)(_,{thesis:eM,fallbackReason:eA}),(0,n.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,n.jsx)(j,{accuracy:ev}),(0,n.jsx)(g,{fundamentals:em,assetType:eo.asset.asset_type})]}),ep&&(0,n.jsx)(y,{report:ep}),(0,n.jsx)(r,{memory:eg}),(0,n.jsx)(u.P,{ticker:eo.asset.ticker,prices:eC}),(0,n.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,n.jsx)(m.G,{title:"Historical Price",data:[{x:eC.map(e=>e.date),y:eC.map(e=>e.close),type:"scatter",mode:"lines",name:ec,line:{color:"#ffb000",width:2}}]}),(0,n.jsx)(m.G,{title:"Volume",data:[{x:eC.map(e=>e.date),y:eC.map(e=>{var i;return null!==(i=e.volume)&&void 0!==i?i:0}),type:"bar",name:"Volume",marker:{color:"#4dd8ff"}}]})]}),(0,n.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,n.jsx)(v.Ez,{title:"Score Breakdown",value:null!==(U=null==eF?void 0:eF.score_version)&&void 0!==U?U:"Blum score",children:(0,n.jsx)(o,{breakdown:null!==(K=null==eF?void 0:eF.score_breakdown)&&void 0!==K?K:{}})}),(0,n.jsxs)(v.Ez,{title:"Why This Asset Matters Now",value:(null==ef?void 0:ef.evidence_status)?String(ef.evidence_status).replaceAll("_"," "):"Evidence",children:[ew&&(0,n.jsxs)("div",{className:"loading-state",children:[(0,n.jsx)("div",{}),"Building explanation from real market and news evidence."]}),ey&&(0,n.jsx)("div",{className:"empty-state",children:ey}),(0,n.jsx)("p",{children:null!==(J=null!==(Q=null==ef?void 0:ef.reason)&&void 0!==Q?Q:null==eF?void 0:eF.explanation)&&void 0!==J?J:"The backend is collecting verified evidence for this asset."}),(0,n.jsx)("ul",{children:(null!==(Z=null!==(X=null==ef?void 0:ef.watch_points)&&void 0!==X?X:null==eF?void 0:null===(f=eF.watch_points)||void 0===f?void 0:f.items)&&void 0!==Z?Z:[]).map(e=>(0,n.jsx)("li",{children:e},e))}),(null==ef?void 0:ef.data_diagnostics)&&(0,n.jsx)(T,{diagnostics:ef.data_diagnostics})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsxs)(v.Ez,{title:"Decision Box",value:"Monitor, do not advise",children:[(0,n.jsxs)("div",{className:"professional-grid-2",children:[(0,n.jsx)(v.i9,{label:"Primary Trigger",value:eF?eF.classification.toLowerCase().includes("breakout")?"Confirmed breakout with volume expansion":eF.classification.toLowerCase().includes("divergence")?"Sentiment and price alignment":"Sustained score and evidence improvement":"Signal snapshot pending",subvalue:"Condition that would increase attention"}),(0,n.jsx)(v.i9,{label:"Invalidation",value:eF?eF.risk_level.toLowerCase().includes("high")?"Volatility expands while confidence falls":"Momentum decay, negative news reversal or support failure":"Missing price, news or signal evidence",subvalue:"Condition that weakens the setup",tone:"negative"}),(0,n.jsx)(v.i9,{label:"Main Risk",value:null!==(Y=null==eF?void 0:eF.risk_level)&&void 0!==Y?Y:"Evidence pending",subvalue:null!==($=null==ep?void 0:null===(b=ep.risk_review)||void 0===b?void 0:b[0])&&void 0!==$?$:"Risk review pending"}),(0,n.jsx)(v.i9,{label:"Confidence",value:null!==(ei=null!==(ee=null==eF?void 0:null===(N=eF.confidence_score)||void 0===N?void 0:N.toFixed(0))&&void 0!==ee?ee:null==ev?void 0:null===(w=ev.blum_confidence_score)||void 0===w?void 0:w.toFixed(0))&&void 0!==ei?ei:"Pending",subvalue:"Adaptive confidence layer"})]}),(0,n.jsx)("div",{className:"issue-list",children:(null!==(el=null!==(en=null!==(es=null==ef?void 0:ef.watch_points)&&void 0!==es?es:null==eF?void 0:null===(k=eF.watch_points)||void 0===k?void 0:k.items)&&void 0!==en?en:null==ep?void 0:ep.risk_review)&&void 0!==el?el:[]).slice(0,5).map(e=>(0,n.jsx)("span",{children:e},e))})]}),(0,n.jsx)(v.Ez,{title:"Risk and Signal State",value:eF?(0,n.jsx)(v.en,{risk:eF.risk_level,score:(er="volatility_score",(null==eF?void 0:null===(ed=eF.score_breakdown)||void 0===ed?void 0:ed[er])===void 0?null:Number(eF.score_breakdown[er]))}):"No signal",children:(0,n.jsxs)("div",{className:"professional-grid-2",children:[(0,n.jsx)(v.i9,{label:"Classification",value:eF?(0,n.jsx)(x.O,{label:eF.classification}):"No signal"}),(0,n.jsx)(v.i9,{label:"Time Horizon",value:null!==(ea=null==eF?void 0:eF.time_horizon)&&void 0!==ea?ea:"n/a"}),(0,n.jsx)(v.i9,{label:"Lifecycle",value:null!==(et=null==eF?void 0:eF.lifecycle_state)&&void 0!==et?et:"n/a"}),(0,n.jsx)(v.i9,{label:"Evidence",value:(0,n.jsx)(v.Dk,{value:null==ev?void 0:ev.blum_confidence_score,label:"Quality"})})]})})]}),(0,n.jsx)(v.Ez,{title:"Related News",value:"".concat(eo.related_news.length," articles"),subtitle:"Sorted by stored relevance and source quality",className:"asset-news-panel",children:(0,n.jsx)("div",{className:"news-list",children:eo.related_news.map(e=>{var i,s;return(0,n.jsxs)("a",{className:"news-item",href:e.url,target:"_blank",rel:"noreferrer",children:[(0,n.jsx)("strong",{children:e.title}),(0,n.jsxs)("span",{children:[e.source," | quality ",e.quality_score]}),(0,n.jsx)("span",{children:[...null!==(i=e.theme_tags.events)&&void 0!==i?i:[],...null!==(s=e.theme_tags.themes)&&void 0!==s?s:[]].slice(0,4).map(e=>e.replaceAll("_"," ")).join(" | ")||"event classification pending"})]},e.id)})})})]})}function j(e){let{accuracy:i}=e;if(!i)return(0,n.jsxs)("div",{className:"panel",children:[(0,n.jsxs)("div",{className:"panel-head",children:[(0,n.jsx)("span",{children:"Evidence Confidence"}),(0,n.jsx)("strong",{children:"Pending"})]}),(0,n.jsx)("div",{className:"empty-state",children:"The 15-point accuracy profile is being built for this asset."})]});let s=Object.entries(i.components).map(e=>{var i,s,n;let[l,a]=e;return{key:l,score:Number(null!==(s=null==a?void 0:a.score)&&void 0!==s?s:0),issues:null!==(n=null==a?void 0:null===(i=a.issues)||void 0===i?void 0:i.length)&&void 0!==n?n:0}}).sort((e,i)=>e.score-i.score).slice(0,7);return(0,n.jsxs)("div",{className:"panel",children:[(0,n.jsxs)("div",{className:"panel-head",children:[(0,n.jsx)("span",{children:"Evidence Confidence"}),(0,n.jsxs)("strong",{children:[i.blum_confidence_score.toFixed(1)," / ",i.confidence_label]})]}),(0,n.jsx)("div",{className:"confidence-meter",children:(0,n.jsx)("i",{style:{width:"".concat(Math.max(2,Math.min(100,i.blum_confidence_score)),"%")}})}),(0,n.jsx)("div",{className:"macro-list",children:s.map(e=>(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:e.key.replaceAll("_"," ")}),(0,n.jsxs)("span",{children:[e.score.toFixed(1)," score | ",e.issues," issues"]})]},e.key))}),!!i.issues.length&&(0,n.jsx)("div",{className:"issue-list",children:i.issues.slice(0,6).map(e=>(0,n.jsx)("span",{children:e.code.replaceAll("_"," ")},"".concat(e.code,"-").concat(e.message)))})]})}function g(e){var i,s,l;let{fundamentals:a,assetType:t}=e,r=null==a?void 0:a.latest_snapshot,d=null!==(i=null==r?void 0:r.metrics)&&void 0!==i?i:{};return(0,n.jsxs)("div",{className:"panel",children:[(0,n.jsxs)("div",{className:"panel-head",children:[(0,n.jsx)("span",{children:"Fundamental Context"}),(0,n.jsx)("strong",{children:"ETF"===t?"ETF not required":r?"SEC evidence":"Pending"})]}),"ETF"===t?(0,n.jsx)("p",{children:"ETF confidence is driven by holdings proxy, sector rotation, trend confirmation and macro context. Issuer fundamentals are not required."}):r?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"grid-4",children:[(0,n.jsxs)("div",{className:"metric-card",children:[(0,n.jsx)("span",{children:"Quality"}),(0,n.jsx)("strong",{children:Number(null!==(s=r.quality_score)&&void 0!==s?s:0).toFixed(0)})]}),(0,n.jsxs)("div",{className:"metric-card",children:[(0,n.jsx)("span",{children:"Period"}),(0,n.jsx)("strong",{children:null!==(l=r.period_end)&&void 0!==l?l:"n/a"})]}),(0,n.jsxs)("div",{className:"metric-card",children:[(0,n.jsx)("span",{children:"Revenue"}),(0,n.jsx)("strong",{children:N(w(d.revenue))})]}),(0,n.jsxs)("div",{className:"metric-card",children:[(0,n.jsx)("span",{children:"Net Income"}),(0,n.jsx)("strong",{children:N(w(d.net_income))})]})]}),(0,n.jsxs)("p",{children:["Provider: ",r.provider,". This context is sourced from public filings and is used as evidence quality, not as a recommendation."]})]}):(0,n.jsx)("div",{className:"empty-state",children:"No verified fundamental snapshot is stored yet for this asset."})]})}function _(e){var i,s,l,a,t,r,d,c,o,u,h,m,x,p,j,g,_,y,N,w,E,T,S,F,C,P,A,M,z,R,I;let{thesis:D,fallbackReason:B}=e;if(!D)return(0,n.jsx)(v.Ez,{title:"Executive Thesis",value:"Building",subtitle:"Every asset requires a structured thesis before it can become a research candidate.",className:"asset-thesis-panel",children:(0,n.jsx)("div",{className:"empty-state",children:"Blum is collecting enough signal, news, technical, sentiment and memory evidence to create an explicit thesis. No placeholder thesis is displayed."})});let q=null!==(i=D.conviction)&&void 0!==i?i:{},L=null!==(s=D.market_context)&&void 0!==s?s:{},O=null!==(l=D.narrative_analysis)&&void 0!==l?l:{},H=null!==(a=D.historical_similarity)&&void 0!==a?a:{},V=null!==(t=D.causal_reasoning)&&void 0!==t?t:{},W=Object.entries(null!==(r=q.components)&&void 0!==r?r:{}).slice(0,7);return(0,n.jsxs)("section",{style:{marginTop:12},children:[(0,n.jsxs)(v.Ez,{title:"Executive Thesis",value:"".concat(k(null!==(d=D.conviction_score)&&void 0!==d?d:q.score)," conviction"),subtitle:"Thesis strength, not probability of profit. Evidence, inference and uncertainty are separated.",className:"asset-thesis-panel",children:[(0,n.jsx)("p",{children:null!==(o=null!==(c=D.executive_thesis)&&void 0!==c?c:B)&&void 0!==o?o:"The thesis is being assembled from stored evidence."}),(0,n.jsxs)("div",{className:"professional-grid-4",style:{marginTop:12},children:[(0,n.jsx)(v.i9,{label:"Market Regime",value:null!==(u=L.regime)&&void 0!==u?u:"Sideways",subvalue:null!==(h=L.signal_regime_adjustment)&&void 0!==h?h:"Context adjustment pending"}),(0,n.jsx)(v.i9,{label:"Narrative Stage",value:null!==(m=O.lifecycle)&&void 0!==m?m:"n/a",subvalue:"Intensity ".concat(k(O.intensity)," | crowding ").concat(k(O.crowding))}),(0,n.jsx)(v.i9,{label:"Historical Cases",value:null!==(x=H.similar_cases_found)&&void 0!==x?x:0,subvalue:null!==(j=null!==(p=H.reliability)&&void 0!==p?p:H.status)&&void 0!==j?j:"memory pending"}),(0,n.jsx)(v.i9,{label:"Conviction Label",value:null!==(g=q.label)&&void 0!==g?g:"n/a",subvalue:null!==(_=q.meaning)&&void 0!==_?_:"Thesis strength score",tone:(null!==(y=D.conviction_score)&&void 0!==y?y:0)>=70?"positive":"attention"})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsxs)(v.Ez,{title:"What Is Happening",value:"Observed + inferred",children:[(0,n.jsx)("p",{children:D.what_is_happening}),(0,n.jsx)("h3",{children:"Causal read"}),(0,n.jsx)("p",{children:D.why_it_may_be_happening}),(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Price caused sentiment"}),(0,n.jsx)("span",{children:null!==(N=V.price_caused_sentiment)&&void 0!==N?N:"not established"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Sentiment caused price"}),(0,n.jsx)("span",{children:null!==(w=V.sentiment_caused_price)&&void 0!==w?w:"not established"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"External event explains both"}),(0,n.jsx)("span",{children:null!==(E=V.external_event_explains_both)&&void 0!==E?E:"not observed"})]})]})]}),(0,n.jsxs)(v.Ez,{title:"Market Context",value:null!==(T=L.regime)&&void 0!==T?T:"Regime",children:[(0,n.jsx)("p",{children:null!==(S=L.interpretation)&&void 0!==S?S:"Market regime context is pending."}),(0,n.jsx)(f,{items:D.facts_observed,empty:"Observed facts are still being collected."})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsx)(v.Ez,{title:"Supporting Evidence",value:"".concat(b(D.supporting_evidence).length," items"),children:(0,n.jsx)(f,{items:D.supporting_evidence,empty:"No strong independent support is available yet."})}),(0,n.jsx)(v.Ez,{title:"Contradicting Evidence",value:"".concat(b(D.contradicting_evidence).length," items"),children:(0,n.jsx)(f,{items:D.contradicting_evidence,empty:"No contradiction was found, but this does not prove the thesis."})})]}),(0,n.jsxs)("section",{className:"professional-grid-3",style:{marginTop:12},children:[(0,n.jsxs)(v.Ez,{title:"Narrative Analysis",value:null!==(F=O.lifecycle)&&void 0!==F?F:"n/a",dense:!0,children:[(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Growth velocity"}),(0,n.jsx)("span",{children:k(O.growth_velocity)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Saturation"}),(0,n.jsx)("span",{children:k(O.saturation)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Most exposed"}),(0,n.jsx)("span",{children:(null!==(C=O.most_exposed_assets)&&void 0!==C?C:[]).join(", ")||"n/a"})]})]}),(0,n.jsx)("p",{children:null!==(P=O.interpretation)&&void 0!==P?P:"Narrative interpretation is pending."})]}),(0,n.jsxs)(v.Ez,{title:"Historical Similarity",value:null!==(A=H.status)&&void 0!==A?A:"memory",dense:!0,children:[(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"20D average"}),(0,n.jsxs)("span",{children:[k(H.average_forward_return_20d),"%"]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Success rate"}),(0,n.jsx)("span",{children:k(H.success_rate)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Drawdown"}),(0,n.jsxs)("span",{children:[k(H.average_drawdown),"%"]})]})]}),(0,n.jsx)("p",{children:null!==(M=H.explanation)&&void 0!==M?M:"No similar historical setup is available yet."})]}),(0,n.jsx)(v.Ez,{title:"Conviction Reducers",value:null!==(z=q.label)&&void 0!==z?z:"n/a",dense:!0,children:(0,n.jsx)(f,{items:null!==(R=D.conviction_reducers)&&void 0!==R?R:q.reducers,empty:"No major conviction reducer was detected."})})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsx)(v.Ez,{title:"What The Market May Be Missing",value:"Blind spots",children:(0,n.jsx)(f,{items:D.what_the_market_may_be_missing,empty:"No clear market blind spot is visible."})}),(0,n.jsxs)(v.Ez,{title:"Risks and Invalidation",value:"Governance",children:[(0,n.jsx)("h3",{children:"Risks"}),(0,n.jsx)(f,{items:D.risks,empty:"Risk evidence is still forming."}),(0,n.jsx)("h3",{children:"Invalidation conditions"}),(0,n.jsx)(f,{items:D.invalidation_conditions,empty:"Invalidation conditions are not available yet."})]})]}),(0,n.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,n.jsxs)(v.Ez,{title:"Final Blum View",value:"Research stance",children:[(0,n.jsx)("p",{children:null!==(I=D.final_blum_view)&&void 0!==I?I:"Final view pending."}),(0,n.jsx)("h3",{children:"Intellectual honesty"}),(0,n.jsx)(f,{items:D.intellectual_honesty,empty:"No specific limitation was recorded."})]}),(0,n.jsx)(v.Ez,{title:"Conviction Components",value:k(D.conviction_score),children:(0,n.jsx)("div",{className:"macro-list",children:W.map(e=>{let[i,s]=e;return(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:i.replaceAll("_"," ")}),(0,n.jsx)("span",{children:k(s)})]},i)})})})]})]})}function f(e){let{items:i,empty:s}=e,l=b(i);return l.length?(0,n.jsx)("ul",{children:l.map((e,i)=>(0,n.jsx)("li",{children:e},"".concat(e,"-").concat(i)))}):(0,n.jsx)("div",{className:"empty-state",children:s})}function b(e){return e?(Array.isArray(e)?e:[e]).map(e=>{var i,s,n;return null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):null!==(n=null!==(s=null!==(i=e.explanation)&&void 0!==i?i:e.reason)&&void 0!==s?s:e.summary)&&void 0!==n?n:JSON.stringify(e)}).filter(Boolean):[]}function y(e){var i,s,l,a,t,r;let{report:d}=e,c=null!==(i=d.similar_signal_history)&&void 0!==i?i:{};return(0,n.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,n.jsxs)("div",{className:"panel-head",children:[(0,n.jsx)("span",{children:"Asset Intelligence Report"}),(0,n.jsx)("strong",{children:String(null!==(s=d.data_mode)&&void 0!==s?s:"evidence").replaceAll("_"," ")})]}),(0,n.jsxs)("div",{className:"grid-2",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:"Why it surfaced"}),(0,n.jsx)("p",{children:d.why_in_radar}),(0,n.jsx)("h3",{children:"Bullish scenario"}),(0,n.jsx)("p",{children:d.bullish_scenario}),(0,n.jsx)("h3",{children:"Bearish scenario"}),(0,n.jsx)("p",{children:d.bearish_scenario})]}),(0,n.jsxs)("div",{className:"macro-list",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Similar cases"}),(0,n.jsxs)("span",{children:[null!==(l=c.case_count)&&void 0!==l?l:0," / ",null!==(a=c.data_mode)&&void 0!==a?a:"n/a"]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"5D avg"}),(0,n.jsxs)("span",{children:[k(c.avg_forward_return_5d),"%"]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"20D avg"}),(0,n.jsxs)("span",{children:[k(c.avg_forward_return_20d),"%"]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Positive 20D"}),(0,n.jsx)("span",{children:k(c.positive_outcome_probability_20d)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Avg drawdown"}),(0,n.jsxs)("span",{children:[k(c.average_drawdown),"%"]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("strong",{children:"Reliability"}),(0,n.jsx)("span",{children:null!==(t=c.statistical_reliability)&&void 0!==t?t:"n/a"})]})]})]}),(0,n.jsx)("div",{className:"issue-list",children:(null!==(r=d.risk_review)&&void 0!==r?r:[]).slice(0,5).map(e=>(0,n.jsx)("span",{children:e},e))}),(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"AI conclusion:"})," ",d.ai_conclusion]}),(0,n.jsx)("p",{children:d.disclaimer})]})}function N(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:1}).format(Number(e))}function w(e){return"number"==typeof e?e:e&&"number"==typeof e.value?e.value:null}function k(e){return null==e||Number.isNaN(Number(e))?"n/a":Number(e).toFixed(2)}function E(e,i){var s;return(null==e?void 0:null===(s=e.score_breakdown)||void 0===s?void 0:s[i])===void 0?"n/a":Number(e.score_breakdown[i]).toFixed(0)}function T(e){var i,s,l,a,t,r,d,c,o,u;let{diagnostics:v}=e,h=null!==(s=v.market_update)&&void 0!==s?s:{},m=null!==(l=v.news_update)&&void 0!==l?l:{};return(0,n.jsxs)("div",{className:"diagnostic-grid",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"Market evidence"}),(0,n.jsxs)("strong",{children:[null!==(a=v.price_rows)&&void 0!==a?a:0," stored rows"]}),(0,n.jsxs)("p",{children:[null!==(t=h.updated_assets)&&void 0!==t?t:0," assets updated | ",null!==(r=h.price_rows)&&void 0!==r?r:0," rows fetched"]}),!!(null===(i=h.missing_assets)||void 0===i?void 0:i.length)&&(0,n.jsxs)("p",{children:["Missing public prices: ",h.missing_assets.slice(0,6).join(", ")]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"News evidence"}),(0,n.jsxs)("strong",{children:[null!==(d=v.linked_news)&&void 0!==d?d:0," linked articles"]}),(0,n.jsxs)("p",{children:[null!==(c=m.sources_ok)&&void 0!==c?c:0,"/",null!==(o=m.sources_requested)&&void 0!==o?o:0," public sources ok | ",null!==(u=m.linked_assets)&&void 0!==u?u:0," asset links"]})]})]})}},9509:function(e,i,s){"use strict";s.d(i,{Ku:function(){return l},T3:function(){return t},T4:function(){return a},fP:function(){return r}});var n=s(3890);function l(e){var i,s;let{snapshot:l,compact:r=!1}=e;return l&&"ready"===l.data_status&&null!=l.price?(0,n.jsxs)("div",{className:r?"market-strip compact":"market-strip",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"Last Price"}),(0,n.jsx)("strong",{children:a(l.price,l.currency)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"1D"}),(0,n.jsx)("strong",{className:d(l.perf_1d),children:t(l.perf_1d)})]}),!r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"5D"}),(0,n.jsx)("strong",{className:d(l.perf_5d),children:t(l.perf_5d)})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"1M"}),(0,n.jsx)("strong",{className:d(l.perf_1m),children:t(l.perf_1m)})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:null!==(i=l.provider)&&void 0!==i?i:"Provider"}),(0,n.jsx)("strong",{children:null!==(s=l.date)&&void 0!==s?s:"n/a"})]})]}):(0,n.jsxs)("div",{className:r?"market-strip compact":"market-strip",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"Price"}),(0,n.jsx)("strong",{children:"Real price pending"})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{children:"Provider"}),(0,n.jsx)("strong",{children:"n/a"})]})]})}function a(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD";return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:i||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function t(e){return null==e||Number.isNaN(Number(e))?"n/a":"".concat(e>0?"+":"").concat(Number(e).toFixed(2),"%")}function r(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function d(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},6288:function(e,i,s){"use strict";s.d(i,{O:function(){return a}});var n=s(3890),l=s(2675);function a(e){let{label:i}=e,s=i.includes("Breakout")||i.includes("Strong")?"positive":i.includes("Risk")||i.includes("Avoid")?"negative":i.includes("Divergence")||i.includes("Contrarian")?"warning":"neutral";return(0,n.jsx)("span",{className:(0,l.Z)("status-badge",s),children:i})}}},function(e){e.O(0,[183,651,908,75,649,945,744],function(){return e(e.s=7691)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/backtest/page-60b494c3f5caeab7.js b/frontend/.next/static/chunks/app/backtest/page-60b494c3f5caeab7.js new file mode 100644 index 0000000000000000000000000000000000000000..b617e2dfe27a81bb359c4a56d03c478960d1eaf6 --- /dev/null +++ b/frontend/.next/static/chunks/app/backtest/page-60b494c3f5caeab7.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[103],{5972:function(e,t,n){Promise.resolve().then(n.bind(n,4374))},4374:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return s}});var r=n(3890),l=n(8496),i=n(7160),o=n(979);function s(){var e,t,n,s,u,c,d,f,p;let[h,m]=(0,l.useState)("NVDA"),[v,y]=(0,l.useState)(null),[g,x]=(0,l.useState)(!1),b=async()=>{x(!0);try{y(await i.h.backtest(h.toUpperCase()))}finally{x(!1)}},j=null!==(e=null==v?void 0:v.metrics)&&void 0!==e?e:{};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"page-header",children:(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"kicker",children:"Backtest"}),(0,r.jsx)("h1",{children:"Historical validation, not performance prediction."})]})}),(0,r.jsxs)("div",{className:"control-row",children:[(0,r.jsx)("input",{className:"input",value:h,onChange:e=>m(e.target.value)}),(0,r.jsx)("button",{className:"button primary",onClick:b,children:g?"Running...":"Run validation"})]}),v&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("section",{className:"grid-4",children:[(0,r.jsx)(a,{label:"Signals",value:null!==(t=j.signal_count)&&void 0!==t?t:0}),(0,r.jsx)(a,{label:"Hit Rate 20D",value:"".concat(((null!==(n=j.hit_rate_20d)&&void 0!==n?n:0)*100).toFixed(1),"%")}),(0,r.jsx)(a,{label:"Avg Forward 20D",value:"".concat((null!==(s=j.average_forward_return_20d)&&void 0!==s?s:0).toFixed(2),"%")}),(0,r.jsx)(a,{label:"False Positive 20D",value:"".concat(((null!==(u=j.false_positive_rate_20d)&&void 0!==u?u:0)*100).toFixed(1),"%")})]}),(0,r.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,r.jsx)(o.G,{title:"Best Signals",data:[{x:(null!==(c=v.best_signals)&&void 0!==c?c:[]).map(e=>e.date),y:(null!==(d=v.best_signals)&&void 0!==d?d:[]).map(e=>e.forward_return_20d),type:"bar",marker:{color:"#20e070"}}]}),(0,r.jsx)(o.G,{title:"Worst Signals",data:[{x:(null!==(f=v.worst_signals)&&void 0!==f?f:[]).map(e=>e.date),y:(null!==(p=v.worst_signals)&&void 0!==p?p:[]).map(e=>e.forward_return_20d),type:"bar",marker:{color:"#ff4d5e"}}]})]}),(0,r.jsx)("p",{children:v.disclaimer})]})]})}function a(e){let{label:t,value:n}=e;return(0,r.jsxs)("div",{className:"metric-card",children:[(0,r.jsx)("span",{children:t}),(0,r.jsx)("strong",{children:n})]})}},979:function(e,t,n){"use strict";n.d(t,{G:function(){return a}});var r=n(3890),l=n(3548),i=n.n(l),o=n(8496);let s=i()(()=>Promise.all([n.e(715),n.e(54)]).then(n.bind(n,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function a(e){let{title:t,data:n,layout:l={},height:i=360,emptyMessage:a="Waiting for real data series."}=e,u=n.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:n,layout:{autosize:!0,height:i,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...l},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,r.jsxs)("section",{className:"panel",children:[(0,r.jsx)("div",{className:"panel-head",children:(0,r.jsx)("span",{children:t})}),u?(0,o.createElement)(s,c):(0,r.jsx)("div",{className:"plot-empty",children:a})]})}},2555:function(e,t,n){"use strict";var r,l;e.exports=(null==(r=n.g.process)?void 0:r.env)&&"object"==typeof(null==(l=n.g.process)?void 0:l.env)?n.g.process:n(4518)},4518:function(e){!function(){var t={229:function(e){var t,n,r,l=e.exports={};function i(){throw Error("setTimeout has not been defined")}function o(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var a=[],u=!1,c=-1;function d(){u&&r&&(u=!1,r.length?a=r.concat(a):c=-1,a.length&&f())}function f(){if(!u){var e=s(d);u=!0;for(var t=a.length;t;){for(r=a,a=[];++c1)for(var n=1;n{let{error:t,isLoading:n,pastDelay:r}=e;return null}};"function"==typeof e&&(r.loader=e);let i={...r,...t};return(0,l.default)({...i,modules:null==(n=i.loadableGenerated)?void 0:n.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4377:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let r=n(4895);function l(e){let{reason:t,children:n}=e;if("undefined"==typeof window)throw new r.BailoutToCSRError(t);return n}},3992:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let r=n(3890),l=n(8496),i=n(4377),o=n(2992);function s(e){return{default:e&&"default"in e?e.default:e}}let a={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},u=function(e){let t={...a,...e},n=(0,l.lazy)(()=>t.loader().then(s)),u=t.loading;function c(e){let s=u?(0,r.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,a=t.ssr?(0,r.jsxs)(r.Fragment,{children:["undefined"==typeof window?(0,r.jsx)(o.PreloadCss,{moduleIds:t.modules}):null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(l.Suspense,{fallback:s,children:a})}return c.displayName="LoadableComponent",c}},2992:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return i}});let r=n(3890),l=n(5296);function i(e){let{moduleIds:t}=e;if("undefined"!=typeof window)return null;let n=(0,l.getExpectedRequestStore)("next/dynamic css"),i=[];if(n.reactLoadableManifest&&t){let e=n.reactLoadableManifest;for(let n of t){if(!e[n])continue;let t=e[n].files.filter(e=>e.endsWith(".css"));i.push(...t)}}return 0===i.length?null:(0,r.jsx)(r.Fragment,{children:i.map(e=>(0,r.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}}},function(e){e.O(0,[651,649,945,744],function(){return e(e.s=5972)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/chart-analyst/page-422122938e79d615.js b/frontend/.next/static/chunks/app/chart-analyst/page-422122938e79d615.js new file mode 100644 index 0000000000000000000000000000000000000000..60c9e96afccb671336e5212bc6701646ba1c4098 --- /dev/null +++ b/frontend/.next/static/chunks/app/chart-analyst/page-422122938e79d615.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[441],{412:function(e,t,n){Promise.resolve().then(n.bind(n,6543))},6543:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return a}});var r=n(3890),i=n(8496),s=n(7160),c=n(342),o=n(9273);function a(){var e,t,n,a,l,u;let[d,h]=(0,i.useState)(null),[f,p]=(0,i.useState)("NVDA"),[v,m]=(0,i.useState)([]),[x,g]=(0,i.useState)("");(0,i.useEffect)(()=>{s.h.assets().then(e=>{h(e),!e.some(e=>e.ticker===f)&&e[0]&&p(e[0].ticker)}).catch(e=>g(e.message))},[]),(0,i.useEffect)(()=>{f&&s.h.asset(f).then(e=>{var t;return m(null!==(t=e.prices)&&void 0!==t?t:[])}).catch(()=>m([]))},[f]);let j=(0,i.useMemo)(()=>null==d?void 0:d.find(e=>e.ticker===f),[d,f]);return x?(0,r.jsxs)("div",{className:"empty-state",children:["API error: ",x]}):d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"page-header",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"kicker",children:"Chart Analyst"}),(0,r.jsx)("h1",{children:"Institutional technical chart intelligence."}),(0,r.jsx)("p",{children:"Hybrid analysis from deterministic OHLCV indicators, optional Qwen3-VL chart vision, sentiment context and Blum memory."})]}),(0,r.jsx)("select",{className:"input",value:f,onChange:e=>p(e.target.value),children:d.map(e=>(0,r.jsxs)("option",{value:e.ticker,children:[e.ticker," | ",e.name]},e.ticker))})]}),j&&(0,r.jsxs)("section",{className:"instrument-card",style:{marginBottom:12},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Instrument"}),(0,r.jsxs)("strong",{children:[j.ticker," | ",j.sector]}),(0,r.jsxs)("p",{children:[j.name," | ",j.asset_type," | ",j.exchange," | ",j.country]})]}),(0,r.jsxs)("div",{className:"market-strip compact",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Price"}),(0,r.jsx)("strong",{children:null!==(a=null===(e=j.market_snapshot)||void 0===e?void 0:e.price)&&void 0!==a?a:"n/a"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"1D"}),(0,r.jsxs)("strong",{children:[null!==(l=null===(t=j.market_snapshot)||void 0===t?void 0:t.perf_1d)&&void 0!==l?l:"n/a","%"]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Provider"}),(0,r.jsx)("strong",{children:null!==(u=null===(n=j.market_snapshot)||void 0===n?void 0:n.provider)&&void 0!==u?u:"pending"})]})]})]}),(0,r.jsx)(c.P,{ticker:f,prices:v})]}):(0,r.jsx)(o.G,{label:"Loading chart analyst"})}},2555:function(e,t,n){"use strict";var r,i;e.exports=(null==(r=n.g.process)?void 0:r.env)&&"object"==typeof(null==(i=n.g.process)?void 0:i.env)?n.g.process:n(4518)},4518:function(e){!function(){var t={229:function(e){var t,n,r,i=e.exports={};function s(){throw Error("setTimeout has not been defined")}function c(){throw Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===s||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:s}catch(e){t=s}try{n="function"==typeof clearTimeout?clearTimeout:c}catch(e){n=c}}();var a=[],l=!1,u=-1;function d(){l&&r&&(l=!1,r.length?a=r.concat(a):u=-1,a.length&&h())}function h(){if(!l){var e=o(d);l=!0;for(var t=a.length;t;){for(r=a,a=[];++u1)for(var n=1;n{i.h.etfTrends().then(j).catch(e=>b(e.message))},[]),g)return(0,r.jsxs)("div",{className:"empty-state",children:["API error: ",g]});if(!p)return(0,r.jsx)(a.G,{label:"Loading ETF radar"});let y=p.length?p.reduce((e,n)=>{var t;return e+Number(null!==(t=n.confirmation_score)&&void 0!==t?t:0)},0)/p.length:0;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.ft,{eyebrow:"ETF Radar",title:"ETF rotation and sector confirmation.",subtitle:"ETF intelligence monitors thematic breadth, sector confirmation and rotation leaders behind stock-level signals.",statusItems:[{label:"ETF rows",value:String(p.length),tone:p.length?"positive":"attention"},{label:"Avg confirm",value:y.toFixed(1),tone:"attention"},{label:"Top ETF",value:null!==(m=null===(e=p[0])||void 0===e?void 0:e.ticker)&&void 0!==m?m:"pending"},{label:"Mode",value:"Evidence only"}]}),!p.length&&(0,r.jsxs)("section",{className:"panel readiness-panel",style:{marginBottom:12},children:[(0,r.jsxs)("div",{className:"panel-head",children:[(0,r.jsx)("span",{children:"ETF readiness"}),(0,r.jsx)("strong",{children:"No ETF trends yet"})]}),(0,r.jsx)("p",{children:"ETF rotation appears after the real-data pipeline stores prices and signal context for ETF instruments. No synthetic ETF confirmation scores are displayed."})]}),(0,r.jsxs)("section",{className:"terminal-command-grid",children:[(0,r.jsx)(l.i9,{label:"ETF Count",value:p.length,subvalue:"Rotation universe"}),(0,r.jsx)(l.i9,{label:"Average Confirmation",value:y.toFixed(1),subvalue:"ETF trend support",tone:"attention"}),(0,r.jsx)(l.i9,{label:"Top Momentum",value:null!==(h=null===(n=p[0])||void 0===n?void 0:n.momentum_score)&&void 0!==h?h:"n/a",subvalue:null!==(x=null===(t=p[0])||void 0===t?void 0:t.ticker)&&void 0!==x?x:"pending"}),(0,r.jsx)(l.i9,{label:"Top Theme",value:null!==(v=null===(c=p[0])||void 0===c?void 0:c.thematic_score)&&void 0!==v?v:"n/a",subvalue:null!==(f=null===(u=p[0])||void 0===u?void 0:u.category)&&void 0!==f?f:"category pending"})]}),(0,r.jsx)("section",{className:"grid-3",style:{marginBottom:12},children:p.slice(0,6).map(e=>{var n,t,s,i,l,a;return(0,r.jsxs)("article",{className:"score-card",children:[(0,r.jsxs)("div",{className:"score-card-top",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("span",{children:["ETF | ",null!==(i=null===(n=e.asset)||void 0===n?void 0:n.sector)&&void 0!==i?i:e.category]}),(0,r.jsx)("h3",{children:e.ticker}),(0,r.jsx)("p",{className:"asset-subtitle",children:null!==(l=null===(t=e.asset)||void 0===t?void 0:t.name)&&void 0!==l?l:e.category})]}),(0,r.jsx)("div",{className:"score-ring",style:{"--score":e.confirmation_score},children:(0,r.jsx)("strong",{children:Math.round(e.confirmation_score)})})]}),(0,r.jsx)(o.Ku,{snapshot:e.market_snapshot,compact:!0}),(0,r.jsxs)("div",{className:"mini-metrics",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Category"}),(0,r.jsx)("strong",{children:e.category})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Exchange"}),(0,r.jsx)("strong",{children:null!==(a=null===(s=e.asset)||void 0===s?void 0:s.exchange)&&void 0!==a?a:"n/a"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Momentum"}),(0,r.jsx)("strong",{children:e.momentum_score})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Theme"}),(0,r.jsx)("strong",{children:e.thematic_score})]})]})]},"etf-card-".concat(e.ticker,"-").concat(e.created_at))})}),(0,r.jsxs)("section",{className:"grid-2",children:[(0,r.jsx)(d.G,{title:"ETF Confirmation Ranking",data:[{x:p.map(e=>e.confirmation_score),y:p.map(e=>e.ticker),type:"bar",orientation:"h",marker:{color:"#20e070"}}],layout:{xaxis:{range:[0,100]}},emptyMessage:"ETF confirmation ranking appears after ETF trend snapshots are available."}),(0,r.jsx)(d.G,{title:"Momentum vs Theme",data:[{x:p.map(e=>e.momentum_score),y:p.map(e=>e.thematic_score),text:p.map(e=>e.ticker),type:"scatter",mode:"markers+text",marker:{size:13,color:"#ffb000"}}],emptyMessage:"Momentum/theme scatter requires real ETF trend rows."})]}),(0,r.jsx)(l.Ez,{title:"ETF Rotation Leaders",value:"".concat(p.length," ETFs"),subtitle:"Confirmation layer for sector and thematic narratives",className:"radar-core-panel",children:p.length?(0,r.jsx)("div",{className:"table-shell",children:(0,r.jsxs)("table",{className:"intel-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"ETF"}),(0,r.jsx)("th",{children:"Price"}),(0,r.jsx)("th",{children:"Category"}),(0,r.jsx)("th",{children:"Momentum"}),(0,r.jsx)("th",{children:"Theme"}),(0,r.jsx)("th",{children:"Confirmation"}),(0,r.jsx)("th",{children:"Read-through"})]})}),(0,r.jsx)("tbody",{children:p.map(e=>{var n,t,s,i,l,a,d,c,u,m,h,x,v,f;return(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{children:[(0,r.jsx)("span",{className:"asset-link",children:e.ticker}),(0,r.jsx)("span",{children:null!==(u=null===(n=e.asset)||void 0===n?void 0:n.name)&&void 0!==u?u:"ETF metadata pending"}),(0,r.jsxs)("span",{children:[null!==(m=null===(t=e.asset)||void 0===t?void 0:t.exchange)&&void 0!==m?m:"Exchange n/a"," | ",null!==(h=null===(s=e.asset)||void 0===s?void 0:s.country)&&void 0!==h?h:"Country n/a"]})]}),(0,r.jsxs)("td",{children:[(0,r.jsx)("strong",{children:(0,o.T4)(null===(i=e.market_snapshot)||void 0===i?void 0:i.price,null===(l=e.market_snapshot)||void 0===l?void 0:l.currency)}),(0,r.jsxs)("span",{children:[null!==(x=null===(a=e.market_snapshot)||void 0===a?void 0:a.date)&&void 0!==x?x:"date n/a"," | ",null!==(v=null===(d=e.market_snapshot)||void 0===d?void 0:d.provider)&&void 0!==v?v:"provider n/a"]})]}),(0,r.jsx)("td",{children:e.category}),(0,r.jsx)("td",{children:e.momentum_score}),(0,r.jsx)("td",{children:e.thematic_score}),(0,r.jsx)("td",{children:(0,r.jsx)("strong",{className:"score-number",children:e.confirmation_score})}),(0,r.jsx)("td",{children:null!==(f=null===(c=e.details)||void 0===c?void 0:c.classification)&&void 0!==f?f:"ETF trend confirmation"})]},"".concat(e.ticker,"-").concat(e.created_at))})})]})}):(0,r.jsx)("div",{className:"empty-state",children:"No ETF trend rows are available yet. The autonomous engine is building ETF rotation evidence in the background."})})]})}},9273:function(e,n,t){"use strict";t.d(n,{G:function(){return s}});var r=t(3890);function s(e){let{label:n="Loading intelligence snapshot"}=e;return(0,r.jsxs)("div",{className:"loading-state",children:[(0,r.jsx)("div",{}),(0,r.jsx)("span",{children:n})]})}},9509:function(e,n,t){"use strict";t.d(n,{Ku:function(){return s},T3:function(){return l},T4:function(){return i},fP:function(){return a}});var r=t(3890);function s(e){var n,t;let{snapshot:s,compact:a=!1}=e;return s&&"ready"===s.data_status&&null!=s.price?(0,r.jsxs)("div",{className:a?"market-strip compact":"market-strip",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Last Price"}),(0,r.jsx)("strong",{children:i(s.price,s.currency)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"1D"}),(0,r.jsx)("strong",{className:o(s.perf_1d),children:l(s.perf_1d)})]}),!a&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"5D"}),(0,r.jsx)("strong",{className:o(s.perf_5d),children:l(s.perf_5d)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"1M"}),(0,r.jsx)("strong",{className:o(s.perf_1m),children:l(s.perf_1m)})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:null!==(n=s.provider)&&void 0!==n?n:"Provider"}),(0,r.jsx)("strong",{children:null!==(t=s.date)&&void 0!==t?t:"n/a"})]})]}):(0,r.jsxs)("div",{className:a?"market-strip compact":"market-strip",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Price"}),(0,r.jsx)("strong",{children:"Real price pending"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{children:"Provider"}),(0,r.jsx)("strong",{children:"n/a"})]})]})}function i(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD";return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:n||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function l(e){return null==e||Number.isNaN(Number(e))?"n/a":"".concat(e>0?"+":"").concat(Number(e).toFixed(2),"%")}function a(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function o(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},979:function(e,n,t){"use strict";t.d(n,{G:function(){return o}});var r=t(3890),s=t(3548),i=t.n(s),l=t(8496);let a=i()(()=>Promise.all([t.e(715),t.e(54)]).then(t.bind(t,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function o(e){let{title:n,data:t,layout:s={},height:i=360,emptyMessage:o="Waiting for real data series."}=e,d=t.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:t,layout:{autosize:!0,height:i,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...s},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,r.jsxs)("section",{className:"panel",children:[(0,r.jsx)("div",{className:"panel-head",children:(0,r.jsx)("span",{children:n})}),d?(0,l.createElement)(a,c):(0,r.jsx)("div",{className:"plot-empty",children:o})]})}},3548:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return i}});let r=t(6651);t(3890),t(8496);let s=r._(t(3992));function i(e,n){var t;let r={loading:e=>{let{error:n,isLoading:t,pastDelay:r}=e;return null}};"function"==typeof e&&(r.loader=e);let i={...r,...n};return(0,s.default)({...i,modules:null==(t=i.loadableGenerated)?void 0:t.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),e.exports=n.default)},4377:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let r=t(4895);function s(e){let{reason:n,children:t}=e;if("undefined"==typeof window)throw new r.BailoutToCSRError(n);return t}},3992:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return d}});let r=t(3890),s=t(8496),i=t(4377),l=t(2992);function a(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},d=function(e){let n={...o,...e},t=(0,s.lazy)(()=>n.loader().then(a)),d=n.loading;function c(e){let a=d?(0,r.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,o=n.ssr?(0,r.jsxs)(r.Fragment,{children:["undefined"==typeof window?(0,r.jsx)(l.PreloadCss,{moduleIds:n.modules}):null,(0,r.jsx)(t,{...e})]}):(0,r.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(t,{...e})});return(0,r.jsx)(s.Suspense,{fallback:a,children:o})}return c.displayName="LoadableComponent",c}},2992:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadCss",{enumerable:!0,get:function(){return i}});let r=t(3890),s=t(5296);function i(e){let{moduleIds:n}=e;if("undefined"!=typeof window)return null;let t=(0,s.getExpectedRequestStore)("next/dynamic css"),i=[];if(t.reactLoadableManifest&&n){let e=t.reactLoadableManifest;for(let t of n){if(!e[t])continue;let n=e[t].files.filter(e=>e.endsWith(".css"));i.push(...n)}}return 0===i.length?null:(0,r.jsx)(r.Fragment,{children:i.map(e=>(0,r.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:t.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}}},function(e){e.O(0,[183,651,908,649,945,744],function(){return e(e.s=2441)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/ipo-radar/page-37bfbd97573d6050.js b/frontend/.next/static/chunks/app/ipo-radar/page-37bfbd97573d6050.js new file mode 100644 index 0000000000000000000000000000000000000000..c4c54a3c7e84a0b5606245905596d97d6226176f --- /dev/null +++ b/frontend/.next/static/chunks/app/ipo-radar/page-37bfbd97573d6050.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{9568:function(e,n,s){Promise.resolve().then(s.bind(s,9135))},9135:function(e,n,s){"use strict";s.r(n),s.d(n,{default:function(){return d}});var i=s(3890),r=s(8496),t=s(7160),l=s(9273),a=s(979),o=s(6288);let c=[["highest_opportunity","Highest Opportunity"],["final_prospectus_watch","Final Prospectus"],["advanced_filing_watch","Advanced Filing"],["narrative_watch","Narrative Watch"],["early_filing_watch","Early Filing"]];function d(){var e,n,s,o,d,m;let[x,j]=(0,r.useState)(null),[g,v]=(0,r.useState)("highest_opportunity"),[y,_]=(0,r.useState)(""),[b,N]=(0,r.useState)(""),[w,k]=(0,r.useState)(""),[S,T]=(0,r.useState)(""),[C,P]=(0,r.useState)(null),O=async()=>{T("");try{j(await t.h.ipoRadar(120))}catch(e){T(e.message)}};(0,r.useEffect)(()=>{O()},[]);let E=async(e,n)=>{if(e.company.cik){k(e.company.cik),T("");try{let s=await t.h.secSubmissions(e.company.cik,n);P(s),n&&await O()}catch(e){T(e.message)}finally{k("")}}},F=(0,r.useMemo)(()=>{var e,n,s;let i=y.trim().toLowerCase();return(null!==(s=null!==(n=null==x?void 0:null===(e=x.sections)||void 0===e?void 0:e[g])&&void 0!==n?n:null==x?void 0:x.rows)&&void 0!==s?s:[]).filter(e=>{var n,s,r;return(!b||e.score.classification===b)&&(!i||"".concat(e.company.name," ").concat(null!==(s=e.company.cik)&&void 0!==s?s:""," ").concat(null!==(r=null===(n=e.latest_filing)||void 0===n?void 0:n.form_type)&&void 0!==r?r:"").toLowerCase().includes(i))})},[x,g,y,b]);if(S)return(0,i.jsxs)("div",{className:"empty-state",children:["API error: ",S]});if(!x)return(0,i.jsx)(l.G,{label:"Loading IPO Radar"});let R=Array.from(new Set(x.rows.map(e=>e.score.classification))).sort(),I=x.rows.slice(0,36);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"page-header",children:(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"kicker",children:"IPO Radar"}),(0,i.jsx)("h1",{children:"SEC filing and pre-listing intelligence."}),(0,i.jsx)("p",{children:"Autonomous public filing surveillance for newly listed and pre-listing opportunities. No generated listing dates, valuations or tickers are displayed."})]})}),(0,i.jsxs)("section",{className:"grid-4",children:[(0,i.jsx)(p,{label:"Companies",value:x.summary.companies_observed}),(0,i.jsx)(p,{label:"Filings",value:x.summary.filings_observed}),(0,i.jsx)(p,{label:"Scored",value:x.summary.scored_companies}),(0,i.jsx)(p,{label:"Top Score",value:x.summary.top_opportunity_score.toFixed(1)})]}),!x.rows.length&&(0,i.jsxs)("section",{className:"panel readiness-panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"SEC readiness"}),(0,i.jsx)("strong",{children:"No IPO rows yet"})]}),(0,i.jsx)("p",{children:"IPO Radar only displays observed SEC filings and public pre-listing narratives. The autonomous engine keeps hydrating this table in the background."})]}),(0,i.jsx)("section",{className:"radar-tabs",style:{marginTop:12},children:c.map(e=>{var n,s;let[r,t]=e;return(0,i.jsxs)("button",{className:g===r?"active":"",onClick:()=>v(r),children:[t,(0,i.jsx)("span",{children:null!==(s=null===(n=x.sections[r])||void 0===n?void 0:n.length)&&void 0!==s?s:0})]},r)})}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsx)(a.G,{title:"IPO Opportunity Score",data:[{x:I.map(e=>e.score.opportunity_score),y:I.map(e=>e.company.name.slice(0,32)),type:"bar",orientation:"h",marker:{color:"#ffb000"}}],layout:{xaxis:{range:[0,100]}},emptyMessage:"IPO opportunity scores appear after SEC filing rows are stored."}),(0,i.jsx)(a.G,{title:"Readiness vs Listing Probability",data:[{x:I.map(e=>e.score.readiness_score),y:I.map(e=>e.score.listing_probability_score),text:I.map(e=>e.company.name),type:"scatter",mode:"markers+text",marker:{size:I.map(e=>Math.max(9,e.score.opportunity_score/5)),color:"#4dd8ff"}}],layout:{xaxis:{range:[0,100],title:"Readiness"},yaxis:{range:[0,100],title:"Listing probability proxy"}},emptyMessage:"Readiness/listing probability requires scored SEC filing evidence."})]}),(0,i.jsx)("section",{className:"grid-3",style:{marginTop:12},children:F.slice(0,6).map(e=>{var n,s;return(0,i.jsx)(u,{row:e,onLoadSec:n=>E(e,n),secBusy:w===e.company.cik},"".concat(e.company.id,"-").concat(null!==(s=null===(n=e.latest_filing)||void 0===n?void 0:n.accession_number)&&void 0!==s?s:e.company.name))})}),C&&(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"SEC company submissions"}),(0,i.jsx)("strong",{children:null!==(e=C.name)&&void 0!==e?e:C.cik})]}),(0,i.jsxs)("div",{className:"diagnostic-grid",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Official filing history"}),(0,i.jsxs)("strong",{children:[C.filing_count," filings | ",C.ipo_related_filing_count," IPO-related"]}),(0,i.jsxs)("p",{children:[(null!==(n=C.tickers)&&void 0!==n?n:[]).join(" | ")||"No public ticker in SEC payload"," | ",(null!==(s=C.exchanges)&&void 0!==s?s:[]).join(" | ")||"No exchange in SEC payload"]})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Persistence"}),(0,i.jsxs)("strong",{children:[null!==(o=C.persisted_new_ipo_filings)&&void 0!==o?o:0," new filings stored"]}),(0,i.jsx)("p",{children:C.data_policy})]})]}),(0,i.jsx)("div",{className:"table-shell",style:{marginTop:12},children:(0,i.jsxs)("table",{className:"intel-table",children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Form"}),(0,i.jsx)("th",{children:"Date"}),(0,i.jsx)("th",{children:"Description"}),(0,i.jsx)("th",{children:"Document"})]})}),(0,i.jsx)("tbody",{children:(null!==(d=C.ipo_related_filings)&&void 0!==d?d:[]).slice(0,20).map(e=>{var n;return(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:(0,i.jsx)("strong",{children:e.form_type})}),(0,i.jsx)("td",{children:(0,i.jsx)("span",{children:f(e.filing_date)})}),(0,i.jsx)("td",{children:(0,i.jsx)("span",{children:null!==(n=e.description)&&void 0!==n?n:"n/a"})}),(0,i.jsx)("td",{children:e.url?(0,i.jsx)("a",{className:"asset-link",href:e.url,target:"_blank",rel:"noreferrer",children:"Open"}):(0,i.jsx)("span",{children:"n/a"})})]},e.accession_number)})})]})})]}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"IPO radar table"}),(0,i.jsxs)("strong",{children:[F.length," companies"]})]}),(0,i.jsxs)("div",{className:"control-row",children:[(0,i.jsx)("input",{className:"input",placeholder:"Search company, CIK, form",value:y,onChange:e=>_(e.target.value)}),(0,i.jsxs)("select",{className:"input",value:b,onChange:e=>N(e.target.value),children:[(0,i.jsx)("option",{value:"",children:"All classifications"}),R.map(e=>(0,i.jsx)("option",{children:e},e))]})]}),(0,i.jsx)(h,{rows:F})]}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Public pre-listing narratives"}),(0,i.jsx)("strong",{children:x.prelisting_narratives.length})]}),!x.prelisting_narratives.length&&(0,i.jsx)("div",{className:"empty-state",children:"No IPO/listing headlines are stored yet from the public news tape."}),(0,i.jsx)("div",{className:"news-list",children:x.prelisting_narratives.slice(0,12).map(e=>(0,i.jsxs)("a",{className:"news-item",href:e.url,target:"_blank",rel:"noreferrer",children:[(0,i.jsx)("strong",{children:e.title}),(0,i.jsxs)("span",{children:[e.source," | ",f(e.published_at)," | quality ",e.quality_score.toFixed(1)]})]},e.id))})]}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Source policy"}),(0,i.jsx)("strong",{children:x.data_mode})]}),(0,i.jsx)("p",{children:x.source_diagnostics.data_policy}),(0,i.jsxs)("p",{children:["Tracked forms: ",(null!==(m=x.source_diagnostics.forms_tracked)&&void 0!==m?m:[]).join(" | ")]})]})]})}function u(e){var n,s,r,t,l,a;let{row:c,onLoadSec:d,secBusy:u}=e;return(0,i.jsxs)("article",{className:"score-card ipo-card",children:[(0,i.jsxs)("div",{className:"score-card-top",children:[(0,i.jsxs)("div",{children:[(0,i.jsxs)("span",{children:[null!==(t=null===(n=c.latest_filing)||void 0===n?void 0:n.form_type)&&void 0!==t?t:"SEC filing"," | ",f(null!==(l=null===(s=c.latest_filing)||void 0===s?void 0:s.filing_date)&&void 0!==l?l:null)]}),(0,i.jsx)("h3",{children:c.company.name}),(0,i.jsxs)("p",{className:"asset-subtitle",children:["CIK ",null!==(a=c.company.cik)&&void 0!==a?a:"n/a"," | ",c.company.sector]})]}),(0,i.jsx)("div",{className:"score-ring",style:{"--score":c.score.opportunity_score},children:(0,i.jsx)("strong",{children:Math.round(c.score.opportunity_score)})})]}),(0,i.jsx)(o.O,{label:c.score.classification}),(0,i.jsx)("p",{children:c.score.explanation}),(0,i.jsxs)("div",{className:"mini-metrics",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Readiness"}),(0,i.jsx)("strong",{children:c.score.readiness_score.toFixed(0)})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Listing proxy"}),(0,i.jsx)("strong",{children:c.score.listing_probability_score.toFixed(0)})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Narrative"}),(0,i.jsx)("strong",{children:c.score.narrative_heat_score.toFixed(0)})]}),(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:"Risk terms"}),(0,i.jsx)("strong",{children:c.score.valuation_risk_score.toFixed(0)})]})]}),(0,i.jsxs)("div",{className:"control-row",style:{marginTop:12,marginBottom:0},children:[(null===(r=c.latest_filing)||void 0===r?void 0:r.url)&&(0,i.jsx)("a",{className:"button",href:c.latest_filing.url,target:"_blank",rel:"noreferrer",children:"Open SEC filing"}),c.company.cik&&(0,i.jsx)("button",{className:"button",onClick:()=>d(!1),disabled:u,children:u?"Loading SEC...":"SEC history"}),c.company.cik&&(0,i.jsx)("button",{className:"button",onClick:()=>d(!0),disabled:u,children:u?"Syncing...":"Sync filings"})]})]})}function h(e){let{rows:n}=e;return n.length?(0,i.jsx)("div",{className:"table-shell",children:(0,i.jsxs)("table",{className:"intel-table",children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{children:"Company"}),(0,i.jsx)("th",{children:"Filing"}),(0,i.jsx)("th",{children:"Classification"}),(0,i.jsx)("th",{children:"Scores"}),(0,i.jsx)("th",{children:"Evidence"}),(0,i.jsx)("th",{children:"Reason"})]})}),(0,i.jsx)("tbody",{children:n.map(e=>{var n,s,r,t,l,a,c,d,u,h;return(0,i.jsxs)("tr",{children:[(0,i.jsxs)("td",{children:[(0,i.jsx)("strong",{children:e.company.name}),(0,i.jsxs)("span",{children:["CIK ",null!==(t=e.company.cik)&&void 0!==t?t:"n/a"," | ",e.company.sector," | ",e.company.country]})]}),(0,i.jsxs)("td",{children:[(null===(n=e.latest_filing)||void 0===n?void 0:n.url)?(0,i.jsx)("a",{className:"asset-link",href:e.latest_filing.url,target:"_blank",rel:"noreferrer",children:e.latest_filing.form_type}):(0,i.jsx)("strong",{children:"n/a"}),(0,i.jsx)("span",{children:f(null!==(l=null===(s=e.latest_filing)||void 0===s?void 0:s.filing_date)&&void 0!==l?l:null)}),(0,i.jsx)("span",{children:null!==(a=null===(r=e.latest_filing)||void 0===r?void 0:r.accession_number)&&void 0!==a?a:"accession n/a"})]}),(0,i.jsxs)("td",{children:[(0,i.jsx)(o.O,{label:e.score.classification}),(0,i.jsx)("span",{children:e.score.time_horizon})]}),(0,i.jsxs)("td",{children:[(0,i.jsx)("strong",{className:"score-number",children:e.score.opportunity_score.toFixed(1)}),(0,i.jsxs)("span",{children:["Ready ",e.score.readiness_score.toFixed(0)," | Prob ",e.score.listing_probability_score.toFixed(0)]}),(0,i.jsxs)("span",{children:["Narr ",e.score.narrative_heat_score.toFixed(0)," | Quality ",e.score.quality_score.toFixed(0)," | Risk ",e.score.valuation_risk_score.toFixed(0)]})]}),(0,i.jsxs)("td",{children:[(0,i.jsxs)("span",{children:["Forms ",(null!==(c=e.score.evidence.forms_observed)&&void 0!==c?c:[]).join(" | ")]}),(0,i.jsxs)("span",{children:["Filings ",null!==(d=e.score.evidence.filing_count)&&void 0!==d?d:0," | Amendments ",null!==(u=e.score.evidence.amendment_count)&&void 0!==u?u:0]}),(0,i.jsxs)("span",{children:["Themes ",(null!==(h=e.score.evidence.themes)&&void 0!==h?h:[]).join(" | ")||"n/a"]})]}),(0,i.jsx)("td",{className:"why",children:e.score.explanation})]},"".concat(e.company.id,"-").concat(e.score.created_at))})})]})}):(0,i.jsx)("div",{className:"empty-state",children:"No IPO radar rows match the current filters."})}function p(e){let{label:n,value:s}=e;return(0,i.jsxs)("div",{className:"metric-card",children:[(0,i.jsx)("span",{children:n}),(0,i.jsx)("strong",{children:s})]})}function f(e){return e?new Intl.DateTimeFormat("en",{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(e)):"Pending"}},9273:function(e,n,s){"use strict";s.d(n,{G:function(){return r}});var i=s(3890);function r(e){let{label:n="Loading intelligence snapshot"}=e;return(0,i.jsxs)("div",{className:"loading-state",children:[(0,i.jsx)("div",{}),(0,i.jsx)("span",{children:n})]})}},979:function(e,n,s){"use strict";s.d(n,{G:function(){return o}});var i=s(3890),r=s(3548),t=s.n(r),l=s(8496);let a=t()(()=>Promise.all([s.e(715),s.e(54)]).then(s.bind(s,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function o(e){let{title:n,data:s,layout:r={},height:t=360,emptyMessage:o="Waiting for real data series."}=e,c=s.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),d={data:s,layout:{autosize:!0,height:t,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...r},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,i.jsxs)("section",{className:"panel",children:[(0,i.jsx)("div",{className:"panel-head",children:(0,i.jsx)("span",{children:n})}),c?(0,l.createElement)(a,d):(0,i.jsx)("div",{className:"plot-empty",children:o})]})}},6288:function(e,n,s){"use strict";s.d(n,{O:function(){return t}});var i=s(3890),r=s(2675);function t(e){let{label:n}=e,s=n.includes("Breakout")||n.includes("Strong")?"positive":n.includes("Risk")||n.includes("Avoid")?"negative":n.includes("Divergence")||n.includes("Contrarian")?"warning":"neutral";return(0,i.jsx)("span",{className:(0,r.Z)("status-badge",s),children:n})}},2555:function(e,n,s){"use strict";var i,r;e.exports=(null==(i=s.g.process)?void 0:i.env)&&"object"==typeof(null==(r=s.g.process)?void 0:r.env)?s.g.process:s(4518)},4518:function(e){!function(){var n={229:function(e){var n,s,i,r=e.exports={};function t(){throw Error("setTimeout has not been defined")}function l(){throw Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===t||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(s){try{return n.call(null,e,0)}catch(s){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:t}catch(e){n=t}try{s="function"==typeof clearTimeout?clearTimeout:l}catch(e){s=l}}();var o=[],c=!1,d=-1;function u(){c&&i&&(c=!1,i.length?o=i.concat(o):d=-1,o.length&&h())}function h(){if(!c){var e=a(u);c=!0;for(var n=o.length;n;){for(i=o,o=[];++d1)for(var s=1;s{let{error:n,isLoading:s,pastDelay:i}=e;return null}};"function"==typeof e&&(i.loader=e);let t={...i,...n};return(0,r.default)({...t,modules:null==(s=t.loadableGenerated)?void 0:s.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),e.exports=n.default)},4377:function(e,n,s){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return r}});let i=s(4895);function r(e){let{reason:n,children:s}=e;if("undefined"==typeof window)throw new i.BailoutToCSRError(n);return s}},3992:function(e,n,s){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return c}});let i=s(3890),r=s(8496),t=s(4377),l=s(2992);function a(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},c=function(e){let n={...o,...e},s=(0,r.lazy)(()=>n.loader().then(a)),c=n.loading;function d(e){let a=c?(0,i.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=n.ssr?(0,i.jsxs)(i.Fragment,{children:["undefined"==typeof window?(0,i.jsx)(l.PreloadCss,{moduleIds:n.modules}):null,(0,i.jsx)(s,{...e})]}):(0,i.jsx)(t.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(s,{...e})});return(0,i.jsx)(r.Suspense,{fallback:a,children:o})}return d.displayName="LoadableComponent",d}},2992:function(e,n,s){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadCss",{enumerable:!0,get:function(){return t}});let i=s(3890),r=s(5296);function t(e){let{moduleIds:n}=e;if("undefined"!=typeof window)return null;let s=(0,r.getExpectedRequestStore)("next/dynamic css"),t=[];if(s.reactLoadableManifest&&n){let e=s.reactLoadableManifest;for(let s of n){if(!e[s])continue;let n=e[s].files.filter(e=>e.endsWith(".css"));t.push(...n)}}return 0===t.length?null:(0,i.jsx)(i.Fragment,{children:t.map(e=>(0,i.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:s.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},2675:function(e,n,s){"use strict";n.Z=function(){for(var e,n,s=0,i="",r=arguments.length;s{g.h.systemStatus().then(Z).catch(()=>Z(null))},[]),(0,l.jsxs)("div",{className:"app-shell",children:[(0,l.jsxs)("aside",{className:"sidebar",children:[(0,l.jsxs)("div",{className:"brand",children:[(0,l.jsx)("div",{className:"brand-mark",children:"B"}),(0,l.jsxs)("div",{children:[(0,l.jsx)("strong",{children:"Blum"}),(0,l.jsx)("span",{children:"Market Intelligence Officer"})]})]}),(0,l.jsxs)("div",{className:"sidebar-market-state",children:[(0,l.jsx)(p.Z,{size:15}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("strong",{children:[null!==(d=null==f?void 0:null===(a=f.database_counts)||void 0===a?void 0:a.signals)&&void 0!==d?d:0," signals"]}),(0,l.jsxs)("span",{children:[null!==(h=null==f?void 0:null===(i=f.database_counts)||void 0===i?void 0:i.news_articles)&&void 0!==h?h:0," news articles indexed"]})]})]}),(0,l.jsx)("nav",{children:M.map(e=>{var a;let i=e.icon,n=k===e.href||(null===(a=e.aliases)||void 0===a?void 0:a.some(e=>k.startsWith(e)))||"/"!==e.href&&k.startsWith(e.href);return(0,l.jsxs)(s.default,{href:e.href,className:(0,j.Z)("nav-item",n&&"active"),children:[(0,l.jsx)(i,{size:17}),(0,l.jsx)("span",{children:e.label})]},e.href)})}),(0,l.jsxs)("div",{className:"system-card",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)(m.Z,{size:15})," v",null!==(c=null==f?void 0:f.app_version)&&void 0!==c?c:"loading"," | ",null!==(o=null==f?void 0:f.feature_set)&&void 0!==o?o:"loading"]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(y,{size:15})," ",(null==f?void 0:f.runtime_flags.financial_brain_model_enabled)?"Finance LLM active":"Evidence fallback"]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(u.Z,{size:15})," ",null!==(v=null==f?void 0:null===(t=f.active_models)||void 0===t?void 0:t.financial_brain_configured)&&void 0!==v?v:"model pending"]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(b.Z,{size:15})," Research only"]}),(0,l.jsx)(s.default,{href:"/methodology",children:"Methodology and governance"})]})]}),(0,l.jsx)("main",{className:"workspace",children:x})]})}},6906:function(e,a,i){"use strict";i.d(a,{Z:function(){return l}});let l=(0,i(8964).Z)("Crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]])},8322:function(e,a,i){"use strict";i.d(a,{Z:function(){return l}});let l=(0,i(8964).Z)("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])},4443:function(){}},function(e){e.O(0,[824,183,651,649,945,744],function(){return e(e.s=8175)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/learning/page-fb9d9a3de58b413d.js b/frontend/.next/static/chunks/app/learning/page-fb9d9a3de58b413d.js new file mode 100644 index 0000000000000000000000000000000000000000..d5509bac70599d17fc5f59e59c74d4b53be8eec3 --- /dev/null +++ b/frontend/.next/static/chunks/app/learning/page-fb9d9a3de58b413d.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[934],{1119:function(e,l,n){Promise.resolve().then(n.bind(n,6056))},6056:function(e,l,n){"use strict";n.r(l),n.d(l,{default:function(){return h}});var i=n(3890),s=n(8496),a=n(406),t=n(3258),r=n(6024),d=n(6073),o=n(7160);function c(e){let{title:l,loading:n,error:s,stale:a,updatedAt:t,onRetry:r,children:d,fallback:o="Loading panel"}=e;return(0,i.jsxs)("section",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:l}),(0,i.jsx)("strong",{children:a?"stale":t?new Date(t).toLocaleTimeString():n?"loading":"ready"})]}),n&&(0,i.jsx)("div",{className:"empty-state compact",children:o}),s&&(0,i.jsxs)("div",{className:"empty-state compact",children:[s,r&&(0,i.jsx)("button",{className:"button compact",onClick:r,children:"Retry"})]}),!n&&!s&&d]})}var u=n(979),v=n(6288);function h(){var e,l,n,h,f,N,k,w,S,T,R,L,C,M,E,q,A,B,P,O,z,G,I,D,F,U,Z,H,W,Q,V,$,J,K,X,Y,ee,el,en,ei,es,ea,et,er,ed,eo,ec,eu,ev,eh,ep,em,ex,ej,eg,ey,e_,eb,ef,eN,ek,ew,eS,eT,eR,eL,eC,eM,eE,eq,eA,eB,eP,eO,ez,eG,eI,eD,eF,eU,eZ,eH,eW,eQ,eV,e$,eJ,eK,eX,eY,e0,e1,e2,e4,e5,e3,e6,e9,e8,e7,le,ll,ln,li,ls,la,lt,lr,ld,lo,lc,lu,lv,lh,lp,lm,lx,lj,lg,ly,l_,lb,lf,lN,lk,lw,lS,lT,lR,lL,lC,lM,lE,lq,lA,lB,lP,lO,lz,lG,lI,lD,lF,lU,lZ,lH,lW,lQ,lV,l$,lJ,lK,lX,lY,l0,l1,l2,l4,l5,l3,l6,l9,l8,l7,ne,nl,nn,ni,ns,na,nt,nr,nd,no,nc,nu,nv,nh,np,nm,nx,nj,ng,ny,n_,nb,nf,nN,nk,nw,nS,nT,nR,nL,nC,nM,nE,nq,nA,nB,nP,nO,nz,nG,nI,nD,nF,nU,nZ,nH,nW,nQ,nV,n$,nJ,nK,nX,nY,n0,n1,n2,n4,n5,n3,n6,n9,n8,n7,ie,il,ii,is,ia,it;let[ir,id]=(0,s.useState)(null),[io,ic]=(0,s.useState)(null),[iu,iv]=(0,s.useState)([]),[ih,ip]=(0,s.useState)([]),[im,ix]=(0,s.useState)(null),[ij,ig]=(0,s.useState)(null),[iy,i_]=(0,s.useState)(null),[ib,iN]=(0,s.useState)(null),[ik,iw]=(0,s.useState)(""),[iS,iT]=(0,s.useState)(""),[iR,iL]=(0,s.useState)(""),[iC,iM]=(0,s.useState)(!1),[iE,iq]=(0,s.useState)(!1),[iA,iB]=(0,s.useState)(!1),[iP,iO]=(0,s.useState)(!1),[iz,iG]=(0,s.useState)(!1),[iI,iD]=(0,s.useState)(!1),iF=(0,s.useRef)(null);async function iU(){iG(!0);let[e,l,n,i,s,a,t,r]=await Promise.allSettled([o.h.reasoningCoreStatus(),o.h.thesisSurvival(16),o.h.convictionDecay(16),o.h.reliabilityByRegime(16),o.h.thesisCompetitions(12),o.h.ensembleStatus(),o.h.benchmarkRelative(16),o.h.trainingQuality(16)]);i_({status:"fulfilled"===e.status?e.value:null,survival:"fulfilled"===l.status?l.value:null,conviction:"fulfilled"===n.status?n.value:null,reliability:"fulfilled"===i.status?i.value:null,competitions:"fulfilled"===s.status?s.value:null,ensemble:"fulfilled"===a.status?a.value:null,benchmark:"fulfilled"===t.status?t.value:null,trainingQuality:"fulfilled"===r.status?r.value:null}),iD(!0),iG(!1)}(0,s.useEffect)(()=>{let e=!0;async function l(){try{iL("");let[l,n,i]=await Promise.allSettled([o.h.learningSummary(),o.h.tradingGameStatus(),o.h.tradingGameCurrentCycle()]);if(!e)return;"fulfilled"===l.status&&id(l.value),"rejected"===l.status&&iL(l.reason.message),ig(e=>{var l,s;return{...null!=e?e:{},status:"fulfilled"===n.status?n.value:null!==(l=null==e?void 0:e.status)&&void 0!==l?l:null,currentCycle:"fulfilled"===i.status?i.value:null!==(s=null==e?void 0:e.currentCycle)&&void 0!==s?s:null}})}catch(l){e&&iL(l instanceof Error?l.message:String(l))}}async function n(){iM(!0);let[l,n,i,s,a,t,r,d,c]=await Promise.allSettled([o.h.learningDashboard(),o.h.tradingGameEquity(240),o.h.tradingGameAnnotatedEquity(240),o.h.tradingGameIntelligenceMetrics(),o.h.tradingGameIntelligenceRolling(),o.h.tradingGameHistoricalVsLive(),o.h.liveTradingGameStatus(),o.h.liveTradingGameMetrics(),o.h.learningIntelligenceDashboard()]);e&&("fulfilled"===l.status&&ic(l.value),ig(e=>{var l,o,u,v,h,p,m,x;return{...null!=e?e:{},equity:"fulfilled"===n.status?n.value:null!==(l=null==e?void 0:e.equity)&&void 0!==l?l:[],annotatedEquity:"fulfilled"===i.status?i.value:null!==(o=null==e?void 0:e.annotatedEquity)&&void 0!==o?o:null,intelligenceMetrics:"fulfilled"===s.status?s.value:null!==(u=null==e?void 0:e.intelligenceMetrics)&&void 0!==u?u:null,rollingMetrics:"fulfilled"===a.status?a.value:null!==(v=null==e?void 0:e.rollingMetrics)&&void 0!==v?v:null,historicalVsLive:"fulfilled"===t.status?t.value:null!==(h=null==e?void 0:e.historicalVsLive)&&void 0!==h?h:null,liveStatus:"fulfilled"===r.status?r.value:null!==(p=null==e?void 0:e.liveStatus)&&void 0!==p?p:null,liveMetrics:"fulfilled"===d.status?d.value:null!==(m=null==e?void 0:e.liveMetrics)&&void 0!==m?m:null,learningIntelligence:"fulfilled"===c.status?c.value:null!==(x=null==e?void 0:e.learningIntelligence)&&void 0!==x?x:null}}),"rejected"===l.status&&iT(l.reason.message),iM(!1))}l();let i=window.setTimeout(n,120),s=window.setInterval(l,45e3);return()=>{e=!1,window.clearTimeout(i),window.clearInterval(s)}},[]),(0,s.useEffect)(()=>{let e=iF.current;if(!e||iP||iA)return;let l=new IntersectionObserver(e=>{let[n]=e;n.isIntersecting&&(iO(!0),l.disconnect())},{rootMargin:"320px 0px"});return l.observe(e),()=>l.disconnect()},[iP,iA]),(0,s.useEffect)(()=>{if(!iP||iA||iE)return;let e=!0;return async function(){iq(!0);let[l,n,i,s,a,t,r,d,c,u,v,h,p,m,x,j,g,y,_,b]=await Promise.allSettled([o.h.learningRuns(20),o.h.learningPredictions(24),o.h.learningMemory(24),o.h.tradingGameTrades(50),o.h.tradingGameLedger(50),o.h.tradingGameLedgerSummary(),o.h.tradingGameCycles(40),o.h.tradingGameCycleStats(),o.h.tradingGameIntelligenceBySetup(),o.h.tradingGameIntelligenceByRegime(),o.h.tradingGameIntelligenceBySector(),o.h.liveTradingGamePositions(),o.h.decisionIntelligenceDashboard(),o.h.tradingGameLearningEvidence(40),o.h.tradingGameRealityCheck(),o.h.tradingGamePnlBreakdown(),o.h.tradingGameFailures(16),o.h.tradingGameLessons(16),o.h.tradingGameBenchmark(),o.h.tradingGameReproducibility(80)]);e&&("fulfilled"===l.status&&iv(l.value),"fulfilled"===n.status&&ip(n.value),"fulfilled"===i.status&&ix(i.value),ig(e=>{var l,n,i,o,f,N,k,w,S,T,R,L,C,M,E,q,A;return{...null!=e?e:{},trades:"fulfilled"===s.status?s.value:null!==(l=null==e?void 0:e.trades)&&void 0!==l?l:[],ledger:"fulfilled"===a.status?a.value:null!==(n=null==e?void 0:e.ledger)&&void 0!==n?n:null,ledgerSummary:"fulfilled"===t.status?t.value:null!==(i=null==e?void 0:e.ledgerSummary)&&void 0!==i?i:null,cycles:"fulfilled"===r.status?r.value:null!==(o=null==e?void 0:e.cycles)&&void 0!==o?o:null,cycleStats:"fulfilled"===d.status?d.value:null!==(f=null==e?void 0:e.cycleStats)&&void 0!==f?f:null,metricsBySetup:"fulfilled"===c.status?c.value:null!==(N=null==e?void 0:e.metricsBySetup)&&void 0!==N?N:null,metricsByRegime:"fulfilled"===u.status?u.value:null!==(k=null==e?void 0:e.metricsByRegime)&&void 0!==k?k:null,metricsBySector:"fulfilled"===v.status?v.value:null!==(w=null==e?void 0:e.metricsBySector)&&void 0!==w?w:null,livePositions:"fulfilled"===h.status?h.value:null!==(S=null==e?void 0:e.livePositions)&&void 0!==S?S:null,decisionIntelligence:"fulfilled"===p.status?p.value:null!==(T=null==e?void 0:e.decisionIntelligence)&&void 0!==T?T:null,learningEvidence:"fulfilled"===m.status?m.value:null!==(R=null==e?void 0:e.learningEvidence)&&void 0!==R?R:null,realityCheck:"fulfilled"===x.status?x.value:null!==(L=null==e?void 0:e.realityCheck)&&void 0!==L?L:null,pnlBreakdown:"fulfilled"===j.status?j.value:null!==(C=null==e?void 0:e.pnlBreakdown)&&void 0!==C?C:null,failures:"fulfilled"===g.status?g.value:null!==(M=null==e?void 0:e.failures)&&void 0!==M?M:[],lessons:"fulfilled"===y.status?y.value:null!==(E=null==e?void 0:e.lessons)&&void 0!==E?E:[],benchmark:"fulfilled"===_.status?_.value:null!==(q=null==e?void 0:e.benchmark)&&void 0!==q?q:null,reproducibility:"fulfilled"===b.status?b.value:null!==(A=null==e?void 0:e.reproducibility)&&void 0!==A?A:null}}),iB(!0),iq(!1))}(),()=>{e=!1}},[iP,iA,iE]);let iZ=null!==(e8=null==io?void 0:io.metrics)&&void 0!==e8?e8:{},iH=null!==(e7=iZ.by_timeframe)&&void 0!==e7?e7:{},iW=null!==(ll=null!==(le=null==im?void 0:im.signal_performance)&&void 0!==le?le:null==io?void 0:io.signal_performance)&&void 0!==ll?ll:[],iQ=null!==(li=null!==(ln=null==im?void 0:im.strategy_memory)&&void 0!==ln?ln:null==io?void 0:io.strategy_memory)&&void 0!==li?li:[],iV=null!==(la=null!==(ls=null==im?void 0:im.mistakes)&&void 0!==ls?ls:null==io?void 0:io.mistakes)&&void 0!==la?la:[],i$=null==io?void 0:io.latest_run,iJ=null!==(lr=null!==(lt=null==ij?void 0:null===(e=ij.status)||void 0===e?void 0:e.current_game)&&void 0!==lt?lt:null==io?void 0:null===(l=io.trading_game)||void 0===l?void 0:l.current_game)&&void 0!==lr?lr:{current_capital:null==ir?void 0:ir.current_capital,target_capital:null==ir?void 0:ir.target_capital,target_cycles_completed:null==ir?void 0:ir.completed_target_cycles,bankrupt_cycles:null==ir?void 0:ir.bankrupt_cycles,status:null==ir?void 0:ir.status},iK=null!==(ld=null==ij?void 0:ij.equity)&&void 0!==ld?ld:[],iX=null!==(lo=null==ij?void 0:null===(n=ij.annotatedEquity)||void 0===n?void 0:n.equity_curve_points)&&void 0!==lo?lo:iK,iY=null!==(lc=null==ij?void 0:null===(h=ij.annotatedEquity)||void 0===h?void 0:h.annotations)&&void 0!==lc?lc:[],i0=null!==(lu=null==ij?void 0:ij.trades)&&void 0!==lu?lu:[],i1=null!==(lv=null==ij?void 0:null===(f=ij.ledger)||void 0===f?void 0:f.rows)&&void 0!==lv?lv:[],i2=null!==(lp=null!==(lh=null==ij?void 0:null===(N=ij.ledgerSummary)||void 0===N?void 0:N.summary)&&void 0!==lh?lh:null==ij?void 0:null===(k=ij.ledger)||void 0===k?void 0:k.summary)&&void 0!==lp?lp:{},i4=null!==(lm=null==ij?void 0:null===(w=ij.cycles)||void 0===w?void 0:w.cycles)&&void 0!==lm?lm:[],i5=null!==(lx=null==ij?void 0:null===(S=ij.currentCycle)||void 0===S?void 0:S.cycle)&&void 0!==lx?lx:{},i3=null!==(lg=null!==(lj=null==ij?void 0:null===(T=ij.cycleStats)||void 0===T?void 0:T.stats)&&void 0!==lj?lj:null==ij?void 0:null===(R=ij.cycles)||void 0===R?void 0:R.stats)&&void 0!==lg?lg:{},i6=null!==(ly=null==ij?void 0:null===(L=ij.intelligenceMetrics)||void 0===L?void 0:L.metrics)&&void 0!==ly?ly:{};null==ij||null===(C=ij.rollingMetrics)||void 0===C||C.windows;let i9=null!==(l_=null==ij?void 0:null===(M=ij.metricsBySetup)||void 0===M?void 0:M.rows)&&void 0!==l_?l_:[],i8=null!==(lb=null==ij?void 0:null===(E=ij.metricsByRegime)||void 0===E?void 0:E.rows)&&void 0!==lb?lb:[],i7=null!==(lf=null==ij?void 0:null===(q=ij.metricsBySector)||void 0===q?void 0:q.rows)&&void 0!==lf?lf:[],se=null!==(lN=null==ij?void 0:ij.historicalVsLive)&&void 0!==lN?lN:{},sl=null!==(lk=null==ij?void 0:ij.liveStatus)&&void 0!==lk?lk:{},sn=null!==(lw=null==sl?void 0:sl.game)&&void 0!==lw?lw:{},si=null!==(lT=null!==(lS=null==ij?void 0:null===(A=ij.livePositions)||void 0===A?void 0:A.positions)&&void 0!==lS?lS:null==sl?void 0:sl.open_positions)&&void 0!==lT?lT:[],ss=Array.isArray(si)?si:[],sa=null!==(lR=null==ij?void 0:null===(B=ij.liveMetrics)||void 0===B?void 0:B.metrics)&&void 0!==lR?lR:{},st=null!==(lL=null==ij?void 0:ij.learningIntelligence)&&void 0!==lL?lL:{},sr=null!==(lC=null==ij?void 0:ij.decisionIntelligence)&&void 0!==lC?lC:{},sd=null!==(lM=null==sr?void 0:null===(P=sr.decision)||void 0===P?void 0:P.decision_superiority)&&void 0!==lM?lM:{},so=null!==(lE=null==sr?void 0:null===(O=sr.decision)||void 0===O?void 0:O.top_missed_opportunities)&&void 0!==lE?lE:[],sc=null!==(lq=null==sr?void 0:null===(z=sr.business_quality)||void 0===z?void 0:z.highest_quality_companies)&&void 0!==lq?lq:[],su=null!==(lA=null==sr?void 0:null===(G=sr.portfolio)||void 0===G?void 0:G.portfolio_quality)&&void 0!==lA?lA:{},sv=null!==(lB=null==sr?void 0:null===(I=sr.portfolio)||void 0===I?void 0:I.contributions)&&void 0!==lB?lB:[],sh=null!==(lP=null==sr?void 0:null===(D=sr.portfolio)||void 0===D?void 0:D.correlations)&&void 0!==lP?lP:[],sp=null!==(lO=null==st?void 0:st.trading_power)&&void 0!==lO?lO:{score:null==ir?void 0:ir.trading_power_score,classification:null==ir?void 0:ir.trading_power_classification,truth_panel:null==ir?void 0:ir.truth_panel,warnings:null==ir?void 0:ir.warnings,explanation:null==ir?void 0:ir.suggested_next_step,statistical_confidence:null==ir?void 0:null===(F=ir.benchmark_summary)||void 0===F?void 0:F.status},sm=null!==(lz=null==sp?void 0:sp.components)&&void 0!==lz?lz:{},sx=null!==(lG=null==st?void 0:null===(U=st.benchmarks)||void 0===U?void 0:U.rows)&&void 0!==lG?lG:Object.entries(null!==(it=null==ir?void 0:null===(ia=ir.benchmark_summary)||void 0===ia?void 0:ia.major_benchmarks)&&void 0!==it?it:{}).map(e=>{let[l,n]=e;return{benchmark_name:l,benchmark_type:"market",result_label:n.result_label,excess_return:n.excess_return,sample_size:n.sample_size,statistical_confidence:n.statistical_confidence}}),sj=null!==(lI=null==st?void 0:st.progress)&&void 0!==lI?lI:{},sg=null!==(lD=null==st?void 0:null===(Z=st.weakness_map)||void 0===Z?void 0:Z.rows)&&void 0!==lD?lD:[],sy=null!==(lF=null==st?void 0:null===(H=st.self_improvement)||void 0===H?void 0:H.actions)&&void 0!==lF?lF:[],s_=null!==(lH=null!==(lZ=null!==(lU=null==st?void 0:st.truth_panel)&&void 0!==lU?lU:null==sp?void 0:sp.truth_panel)&&void 0!==lZ?lZ:null==ir?void 0:ir.truth_panel)&&void 0!==lH?lH:[],sb=null!==(lW=null==ij?void 0:null===(W=ij.learningEvidence)||void 0===W?void 0:W.rows)&&void 0!==lW?lW:[],sf=null!==(lQ=null==ij?void 0:ij.realityCheck)&&void 0!==lQ?lQ:{},sN=null!==(lV=null==ij?void 0:ij.pnlBreakdown)&&void 0!==lV?lV:{},sk=null!==(l$=null==ij?void 0:ij.lessons)&&void 0!==l$?l$:[],sw=null!==(lJ=null==ij?void 0:ij.benchmark)&&void 0!==lJ?lJ:{},sS=null!==(lK=null==ij?void 0:ij.reproducibility)&&void 0!==lK?lK:{},sT=null!==(lX=null==iy?void 0:null===(V=iy.status)||void 0===V?void 0:null===(Q=V.precision_core)||void 0===Q?void 0:Q.counts)&&void 0!==lX?lX:{},sR=null!==(lY=null==iy?void 0:null===($=iy.survival)||void 0===$?void 0:$.rows)&&void 0!==lY?lY:[],sL=null!==(l0=null==iy?void 0:null===(J=iy.conviction)||void 0===J?void 0:J.rows)&&void 0!==l0?l0:[],sC=null!==(l1=null==iy?void 0:null===(K=iy.reliability)||void 0===K?void 0:K.rows)&&void 0!==l1?l1:[],sM=null!==(l2=null==iy?void 0:null===(X=iy.competitions)||void 0===X?void 0:X.rows)&&void 0!==l2?l2:[],sE=null!==(l4=null==iy?void 0:null===(Y=iy.trainingQuality)||void 0===Y?void 0:Y.rows)&&void 0!==l4?l4:[],sq=(0,s.useMemo)(()=>{let e=["short","mid","long"];return[{x:e,y:e.map(e=>{var l,n;return null==(n=null===(l=iH[e])||void 0===l?void 0:l.accuracy)?0:100*Number(n)}),type:"bar",marker:{color:["#55aaff","#20e070","#ffb000"]}}]},[iH]),sA=(0,s.useMemo)(()=>{let e=iX.map(e=>e.timestamp||e.equity_date||e.created_at),l=iY.filter(e=>"trade_entry"!==e.event_type);return[{x:e,y:iX.map(e=>e.equity),type:"scatter",mode:"lines",name:"BLUM",line:{color:"#ffb000",width:3}},{x:e,y:iX.map(e=>e.benchmark_equity),type:"scatter",mode:"lines",name:"Benchmark",line:{color:"#55aaff",width:2}},{x:l.map(e=>e.timestamp),y:l.map(e=>e.capital_after_event),type:"scatter",mode:"markers",name:"Events",marker:{color:l.map(e=>e.pnl_impact>=0?"#20e070":"#ff4d5e"),size:9,symbol:"diamond"},text:l.map(e=>e.label),hovertemplate:"%{text}"}]},[iX,iY]);async function sB(e){iw("");try{let l=await o.h.tradingGameTradeDetail(e);iN(l)}catch(e){iw(e instanceof Error?e.message:String(e))}}return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("header",{className:"page-header",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"kicker",children:"BLUM Trading Intelligence Lab"}),(0,i.jsx)("h1",{children:"Auditable paper trading intelligence."}),(0,i.jsx)("p",{children:"Capital cycles, advanced trade ledger, live forward paper mode and intelligence-growth metrics. Built to measure whether BLUM is improving entries, exits, risk control and benchmark-relative decision quality."})]}),(0,i.jsxs)("div",{className:"header-actions",children:[(0,i.jsx)(v.O,{label:(null==ir?void 0:ir.status)==="ready"||(null==io?void 0:io.status)==="active"?"Learning snapshot ready":"Loading snapshot"}),(0,i.jsx)(v.O,{label:null!==(l5=null==io?void 0:null===(ee=io.configuration)||void 0===ee?void 0:ee.evaluation_mode)&&void 0!==l5?l5:"progressive"}),iC&&(0,i.jsx)(v.O,{label:"charts loading"}),iE&&(0,i.jsx)(v.O,{label:"tables loading"})]})]}),iR&&(0,i.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["Summary warning: ",iR]}),iS&&(0,i.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["Deferred widget warning: ",iS]}),(0,i.jsxs)("section",{className:"grid-4",children:[(0,i.jsx)(p,{icon:(0,i.jsx)(a.Z,{size:18}),label:"Simulations",value:null!==(l3=iZ.simulations)&&void 0!==l3?l3:"loading",subvalue:"".concat(null!==(l6=iZ.outcomes)&&void 0!==l6?l6:0," evaluated horizons")}),(0,i.jsx)(p,{icon:(0,i.jsx)(t.Z,{size:18}),label:"Short Accuracy",value:x(null===(el=iH.short)||void 0===el?void 0:el.accuracy),subvalue:"5-20 trading days"}),(0,i.jsx)(p,{icon:(0,i.jsx)(r.Z,{size:18}),label:"Mid Accuracy",value:x(null===(en=iH.mid)||void 0===en?void 0:en.accuracy),subvalue:"1-3 months"}),(0,i.jsx)(p,{icon:(0,i.jsx)(d.Z,{size:18}),label:"Calibration Error",value:y(null===(ei=iZ.confidence_calibration)||void 0===ei?void 0:ei.mean_absolute_error),subvalue:null!==(l9=null===(es=iZ.confidence_calibration)||void 0===es?void 0:es.status)&&void 0!==l9?l9:"insufficient sample"})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsx)(c,{title:"Tier 1 Critical Snapshot",loading:!ir&&!iR,error:iR,updatedAt:null==ir?void 0:ir.generated_at,fallback:"Loading lightweight summary",children:(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Capital",value:_(null==ir?void 0:ir.current_capital)}),(0,i.jsx)(m,{label:"Target Progress",value:(null==ir?void 0:ir.target_progress)===null||(null==ir?void 0:ir.target_progress)===void 0?"n/a":x(ir.target_progress)}),(0,i.jsx)(m,{label:"Power Score",value:(null==ir?void 0:ir.trading_power_score)===null||(null==ir?void 0:ir.trading_power_score)===void 0?"n/a":"".concat(y(ir.trading_power_score),"/100")}),(0,i.jsx)(m,{label:"Benchmarks",value:null!==(l8=null==ir?void 0:null===(ea=ir.benchmark_summary)||void 0===ea?void 0:ea.status)&&void 0!==l8?l8:"loading"}),(0,i.jsx)(m,{label:"Latest Run",value:null!==(l7=null==ir?void 0:ir.latest_learning_run_status)&&void 0!==l7?l7:"loading"}),(0,i.jsx)(m,{label:"Freshness",value:b(null==ir?void 0:ir.generated_at)})]})}),(0,i.jsx)(c,{title:"Tier 2 Main Charts",loading:iC,error:"",updatedAt:null==ir?void 0:ir.generated_at,fallback:"Loading charts without blocking the page",children:(0,i.jsx)("p",{children:"Equity curve, benchmark comparison and rolling intelligence metrics load after the critical snapshot."})}),(0,i.jsxs)(c,{title:"Tier 3 Tables",loading:iE,error:"",updatedAt:iA?null==ir?void 0:ir.generated_at:null,fallback:"Loading ledgers and memory tables progressively",children:[(0,i.jsx)("p",{children:"Trade ledgers, cycles, predictions and learning evidence use safe default limits and load only when this section becomes visible or when requested."}),!iA&&(0,i.jsx)("button",{className:"button compact",onClick:()=>iO(!0),disabled:iE,children:iE?"Loading details...":"Load detailed tables"})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"BLUM Trading Power Score"}),(0,i.jsxs)("strong",{children:[y(null==sp?void 0:sp.score),"/100"]})]}),(0,i.jsx)("div",{className:"cycle-progress-track",children:(0,i.jsx)("span",{style:{width:"".concat(Math.max(0,Math.min(100,Number(null!==(ne=null==sp?void 0:sp.score)&&void 0!==ne?ne:0))),"%")}})}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Classification",value:null!==(nl=null==sp?void 0:sp.classification)&&void 0!==nl?nl:"not calculated"}),(0,i.jsx)(m,{label:"Evidence",value:null!==(nn=null==sp?void 0:sp.statistical_confidence)&&void 0!==nn?nn:"n/a"}),(0,i.jsx)(m,{label:"Sample",value:null!==(ni=null==sp?void 0:sp.sample_size)&&void 0!==ni?ni:0}),(0,i.jsx)(m,{label:"Live sample",value:null!==(ns=null==sp?void 0:sp.live_sample_size)&&void 0!==ns?ns:0}),(0,i.jsx)(m,{label:"Benchmark score",value:y(null==sm?void 0:sm.benchmark_relative_score)}),(0,i.jsx)(m,{label:"Live validation",value:y(null==sm?void 0:sm.live_forward_validation_score)})]}),(0,i.jsx)("p",{children:null!==(na=null==sp?void 0:sp.explanation)&&void 0!==na?na:"The score appears after the Trading Intelligence ledger has evidence to evaluate."}),(null!==(nt=null==sp?void 0:sp.warnings)&&void 0!==nt?nt:[]).length>0&&(0,i.jsx)("div",{className:"tag-row",children:sp.warnings.slice(0,5).map(e=>(0,i.jsx)("span",{children:e},e))})]}),(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Truth Panel"}),(0,i.jsx)("strong",{children:"no hype"})]}),(0,i.jsx)("div",{className:"brain-list dense",children:(s_.length?s_:["Not enough evidence yet."]).slice(0,6).map((e,l)=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:0===l?"current state":"evidence"}),(0,i.jsx)("strong",{children:e})]},"".concat(l,"-").concat(e)))})]}),(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Learning Progress"}),(0,i.jsx)("strong",{children:null!==(nr=null==sj?void 0:sj.trend_label)&&void 0!==nr?nr:"inconclusive"})]}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Growth Score",value:"".concat(y(null==sj?void 0:sj.intelligence_growth_score),"/100")}),(0,i.jsx)(m,{label:"Current Trades",value:null!==(nd=null==sj?void 0:null===(et=sj.current)||void 0===et?void 0:et.trades_count)&&void 0!==nd?nd:0}),(0,i.jsx)(m,{label:"Win Rate",value:x(null==sj?void 0:null===(er=sj.current)||void 0===er?void 0:er.win_rate)}),(0,i.jsx)(m,{label:"Expectancy",value:"".concat(y(null==sj?void 0:null===(ed=sj.current)||void 0===ed?void 0:ed.expectancy_r),"R")}),(0,i.jsx)(m,{label:"Missed Entry",value:x(null==sj?void 0:null===(eo=sj.current)||void 0===eo?void 0:eo.missed_entry_rate)}),(0,i.jsx)(m,{label:"Benchmark Excess",value:j(null==sj?void 0:null===(ec=sj.current)||void 0===ec?void 0:ec.benchmark_excess)})]}),(0,i.jsx)("p",{children:null!==(no=null==sj?void 0:sj.summary)&&void 0!==no?no:"BLUM cannot claim improvement until rolling windows and live validation are meaningful."})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Decision Superiority"}),(0,i.jsxs)("strong",{children:[y(null==sd?void 0:sd.score),"/100"]})]}),(0,i.jsx)("div",{className:"cycle-progress-track",children:(0,i.jsx)("span",{style:{width:"".concat(Math.max(0,Math.min(100,Number(null!==(nc=null==sd?void 0:sd.score)&&void 0!==nc?nc:0))),"%")}})}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Classification",value:null!==(nu=null==sd?void 0:sd.classification)&&void 0!==nu?nu:"insufficient evidence"}),(0,i.jsx)(m,{label:"Recall",value:x(null==sd?void 0:null===(eu=sd.metrics)||void 0===eu?void 0:eu.opportunity_recall)}),(0,i.jsx)(m,{label:"Precision",value:x(null==sd?void 0:null===(ev=sd.metrics)||void 0===ev?void 0:ev.opportunity_precision)}),(0,i.jsx)(m,{label:"Alpha Capture",value:x(null==sd?void 0:null===(eh=sd.metrics)||void 0===eh?void 0:eh.alpha_capture_rate)}),(0,i.jsx)(m,{label:"Ranking",value:x(null==sd?void 0:null===(ep=sd.metrics)||void 0===ep?void 0:ep.ranking_accuracy)}),(0,i.jsx)(m,{label:"Comparable Decisions",value:null!==(nv=null==sd?void 0:sd.sample_size)&&void 0!==nv?nv:0})]}),(0,i.jsx)("p",{children:null!==(nh=null==sd?void 0:sd.explanation)&&void 0!==nh?nh:"BLUM needs comparable decision snapshots before it can claim it selected superior opportunities."}),so.length>0&&(0,i.jsx)("div",{className:"tag-row",children:so.slice(0,4).map(e=>(0,i.jsxs)("span",{children:["Missed ",e.best_available_ticker," vs ",e.ticker]},"".concat(e.trade_id,"-").concat(e.best_available_ticker)))})]}),(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Business Quality Lab"}),(0,i.jsx)("strong",{children:sc.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[(sc.length?sc:[]).slice(0,5).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:"".concat(e.ticker," | ").concat(e.status)}),(0,i.jsxs)("div",{className:"opportunity-line",children:[(0,i.jsx)("strong",{children:e.name}),(0,i.jsxs)("span",{children:[y(e.business_quality_score),"/100"]})]}),(0,i.jsxs)("p",{children:["Growth ",y(e.growth_quality)," | FCF ",y(e.cash_flow_quality)," | moat ",y(e.moat_quality)," | data ",y(e.data_quality_score)]})]},e.ticker)),0===sc.length&&(0,i.jsx)("div",{className:"empty-state compact",children:"No business-quality evidence yet. Stored fundamental snapshots are required."})]})]}),(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Portfolio Intelligence"}),(0,i.jsxs)("strong",{children:[y(null==su?void 0:su.score),"/100"]})]}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Diversification",value:y(null==su?void 0:null===(em=su.components)||void 0===em?void 0:em.diversification)}),(0,i.jsx)(m,{label:"Concentration Risk",value:y(null==su?void 0:null===(ex=su.components)||void 0===ex?void 0:ex.concentration_risk)}),(0,i.jsx)(m,{label:"Drawdown Control",value:y(null==su?void 0:null===(ej=su.components)||void 0===ej?void 0:ej.drawdown_control)}),(0,i.jsx)(m,{label:"Alpha Generation",value:y(null==su?void 0:null===(eg=su.components)||void 0===eg?void 0:eg.alpha_generation)}),(0,i.jsx)(m,{label:"Contributors",value:sv.length}),(0,i.jsx)(m,{label:"Correlations",value:sh.length})]}),(0,i.jsx)("p",{children:null!==(np=null==su?void 0:su.explanation)&&void 0!==np?np:"BLUM needs portfolio trade evidence before contribution, concentration and portfolio-alpha quality can be measured."}),(null!==(nm=null==su?void 0:su.warnings)&&void 0!==nm?nm:[]).length>0&&(0,i.jsx)("div",{className:"tag-row",children:su.warnings.slice(0,4).map(e=>(0,i.jsx)("span",{children:e},e))})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Benchmark Arena"}),(0,i.jsx)("strong",{children:sx.length})]}),(0,i.jsxs)("div",{className:"learning-table",children:[(0,i.jsxs)("div",{className:"learning-row head",children:[(0,i.jsx)("span",{children:"Benchmark"}),(0,i.jsx)("span",{children:"Type"}),(0,i.jsx)("span",{children:"Result"}),(0,i.jsx)("span",{children:"Excess"}),(0,i.jsx)("span",{children:"Sample"}),(0,i.jsx)("span",{children:"Evidence"})]}),sx.slice(0,10).map(e=>(0,i.jsxs)("div",{className:"learning-row",children:[(0,i.jsx)("strong",{children:e.benchmark_name}),(0,i.jsx)("span",{children:e.benchmark_type}),(0,i.jsx)("span",{className:function(e){let l=String(null!=e?e:"");return"outperforming"===l?"positive-text":"underperforming"===l?"negative-text":""}(e.result_label),children:String(e.result_label).replaceAll("_"," ")}),(0,i.jsx)("span",{className:Number(e.excess_return)>=0?"positive-text":"negative-text",children:j(e.excess_return)}),(0,i.jsx)("span",{children:e.sample_size}),(0,i.jsx)("span",{children:e.statistical_confidence})]},"".concat(e.benchmark_name,"-").concat(e.benchmark_type))),0===sx.length&&(0,i.jsx)("div",{className:"empty-state",children:"No benchmark comparison is available yet."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Strength / Weakness Map"}),(0,i.jsx)("strong",{children:sg.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[sg.slice(0,6).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:"".concat(e.dimension,": ").concat(String(e.entity).replaceAll("_"," "))}),(0,i.jsxs)("div",{className:"opportunity-line",children:[(0,i.jsx)("strong",{children:e.main_problem}),(0,i.jsxs)("span",{children:[y(e.weakness_score),"/100 weak"]})]}),(0,i.jsx)("p",{children:e.recommended_action}),(0,i.jsxs)("p",{children:["Samples ",e.sample_size," | strength ",y(e.strength_score)," | priority ",e.priority]})]},"".concat(e.dimension,"-").concat(e.entity))),0===sg.length&&(0,i.jsx)("div",{className:"empty-state compact",children:"No weakness map yet. BLUM needs trade outcomes and attribution samples."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Self-Improvement Queue"}),(0,i.jsx)("strong",{children:sy.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[sy.slice(0,6).map(e=>{var l;return(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:"".concat(e.priority," | ").concat(e.status)}),(0,i.jsx)("strong",{children:e.detected_problem}),(0,i.jsx)("p",{children:e.recommended_action}),(0,i.jsxs)("p",{children:["Module ",e.affected_module," | impact: ",e.expected_impact]})]},null!==(l=e.id)&&void 0!==l?l:"".concat(e.source_dimension,"-").concat(e.affected_module))}),0===sy.length&&(0,i.jsx)("div",{className:"empty-state compact",children:"No self-improvement action has been proposed yet."})]})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Capital Cycle"}),(0,i.jsx)("strong",{children:null!==(nx=null==i5?void 0:i5.status)&&void 0!==nx?nx:"no cycle"})]}),(0,i.jsx)("div",{className:"cycle-progress-track",children:(0,i.jsx)("span",{style:{width:"".concat(g(i5),"%")}})}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Cycle Capital",value:_(null!==(nj=null==i5?void 0:i5.final_capital)&&void 0!==nj?nj:null==iJ?void 0:iJ.current_capital)}),(0,i.jsx)(m,{label:"Target",value:_(null!==(ng=null==i5?void 0:i5.target_capital)&&void 0!==ng?ng:null==iJ?void 0:iJ.target_capital)}),(0,i.jsx)(m,{label:"Progress",value:"".concat(g(i5).toFixed(1),"%")}),(0,i.jsx)(m,{label:"Cycle #",value:null!==(ny=null==i5?void 0:i5.cycle_number)&&void 0!==ny?ny:"n/a"}),(0,i.jsx)(m,{label:"Targets Hit",value:null!==(nb=null!==(n_=null==i3?void 0:i3.target_cycles_completed)&&void 0!==n_?n_:null==iJ?void 0:iJ.target_cycles_completed)&&void 0!==nb?nb:0}),(0,i.jsx)(m,{label:"Bankrupt Cycles",value:null!==(nN=null!==(nf=null==i3?void 0:i3.bankrupt_cycles)&&void 0!==nf?nf:null==iJ?void 0:iJ.bankrupt_cycles)&&void 0!==nN?nN:0})]}),(0,i.jsx)("p",{children:"Capital growth is capped into 100 EUR to target cycles. When target or bankruptcy is reached, the cycle is recorded and the active bankroll restarts from 100 EUR."})]}),(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Trading Intelligence Metrics"}),(0,i.jsxs)("strong",{children:[y(null==i6?void 0:i6.intelligence_growth_score),"/100"]})]}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Win Rate",value:x(null==i6?void 0:i6.win_rate)}),(0,i.jsx)(m,{label:"Missed Entry",value:x(null==i6?void 0:i6.missed_entry_rate)}),(0,i.jsx)(m,{label:"Target Hit",value:x(null==i6?void 0:i6.target_hit_rate)}),(0,i.jsx)(m,{label:"Stop Hit",value:x(null==i6?void 0:i6.stop_hit_rate)}),(0,i.jsx)(m,{label:"Expectancy",value:"".concat(y(null==i6?void 0:i6.expectancy_r),"R")}),(0,i.jsx)(m,{label:"Benchmark Excess",value:j(null==i6?void 0:i6.benchmark_excess)})]}),(0,i.jsx)("p",{children:"These metrics measure decision quality, not only P/L. High numbers still require sample-size and realism checks before they mean anything."})]}),(0,i.jsxs)("div",{className:"panel lab-command-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Historical vs Live Forward"}),(0,i.jsx)("strong",{children:null!==(nk=null==sl?void 0:sl.status)&&void 0!==nk?nk:"loading"})]}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Live Capital",value:_(null==sn?void 0:sn.current_capital)}),(0,i.jsx)(m,{label:"Open Positions",value:null!==(nS=null!==(nw=ss.length)&&void 0!==nw?nw:null==sn?void 0:sn.open_positions)&&void 0!==nS?nS:0}),(0,i.jsx)(m,{label:"Live Trades",value:null!==(nR=null!==(nT=null==sa?void 0:sa.trades_count)&&void 0!==nT?nT:null==se?void 0:null===(ey=se.live)||void 0===ey?void 0:ey.trades_count)&&void 0!==nR?nR:0}),(0,i.jsx)(m,{label:"Historical Trades",value:null!==(nL=null==se?void 0:null===(e_=se.historical)||void 0===e_?void 0:e_.trades_count)&&void 0!==nL?nL:0}),(0,i.jsx)(m,{label:"Live Expectancy",value:"".concat(y(null!==(nC=null==sa?void 0:sa.expectancy_r)&&void 0!==nC?nC:null==se?void 0:null===(eb=se.live)||void 0===eb?void 0:eb.expectancy_r),"R")}),(0,i.jsx)(m,{label:"Historical Expectancy",value:"".concat(y(null==se?void 0:null===(ef=se.historical)||void 0===ef?void 0:ef.expectancy_r),"R")})]}),(0,i.jsx)("p",{children:null!==(nM=null==se?void 0:se.sample_warning)&&void 0!==nM?nM:"Live forward paper evidence starts weak and becomes meaningful only after enough timestamp-frozen trades close."})]})]}),iI?(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Reasoning Precision Core"}),(0,i.jsx)("strong",{children:null!==(nE=null==iy?void 0:null===(ek=iy.status)||void 0===ek?void 0:null===(eN=ek.precision_core)||void 0===eN?void 0:eN.status)&&void 0!==nE?nE:"Loading"})]}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Survival Metrics",value:null!==(nq=sT.thesis_survival_metrics)&&void 0!==nq?nq:0}),(0,i.jsx)(m,{label:"Conviction Rows",value:null!==(nA=sT.conviction_history_rows)&&void 0!==nA?nA:0}),(0,i.jsx)(m,{label:"Regime Reliability",value:null!==(nB=sT.reliability_by_regime_rows)&&void 0!==nB?nB:0}),(0,i.jsx)(m,{label:"Thesis Competitions",value:null!==(nP=sT.thesis_competitions)&&void 0!==nP?nP:0}),(0,i.jsx)(m,{label:"Engine Votes",value:null!==(nO=sT.engine_votes)&&void 0!==nO?nO:0}),(0,i.jsx)(m,{label:"Benchmark Outcomes",value:null!==(nz=sT.benchmark_relative_outcomes)&&void 0!==nz?nz:0})]}),(0,i.jsx)("p",{children:"These panels measure thesis durability, confidence decay, benchmark-relative evidence and engine disagreement. They update database memory only; no source code is self-modified."})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Thesis survival and decay"}),(0,i.jsxs)("strong",{children:[sR.length," / ",sL.length]})]}),(0,i.jsxs)("div",{className:"learning-table",children:[(0,i.jsxs)("div",{className:"learning-row head",children:[(0,i.jsx)("span",{children:"Ticker"}),(0,i.jsx)("span",{children:"Status"}),(0,i.jsx)("span",{children:"Age"}),(0,i.jsx)("span",{children:"Confidence"}),(0,i.jsx)("span",{children:"Excess"}),(0,i.jsx)("span",{children:"Quality"})]}),sR.slice(0,8).map(e=>{var l;return(0,i.jsxs)("div",{className:"learning-row",children:[(0,i.jsx)("strong",{children:e.ticker}),(0,i.jsx)("span",{children:e.survival_status}),(0,i.jsxs)("span",{children:[y(e.survival_days),"d"]}),(0,i.jsx)("span",{children:y(e.current_confidence)}),(0,i.jsx)("span",{className:Number(e.excess_return)>=0?"positive-text":"negative-text",children:null==(l=e.excess_return)||Number.isNaN(Number(l))?"n/a":"".concat((100*Number(l)).toFixed(2),"%")}),(0,i.jsx)("span",{children:y(e.survival_quality_score)})]},e.id)}),0===sR.length&&(0,i.jsx)("div",{className:"empty-state",children:"No thesis survival rows yet. The autonomous model cycle will create them after stored theses exist."})]})]})]}):(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Tier 4 Deep Reasoning Panels"}),(0,i.jsx)("button",{className:"button compact",onClick:iU,disabled:iz,children:iz?"Loading...":"Load deep reasoning panels"})]}),(0,i.jsx)("p",{children:"Thesis survival, conviction decay, regime-aware reliability, thesis competitions, ensemble status and training quality are intentionally lazy-loaded. They no longer block the Learning dashboard first render."})]}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},ref:iF,children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Full Trade Ledger"}),(0,i.jsxs)("strong",{children:[i1.length," visible / ",null!==(nG=null==ij?void 0:null===(ew=ij.ledger)||void 0===ew?void 0:ew.total)&&void 0!==nG?nG:0," total"]})]}),!iP&&!iA&&(0,i.jsx)("div",{className:"empty-state compact",style:{marginBottom:12},children:"Detailed ledgers are lazy-loaded. Scroll here or use the Tier 3 button to fetch paginated trade evidence."}),(0,i.jsxs)("div",{className:"evidence-grid",style:{marginBottom:12},children:[(0,i.jsx)(m,{label:"Wins",value:null!==(nI=null==i2?void 0:i2.wins)&&void 0!==nI?nI:0}),(0,i.jsx)(m,{label:"Losses",value:null!==(nD=null==i2?void 0:i2.losses)&&void 0!==nD?nD:0}),(0,i.jsx)(m,{label:"Missed Entries",value:null!==(nF=null==i2?void 0:i2.missed_entries)&&void 0!==nF?nF:0}),(0,i.jsx)(m,{label:"Target Hits",value:null!==(nU=null==i2?void 0:i2.target_hits)&&void 0!==nU?nU:0}),(0,i.jsx)(m,{label:"Stop Hits",value:null!==(nZ=null==i2?void 0:i2.stop_hits)&&void 0!==nZ?nZ:0}),(0,i.jsx)(m,{label:"No-Trade Correct",value:null!==(nH=null==i2?void 0:i2.no_trade_correct)&&void 0!==nH?nH:0})]}),(0,i.jsxs)("div",{className:"learning-table trade-ledger-table",children:[(0,i.jsxs)("div",{className:"learning-row trade-ledger-row head",children:[(0,i.jsx)("span",{children:"Ticker"}),(0,i.jsx)("span",{children:"Setup"}),(0,i.jsx)("span",{children:"Mode"}),(0,i.jsx)("span",{children:"Cycle"}),(0,i.jsx)("span",{children:"Entry"}),(0,i.jsx)("span",{children:"Exit"}),(0,i.jsx)("span",{children:"P/L EUR"}),(0,i.jsx)("span",{children:"P/L/share"}),(0,i.jsx)("span",{children:"R"}),(0,i.jsx)("span",{children:"Outcome"}),(0,i.jsx)("span",{children:"Quality"}),(0,i.jsx)("span",{children:"Excess"})]}),i1.slice(0,18).map(e=>{var l,n,s,a;return(0,i.jsxs)("button",{className:"learning-row trade-ledger-row clickable",onClick:()=>sB(e.trade_id),children:[(0,i.jsx)("strong",{children:e.ticker}),(0,i.jsx)("span",{children:String(e.setup_type).replaceAll("_"," ")}),(0,i.jsx)("span",{children:String(null!==(l=e.mode)&&void 0!==l?l:"historical").replaceAll("_"," ")}),(0,i.jsx)("span",{children:null!==(n=e.capital_cycle_id)&&void 0!==n?n:"n/a"}),(0,i.jsxs)("span",{children:[e.entry_date,(0,i.jsx)("br",{}),y(e.entry_price)]}),(0,i.jsxs)("span",{children:[null!==(s=e.exit_date)&&void 0!==s?s:"open",(0,i.jsx)("br",{}),y(e.exit_price)]}),(0,i.jsx)("span",{className:Number(e.net_pnl_eur)>=0?"positive-text":"negative-text",children:_(e.net_pnl_eur)}),(0,i.jsx)("span",{className:Number(e.pnl_per_share)>=0?"positive-text":"negative-text",children:y(e.pnl_per_share)}),(0,i.jsx)("span",{className:Number(e.r_multiple)>=0?"positive-text":"negative-text",children:y(e.r_multiple)}),(0,i.jsx)("span",{children:String(null!==(a=e.outcome_label)&&void 0!==a?a:e.decision_state).replaceAll("_"," ")}),(0,i.jsx)("span",{children:y(e.trade_quality_score)}),(0,i.jsx)("span",{className:Number(e.excess_return_vs_benchmark)>=0?"positive-text":"negative-text",children:j(e.excess_return_vs_benchmark)})]},e.trade_id)}),0===i1.length&&(0,i.jsx)("div",{className:"empty-state",children:"No detailed trade ledger is available yet. The next Trading Game run will enrich persisted trades with entry, exit, attribution, P/L and learning evidence."})]})]}),ik&&(0,i.jsxs)("div",{className:"empty-state",style:{marginTop:12},children:["Trade detail error: ",ik]}),ib&&(0,i.jsxs)("section",{className:"panel trade-detail-panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Trade Replay"}),(0,i.jsx)("button",{className:"button compact",onClick:()=>iN(null),children:"Close"})]}),(0,i.jsxs)("div",{className:"grid-3",children:[(0,i.jsxs)("div",{className:"observed-model-panel",children:[(0,i.jsx)("span",{children:"Trade"}),(0,i.jsxs)("h3",{children:[null===(eS=ib.trade)||void 0===eS?void 0:eS.ticker," / ",String(null===(eT=ib.trade)||void 0===eT?void 0:eT.setup_type).replaceAll("_"," ")]}),(0,i.jsx)("p",{children:null===(eL=ib.replay)||void 0===eL?void 0:null===(eR=eL.entry_decision)||void 0===eR?void 0:eR.why_considered}),(0,i.jsx)("p",{children:null===(eM=ib.replay)||void 0===eM?void 0:null===(eC=eM.exit_decision)||void 0===eC?void 0:eC.reason})]}),(0,i.jsxs)("div",{className:"observed-model-panel",children:[(0,i.jsx)("span",{children:"P/L Breakdown"}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Net P/L",value:_(null===(eE=ib.pnl_breakdown)||void 0===eE?void 0:eE.net_pnl_eur)}),(0,i.jsx)(m,{label:"Per Share",value:y(null===(eq=ib.pnl_breakdown)||void 0===eq?void 0:eq.pnl_per_share)}),(0,i.jsx)(m,{label:"R Multiple",value:y(null===(eA=ib.pnl_breakdown)||void 0===eA?void 0:eA.r_multiple)}),(0,i.jsx)(m,{label:"Benchmark Excess",value:j(null===(eB=ib.pnl_breakdown)||void 0===eB?void 0:eB.benchmark_relative_pnl)}),(0,i.jsx)(m,{label:"Fees",value:_(null===(eP=ib.pnl_breakdown)||void 0===eP?void 0:eP.fees_estimate)}),(0,i.jsx)(m,{label:"Slippage",value:_(null===(eO=ib.pnl_breakdown)||void 0===eO?void 0:eO.slippage_estimate)})]})]}),(0,i.jsxs)("div",{className:"observed-model-panel",children:[(0,i.jsx)("span",{children:"Risk Plan"}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Capital Before",value:_(null===(eG=ib.replay)||void 0===eG?void 0:null===(ez=eG.risk_management)||void 0===ez?void 0:ez.capital_before)}),(0,i.jsx)(m,{label:"Risk EUR",value:_(null===(eD=ib.replay)||void 0===eD?void 0:null===(eI=eD.risk_management)||void 0===eI?void 0:eI.risk_amount_eur)}),(0,i.jsx)(m,{label:"Risk %",value:j(null===(eU=ib.replay)||void 0===eU?void 0:null===(eF=eU.risk_management)||void 0===eF?void 0:eF.risk_percent)}),(0,i.jsx)(m,{label:"Size",value:y(null===(eH=ib.replay)||void 0===eH?void 0:null===(eZ=eH.risk_management)||void 0===eZ?void 0:eZ.position_size)}),(0,i.jsx)(m,{label:"Invalidation",value:y(null===(eQ=ib.replay)||void 0===eQ?void 0:null===(eW=eQ.risk_management)||void 0===eW?void 0:eW.invalidation_level)}),(0,i.jsx)(m,{label:"Max Loss",value:_(null===(e$=ib.replay)||void 0===e$?void 0:null===(eV=e$.risk_management)||void 0===eV?void 0:eV.max_expected_loss)})]})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-inner",children:[(0,i.jsx)("span",{children:"Engine Attribution"}),(0,i.jsx)("div",{className:"brain-list dense",children:(null!==(nW=ib.attribution)&&void 0!==nW?nW:[]).slice(0,6).map(e=>{var l;return(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:e.engine_name}),(0,i.jsxs)("strong",{children:[e.vote," | contribution ",y(e.contribution_score)]}),(0,i.jsx)("p",{children:e.explanation})]},null!==(l=e.id)&&void 0!==l?l:e.engine_name)})})]}),(0,i.jsxs)("div",{className:"panel-inner",children:[(0,i.jsx)("span",{children:"Trade Quality"}),(0,i.jsx)("p",{children:null===(eJ=ib.quality)||void 0===eJ?void 0:eJ.explanation}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Final",value:y(null===(eK=ib.quality)||void 0===eK?void 0:eK.final_trade_quality_score)}),(0,i.jsx)(m,{label:"Entry",value:y(null===(eX=ib.quality)||void 0===eX?void 0:eX.entry_quality)}),(0,i.jsx)(m,{label:"Exit",value:y(null===(eY=ib.quality)||void 0===eY?void 0:eY.exit_quality)}),(0,i.jsx)(m,{label:"Risk/Reward",value:y(null===(e0=ib.quality)||void 0===e0?void 0:e0.risk_reward_quality)}),(0,i.jsx)(m,{label:"Rule",value:y(null===(e1=ib.quality)||void 0===e1?void 0:e1.rule_compliance)}),(0,i.jsx)(m,{label:"Luck",value:y(null===(e2=ib.quality)||void 0===e2?void 0:e2.luck_factor)})]})]}),(0,i.jsxs)("div",{className:"panel-inner",children:[(0,i.jsx)("span",{children:"Learning Outcome"}),(0,i.jsxs)("div",{className:"brain-list dense",children:[(null!==(nQ=ib.learning_outcome)&&void 0!==nQ?nQ:[]).slice(0,4).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:String(e.lesson_type).replaceAll("_"," ")}),(0,i.jsx)("strong",{children:e.affected_module}),(0,i.jsx)("p",{children:e.observation})]},e.id)),(!ib.learning_outcome||0===ib.learning_outcome.length)&&(0,i.jsx)("div",{className:"empty-state compact",children:"No learning evidence is linked to this trade yet."})]})]})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Reality Check"}),(0,i.jsx)("strong",{children:null!==(nV=null==sf?void 0:sf.statistical_confidence)&&void 0!==nV?nV:"n/a"})]}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Trades",value:null!==(n$=null==sf?void 0:sf.trades_count)&&void 0!==n$?n$:0}),(0,i.jsx)(m,{label:"Tickers",value:null!==(nJ=null==sf?void 0:sf.unique_tickers)&&void 0!==nJ?nJ:0}),(0,i.jsx)(m,{label:"Sectors",value:null!==(nK=null==sf?void 0:sf.unique_sectors)&&void 0!==nK?nK:0}),(0,i.jsx)(m,{label:"Regimes",value:null!==(nX=null==sf?void 0:sf.unique_regimes)&&void 0!==nX?nX:0}),(0,i.jsx)(m,{label:"Sample",value:"".concat(y(null==sf?void 0:sf.sample_quality_score),"/100")}),(0,i.jsx)(m,{label:"Realism",value:"".concat(y(null==sf?void 0:sf.realism_score),"/100")})]}),(0,i.jsx)("p",{children:null!==(nY=null==sf?void 0:sf.explanation)&&void 0!==nY?nY:"Reality check will appear after trade transparency runs."}),(null!==(n0=null==sf?void 0:sf.warnings)&&void 0!==n0?n0:[]).length>0&&(0,i.jsx)("div",{className:"tag-row",children:sf.warnings.slice(0,8).map(e=>(0,i.jsx)("span",{children:e.replaceAll("_"," ")},e))})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"P/L Breakdown"}),(0,i.jsx)("strong",{children:_(null==sN?void 0:sN.total_realized_pnl)})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[Object.entries(null!==(n1=null==sN?void 0:sN.pnl_by_setup)&&void 0!==n1?n1:{}).slice(0,5).map(e=>{let[l,n]=e;return(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"opportunity-line",children:[(0,i.jsx)("strong",{children:l.replaceAll("_"," ")}),(0,i.jsx)("span",{className:Number(n.pnl)>=0?"positive-text":"negative-text",children:_(n.pnl)})]}),(0,i.jsxs)("p",{children:["Count ",n.count," | average ",y(n.average_r),"R"]})]},l)}),0===Object.keys(null!==(n2=null==sN?void 0:sN.pnl_by_setup)&&void 0!==n2?n2:{}).length&&(0,i.jsx)("div",{className:"empty-state compact",children:"No setup-level P/L breakdown yet."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Learning Evidence Log"}),(0,i.jsx)("strong",{children:sb.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[sb.slice(0,6).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:String(e.lesson_type).replaceAll("_"," ")}),(0,i.jsxs)("strong",{children:[e.ticker," | ",String(e.setup_type).replaceAll("_"," ")]}),(0,i.jsx)("p",{children:e.observation})]},e.id)),0===sb.length&&(0,i.jsx)("div",{className:"empty-state compact",children:"No trade learning evidence has been persisted yet."})]})]})]}),(0,i.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Capital Cycle History"}),(0,i.jsx)("strong",{children:i4.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[i4.slice(0,6).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:"Cycle ".concat(e.cycle_number)}),(0,i.jsxs)("div",{className:"opportunity-line",children:[(0,i.jsx)("strong",{children:String(e.status).replaceAll("_"," ")}),(0,i.jsx)("span",{children:_(e.final_capital)})]}),(0,i.jsxs)("p",{children:["Target ",_(e.target_capital)," | trades ",e.trades_count," | return ",j(e.return_percent)," | expectancy ",y(e.expectancy_r),"R"]})]},e.id)),0===i4.length&&(0,i.jsx)("div",{className:"empty-state compact",children:"No capital cycle has been recorded yet."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Setup Development"}),(0,i.jsx)("strong",{children:i9.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[i9.slice(0,6).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:String(e.scope_id).replaceAll("_"," ")}),(0,i.jsxs)("div",{className:"opportunity-line",children:[(0,i.jsxs)("strong",{children:[y(e.intelligence_growth_score),"/100 growth"]}),(0,i.jsxs)("span",{children:[y(e.expectancy_r),"R"]})]}),(0,i.jsxs)("p",{children:["Win ",x(e.win_rate)," | missed ",x(e.missed_entry_rate)," | quality ",y(e.trade_quality_score)]})]},e.scope_id)),0===i9.length&&(0,i.jsx)("div",{className:"empty-state compact",children:"No setup intelligence metrics yet."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Regime / Sector Learning"}),(0,i.jsx)("strong",{children:i8.length+i7.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[i8.slice(0,3).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:"Regime ".concat(e.scope_id)}),(0,i.jsxs)("strong",{children:[y(e.intelligence_growth_score),"/100 | ",y(e.expectancy_r),"R"]}),(0,i.jsxs)("p",{children:["Benchmark excess ",j(e.benchmark_excess)," | trades ",e.trades_count]})]},"regime-".concat(e.scope_id))),i7.slice(0,3).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:"Sector ".concat(e.scope_id)}),(0,i.jsxs)("strong",{children:[y(e.intelligence_growth_score),"/100 | ",y(e.expectancy_r),"R"]}),(0,i.jsxs)("p",{children:["Benchmark excess ",j(e.benchmark_excess)," | trades ",e.trades_count]})]},"sector-".concat(e.scope_id))),i8.length+i7.length===0&&(0,i.jsx)("div",{className:"empty-state compact",children:"No regime or sector learning metrics yet."})]})]})]}),iI&&(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Regime-aware reliability"}),(0,i.jsx)("strong",{children:sC.length})]}),(0,i.jsxs)("div",{className:"learning-table",children:[(0,i.jsxs)("div",{className:"learning-row head",children:[(0,i.jsx)("span",{children:"Engine"}),(0,i.jsx)("span",{children:"Setup"}),(0,i.jsx)("span",{children:"Regime"}),(0,i.jsx)("span",{children:"Samples"}),(0,i.jsx)("span",{children:"Hit"}),(0,i.jsx)("span",{children:"Penalty"})]}),sC.slice(0,8).map(e=>(0,i.jsxs)("div",{className:"learning-row",children:[(0,i.jsx)("strong",{children:String(e.engine_name).replaceAll("_"," ")}),(0,i.jsx)("span",{children:String(e.setup_type).replaceAll("_"," ")}),(0,i.jsx)("span",{children:e.market_regime}),(0,i.jsx)("span",{children:e.sample_size}),(0,i.jsx)("span",{children:x(e.hit_rate)}),(0,i.jsx)("span",{children:y(e.confidence_penalty)})]},e.id)),0===sC.length&&(0,i.jsx)("div",{className:"empty-state",children:"No regime-specific reliability rows yet. BLUM needs matured thesis outcomes first."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Thesis competition and training quality"}),(0,i.jsx)("strong",{children:sM.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[sM.slice(0,5).map(e=>{var l,n;return(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:e.ticker}),(0,i.jsx)("strong",{children:e.judge_summary||"Competition pending"}),(0,i.jsxs)("p",{children:["Uncertainty ",y(e.uncertainty_score),"/100 | theses ",null!==(n=null===(l=e.theses)||void 0===l?void 0:l.length)&&void 0!==n?n:0]})]},e.id)}),0===sM.length&&(0,i.jsx)("div",{className:"empty-state",children:"No bull/bear/neutral thesis competitions yet."}),sE.slice(0,3).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:"Training gate"}),(0,i.jsxs)("strong",{children:["Training value ",y(e.final_training_value_score),"/100"]}),(0,i.jsxs)("p",{children:["SFT ",String(e.include_in_sft)," | preference ",String(e.include_in_preference_training)," | DPO ",String(e.include_in_dpo)]})]},"quality-".concat(e.id)))]})]})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsx)(u.G,{title:"Trading Game Equity Curve",data:sA,layout:{yaxis:{title:"Capital EUR"},xaxis:{title:"Simulation date"}}}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Paper P/L and capital discipline"}),(0,i.jsx)("strong",{children:null!==(n4=null==iJ?void 0:iJ.status)&&void 0!==n4?n4:"No game"})]}),iJ?(0,i.jsxs)("div",{className:"brain-list dense",children:[(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Capital",value:_(iJ.current_capital)}),(0,i.jsx)(m,{label:"Realized P/L",value:_(iJ.realized_pl)}),(0,i.jsx)(m,{label:"Max Drawdown",value:"".concat(y(iJ.max_drawdown),"%")}),(0,i.jsx)(m,{label:"Expectancy",value:"".concat(y(iJ.expectancy_r),"R")}),(0,i.jsx)(m,{label:"Profit Factor",value:y(iJ.profit_factor)}),(0,i.jsx)(m,{label:"Risk of Ruin",value:"".concat(y(iJ.risk_of_ruin),"%")}),(0,i.jsx)(m,{label:"Benchmark Alpha",value:"".concat(y(null==sw?void 0:sw.alpha),"%")}),(0,i.jsx)(m,{label:"Reproducibility",value:"".concat(y(null==sS?void 0:sS.average_reproducibility),"/100")})]}),(0,i.jsxs)("p",{children:["BLUM starts each paper game at 100 EUR, risks fractionally, rejects non-reproducible setups and compares the equity curve against ",null!==(n5=null==sw?void 0:sw.benchmark)&&void 0!==n5?n5:iJ.benchmark_ticker,". Small samples never qualify as proof of outperformance."]})]}):(0,i.jsx)("div",{className:"empty-state",children:"No trading game has been created yet. The autonomous engine will start it after Sniper simulations are available."})]})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Recent reproducible trade decisions"}),(0,i.jsx)("strong",{children:i0.length})]}),(0,i.jsxs)("div",{className:"learning-table",children:[(0,i.jsxs)("div",{className:"learning-row head",children:[(0,i.jsx)("span",{children:"Ticker"}),(0,i.jsx)("span",{children:"Setup"}),(0,i.jsx)("span",{children:"Decision"}),(0,i.jsx)("span",{children:"R"}),(0,i.jsx)("span",{children:"P/L"}),(0,i.jsx)("span",{children:"Capital"})]}),i0.slice(0,12).map(e=>(0,i.jsxs)("div",{className:"learning-row",children:[(0,i.jsx)("strong",{children:e.ticker}),(0,i.jsx)("span",{children:String(e.setup_type).replaceAll("_"," ")}),(0,i.jsx)("span",{children:String(e.decision_state).replaceAll("_"," ")}),(0,i.jsx)("span",{className:Number(e.realized_r_multiple)>=0?"positive-text":"negative-text",children:y(e.realized_r_multiple)}),(0,i.jsx)("span",{className:Number(e.realized_pl)>=0?"positive-text":"negative-text",children:_(e.realized_pl)}),(0,i.jsx)("span",{children:_(e.capital_after)})]},e.id)),0===i0.length&&(0,i.jsx)("div",{className:"empty-state",children:"No P/L decisions yet. BLUM needs stored execution simulations before the game can score trades."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Capital management lessons"}),(0,i.jsx)("strong",{children:sk.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[sk.slice(0,8).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:String(e.category).replaceAll("_"," ")}),(0,i.jsx)("strong",{children:e.lesson}),(0,i.jsxs)("p",{children:["Reliability ",y(e.reliability_score),"/100 | samples ",e.sample_count]})]},e.id)),0===sk.length&&(0,i.jsx)("div",{className:"empty-state",children:"No capital management lessons yet."})]})]})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsx)(u.G,{title:"Walk-forward Accuracy by Horizon",data:sq,layout:{yaxis:{range:[0,100],title:"Accuracy %"},xaxis:{title:"Prediction horizon"}}}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Latest autonomous run"}),(0,i.jsx)("strong",{children:null!==(n3=null==i$?void 0:i$.status)&&void 0!==n3?n3:"No run yet"})]}),i$?(0,i.jsxs)("div",{className:"brain-list dense",children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:null!==(n6=i$.trigger)&&void 0!==n6?n6:"scheduled"}),(0,i.jsx)("strong",{children:i$.run_id}),(0,i.jsxs)("p",{children:[b(i$.started_at)," to ",b(i$.completed_at)]})]}),(0,i.jsxs)("div",{className:"evidence-grid",children:[(0,i.jsx)(m,{label:"Predictions",value:i$.predictions_created}),(0,i.jsx)(m,{label:"Outcomes",value:i$.outcomes_evaluated}),(0,i.jsx)(m,{label:"Mistakes",value:i$.mistakes_found}),(0,i.jsx)(m,{label:"Memory Updates",value:i$.memory_updates})]}),(0,i.jsx)("p",{children:null!==(n8=null!==(n9=null===(e4=i$.anti_overfitting_report)||void 0===e4?void 0:e4.policy)&&void 0!==n9?n9:null==io?void 0:io.policy)&&void 0!==n8?n8:"Learning Loop policy will appear after the dashboard snapshot loads."})]}):(0,i.jsx)("div",{className:"empty-state",children:"The scheduler is active but no point-in-time learning run has been persisted yet."})]})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Signal reliability memory"}),(0,i.jsx)("strong",{children:iW.length})]}),(0,i.jsxs)("div",{className:"learning-table",children:[(0,i.jsxs)("div",{className:"learning-row head",children:[(0,i.jsx)("span",{children:"Factor"}),(0,i.jsx)("span",{children:"TF"}),(0,i.jsx)("span",{children:"Regime"}),(0,i.jsx)("span",{children:"Samples"}),(0,i.jsx)("span",{children:"Reliability"}),(0,i.jsx)("span",{children:"False +"})]}),iW.slice(0,12).map(e=>{var l;return(0,i.jsxs)("div",{className:"learning-row",children:[(0,i.jsx)("strong",{children:null===(l=e.signal_name)||void 0===l?void 0:l.replaceAll("_"," ")}),(0,i.jsx)("span",{children:e.timeframe}),(0,i.jsx)("span",{children:e.market_regime}),(0,i.jsx)("span",{children:e.sample_count}),(0,i.jsx)("span",{className:function(e){let l=Number(e);return l>=65?"positive-text":l<=42?"negative-text":""}(e.reliability_score),children:y(e.reliability_score)}),(0,i.jsx)("span",{children:e.false_positive_count})]},"".concat(e.signal_name,"-").concat(e.timeframe,"-").concat(e.market_regime))}),0===iW.length&&(0,i.jsx)("div",{className:"empty-state",children:"No signal reliability rows yet. The first learning batches will populate this table."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Mistake taxonomy"}),(0,i.jsx)("strong",{children:iV.length})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[iV.slice(0,12).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsxs)("div",{className:"opportunity-line",children:[(0,i.jsx)("strong",{children:String(e.error_type).replaceAll("_"," ")}),(0,i.jsx)("span",{children:e.count})]}),(0,i.jsx)("p",{children:"Repeated error class used to reduce future overconfidence and improve factor weighting."})]},e.error_type)),0===iV.length&&(0,i.jsx)("div",{className:"empty-state",children:"No classified mistakes yet. This is expected before enough simulated outcomes mature."})]})]})]}),(0,i.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Strategy memory"}),(0,i.jsx)("strong",{children:iQ.length})]}),(0,i.jsxs)("div",{className:"brain-list",children:[iQ.slice(0,10).map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)(v.O,{label:e.category}),(0,i.jsx)("strong",{children:e.lesson}),(0,i.jsxs)("p",{children:["Reliability ",y(e.reliability_score),"/100 | samples ",e.sample_count," | positive ",e.positive_count," | negative ",e.negative_count]})]},e.memory_key)),0===iQ.length&&(0,i.jsx)("div",{className:"empty-state",children:"No strategy memory has been learned yet."})]})]}),(0,i.jsxs)("div",{className:"panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Recent point-in-time predictions"}),(0,i.jsx)("strong",{children:ih.length})]}),(0,i.jsxs)("div",{className:"learning-table predictions",children:[(0,i.jsxs)("div",{className:"learning-row head",children:[(0,i.jsx)("span",{children:"Ticker"}),(0,i.jsx)("span",{children:"Date"}),(0,i.jsx)("span",{children:"Regime"}),(0,i.jsx)("span",{children:"Direction"}),(0,i.jsx)("span",{children:"Confidence"}),(0,i.jsx)("span",{children:"Quality"})]}),ih.slice(0,14).map(e=>(0,i.jsxs)("div",{className:"learning-row",children:[(0,i.jsx)("strong",{children:e.ticker}),(0,i.jsx)("span",{children:e.analysis_date}),(0,i.jsx)("span",{children:e.market_regime}),(0,i.jsx)("span",{children:e.expected_direction}),(0,i.jsx)("span",{children:y(e.confidence)}),(0,i.jsx)("span",{children:y(e.data_quality_score)})]},e.id)),0===ih.length&&(0,i.jsx)("div",{className:"empty-state",children:"No historical predictions persisted yet."})]})]})]}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"Governance and anti-overfitting"}),(0,i.jsx)("strong",{children:"Research only"})]}),(0,i.jsxs)("div",{className:"method-grid",children:[(0,i.jsx)(m,{label:"Asset Universe",value:null!==(n7=null==io?void 0:null===(e5=io.configuration)||void 0===e5?void 0:e5.asset_universe)&&void 0!==n7?n7:"stocks,etfs"}),(0,i.jsx)(m,{label:"Min History",value:"".concat(null!==(ie=null==io?void 0:null===(e3=io.configuration)||void 0===e3?void 0:e3.min_history_years)&&void 0!==ie?ie:"n/a"," years")}),(0,i.jsx)(m,{label:"Daily Guard",value:null!==(il=null==io?void 0:null===(e6=io.configuration)||void 0===e6?void 0:e6.max_daily_runs)&&void 0!==il?il:"n/a"}),(0,i.jsx)(m,{label:"Batch Size",value:null!==(ii=null==io?void 0:null===(e9=io.configuration)||void 0===e9?void 0:e9.batch_size)&&void 0!==ii?ii:"n/a"})]}),(0,i.jsx)("p",{children:null!==(is=null==io?void 0:io.policy)&&void 0!==is?is:"Progressive loading is active. Deep learning details load after the lightweight summary and visible tables."}),(0,i.jsx)("p",{children:"Every prediction stores the simulated date, hidden future policy, horizons, confidence, outcomes and mistake analysis. The loop updates parameters and memory only; it does not execute trades and does not self-modify source code."})]})]})}function p(e){let{icon:l,label:n,value:s,subvalue:a}=e;return(0,i.jsxs)("div",{className:"metric-card",children:[(0,i.jsxs)("span",{className:"metric-label-icon",children:[l,n]}),(0,i.jsx)("strong",{children:s}),(0,i.jsx)("p",{children:a})]})}function m(e){let{label:l,value:n}=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:l}),(0,i.jsx)("strong",{children:null!=n?n:"n/a"})]})}function x(e){return null==e?"n/a":"".concat((100*Number(e)).toFixed(1),"%")}function j(e){return null==e||Number.isNaN(Number(e))?"n/a":"".concat(Number(e).toFixed(2),"%")}function g(e){var l,n;let i=Number(null!==(l=null==e?void 0:e.final_capital)&&void 0!==l?l:0),s=Number(null!==(n=null==e?void 0:e.target_capital)&&void 0!==n?n:0);return Number.isFinite(i)&&Number.isFinite(s)&&!(s<=0)?Math.max(0,Math.min(100,i/s*100)):0}function y(e){return null==e||Number.isNaN(Number(e))?"n/a":Number(e).toFixed(2)}function _(e){return null==e||Number.isNaN(Number(e))?"n/a":"".concat(Number(e).toFixed(2)," EUR")}function b(e){return e?new Date(e).toLocaleString():"n/a"}},979:function(e,l,n){"use strict";n.d(l,{G:function(){return d}});var i=n(3890),s=n(3548),a=n.n(s),t=n(8496);let r=a()(()=>Promise.all([n.e(715),n.e(54)]).then(n.bind(n,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function d(e){let{title:l,data:n,layout:s={},height:a=360,emptyMessage:d="Waiting for real data series."}=e,o=n.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:n,layout:{autosize:!0,height:a,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...s},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,i.jsxs)("section",{className:"panel",children:[(0,i.jsx)("div",{className:"panel-head",children:(0,i.jsx)("span",{children:l})}),o?(0,t.createElement)(r,c):(0,i.jsx)("div",{className:"plot-empty",children:d})]})}},6288:function(e,l,n){"use strict";n.d(l,{O:function(){return a}});var i=n(3890),s=n(2675);function a(e){let{label:l}=e,n=l.includes("Breakout")||l.includes("Strong")?"positive":l.includes("Risk")||l.includes("Avoid")?"negative":l.includes("Divergence")||l.includes("Contrarian")?"warning":"neutral";return(0,i.jsx)("span",{className:(0,s.Z)("status-badge",n),children:l})}},8964:function(e,l,n){"use strict";n.d(l,{Z:function(){return d}});var i=n(8496);let s=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=function(){for(var e=arguments.length,l=Array(e),n=0;n!!e&&""!==e.trim()&&n.indexOf(e)===l).join(" ").trim()};var t={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let r=(0,i.forwardRef)((e,l)=>{let{color:n="currentColor",size:s=24,strokeWidth:r=2,absoluteStrokeWidth:d,className:o="",children:c,iconNode:u,...v}=e;return(0,i.createElement)("svg",{ref:l,...t,width:s,height:s,stroke:n,strokeWidth:d?24*Number(r)/Number(s):r,className:a("lucide",o),...v},[...u.map(e=>{let[l,n]=e;return(0,i.createElement)(l,n)}),...Array.isArray(c)?c:[c]])}),d=(e,l)=>{let n=(0,i.forwardRef)((n,t)=>{let{className:d,...o}=n;return(0,i.createElement)(r,{ref:t,iconNode:l,className:a("lucide-".concat(s(e)),d),...o})});return n.displayName="".concat(e),n}},406:function(e,l,n){"use strict";n.d(l,{Z:function(){return i}});let i=(0,n(8964).Z)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]])},6024:function(e,l,n){"use strict";n.d(l,{Z:function(){return i}});let i=(0,n(8964).Z)("ChartLine",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]])},3258:function(e,l,n){"use strict";n.d(l,{Z:function(){return i}});let i=(0,n(8964).Z)("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]])},6073:function(e,l,n){"use strict";n.d(l,{Z:function(){return i}});let i=(0,n(8964).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},2555:function(e,l,n){"use strict";var i,s;e.exports=(null==(i=n.g.process)?void 0:i.env)&&"object"==typeof(null==(s=n.g.process)?void 0:s.env)?n.g.process:n(4518)},4518:function(e){!function(){var l={229:function(e){var l,n,i,s=e.exports={};function a(){throw Error("setTimeout has not been defined")}function t(){throw Error("clearTimeout has not been defined")}function r(e){if(l===setTimeout)return setTimeout(e,0);if((l===a||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(n){try{return l.call(null,e,0)}catch(n){return l.call(this,e,0)}}}!function(){try{l="function"==typeof setTimeout?setTimeout:a}catch(e){l=a}try{n="function"==typeof clearTimeout?clearTimeout:t}catch(e){n=t}}();var d=[],o=!1,c=-1;function u(){o&&i&&(o=!1,i.length?d=i.concat(d):c=-1,d.length&&v())}function v(){if(!o){var e=r(u);o=!0;for(var l=d.length;l;){for(i=d,d=[];++c1)for(var n=1;n{let{error:l,isLoading:n,pastDelay:i}=e;return null}};"function"==typeof e&&(i.loader=e);let a={...i,...l};return(0,s.default)({...a,modules:null==(n=a.loadableGenerated)?void 0:n.modules})}("function"==typeof l.default||"object"==typeof l.default&&null!==l.default)&&void 0===l.default.__esModule&&(Object.defineProperty(l.default,"__esModule",{value:!0}),Object.assign(l.default,l),e.exports=l.default)},4377:function(e,l,n){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let i=n(4895);function s(e){let{reason:l,children:n}=e;if("undefined"==typeof window)throw new i.BailoutToCSRError(l);return n}},3992:function(e,l,n){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"default",{enumerable:!0,get:function(){return o}});let i=n(3890),s=n(8496),a=n(4377),t=n(2992);function r(e){return{default:e&&"default"in e?e.default:e}}let d={loader:()=>Promise.resolve(r(()=>null)),loading:null,ssr:!0},o=function(e){let l={...d,...e},n=(0,s.lazy)(()=>l.loader().then(r)),o=l.loading;function c(e){let r=o?(0,i.jsx)(o,{isLoading:!0,pastDelay:!0,error:null}):null,d=l.ssr?(0,i.jsxs)(i.Fragment,{children:["undefined"==typeof window?(0,i.jsx)(t.PreloadCss,{moduleIds:l.modules}):null,(0,i.jsx)(n,{...e})]}):(0,i.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(n,{...e})});return(0,i.jsx)(s.Suspense,{fallback:r,children:d})}return c.displayName="LoadableComponent",c}},2992:function(e,l,n){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),Object.defineProperty(l,"PreloadCss",{enumerable:!0,get:function(){return a}});let i=n(3890),s=n(5296);function a(e){let{moduleIds:l}=e;if("undefined"!=typeof window)return null;let n=(0,s.getExpectedRequestStore)("next/dynamic css"),a=[];if(n.reactLoadableManifest&&l){let e=n.reactLoadableManifest;for(let n of l){if(!e[n])continue;let l=e[n].files.filter(e=>e.endsWith(".css"));a.push(...l)}}return 0===a.length?null:(0,i.jsx)(i.Fragment,{children:a.map(e=>(0,i.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},2675:function(e,l,n){"use strict";l.Z=function(){for(var e,l,n=0,i="",s=arguments.length;n{en("");try{let[e,n]=await Promise.allSettled([t.h.marketBrain(),t.h.marketBrainHistory(12)]);if("fulfilled"===e.status&&X(e.value),"fulfilled"===n.status&&$(n.value),"rejected"===e.status)throw e.reason}catch(e){en(e.message)}};if((0,a.useEffect)(()=>{ei()},[]),ee)return(0,s.jsxs)("div",{className:"empty-state",children:["API error: ",ee]});if(!Q)return(0,s.jsx)(c.G,{label:"Loading Market Brain"});let es=Q.opportunity_stack,el=Q.forward_scenarios.map(e=>e.name.replace(/^.*?:\s*/,"")),ea=Q.forward_scenarios.map(e=>e.probability_proxy);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.ft,{eyebrow:"Market Brain",title:"System intelligence and reasoning layer.",subtitle:"A task-routed AI engine that separates market data, sentiment, technical evidence, memory, confidence and explanations.",statusItems:[{label:"Regime",value:Q.regime,tone:"attention"},{label:"Brain score",value:Q.brain_score.toFixed(1),tone:"positive"},{label:"Mode",value:Q.data_mode},{label:"Snapshot",value:x(Q.created_at),tone:"info"}]}),(0,s.jsxs)("section",{className:"brain-hero",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:"Current regime"}),(0,s.jsx)("h2",{children:(0,s.jsx)(d.VL,{regime:Q.regime})}),(0,s.jsx)("p",{children:Q.summary}),(0,s.jsxs)("div",{className:"tag-row",children:[(0,s.jsx)("span",{children:Q.data_mode}),(0,s.jsx)("span",{children:Q.horizon}),(0,s.jsx)("span",{children:x(Q.created_at)})]})]}),(0,s.jsxs)("div",{className:"brain-score",children:[(0,s.jsx)("span",{children:"Blum Market Brain Score"}),(0,s.jsx)("strong",{children:Q.brain_score.toFixed(1)}),(0,s.jsx)("p",{children:"Composite evidence score derived from signals, sentiment, coverage, news intensity and IPO/pre-listing evidence."})]})]}),(0,s.jsxs)("section",{className:"market-brain-system-grid",style:{marginTop:12},children:[(0,s.jsxs)(d.Ez,{title:"AI Reasoning Layer",value:null!==(E=null===(e=Q.financial_brain)||void 0===e?void 0:e.model_status)&&void 0!==E?E:"configured",subtitle:null!==(I=null===(n=Q.financial_brain)||void 0===n?void 0:n.configured_model)&&void 0!==I?I:"Financial model",children:[(0,s.jsx)("p",{children:null!==(R=null===(i=Q.financial_brain)||void 0===i?void 0:i.thesis)&&void 0!==R?R:"Financial Brain analysis is waiting for a Market Brain packet."}),(0,s.jsx)(d.IL,{value:null===(r=Q.financial_brain)||void 0===r?void 0:null===(l=r.confidence)||void 0===l?void 0:l.score,label:null!==(z=null===(j=Q.financial_brain)||void 0===j?void 0:null===(h=j.confidence)||void 0===h?void 0:h.label)&&void 0!==z?z:"Reasoning confidence"})]}),(0,s.jsx)(d.i9,{label:"Evidence Coverage",value:null!==(L=Q.evidence_ledger.price_rows)&&void 0!==L?L:"n/a",subvalue:"Stored OHLCV rows"}),(0,s.jsx)(d.i9,{label:"News Coverage",value:Q.market_now.news_count_48h,subvalue:"48h public evidence"}),(0,s.jsx)(d.i9,{label:"Fallback Mode",value:(null===(g=Q.financial_brain)||void 0===g?void 0:null===(f=g.model_status)||void 0===f?void 0:f.includes("fallback"))?"Active":"Standby",subvalue:null!==(G=null===(_=Q.financial_brain)||void 0===_?void 0:_.evidence_policy)&&void 0!==G?G:"Evidence-bound generation",tone:(null===(y=Q.financial_brain)||void 0===y?void 0:null===(b=y.model_status)||void 0===b?void 0:b.includes("fallback"))?"attention":"positive"})]}),(0,s.jsxs)("section",{className:"grid-4",style:{marginTop:12},children:[(0,s.jsx)(m,{label:"Assets",value:Q.market_now.asset_count}),(0,s.jsx)(m,{label:"Signals",value:Q.market_now.signal_count}),(0,s.jsx)(m,{label:"48h News",value:Q.market_now.news_count_48h}),(0,s.jsx)(m,{label:"Sentiment",value:Q.market_now.average_sentiment.toFixed(2)})]}),(0,s.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,s.jsx)(o.G,{title:"Forward Scenario Weights",data:[{x:ea,y:el,type:"bar",orientation:"h",marker:{color:["#55aaff","#20e070","#ff4d5e"]}}],layout:{xaxis:{range:[0,100],title:"Probability proxy"}}}),(0,s.jsx)(o.G,{title:"Theme Sentiment Map",data:[{x:Q.market_now.top_themes.map(e=>e.headline_count),y:Q.market_now.top_themes.map(e=>e.avg_sentiment),text:Q.market_now.top_themes.map(e=>e.theme),type:"scatter",mode:"markers+text",marker:{size:Q.market_now.top_themes.map(e=>Math.max(10,3*e.headline_count)),color:"#ffb000"}}],layout:{xaxis:{title:"Headline count"},yaxis:{title:"Avg sentiment"}}})]}),(0,s.jsx)("section",{className:"scenario-grid",style:{marginTop:12},children:Q.forward_scenarios.map(e=>(0,s.jsxs)("article",{className:"panel scenario-card",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:e.time_horizon}),(0,s.jsxs)("strong",{children:[e.probability_proxy,"%"]})]}),(0,s.jsx)("h3",{children:e.name}),(0,s.jsx)("div",{className:"scenario-list",children:e.drivers.map(e=>(0,s.jsx)("p",{children:e},e))}),(0,s.jsx)("div",{className:"tag-row",children:e.watch_points.slice(0,3).map(e=>(0,s.jsx)("span",{children:e},e))})]},e.name))}),(0,s.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Blum Financial Brain"}),(0,s.jsx)("strong",{children:null!==(H=null!==(D=null===(N=Q.financial_brain)||void 0===N?void 0:N.model_name)&&void 0!==D?D:null===(k=Q.financial_brain)||void 0===k?void 0:k.configured_model)&&void 0!==H?H:"financial brain"})]}),(0,s.jsxs)("div",{className:"financial-brain-grid",children:[(0,s.jsxs)("div",{className:"financial-brain-thesis",children:[(0,s.jsx)("span",{children:null!==(W=null===(w=Q.financial_brain)||void 0===w?void 0:w.model_status)&&void 0!==W?W:"model status pending"}),(0,s.jsxs)("h3",{children:[null!==(V=null===(P=Q.financial_brain)||void 0===P?void 0:null===(O=P.confidence)||void 0===O?void 0:O.label)&&void 0!==V?V:"Evidence"," Confidence ",null!==(q=null===(M=Q.financial_brain)||void 0===M?void 0:null===(S=M.confidence)||void 0===S?void 0:S.score)&&void 0!==q?q:"n/a"]}),(0,s.jsx)("p",{children:null!==(U=null===(B=Q.financial_brain)||void 0===B?void 0:B.thesis)&&void 0!==U?U:"Financial Brain analysis is waiting for a Market Brain packet."}),(0,s.jsx)("p",{children:null===(T=Q.financial_brain)||void 0===T?void 0:T.evidence_policy})]}),(0,s.jsx)(v,{title:"Opportunity hypotheses",rows:null!==(Z=null===(A=Q.financial_brain)||void 0===A?void 0:A.opportunity_hypotheses)&&void 0!==Z?Z:[]}),(0,s.jsx)(v,{title:"Risk hypotheses",rows:null!==(J=null===(F=Q.financial_brain)||void 0===F?void 0:F.risk_hypotheses)&&void 0!==J?J:[]}),(0,s.jsx)(v,{title:"Monitoring plan",rows:null!==(K=null===(C=Q.financial_brain)||void 0===C?void 0:C.monitoring_plan)&&void 0!==K?K:[]})]})]}),(0,s.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,s.jsxs)("div",{className:"panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Brain changelog"}),(0,s.jsx)("strong",{children:Q.change_log.length})]}),(0,s.jsx)("div",{className:"brain-list",children:Q.change_log.map(e=>(0,s.jsxs)("div",{children:[(0,s.jsx)(u.O,{label:e.severity}),(0,s.jsx)("strong",{children:e.type.replaceAll("_"," ")}),(0,s.jsx)("p",{children:e.message})]},"".concat(e.type,"-").concat(e.message)))})]}),(0,s.jsxs)("div",{className:"panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Contradiction engine"}),(0,s.jsx)("strong",{children:Q.contradictions.length})]}),(0,s.jsxs)("div",{className:"brain-list",children:[0===Q.contradictions.length&&(0,s.jsx)("div",{className:"empty-state",children:"No material price, sentiment or risk contradictions detected."}),Q.contradictions.slice(0,8).map(e=>(0,s.jsxs)("div",{children:[(0,s.jsx)(u.O,{label:e.severity}),(0,s.jsx)("strong",{children:e.title}),(0,s.jsx)("span",{children:Object.entries(e.evidence).map(e=>{let[n,i]=e;return"".concat(n," ").concat(i)}).join(" | ")})]},"".concat(e.type,"-").concat(e.ticker,"-").concat(e.title)))]})]})]}),(0,s.jsxs)("section",{className:"grid-3",style:{marginTop:12},children:[(0,s.jsx)(p,{title:"Stock research priorities",rows:es.stock_research_priorities,kind:"stock"}),(0,s.jsx)(p,{title:"ETF rotation leaders",rows:es.etf_rotation_leaders,kind:"etf"}),(0,s.jsx)(p,{title:"IPO / pre-listing watch",rows:es.ipo_watch,kind:"ipo"})]}),(0,s.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,s.jsxs)("div",{className:"panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Event graph"}),(0,s.jsxs)("strong",{children:[Q.event_graph.nodes.length," nodes"]})]}),(0,s.jsx)("div",{className:"event-graph",children:Q.event_graph.nodes.slice(0,28).map(e=>(0,s.jsxs)("div",{className:"event-node ".concat(e.type),children:[(0,s.jsx)("span",{children:e.type}),(0,s.jsx)("strong",{children:e.label}),void 0!==e.score&&null!==e.score&&(0,s.jsx)("em",{children:Number(e.score).toFixed(1)})]},e.id))})]}),(0,s.jsxs)("div",{className:"panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Snapshot history"}),(0,s.jsx)("strong",{children:Y.length})]}),(0,s.jsxs)("div",{className:"brain-list dense",children:[0===Y.length&&(0,s.jsx)("div",{className:"empty-state",children:"No persisted Market Brain snapshots yet. The autonomous reasoning cycle is building the first durable snapshot."}),Y.map(e=>{var n,i,l;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"opportunity-line",children:[(0,s.jsx)("strong",{children:e.regime}),(0,s.jsx)("span",{children:Number(e.brain_score).toFixed(1)})]}),(0,s.jsxs)("p",{children:[x(e.created_at)," | risk ",e.risk_alert_count," | contradictions ",e.contradiction_count]}),(0,s.jsxs)("span",{children:["Top: ",null!==(n=e.top_stock)&&void 0!==n?n:"n/a"," | ETF ",null!==(i=e.top_etf)&&void 0!==i?i:"n/a"," | IPO ",null!==(l=e.top_ipo)&&void 0!==l?l:"n/a"]})]},e.run_id)})]})]})]}),(0,s.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,s.jsxs)("div",{className:"panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Risk alerts"}),(0,s.jsx)("strong",{children:Q.risk_alerts.length})]}),(0,s.jsxs)("div",{className:"brain-list",children:[0===Q.risk_alerts.length&&(0,s.jsx)("div",{className:"empty-state",children:"No active risk alerts from the stored evidence set."}),Q.risk_alerts.map(e=>(0,s.jsxs)("div",{children:[(0,s.jsx)(u.O,{label:e.severity}),(0,s.jsx)("strong",{children:e.title}),(0,s.jsx)("p",{children:e.detail}),!!e.tickers.length&&(0,s.jsx)("span",{children:e.tickers.join(" | ")})]},"".concat(e.title,"-").concat(e.severity)))]})]}),(0,s.jsxs)("div",{className:"panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Evidence ledger"}),(0,s.jsx)("strong",{children:"Audit trail"})]}),(0,s.jsx)("div",{className:"evidence-grid",children:Object.entries(Q.evidence_ledger).map(e=>{let[n,i]=e;return(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:n.replaceAll("_"," ")}),(0,s.jsx)("strong",{children:String(i)})]},n)})}),(0,s.jsx)("p",{children:Q.disclaimer})]})]}),(0,s.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Model stack"}),(0,s.jsx)("strong",{children:"Task-routed AI"})]}),(0,s.jsx)("div",{className:"method-grid",children:Object.entries(Q.model_stack).map(e=>{let[n,i]=e;return(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:n}),(0,s.jsx)("strong",{children:i})]},n)})})]})]})}function v(e){let{title:n,rows:i}=e;return(0,s.jsxs)("div",{className:"observed-model-panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:n}),(0,s.jsx)("strong",{children:i.length})]}),(0,s.jsxs)("div",{className:"brain-list dense",children:[!i.length&&(0,s.jsx)("div",{className:"empty-state",children:"No rows generated yet."}),i.slice(0,5).map((e,i)=>{var l,a,t,r,d,c;return(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:null!==(t=null!==(a=null!==(l=e.title)&&void 0!==l?l:e.item)&&void 0!==a?a:e.metric)&&void 0!==t?t:"Evidence row"}),(0,s.jsx)("p",{children:null!==(c=null!==(d=null!==(r=e.why_it_matters)&&void 0!==r?r:e.metric)&&void 0!==d?d:e.cadence)&&void 0!==c?c:""}),e.evidence_refs&&(0,s.jsx)("span",{children:e.evidence_refs.join(" | ")})]},"".concat(n,"-").concat(i))})]})]})}function m(e){let{label:n,value:i}=e;return(0,s.jsxs)("div",{className:"metric-card",children:[(0,s.jsx)("span",{children:n}),(0,s.jsx)("strong",{children:i})]})}function p(e){let{title:n,rows:i,kind:a}=e;return(0,s.jsxs)("div",{className:"panel opportunity-panel",children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:n}),(0,s.jsx)("strong",{children:i.length})]}),(0,s.jsxs)("div",{className:"brain-list dense",children:[0===i.length&&(0,s.jsx)("div",{className:"empty-state",children:"No evidence-backed rows are available yet."}),i.slice(0,8).map((e,i)=>{var t,d,c,o,u,h,v;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"opportunity-line",children:["stock"===a&&e.ticker?(0,s.jsx)(l.default,{href:(0,r.up)(e.ticker),children:e.ticker}):(0,s.jsx)("strong",{children:null!==(t=e.ticker)&&void 0!==t?t:e.name}),(0,s.jsx)("span",{children:null==(v=null!==(c=null!==(d=e.score)&&void 0!==d?d:e.confirmation_score)&&void 0!==c?c:e.opportunity_score)?"n/a":Number(v).toFixed(1)})]}),(0,s.jsx)("p",{children:null!==(u=null!==(o=e.name)&&void 0!==o?o:e.category)&&void 0!==u?u:e.classification}),(0,s.jsxs)("div",{className:"tag-row",children:[e.classification&&(0,s.jsx)("span",{children:e.classification}),e.research_priority&&(0,s.jsx)("span",{children:e.research_priority}),e.risk_level&&(0,s.jsx)("span",{children:e.risk_level}),e.latest_form&&(0,s.jsx)("span",{children:e.latest_form})]})]},"".concat(n,"-").concat(null!==(h=e.ticker)&&void 0!==h?h:e.name,"-").concat(i))})]})]})}function x(e){return e?new Intl.DateTimeFormat("en",{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(e)):"Pending"}},9273:function(e,n,i){"use strict";i.d(n,{G:function(){return l}});var s=i(3890);function l(e){let{label:n="Loading intelligence snapshot"}=e;return(0,s.jsxs)("div",{className:"loading-state",children:[(0,s.jsx)("div",{}),(0,s.jsx)("span",{children:n})]})}},979:function(e,n,i){"use strict";i.d(n,{G:function(){return d}});var s=i(3890),l=i(3548),a=i.n(l),t=i(8496);let r=a()(()=>Promise.all([i.e(715),i.e(54)]).then(i.bind(i,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function d(e){let{title:n,data:i,layout:l={},height:a=360,emptyMessage:d="Waiting for real data series."}=e,c=i.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),o={data:i,layout:{autosize:!0,height:a,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...l},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,s.jsxs)("section",{className:"panel",children:[(0,s.jsx)("div",{className:"panel-head",children:(0,s.jsx)("span",{children:n})}),c?(0,t.createElement)(r,o):(0,s.jsx)("div",{className:"plot-empty",children:d})]})}},6288:function(e,n,i){"use strict";i.d(n,{O:function(){return a}});var s=i(3890),l=i(2675);function a(e){let{label:n}=e,i=n.includes("Breakout")||n.includes("Strong")?"positive":n.includes("Risk")||n.includes("Avoid")?"negative":n.includes("Divergence")||n.includes("Contrarian")?"warning":"neutral";return(0,s.jsx)("span",{className:(0,l.Z)("status-badge",i),children:n})}},3548:function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return a}});let s=i(6651);i(3890),i(8496);let l=s._(i(3992));function a(e,n){var i;let s={loading:e=>{let{error:n,isLoading:i,pastDelay:s}=e;return null}};"function"==typeof e&&(s.loader=e);let a={...s,...n};return(0,l.default)({...a,modules:null==(i=a.loadableGenerated)?void 0:i.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),e.exports=n.default)},4377:function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let s=i(4895);function l(e){let{reason:n,children:i}=e;if("undefined"==typeof window)throw new s.BailoutToCSRError(n);return i}},3992:function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return c}});let s=i(3890),l=i(8496),a=i(4377),t=i(2992);function r(e){return{default:e&&"default"in e?e.default:e}}let d={loader:()=>Promise.resolve(r(()=>null)),loading:null,ssr:!0},c=function(e){let n={...d,...e},i=(0,l.lazy)(()=>n.loader().then(r)),c=n.loading;function o(e){let r=c?(0,s.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,d=n.ssr?(0,s.jsxs)(s.Fragment,{children:["undefined"==typeof window?(0,s.jsx)(t.PreloadCss,{moduleIds:n.modules}):null,(0,s.jsx)(i,{...e})]}):(0,s.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,s.jsx)(i,{...e})});return(0,s.jsx)(l.Suspense,{fallback:r,children:d})}return o.displayName="LoadableComponent",o}},2992:function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadCss",{enumerable:!0,get:function(){return a}});let s=i(3890),l=i(5296);function a(e){let{moduleIds:n}=e;if("undefined"!=typeof window)return null;let i=(0,l.getExpectedRequestStore)("next/dynamic css"),a=[];if(i.reactLoadableManifest&&n){let e=i.reactLoadableManifest;for(let i of n){if(!e[i])continue;let n=e[i].files.filter(e=>e.endsWith(".css"));a.push(...n)}}return 0===a.length?null:(0,s.jsx)(s.Fragment,{children:a.map(e=>(0,s.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:i.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}}},function(e){e.O(0,[183,651,908,649,945,744],function(){return e(e.s=2899)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/methodology/page-f0ef96f8ef7d3450.js b/frontend/.next/static/chunks/app/methodology/page-f0ef96f8ef7d3450.js new file mode 100644 index 0000000000000000000000000000000000000000..84c3c506be1b4c7023069f77a4a702bf051a8e91 --- /dev/null +++ b/frontend/.next/static/chunks/app/methodology/page-f0ef96f8ef7d3450.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[949],{981:function(e,n,t){Promise.resolve().then(t.bind(t,7413))},7413:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return a}});var i=t(3890),s=t(8496),r=t(7160);function a(){let[e,n]=(0,s.useState)(null);return(0,s.useEffect)(()=>{r.h.modelStatus().then(n).catch(()=>n(null))},[]),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"page-header",children:(0,i.jsxs)("div",{children:[(0,i.jsx)("div",{className:"kicker",children:"Methodology"}),(0,i.jsx)("h1",{children:"Transparent architecture and scoring rules."})]})}),(0,i.jsx)("section",{className:"grid-2",children:l.map(e=>(0,i.jsxs)("article",{className:"panel",children:[(0,i.jsx)("div",{className:"panel-head",children:(0,i.jsx)("span",{children:e.title})}),(0,i.jsx)("p",{children:e.body})]},e.title))}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:"AI model status"}),(0,i.jsx)("strong",{children:(null==e?void 0:e.model_loading_enabled)?"model loading enabled":"fallback-ready"})]}),!e&&(0,i.jsx)("div",{className:"empty-state",children:"Model status is not available yet."}),e&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("div",{className:"method-grid",children:Object.entries(e.configured_models).map(e=>{let[n,t]=e;return(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{children:n.replaceAll("_"," ")}),(0,i.jsx)("strong",{children:String(t)})]},n)})}),(0,i.jsxs)("div",{className:"grid-3",style:{marginTop:10},children:[(0,i.jsx)(o,{title:"Sentiment records",rows:e.observed_models.sentiment}),(0,i.jsx)(o,{title:"Embedding records",rows:e.observed_models.embeddings}),(0,i.jsx)(o,{title:"Insight records",rows:e.observed_models.insights})]})]})]}),(0,i.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,i.jsx)("div",{className:"panel-head",children:(0,i.jsx)("span",{children:"Financial disclaimer"})}),(0,i.jsx)("p",{children:"This project is for educational, research and technical case-study purposes only. It is not financial advice, an investment recommendation, a trading signal, or a substitute for regulated research, due diligence, valuation work, risk management or professional advice."})]})]})}function o(e){var n;let{title:t,rows:s}=e;return(0,i.jsxs)("div",{className:"observed-model-panel",children:[(0,i.jsxs)("div",{className:"panel-head",children:[(0,i.jsx)("span",{children:t}),(0,i.jsx)("strong",{children:null!==(n=null==s?void 0:s.length)&&void 0!==n?n:0})]}),(0,i.jsxs)("div",{className:"brain-list dense",children:[!(null==s?void 0:s.length)&&(0,i.jsx)("div",{className:"empty-state",children:"No records observed yet."}),null==s?void 0:s.map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:e.model_name}),(0,i.jsxs)("span",{children:[e.records," records"]})]},e.model_name))]})]})}let l=[{title:"Data workflow",body:"The backend seeds an asset universe, ingests public OHLCV history, collects public RSS news, deduplicates articles, links them to assets and persists all artifacts in PostgreSQL."},{title:"AI orchestration",body:"FinBERT handles financial sentiment, sentence-transformers handles embeddings and semantic search, a lightweight LLM creates evidence-only explanations, and the time-series layer computes anomalies, volatility regimes and scenarios."},{title:"Market Brain",body:"The Market Brain combines stock signals, ETF rotation, live news, sentiment, SEC filing evidence, forward scenarios, contradictions, risk alerts and change logs into one evidence-bound operating view."},{title:"Self-learning financial memory",body:"Blum evaluates signal outcomes after 1D, 3D, 7D, 14D and 30D, then stores accuracy memory, confidence adjustments, source reliability and reversible model weight versions. It updates parameters, not source code, and never executes trades."},{title:"Chart Vision Technical Analyst",body:"Chart analysis combines deterministic OHLCV calculations with optional Qwen3-VL visual interpretation and InternVL3 fallback. If vision is unavailable, Blum clearly switches to deterministic technical analysis and does not invent visual levels."},{title:"IPO intelligence",body:"IPO Radar uses SEC EDGAR current filings and company submissions data for S-1, F-1 and 424B prospectus evidence. It never fabricates listing dates, valuations or tickers."},{title:"Signal scoring",body:"The Blum Intelligence Score combines momentum, trend quality, technical indicators, volatility/risk, sentiment trend, semantic intensity, ETF confirmation and anomaly pressure."},{title:"Explainability",body:"Each surfaced asset must expose why it appeared, which technical and narrative data support it, what contradicts it, what to monitor, and which risks limit confidence."},{title:"Backtesting",body:"Historical validation reports hit rate, forward returns, max adverse excursion, max favorable excursion, false positives and methodology limits. It does not promise future performance."},{title:"Provider architecture",body:"The first provider is yfinance. The backend isolates providers so future integrations can add licensed market data, estimates, filings, transcripts, ownership and portfolio systems."}]},2555:function(e,n,t){"use strict";var i,s;e.exports=(null==(i=t.g.process)?void 0:i.env)&&"object"==typeof(null==(s=t.g.process)?void 0:s.env)?t.g.process:t(4518)},4518:function(e){!function(){var n={229:function(e){var n,t,i,s=e.exports={};function r(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function o(e){if(n===setTimeout)return setTimeout(e,0);if((n===r||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:r}catch(e){n=r}try{t="function"==typeof clearTimeout?clearTimeout:a}catch(e){t=a}}();var l=[],c=!1,d=-1;function u(){c&&i&&(c=!1,i.length?l=i.concat(l):d=-1,l.length&&h())}function h(){if(!c){var e=o(u);c=!0;for(var n=l.length;n;){for(i=l,l=[];++d1)for(var t=1;t{try{eS(""),ew(await u.h.performanceDiagnostics()),ef(u.h.clientRequestStats())}catch(e){eS(e.message)}},eP=async()=>{ek("probing"),await Promise.all([["frontend.dashboard.overview",()=>u.h.overview()],["frontend.dashboard.live_news",()=>u.h.liveNews(60)],["frontend.dashboard.market_sentiment",()=>u.h.marketSentiment(48)],["frontend.dashboard.pipeline_status",()=>u.h.pipelineStatus()],["frontend.dashboard.system_status",()=>u.h.systemStatus()],["frontend.dashboard.executive",()=>u.h.executiveDashboard()],["frontend.dashboard.brain_status",()=>u.h.brainStatus()]].map(async e=>{let[t,n]=e,s=performance.now();try{await n(),await u.h.recordPerformanceWidget({name:t,duration_ms:performance.now()-s,status:"ok",source:"browser_probe"})}catch(e){await u.h.recordPerformanceWidget({name:t,duration_ms:performance.now()-s,status:"error",source:"browser_probe",detail:e.message.slice(0,180)}).catch(()=>void 0)}})),ek("complete"),await eq()};(0,i.useEffect)(()=>{eq(),eP();let e=window.setInterval(eq,15e3);return()=>window.clearInterval(e)},[]);let ez=null!==(Z=null==ex?void 0:ex.top_10_bottlenecks)&&void 0!==Z?Z:[],eE=null!==(H=null==ex?void 0:null===(e=ex.startup)||void 0===e?void 0:e.phases)&&void 0!==H?H:[],eD=null!==(G=null==ex?void 0:null===(t=ex.api)||void 0===t?void 0:t.slowest_endpoints)&&void 0!==G?G:[],eL=null!==(W=null==ex?void 0:null===(n=ex.database)||void 0===n?void 0:n.slowest_queries)&&void 0!==W?W:[],eT=null!==(K=null==ex?void 0:null===(p=ex.dashboard_widgets)||void 0===p?void 0:p.slowest_widget_events)&&void 0!==K?K:[],eR=null!==(J=null==ex?void 0:null===(_=ex.background_tasks)||void 0===_?void 0:_.slowest_tasks)&&void 0!==J?J:[],eA=null!==(U=null==ex?void 0:ex.cache)&&void 0!==U?U:{},eF=null!==(V=null==ex?void 0:ex.initial_learning_page_load)&&void 0!==V?V:{},eI=Object.values(null!==(X=null==ex?void 0:null===(x=ex.dashboard_snapshots)||void 0===x?void 0:x.latest_by_type)&&void 0!==X?X:{}),eO=(0,i.useMemo)(()=>(function(e){var t,n,s,i,a,o;if(!e)return"low evidence";let l=Number(null!==(i=null===(t=e.api)||void 0===t?void 0:t.request_count)&&void 0!==i?i:0)+Number(null!==(a=null===(n=e.database)||void 0===n?void 0:n.query_count)&&void 0!==a?a:0)+Number(null!==(o=null===(s=e.dashboard_widgets)||void 0===s?void 0:s.event_count)&&void 0!==o?o:0);return l>500?"strong evidence":l>100?"medium evidence":"low evidence"})(ex),[ex]);return eN&&!ex?(0,s.jsxs)("div",{className:"terminal-empty",children:["API error: ",eN]}):ex?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.ft,{eyebrow:"Performance Diagnostics",title:"Measure first. Optimize later.",subtitle:"Runtime timing for startup, API endpoints, SQLAlchemy queries, background workers and dashboard widgets. This page exposes bottlenecks without changing financial logic.",statusItems:[{label:"Probe",value:ej,tone:"complete"===ej?"positive":"attention"},{label:"Evidence",value:eO,tone:eO.includes("low")?"attention":"positive"},{label:"Generated",value:b(ex.generated_at),tone:"info"},{label:"Policy",value:"measurement only",tone:"neutral"}],actions:(0,s.jsx)("button",{className:"terminal-button",onClick:eP,children:"Run dashboard probe"})}),eN&&(0,s.jsxs)("div",{className:"terminal-empty",style:{marginBottom:12},children:["Refresh warning: ",eN]}),(0,s.jsxs)("section",{className:"terminal-command-grid",children:[(0,s.jsx)(c.i9,{label:"Startup Duration",value:h(null===(w=ex.startup)||void 0===w?void 0:w.total_duration_ms),subvalue:"".concat(eE.length," measured phases"),icon:(0,s.jsx)(a.Z,{size:18}),tone:"attention"}),(0,s.jsx)(c.i9,{label:"API Avg",value:h(null===(y=ex.api)||void 0===y?void 0:y.average_response_ms),subvalue:"p95 ".concat(h(null===(f=ex.api)||void 0===f?void 0:f.p95_response_ms)," | ").concat(null!==(Y=null===(j=ex.api)||void 0===j?void 0:j.request_count)&&void 0!==Y?Y:0," requests"),icon:(0,s.jsx)(o.Z,{size:18}),tone:"info"}),(0,s.jsx)(c.i9,{label:"DB Avg",value:h(null===(k=ex.database)||void 0===k?void 0:k.average_query_ms),subvalue:"p95 ".concat(h(null===(N=ex.database)||void 0===N?void 0:N.p95_query_ms)," | ").concat(null!==($=null===(S=ex.database)||void 0===S?void 0:S.query_count)&&void 0!==$?$:0," queries"),icon:(0,s.jsx)(l.Z,{size:18}),tone:"info"}),(0,s.jsx)(c.i9,{label:"Widget Avg",value:h(null===(q=ex.dashboard_widgets)||void 0===q?void 0:q.average_widget_ms),subvalue:"p95 ".concat(h(null===(P=ex.dashboard_widgets)||void 0===P?void 0:P.p95_widget_ms)),icon:(0,s.jsx)(r.Z,{size:18}),tone:"neutral"}),(0,s.jsx)(c.i9,{label:"Cache Hit Rate",value:function(e){let t=Number(e);return Number.isFinite(t)?"".concat((100*t).toFixed(1),"%"):"n/a"}(eA.hit_rate),subvalue:"".concat(null!==(ee=eA.hits)&&void 0!==ee?ee:0," hits / ").concat(null!==(et=eA.misses)&&void 0!==et?et:0," misses"),icon:(0,s.jsx)(d.Z,{size:18}),tone:null===eA.hit_rate||void 0===eA.hit_rate?"attention":"positive"}),(0,s.jsx)(c.i9,{label:"Background Avg",value:h(null===(z=ex.background_tasks)||void 0===z?void 0:z.average_duration_ms),subvalue:"p95 ".concat(h(null===(E=ex.background_tasks)||void 0===E?void 0:E.p95_duration_ms)," | ").concat(null!==(en=null===(D=ex.background_tasks)||void 0===D?void 0:D.event_count)&&void 0!==en?en:0," runs"),icon:(0,s.jsx)(o.Z,{size:18}),tone:"attention"})]}),(0,s.jsxs)("section",{className:"professional-grid-2",children:[(0,s.jsx)(c.Ez,{title:"Top 10 Bottlenecks",value:"".concat(ez.length," events"),subtitle:"Slowest measured operations across API, DB, widgets and background tasks",children:(0,s.jsx)(m,{columns:["Kind","Name","Duration","Rows"],rows:ez.map(e=>{var t;return[e.kind,g(e.name,92),h(e.duration_ms),null!==(t=e.rows_scanned_estimate)&&void 0!==t?t:"-"]}),empty:"No bottleneck data has been recorded yet."})}),(0,s.jsx)(c.Ez,{title:"Startup Breakdown",value:h(null===(L=ex.startup)||void 0===L?void 0:L.total_duration_ms),subtitle:"Measured application startup phases",children:(0,s.jsx)(m,{columns:["Phase","Duration","Started"],rows:eE.map(e=>[e.name,h(e.duration_ms),b(e.started_at)]),empty:"Startup phases will appear after the backend process starts."})})]}),(0,s.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,s.jsxs)(c.Ez,{title:"Initial Learning Page Load",value:"".concat(null!==(es=null==ey?void 0:null===(T=ey.initialLearningPage)||void 0===T?void 0:T.length)&&void 0!==es?es:0," requests"),subtitle:"Browser-side request storm and dedupe visibility for the current route session",children:[(0,s.jsxs)("div",{className:"professional-grid-3",style:{marginBottom:10},children:[(0,s.jsx)(c.i9,{label:"Total Requests",value:null!==(ei=null==ey?void 0:ey.total)&&void 0!==ei?ei:0}),(0,s.jsx)(c.i9,{label:"Duplicate Requests",value:null!==(ea=null==ey?void 0:ey.duplicate)&&void 0!==ea?ea:0}),(0,s.jsx)(c.i9,{label:"Cache Hits",value:null!==(eo=null==ey?void 0:ey.cacheHits)&&void 0!==eo?eo:0}),(0,s.jsx)(c.i9,{label:"Heavy POST During Load",value:null!==(el=null==eF?void 0:null===(R=eF.heavy_post_calls_during_page_load)||void 0===R?void 0:R.length)&&void 0!==el?el:0}),(0,s.jsx)(c.i9,{label:"Server Frontend Events",value:null!==(er=null==eF?void 0:eF.frontend_request_count)&&void 0!==er?er:0}),(0,s.jsx)(c.i9,{label:"Server Cache Hits",value:null!==(ed=null==eF?void 0:eF.cache_hit_count)&&void 0!==ed?ed:0})]}),(0,s.jsx)(m,{columns:["Method","Endpoint","Duration","Status","Dedupe"],rows:(null!==(eu=null==ey?void 0:ey.initialLearningPage)&&void 0!==eu?eu:[]).slice(-18).reverse().map(e=>[e.method,g(e.path,86),h(e.duration_ms),e.status,e.duplicate?"yes":e.cache_hit?"cache":"no"]),empty:"Open the Learning page in this session to collect initial-load request data."})]}),(0,s.jsx)(c.Ez,{title:"Recommended Next Optimization",value:"from evidence",subtitle:"Generated from currently visible bottleneck classes",children:(0,s.jsx)("ul",{className:"diagnostic-list",children:(function(e,t){var n,s,i,a,o,l,r,d,u,c,v;let p=[],m=null==e?void 0:null===(s=e.api)||void 0===s?void 0:null===(n=s.slowest_endpoints)||void 0===n?void 0:n[0],b=null==e?void 0:null===(a=e.database)||void 0===a?void 0:null===(i=a.slowest_queries)||void 0===i?void 0:i[0],g=Number(null!==(d=null==t?void 0:t.duplicate)&&void 0!==d?d:0),_=null!==(u=null==e?void 0:null===(o=e.initial_learning_page_load)||void 0===o?void 0:o.heavy_post_calls_during_page_load)&&void 0!==u?u:[],x=Number(null!==(c=null==e?void 0:null===(l=e.dashboard_snapshots)||void 0===l?void 0:l.stale_count)&&void 0!==c?c:0);return g>0&&p.push("Request dedupe is catching ".concat(g," duplicate frontend calls in this session.")),_.length>0&&p.push("Remove or gate ".concat(_.length," heavy POST call(s) observed during Learning page load.")),x>0&&p.push("".concat(x," dashboard snapshot(s) are stale; verify background refresh cadence before adding live recomputation.")),m&&p.push("Inspect ".concat(m.method," ").concat(m.path,": p95 ").concat(h(m.p95_ms)," and max ").concat(h(m.max_ms),".")),b&&p.push("Inspect the slowest SQL operation ".concat(b.operation,": ").concat(h(b.duration_ms),".")),(null!==(v=null==e?void 0:null===(r=e.background_tasks)||void 0===r?void 0:r.slowest_tasks)&&void 0!==v?v:[]).length&&p.push("Background worker timing is now available; compare startup pipeline versus scheduled refresh jobs before optimizing."),p.length||p.push("Collect more requests first. Open Learning, Dashboard and Performance pages, then review the top bottlenecks."),p})(ex,ey).map(e=>(0,s.jsx)("li",{children:e},e))})})]}),(0,s.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,s.jsx)(c.Ez,{title:"Snapshot Freshness",value:"".concat(null!==(ec=null===(A=ex.dashboard_snapshots)||void 0===A?void 0:A.fresh_count)&&void 0!==ec?ec:0," fresh"),subtitle:"Stale-but-usable dashboard payloads available to avoid blank loading states",children:(0,s.jsx)(m,{columns:["Snapshot","Age","Stale","Compute","Warnings"],rows:eI.slice(0,12).map(e=>{var t;return[e.snapshot_type,function(e){let t=Number(e);return Number.isFinite(t)?t<60?"".concat(t.toFixed(0),"s"):t<3600?"".concat((t/60).toFixed(1),"m"):"".concat((t/3600).toFixed(1),"h"):"n/a"}(e.age_seconds),e.is_stale?"yes":"no",h(e.computation_duration_ms),(null!==(t=e.warnings)&&void 0!==t?t:[]).length]}),empty:"No dashboard snapshots have been written yet."})}),(0,s.jsx)(c.Ez,{title:"Heavy POST Calls During Learning Load",value:"".concat(null!==(ev=null==eF?void 0:null===(F=eF.heavy_post_calls_during_page_load)||void 0===F?void 0:F.length)&&void 0!==ev?ev:0," events"),subtitle:"These should stay at zero unless the user explicitly requests recalculation",children:(0,s.jsx)(m,{columns:["Method","Path","Duration","Referer"],rows:(null!==(ep=null==eF?void 0:eF.heavy_post_calls_during_page_load)&&void 0!==ep?ep:[]).slice(0,10).map(e=>[e.method,g(e.path,72),h(e.duration_ms),g(e.referer,72)]),empty:"No heavy recalculation POST was triggered during Learning page load."})})]}),(0,s.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,s.jsx)(c.Ez,{title:"Slowest API Endpoints",value:"p95 ".concat(h(null===(I=ex.api)||void 0===I?void 0:I.p95_response_ms)),subtitle:"Grouped by method and normalized path",children:(0,s.jsx)(m,{columns:["Endpoint","Count","Avg","P95","Max"],rows:eD.slice(0,14).map(e=>["".concat(e.method," ").concat(e.path),e.count,h(e.avg_ms),h(e.p95_ms),h(e.max_ms)]),empty:"No API requests recorded yet."})}),(0,s.jsx)(c.Ez,{title:"Slowest Database Queries",value:"".concat(null!==(em=null===(O=ex.database)||void 0===O?void 0:O.query_count)&&void 0!==em?em:0," queries"),subtitle:"Exact query timing; scanned rows are rowcount when exposed by the driver",children:(0,s.jsx)(m,{columns:["Operation","Duration","Rows","SQL"],rows:eL.slice(0,12).map(e=>{var t;return[e.operation,h(e.duration_ms),null!==(t=e.rows_scanned_estimate)&&void 0!==t?t:"unknown",g(e.sql,110)]}),empty:"No SQL queries recorded yet."})})]}),(0,s.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,s.jsx)(c.Ez,{title:"Slowest Dashboard Widgets",value:"".concat(null!==(eh=null===(C=ex.dashboard_widgets)||void 0===C?void 0:C.event_count)&&void 0!==eh?eh:0," events"),subtitle:"Backend widget timings plus browser-side probe timings",children:(0,s.jsx)(m,{columns:["Widget","Duration","Source","Status"],rows:eT.slice(0,16).map(e=>{var t,n;return[e.name,h(e.duration_ms),"frontend_widget"===e.event_type?"browser":"backend",null!==(n=null===(t=e.metadata)||void 0===t?void 0:t.status)&&void 0!==n?n:"ok"]}),empty:"Run the dashboard probe to collect widget timings."})}),(0,s.jsx)(c.Ez,{title:"Background Task Durations",value:"".concat(null!==(eb=null===(B=ex.background_tasks)||void 0===B?void 0:B.event_count)&&void 0!==eb?eb:0," runs"),subtitle:"Scheduler and startup worker timing",children:(0,s.jsx)(m,{columns:["Task","Count","Avg","P95","Max"],rows:eR.slice(0,12).map(e=>[e.name,e.count,h(e.avg_ms),h(e.p95_ms),h(e.max_ms)]),empty:"No background jobs have completed in this process yet."})})]}),(0,s.jsxs)("section",{className:"professional-grid-2",style:{marginTop:12},children:[(0,s.jsx)(c.Ez,{title:"Query Fingerprints",value:"Grouped SQL",subtitle:"Repeated query shapes ranked by p95 latency",children:(0,s.jsx)(m,{columns:["Count","P95","Max","Rows","Fingerprint"],rows:(null!==(eg=null===(M=ex.database)||void 0===M?void 0:M.slowest_query_fingerprints)&&void 0!==eg?eg:[]).slice(0,12).map(e=>{var t;return[e.count,h(e.p95_ms),h(e.max_ms),null!==(t=e.last_rows_scanned_estimate)&&void 0!==t?t:"unknown",g(e.fingerprint,120)]}),empty:"No SQL fingerprints recorded yet."})}),(0,s.jsx)(c.Ez,{title:"Observability Limits",value:"Honest measurement",subtitle:"Important boundaries before optimization decisions",children:(0,s.jsxs)("ul",{className:"diagnostic-list",children:[(null!==(e_=ex.observability_limits)&&void 0!==e_?e_:[]).map(e=>(0,s.jsx)("li",{children:e},e)),(0,s.jsx)("li",{children:null===(Q=ex.database)||void 0===Q?void 0:Q.rows_scanned_policy}),(0,s.jsx)("li",{children:eA.note})]})})]})]}):(0,s.jsx)(v.G,{label:"Loading performance diagnostics"})}function m(e){let{columns:t,rows:n,empty:i}=e;return n.length?(0,s.jsx)("div",{className:"performance-table-wrap",children:(0,s.jsxs)("table",{className:"asset-terminal-table performance-table",children:[(0,s.jsx)("thead",{children:(0,s.jsx)("tr",{children:t.map(e=>(0,s.jsx)("th",{children:e},e))})}),(0,s.jsx)("tbody",{children:n.map((e,t)=>(0,s.jsx)("tr",{children:e.map((e,t)=>(0,s.jsx)("td",{children:e},"".concat(t,"-").concat(String(e).slice(0,20))))},"".concat(t,"-").concat(e.join("-"))))})]})}):(0,s.jsx)("div",{className:"terminal-empty",children:i})}function h(e){let t=Number(e);return Number.isFinite(t)?t>=1e3?"".concat((t/1e3).toFixed(2),"s"):"".concat(t.toFixed(1),"ms"):"n/a"}function b(e){if(!e)return"n/a";try{return new Date(e).toLocaleTimeString()}catch(t){return e}}function g(e,t){let n=String(null!=e?e:"");return n.length>t?"".concat(n.slice(0,t),"..."):n}},9273:function(e,t,n){"use strict";n.d(t,{G:function(){return i}});var s=n(3890);function i(e){let{label:t="Loading intelligence snapshot"}=e;return(0,s.jsxs)("div",{className:"loading-state",children:[(0,s.jsx)("div",{}),(0,s.jsx)("span",{children:t})]})}},8322:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(8964).Z)("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]])}},function(e){e.O(0,[183,651,908,649,945,744],function(){return e(e.s=3691)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/signal-lab/page-a2f85a5c0d0847cd.js b/frontend/.next/static/chunks/app/signal-lab/page-a2f85a5c0d0847cd.js new file mode 100644 index 0000000000000000000000000000000000000000..e90625e495141ad9d6df8bd3c76e2aeeae4e775d --- /dev/null +++ b/frontend/.next/static/chunks/app/signal-lab/page-a2f85a5c0d0847cd.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[826],{6067:function(e,n,i){Promise.resolve().then(i.bind(i,2010))},2010:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return x}});var s=i(3890),l=i(8496),t=i(7160),a=i(8908),r=i(9273),c=i(6788),o=i(6499),d=i(9509),u=i(6288);function h(e){let{signals:n}=e;return n.length?(0,s.jsx)("div",{className:"table-shell",children:(0,s.jsxs)("table",{className:"intel-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Asset"}),(0,s.jsx)("th",{children:"Market"}),(0,s.jsx)("th",{children:"Score"}),(0,s.jsx)("th",{children:"Confidence"}),(0,s.jsx)("th",{children:"Classification"}),(0,s.jsx)("th",{children:"Risk"}),(0,s.jsx)("th",{children:"Momentum"}),(0,s.jsx)("th",{children:"Trend"}),(0,s.jsx)("th",{children:"Sentiment"}),(0,s.jsx)("th",{children:"Why it surfaced"})]})}),(0,s.jsx)("tbody",{children:n.map(e=>{var n,i,l,t,a,r,h,x,m,j,p,g,f,b,N,y,_,k;return(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)(c.default,{href:(0,o.up)(e.ticker),className:"asset-link",children:e.ticker}),(0,s.jsx)("span",{children:null!==(p=null===(n=e.asset)||void 0===n?void 0:n.name)&&void 0!==p?p:"Name pending"}),(0,s.jsxs)("span",{children:[null!==(g=null===(i=e.asset)||void 0===i?void 0:i.asset_type)&&void 0!==g?g:"Asset"," | ",null!==(f=null===(l=e.asset)||void 0===l?void 0:l.sector)&&void 0!==f?f:"Sector pending"," | ",null!==(b=null===(t=e.asset)||void 0===t?void 0:t.exchange)&&void 0!==b?b:"Exchange n/a"]})]}),(0,s.jsxs)("td",{children:[(0,s.jsx)("strong",{children:(0,d.T4)(null===(a=e.market_snapshot)||void 0===a?void 0:a.price,null===(r=e.market_snapshot)||void 0===r?void 0:r.currency)}),(0,s.jsxs)("span",{children:[(0,d.T3)(null===(h=e.market_snapshot)||void 0===h?void 0:h.perf_1d)," 1D | ",(0,d.T3)(null===(x=e.market_snapshot)||void 0===x?void 0:x.perf_5d)," 5D"]}),(0,s.jsxs)("span",{children:[null!==(N=null===(m=e.market_snapshot)||void 0===m?void 0:m.provider)&&void 0!==N?N:"provider n/a"," | vol ",(0,d.fP)(null===(j=e.market_snapshot)||void 0===j?void 0:j.volume)]})]}),(0,s.jsx)("td",{children:(0,s.jsx)("strong",{className:"score-number",children:e.blum_score.toFixed(1)})}),(0,s.jsxs)("td",{children:[(0,s.jsx)("span",{className:"metric-pill",children:Number(null!==(y=e.confidence_score)&&void 0!==y?y:0).toFixed(0)}),(0,s.jsx)("span",{children:null!==(_=e.lifecycle_state)&&void 0!==_?_:"active"}),e.accuracy&&(0,s.jsxs)("span",{children:["evidence ",e.accuracy.blum_confidence_score.toFixed(0)," / ",e.accuracy.confidence_label]})]}),(0,s.jsx)("td",{children:(0,s.jsx)(u.O,{label:e.classification})}),(0,s.jsxs)("td",{children:[e.risk_level,(0,s.jsx)("span",{children:null!==(k=e.score_version)&&void 0!==k?k:"blum-score"})]}),(0,s.jsx)("td",{children:v(e,"momentum_score")}),(0,s.jsx)("td",{children:v(e,"trend_score")}),(0,s.jsx)("td",{children:v(e,"sentiment_score")}),(0,s.jsx)("td",{className:"why",children:e.explanation})]},"".concat(e.ticker,"-").concat(e.created_at))})})]})}):(0,s.jsx)("div",{className:"empty-state",children:"No signal snapshots are available yet. The autonomous intelligence engine is hydrating price, news, sentiment and provider diagnostics."})}function v(e,n){var i,l;let t=null!==(l=null===(i=e.score_breakdown)||void 0===i?void 0:i[n])&&void 0!==l?l:0;return(0,s.jsx)("span",{className:"metric-pill",children:Number(t).toFixed(0)})}function x(){let[e,n]=(0,l.useState)(null),[i,c]=(0,l.useState)([]),[o,d]=(0,l.useState)(null),[u,v]=(0,l.useState)(""),[x,p]=(0,l.useState)(""),[f,b]=(0,l.useState)(""),N=()=>{Promise.allSettled([t.h.topSignals("?limit=80"),t.h.brainSignalEvaluations(160),t.h.brainAccuracy()]).then(e=>{let[i,s,l]=e;"fulfilled"===i.status&&n(i.value),"fulfilled"===s.status&&c(s.value),"fulfilled"===l.status&&d(l.value)})};(0,l.useEffect)(()=>{N()},[]);let y=(0,l.useMemo)(()=>(null!=e?e:[]).filter(e=>{var n;return(!u||(null===(n=e.asset)||void 0===n?void 0:n.asset_type)===u)&&(!x||e.risk_level===x)&&(!f||e.classification===f)}),[e,u,x,f]);return e?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.ft,{eyebrow:"Signal Lab",title:"Analyst-grade signal feed and evidence audit.",subtitle:"Every signal is treated as a research note with confidence, evidence stack, trigger, invalidation logic and historical learning impact.",statusItems:[{label:"Signal feed",value:String(e.length),tone:e.length?"positive":"attention"},{label:"Filtered",value:String(y.length)},{label:"Evaluations",value:String(i.length),tone:i.length?"info":"attention"},{label:"Accuracy",value:g(null==o?void 0:o.historical_accuracy),tone:"attention"}]}),(0,s.jsx)(m,{accuracy:o}),(0,s.jsx)(a.Ez,{title:"Signal Filters",value:"".concat(y.length," visible"),subtitle:"Filter by asset type, risk and classification",children:(0,s.jsxs)("div",{className:"control-row",style:{marginBottom:0},children:[(0,s.jsxs)("select",{className:"input",value:u,onChange:e=>v(e.target.value),children:[(0,s.jsx)("option",{value:"",children:"All asset types"}),(0,s.jsx)("option",{value:"Stock",children:"Stock"}),(0,s.jsx)("option",{value:"ETF",children:"ETF"})]}),(0,s.jsxs)("select",{className:"input",value:x,onChange:e=>p(e.target.value),children:[(0,s.jsx)("option",{value:"",children:"All risks"}),(0,s.jsx)("option",{children:"Low"}),(0,s.jsx)("option",{children:"Medium"}),(0,s.jsx)("option",{children:"High"})]}),(0,s.jsxs)("select",{className:"input",value:f,onChange:e=>b(e.target.value),children:[(0,s.jsx)("option",{value:"",children:"All classifications"}),Array.from(new Set(e.map(e=>e.classification))).map(e=>(0,s.jsx)("option",{children:e},e))]})]})}),(0,s.jsx)("section",{className:"professional-grid-3",style:{marginTop:12},children:y.slice(0,6).map(e=>(0,s.jsx)(a.il,{signal:e},"".concat(e.ticker,"-").concat(e.created_at,"-card")))}),(0,s.jsx)(a.Ez,{title:"Signal Feed",value:"".concat(y.length," signals"),subtitle:"Sortable table with price, classification, risk, momentum, trend and sentiment",className:"radar-core-panel",children:(0,s.jsx)(h,{signals:y})}),(0,s.jsx)(j,{evaluations:i})]}):(0,s.jsx)(r.G,{label:"Loading signal lab"})}function m(e){var n,i,l,t,r,c;let{accuracy:o}=e,d=null!==(l=null==o?void 0:o.confidence_calibration)&&void 0!==l?l:{};return(0,s.jsxs)(a.Ez,{title:"Financial Brain Learning Audit",value:null!==(t=d.status)&&void 0!==t?t:"pending",className:"financial-brain-panel",children:[(0,s.jsxs)("div",{className:"professional-grid-4",children:[(0,s.jsx)(a.i9,{label:"Historical Accuracy",value:g(null==o?void 0:o.historical_accuracy)}),(0,s.jsx)(a.i9,{label:"7D Success",value:g(null==o?void 0:o.success_rate_7d)}),(0,s.jsx)(a.i9,{label:"30D Success",value:g(null==o?void 0:o.success_rate_30d)}),(0,s.jsx)(a.i9,{label:"Calibration",value:void 0===d.score||null===d.score?"Pending":"".concat(Number(d.score).toFixed(1),"/100")})]}),(0,s.jsx)("div",{style:{marginTop:12},children:(0,s.jsx)(a.IL,{value:d.score,label:"Confidence calibration"})}),(0,s.jsxs)("div",{className:"brain-two-col",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{children:"Best signal types"}),(0,s.jsx)(p,{rows:null!==(r=null==o?void 0:null===(n=o.by_signal_type)||void 0===n?void 0:n.slice(0,5))&&void 0!==r?r:[]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{children:"Source reliability"}),(0,s.jsxs)("div",{className:"brain-performance-list",children:[(null!==(c=null==o?void 0:o.source_reliability)&&void 0!==c?c:[]).slice(0,5).map(e=>{var n,i;return(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:e.source}),(0,s.jsxs)("span",{children:[Number(null!==(n=e.reliability_score)&&void 0!==n?n:0).toFixed(1)," reliability | ",null!==(i=e.article_count)&&void 0!==i?i:0," articles"]})]},e.source)}),!(null==o?void 0:null===(i=o.source_reliability)||void 0===i?void 0:i.length)&&(0,s.jsx)("div",{className:"empty-state compact",children:"Waiting for linked source outcomes."})]})]})]}),(0,s.jsx)("p",{children:"Signal outcomes are evaluated by the autonomous learning loop. This view shows stored evidence, calibration and source reliability without requiring manual intervention."})]})}function j(e){let{evaluations:n}=e;return(0,s.jsxs)("section",{className:"panel",style:{marginTop:12},children:[(0,s.jsxs)("div",{className:"panel-head",children:[(0,s.jsx)("span",{children:"Signal Outcome Memory"}),(0,s.jsxs)("strong",{children:[n.length," horizons"]})]}),(0,s.jsxs)("div",{className:"evaluation-table",children:[(0,s.jsxs)("div",{className:"evaluation-row header",children:[(0,s.jsx)("span",{children:"Ticker"}),(0,s.jsx)("span",{children:"Signal"}),(0,s.jsx)("span",{children:"Horizon"}),(0,s.jsx)("span",{children:"Pre-signal confidence"}),(0,s.jsx)("span",{children:"Post result"}),(0,s.jsx)("span",{children:"Learning impact"}),(0,s.jsx)("span",{children:"Invalidating conditions"})]}),n.map(e=>(0,s.jsxs)("div",{className:"evaluation-row",children:[(0,s.jsx)("strong",{children:e.ticker}),(0,s.jsx)("span",{children:e.signal_type}),(0,s.jsxs)("span",{children:[e.horizon_days,"D"]}),(0,s.jsx)("span",{children:e.initial_confidence.toFixed(1)}),(0,s.jsx)("span",{className:"outcome ".concat(e.outcome),children:e.outcome}),(0,s.jsx)("span",{children:"correct"===e.outcome?"Supports future confidence in similar setups":"wrong"===e.outcome?"Reduces future confidence for similar evidence":"neutral"===e.outcome?"Keeps confidence stable; follow-through was inconclusive":"Pending future price observations"}),(0,s.jsx)("span",{children:function(e){var n,i;let s=null!==(n=e.evaluation_payload)&&void 0!==n?n:{};return"wrong"===e.outcome?null!==(i=s.reason)&&void 0!==i?i:"Price action contradicted the initial thesis.":"inconclusive"===e.outcome?"Horizon has not matured or future OHLCV is missing.":"Monitor sentiment reversal, volume decay and support/resistance failure."}(e)})]},e.id)),!n.length&&(0,s.jsx)("div",{className:"empty-state",children:"No learning evaluations are stored yet. Run the learning cycle after signal snapshots exist."})]})]})}function p(e){let{rows:n}=e;return n.length?(0,s.jsx)("div",{className:"brain-performance-list",children:n.map(e=>(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:e.key}),(0,s.jsxs)("span",{children:[g(e.success_rate)," success | ",e.mature_count," matured | score ",e.accuracy_score.toFixed(1)]})]},e.key))}):(0,s.jsx)("div",{className:"empty-state compact",children:"Waiting for matured signal families."})}function g(e){return null==e?"Pending":"".concat(Math.round(100*Number(e)),"%")}},9273:function(e,n,i){"use strict";i.d(n,{G:function(){return l}});var s=i(3890);function l(e){let{label:n="Loading intelligence snapshot"}=e;return(0,s.jsxs)("div",{className:"loading-state",children:[(0,s.jsx)("div",{}),(0,s.jsx)("span",{children:n})]})}},9509:function(e,n,i){"use strict";i.d(n,{Ku:function(){return l},T3:function(){return a},T4:function(){return t},fP:function(){return r}});var s=i(3890);function l(e){var n,i;let{snapshot:l,compact:r=!1}=e;return l&&"ready"===l.data_status&&null!=l.price?(0,s.jsxs)("div",{className:r?"market-strip compact":"market-strip",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:"Last Price"}),(0,s.jsx)("strong",{children:t(l.price,l.currency)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:"1D"}),(0,s.jsx)("strong",{className:c(l.perf_1d),children:a(l.perf_1d)})]}),!r&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:"5D"}),(0,s.jsx)("strong",{className:c(l.perf_5d),children:a(l.perf_5d)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:"1M"}),(0,s.jsx)("strong",{className:c(l.perf_1m),children:a(l.perf_1m)})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:null!==(n=l.provider)&&void 0!==n?n:"Provider"}),(0,s.jsx)("strong",{children:null!==(i=l.date)&&void 0!==i?i:"n/a"})]})]}):(0,s.jsxs)("div",{className:r?"market-strip compact":"market-strip",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:"Price"}),(0,s.jsx)("strong",{children:"Real price pending"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{children:"Provider"}),(0,s.jsx)("strong",{children:"n/a"})]})]})}function t(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD";return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:n||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function a(e){return null==e||Number.isNaN(Number(e))?"n/a":"".concat(e>0?"+":"").concat(Number(e).toFixed(2),"%")}function r(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function c(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},6288:function(e,n,i){"use strict";i.d(n,{O:function(){return t}});var s=i(3890),l=i(2675);function t(e){let{label:n}=e,i=n.includes("Breakout")||n.includes("Strong")?"positive":n.includes("Risk")||n.includes("Avoid")?"negative":n.includes("Divergence")||n.includes("Contrarian")?"warning":"neutral";return(0,s.jsx)("span",{className:(0,l.Z)("status-badge",i),children:n})}}},function(e){e.O(0,[183,651,908,649,945,744],function(){return e(e.s=6067)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/sniper/page-66e545665c88da6b.js b/frontend/.next/static/chunks/app/sniper/page-66e545665c88da6b.js new file mode 100644 index 0000000000000000000000000000000000000000..b95b9ee32de01350085c7ef8bd95f66914b51acc --- /dev/null +++ b/frontend/.next/static/chunks/app/sniper/page-66e545665c88da6b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[74],{8282:function(e,i,n){Promise.resolve().then(n.bind(n,7768))},7768:function(e,i,n){"use strict";n.r(i),n.d(i,{default:function(){return h}});var l=n(3890),t=n(8496),s=n(6788),r=n(6906);let a=(0,n(8964).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);var o=n(6073),d=n(7160),c=n(6499),u=n(8908),v=n(9273),p=n(979),x=n(6288);function h(){var e,i,n,h,f,g,_,b,k,N,w,S,R,M,P,A,E,O;let[T,z]=(0,t.useState)(null),[C,I]=(0,t.useState)(null),[L,B]=(0,t.useState)([]),[Z,G]=(0,t.useState)("");(0,t.useEffect)(()=>{let e=!0;async function i(){G("");let[i,n,l]=await Promise.allSettled([d.h.sniperCandidates(48),d.h.sniperMetrics(),d.h.sniperLessons(24)]);if(!e)return;"fulfilled"===i.status&&z(i.value),"fulfilled"===n.status&&I(n.value),"fulfilled"===l.status&&B(l.value);let t=[i,n,l].find(e=>"rejected"===e.status);t&&G(t.reason.message)}i();let n=window.setInterval(i,6e4);return()=>{e=!1,window.clearInterval(n)}},[]);let F=null!==(h=null==T?void 0:T.candidates)&&void 0!==h?h:[],q=null!==(f=null==T?void 0:T.summary)&&void 0!==f?f:{},W=null!==(g=null==T?void 0:T.market_regime)&&void 0!==g?g:{},U=null!==(_=null==T?void 0:T.sections)&&void 0!==_?_:{},D=(0,t.useMemo)(()=>[{x:F.slice(0,18).map(e=>e.ticker),y:F.slice(0,18).map(e=>{var i;return null!==(i=e.sniper_score)&&void 0!==i?i:0}),type:"bar",marker:{color:F.slice(0,18).map(e=>{var i;return"active_setup"===(i=e.actionability)?"#20e070":"actionable_if_confirmed"===i||"wait_for_trigger"===i?"#ffb000":"avoid"===i?"#ff4d5e":"#55aaff"})}}],[F]),H=null!==(b=null==C?void 0:C.r_multiple)&&void 0!==b?b:[],Q=(0,t.useMemo)(()=>[{x:H.slice(0,14).map(e=>e.setup_type),y:H.slice(0,14).map(e=>{var i;return null!==(i=e.expectancy_r)&&void 0!==i?i:0}),type:"bar",marker:{color:H.slice(0,14).map(e=>{var i;return Number(null!==(i=e.expectancy_r)&&void 0!==i?i:0)>=0?"#20e070":"#ff4d5e"})}}],[H]);return!T&&Z?(0,l.jsxs)("div",{className:"empty-state",children:["API error: ",Z]}):T?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.ft,{eyebrow:"Market Sniper Engine",title:"Actionability, not generic attractiveness.",subtitle:"Conditional entry logic, invalidation, target zones, R-multiple learning, no-trade intelligence and exit discipline. Research only.",statusItems:[{label:"Regime",value:null!==(k=W.regime_primary)&&void 0!==k?k:"n/a",tone:"risk_off"===W.regime_primary?"negative":"attention"},{label:"Candidates",value:String(null!==(N=q.candidate_count)&&void 0!==N?N:F.length)},{label:"Avg Sniper",value:y(q.average_sniper_score),tone:"info"},{label:"Top Sniper",value:y(q.top_sniper_score),tone:"positive"}],actions:(0,l.jsx)(x.O,{label:"Informational scenarios only"})}),Z&&(0,l.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["API warning: ",Z]}),(0,l.jsxs)("section",{className:"terminal-command-grid",children:[(0,l.jsx)(u.i9,{label:"Risk Appetite",value:y(W.risk_appetite_score),subvalue:null!==(w=W.breadth_state)&&void 0!==w?w:"breadth n/a",tone:"attention"}),(0,l.jsx)(u.i9,{label:"Rotation Score",value:y(W.sector_rotation_score),subvalue:null!==(S=W.regime_secondary)&&void 0!==S?S:"secondary regime"}),(0,l.jsx)(u.i9,{label:"Active Setups",value:null!==(R=null===(e=U.active_setups)||void 0===e?void 0:e.length)&&void 0!==R?R:0,subvalue:"confirmed conditional",tone:"positive"}),(0,l.jsx)(u.i9,{label:"Wait For Trigger",value:null!==(M=null===(i=U.wait_for_trigger)||void 0===i?void 0:i.length)&&void 0!==M?M:0,subvalue:"interesting, not active",tone:"attention"}),(0,l.jsx)(u.i9,{label:"Avoid",value:null!==(P=null===(n=U.avoid_list)||void 0===n?void 0:n.length)&&void 0!==P?P:0,subvalue:"no-trade filter",tone:"negative"}),(0,l.jsx)(u.i9,{label:"R-Metric Rows",value:H.length,subvalue:"R-multiple memory"}),(0,l.jsx)(u.i9,{label:"Lessons",value:L.length,subvalue:"recent reliability notes"}),(0,l.jsx)(u.i9,{label:"Policy",value:"Wait > weak entry",subvalue:"selective by design"})]}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsx)(p.G,{title:"Sniper Score Distribution",data:D,layout:{yaxis:{range:[0,100],title:"Sniper Score"},xaxis:{title:"Candidate"}},emptyMessage:"No Sniper candidates available yet."}),(0,l.jsx)(p.G,{title:"Expectancy by Setup Type",data:Q,layout:{yaxis:{title:"Expectancy in R"},xaxis:{title:"Setup"}},emptyMessage:"R-multiple metrics appear after historical execution simulations."})]}),(0,l.jsx)("section",{className:"grid-3",style:{marginTop:12},children:F.slice(0,9).map(e=>(0,l.jsx)(j,{item:e},e.ticker))}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsx)(m,{title:"Active Setups",icon:(0,l.jsx)(r.Z,{size:17}),rows:null!==(A=U.active_setups)&&void 0!==A?A:[],empty:"No active conditional setup. BLUM prefers patience."}),(0,l.jsx)(m,{title:"Wait For Trigger",icon:(0,l.jsx)(a,{size:17}),rows:null!==(E=U.wait_for_trigger)&&void 0!==E?E:[],empty:"No wait-for-trigger setups."})]}),(0,l.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,l.jsx)(m,{title:"Avoid List",icon:(0,l.jsx)(o.Z,{size:17}),rows:null!==(O=U.avoid_list)&&void 0!==O?O:[],empty:"No hard no-trade decisions in the current candidate set."}),(0,l.jsx)(u.Ez,{title:"Recent Learning Lessons",value:"".concat(L.length," notes"),children:(0,l.jsxs)("div",{className:"brain-list dense",children:[L.map((e,i)=>{var n,t;return(0,l.jsxs)("div",{children:[(0,l.jsx)(x.O,{label:null!==(n=e.severity)&&void 0!==n?n:"Info"}),(0,l.jsx)("strong",{children:e.lesson}),(0,l.jsxs)("p",{children:["Sample count: ",null!==(t=e.sample_count)&&void 0!==t?t:0,". Reliability remains conditional and non-predictive."]})]},"".concat(e.lesson,"-").concat(i))}),!L.length&&(0,l.jsx)("div",{className:"empty-state",children:"No Sniper lessons yet. Execution simulations will populate this panel."})]})})]}),(0,l.jsx)("section",{style:{marginTop:12},children:(0,l.jsx)(u.Ez,{title:"Execution Plan Matrix",value:"".concat(F.length," candidates"),subtitle:"Entry, trigger, invalidation, targets, risk/reward and no-trade reasons",className:"radar-core-panel",children:(0,l.jsx)("div",{className:"table-shell",children:(0,l.jsxs)("table",{className:"intel-table",children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:"Ticker"}),(0,l.jsx)("th",{children:"Actionability"}),(0,l.jsx)("th",{children:"Setup"}),(0,l.jsx)("th",{children:"Entry / Trigger"}),(0,l.jsx)("th",{children:"Risk"}),(0,l.jsx)("th",{children:"Targets"}),(0,l.jsx)("th",{children:"No-Trade"})]})}),(0,l.jsx)("tbody",{children:F.map(e=>{var i,n,t,r,a,o,d,u,v,p,h,j,m,f,g;let _=null!==(a=e.trade_plan)&&void 0!==a?a:{},b=null!==(o=e.setup)&&void 0!==o?o:{},k=null!==(d=e.risk)&&void 0!==d?d:{},N=null!==(u=_.entry_zone)&&void 0!==u?u:{};return(0,l.jsxs)("tr",{children:[(0,l.jsxs)("td",{children:[(0,l.jsx)(s.default,{className:"asset-link",href:(0,c.up)(e.ticker),children:e.ticker}),(0,l.jsx)("span",{children:null===(i=e.asset)||void 0===i?void 0:i.name})]}),(0,l.jsxs)("td",{children:[(0,l.jsx)(x.O,{label:e.actionability}),(0,l.jsxs)("span",{children:["Sniper ",y(e.sniper_score),"/100"]})]}),(0,l.jsxs)("td",{children:[(0,l.jsx)("strong",{children:b.setup_type}),(0,l.jsxs)("span",{children:["Quality ",y(b.setup_quality_score)," | Reliability ",y(b.historical_reliability)]})]}),(0,l.jsxs)("td",{children:[(0,l.jsxs)("strong",{children:[null!==(v=N.low)&&void 0!==v?v:"n/a"," - ",null!==(p=N.high)&&void 0!==p?p:"n/a"]}),(0,l.jsx)("span",{children:_.entry_trigger})]}),(0,l.jsxs)("td",{children:[(0,l.jsxs)("strong",{children:["Invalidation ",null!==(h=_.invalidation_level)&&void 0!==h?h:"n/a"]}),(0,l.jsxs)("span",{children:[k.position_risk_class," | RR ",null!==(j=null===(n=_.risk_reward_estimate)||void 0===n?void 0:n.reward_to_risk)&&void 0!==j?j:"n/a","R"]})]}),(0,l.jsxs)("td",{children:[(0,l.jsxs)("strong",{children:[null!==(m=_.target_1)&&void 0!==m?m:"n/a"," / ",null!==(f=_.target_2)&&void 0!==f?f:"n/a"]}),(0,l.jsx)("span",{children:_.trailing_exit_logic})]}),(0,l.jsx)("td",{children:(0,l.jsx)("span",{children:null!==(g=null===(r=e.no_trade_reasons)||void 0===r?void 0:null===(t=r[0])||void 0===t?void 0:t.reason)&&void 0!==g?g:"No hard block; trigger still required."})})]},"plan-".concat(e.ticker))})})]})})})})]}):(0,l.jsx)(v.G,{label:"Loading BLUM Market Sniper Engine"})}function j(e){var i,n,t,s,r,a,o,d,c,u,v,p,h,j,m,y;let{item:f}=e,g=null!==(a=f.trade_plan)&&void 0!==a?a:{},_=null!==(o=f.setup)&&void 0!==o?o:{},b=null!==(d=f.risk)&&void 0!==d?d:{};return(0,l.jsxs)("article",{className:"score-card stock-radar-card",children:[(0,l.jsxs)("div",{className:"score-card-top",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("span",{children:[null!==(c=null===(i=f.asset)||void 0===i?void 0:i.sector)&&void 0!==c?c:"Unknown"," | ",_.setup_type]}),(0,l.jsx)("h3",{children:f.ticker}),(0,l.jsx)("p",{className:"asset-subtitle",children:null===(n=f.asset)||void 0===n?void 0:n.name})]}),(0,l.jsx)("div",{className:"score-ring",style:{"--score":null!==(u=f.sniper_score)&&void 0!==u?u:0},children:(0,l.jsx)("strong",{children:Math.round(null!==(v=f.sniper_score)&&void 0!==v?v:0)})})]}),(0,l.jsx)(x.O,{label:f.actionability}),(0,l.jsx)("p",{children:f.explanation}),(0,l.jsxs)("div",{className:"mini-metrics",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"Entry"}),(0,l.jsxs)("strong",{children:[null!==(p=null===(t=g.entry_zone)||void 0===t?void 0:t.low)&&void 0!==p?p:"n/a","-",null!==(h=null===(s=g.entry_zone)||void 0===s?void 0:s.high)&&void 0!==h?h:"n/a"]})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"Invalidation"}),(0,l.jsx)("strong",{children:null!==(j=g.invalidation_level)&&void 0!==j?j:"n/a"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"RR"}),(0,l.jsxs)("strong",{children:[null!==(m=null===(r=g.risk_reward_estimate)||void 0===r?void 0:r.reward_to_risk)&&void 0!==m?m:"n/a","R"]})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"Risk"}),(0,l.jsx)("strong",{children:null!==(y=b.position_risk_class)&&void 0!==y?y:"n/a"})]})]})]})}function m(e){let{title:i,icon:n,rows:t,empty:s}=e;return(0,l.jsx)(u.Ez,{title:i,value:"".concat(t.length," names"),children:(0,l.jsxs)("div",{className:"brain-list dense",children:[t.slice(0,12).map(e=>{var t,s,r,a,o,d;return(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"opportunity-line",children:[(0,l.jsxs)("strong",{children:[n,e.ticker]}),(0,l.jsx)(x.O,{label:e.actionability})]}),(0,l.jsx)("p",{children:e.explanation}),(0,l.jsxs)("div",{className:"mini-metrics",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"Score"}),(0,l.jsx)("strong",{children:y(e.sniper_score)})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"Setup"}),(0,l.jsx)("strong",{children:null===(t=e.setup)||void 0===t?void 0:t.setup_type})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"RR"}),(0,l.jsxs)("strong",{children:[null!==(o=null===(r=e.trade_plan)||void 0===r?void 0:null===(s=r.risk_reward_estimate)||void 0===s?void 0:s.reward_to_risk)&&void 0!==o?o:"n/a","R"]})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)("span",{children:"Invalidation"}),(0,l.jsx)("strong",{children:null!==(d=null===(a=e.trade_plan)||void 0===a?void 0:a.invalidation_level)&&void 0!==d?d:"n/a"})]})]})]},"".concat(i,"-").concat(e.ticker))}),!t.length&&(0,l.jsx)("div",{className:"empty-state",children:s})]})})}function y(e){return null==e||Number.isNaN(Number(e))?"n/a":Number(e).toFixed(1)}},9273:function(e,i,n){"use strict";n.d(i,{G:function(){return t}});var l=n(3890);function t(e){let{label:i="Loading intelligence snapshot"}=e;return(0,l.jsxs)("div",{className:"loading-state",children:[(0,l.jsx)("div",{}),(0,l.jsx)("span",{children:i})]})}},979:function(e,i,n){"use strict";n.d(i,{G:function(){return o}});var l=n(3890),t=n(3548),s=n.n(t),r=n(8496);let a=s()(()=>Promise.all([n.e(715),n.e(54)]).then(n.bind(n,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function o(e){let{title:i,data:n,layout:t={},height:s=360,emptyMessage:o="Waiting for real data series."}=e,d=n.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),c={data:n,layout:{autosize:!0,height:s,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...t},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,l.jsxs)("section",{className:"panel",children:[(0,l.jsx)("div",{className:"panel-head",children:(0,l.jsx)("span",{children:i})}),d?(0,r.createElement)(a,c):(0,l.jsx)("div",{className:"plot-empty",children:o})]})}},6288:function(e,i,n){"use strict";n.d(i,{O:function(){return s}});var l=n(3890),t=n(2675);function s(e){let{label:i}=e,n=i.includes("Breakout")||i.includes("Strong")?"positive":i.includes("Risk")||i.includes("Avoid")?"negative":i.includes("Divergence")||i.includes("Contrarian")?"warning":"neutral";return(0,l.jsx)("span",{className:(0,t.Z)("status-badge",n),children:i})}},6906:function(e,i,n){"use strict";n.d(i,{Z:function(){return l}});let l=(0,n(8964).Z)("Crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]])},6073:function(e,i,n){"use strict";n.d(i,{Z:function(){return l}});let l=(0,n(8964).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},3548:function(e,i,n){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return s}});let l=n(6651);n(3890),n(8496);let t=l._(n(3992));function s(e,i){var n;let l={loading:e=>{let{error:i,isLoading:n,pastDelay:l}=e;return null}};"function"==typeof e&&(l.loader=e);let s={...l,...i};return(0,t.default)({...s,modules:null==(n=s.loadableGenerated)?void 0:n.modules})}("function"==typeof i.default||"object"==typeof i.default&&null!==i.default)&&void 0===i.default.__esModule&&(Object.defineProperty(i.default,"__esModule",{value:!0}),Object.assign(i.default,i),e.exports=i.default)},4377:function(e,i,n){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"BailoutToCSR",{enumerable:!0,get:function(){return t}});let l=n(4895);function t(e){let{reason:i,children:n}=e;if("undefined"==typeof window)throw new l.BailoutToCSRError(i);return n}},3992:function(e,i,n){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return d}});let l=n(3890),t=n(8496),s=n(4377),r=n(2992);function a(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},d=function(e){let i={...o,...e},n=(0,t.lazy)(()=>i.loader().then(a)),d=i.loading;function c(e){let a=d?(0,l.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,o=i.ssr?(0,l.jsxs)(l.Fragment,{children:["undefined"==typeof window?(0,l.jsx)(r.PreloadCss,{moduleIds:i.modules}):null,(0,l.jsx)(n,{...e})]}):(0,l.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,l.jsx)(n,{...e})});return(0,l.jsx)(t.Suspense,{fallback:a,children:o})}return c.displayName="LoadableComponent",c}},2992:function(e,i,n){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"PreloadCss",{enumerable:!0,get:function(){return s}});let l=n(3890),t=n(5296);function s(e){let{moduleIds:i}=e;if("undefined"!=typeof window)return null;let n=(0,t.getExpectedRequestStore)("next/dynamic css"),s=[];if(n.reactLoadableManifest&&i){let e=n.reactLoadableManifest;for(let n of i){if(!e[n])continue;let i=e[n].files.filter(e=>e.endsWith(".css"));s.push(...i)}}return 0===s.length?null:(0,l.jsx)(l.Fragment,{children:s.map(e=>(0,l.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}}},function(e){e.O(0,[183,651,908,649,945,744],function(){return e(e.s=8282)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/stock-radar/page-6e7f483858d9a39e.js b/frontend/.next/static/chunks/app/stock-radar/page-6e7f483858d9a39e.js new file mode 100644 index 0000000000000000000000000000000000000000..8b54b06146ea6cd9ff255bf24e50244a4d7c08aa --- /dev/null +++ b/frontend/.next/static/chunks/app/stock-radar/page-6e7f483858d9a39e.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[511],{7926:function(e,s,n){Promise.resolve().then(n.bind(n,9570))},9570:function(e,s,n){"use strict";n.r(s),n.d(s,{default:function(){return v}});var t=n(3890),r=n(6788),a=n(8496),i=n(7160),l=n(8908),o=n(9273),c=n(9509),d=n(979),u=n(6288);let m=[["strongest_signals","Strongest"],["narrative_breakouts","Narrative"],["technical_breakouts","Technical"],["quality_momentum","Quality Momentum"],["quiet_accumulation","Quiet Accumulation"],["sentiment_divergence","Divergence"],["high_risk_momentum","High Risk"],["contrarian_setups","Contrarian"]];function v(){var e,s,n,c;let[u,v]=(0,a.useState)(null),[p,g]=(0,a.useState)("strongest_signals"),[f,j]=(0,a.useState)(""),[y,_]=(0,a.useState)(""),[b,N]=(0,a.useState)(""),[k,w]=(0,a.useState)(""),S=async()=>{w("");try{v(await i.h.stockRadar(100))}catch(e){w(e.message)}};(0,a.useEffect)(()=>{S()},[]);let P=null!==(s=null==u?void 0:null===(e=u.sections)||void 0===e?void 0:e[p])&&void 0!==s?s:[],M=P.length?P:(null==u?void 0:u.summary.signal_count)?[]:null!==(c=null!==(n=null==u?void 0:u.data_gaps)&&void 0!==n?n:null==u?void 0:u.rows)&&void 0!==c?c:[],A=(0,a.useMemo)(()=>{let e=b.trim().toLowerCase();return M.filter(s=>(!f||s.asset.sector===f)&&(!y||s.research_priority===y)&&(!e||"".concat(s.ticker," ").concat(s.asset.name," ").concat(s.asset.sector," ").concat(s.asset.industry).toLowerCase().includes(e)))},[M,f,y,b]);if(!u)return k?(0,t.jsxs)("div",{className:"empty-state",children:["API error: ",k]}):(0,t.jsx)(o.G,{label:"Loading Stock Radar"});let C=u.rows.length?u.rows:u.data_gaps,R=Array.from(new Set(C.map(e=>e.asset.sector))).sort(),T=Array.from(new Set(C.map(e=>e.research_priority))).sort(),F=u.rows.filter(e=>e.signal);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.ft,{eyebrow:"Stock Radar",title:"Equity opportunity radar and signal triage.",subtitle:"A research desk view for equities, price status, score factors, narrative evidence and risk state.",statusItems:[{label:"Stocks",value:String(u.summary.stock_count)},{label:"Signals",value:String(u.summary.signal_count),tone:u.summary.signal_count?"positive":"attention"},{label:"Priced",value:String(u.summary.priced_count),tone:u.summary.priced_count?"positive":"attention"},{label:"Avg score",value:u.summary.average_score.toFixed(1),tone:"attention"}],actions:(0,t.jsxs)("div",{className:"header-actions",children:[(0,t.jsx)(r.default,{className:"button",href:"/etf-radar",children:"ETF Radar"}),(0,t.jsx)(r.default,{className:"button",href:"/ipo-radar",children:"IPO Radar"})]})}),k&&(0,t.jsxs)("div",{className:"empty-state",style:{marginBottom:12},children:["API error: ",k]}),(0,t.jsxs)("section",{className:"terminal-command-grid",children:[(0,t.jsx)(l.i9,{label:"Stocks",value:u.summary.stock_count,subvalue:"Equity universe"}),(0,t.jsx)(l.i9,{label:"Signals",value:u.summary.signal_count,subvalue:"".concat(u.summary.missing_signal_count," missing"),tone:u.summary.signal_count?"positive":"attention"}),(0,t.jsx)(l.i9,{label:"Priced",value:u.summary.priced_count,subvalue:"Latest stored price"}),(0,t.jsx)(l.i9,{label:"Avg Score",value:u.summary.average_score.toFixed(1),subvalue:"Top ".concat(u.summary.top_score.toFixed(1)),tone:"attention"}),(0,t.jsx)(l.i9,{label:"High Risk",value:u.summary.high_risk_count,subvalue:"Risk-heavy momentum",tone:u.summary.high_risk_count?"negative":"neutral"}),(0,t.jsx)(l.i9,{label:"Positive 1D",value:u.summary.positive_1d_count,subvalue:"Short-term breadth",tone:"info"}),(0,t.jsx)(l.i9,{label:"Sectors",value:u.sector_leaders.length,subvalue:"Leadership groups"}),(0,t.jsx)(l.i9,{label:"Status",value:u.status.replaceAll("_"," "),subvalue:"Radar readiness"})]}),(0,t.jsx)("section",{className:"radar-tabs",style:{marginTop:12},children:m.map(e=>{var s,n;let[r,a]=e;return(0,t.jsxs)("button",{className:p===r?"active":"",onClick:()=>g(r),children:[a,(0,t.jsx)("span",{children:null!==(n=null===(s=u.sections[r])||void 0===s?void 0:s.length)&&void 0!==n?n:0})]},r)})}),"ready"!==u.status&&(0,t.jsxs)("section",{className:"panel readiness-panel",style:{marginTop:12},children:[(0,t.jsxs)("div",{className:"panel-head",children:[(0,t.jsx)("span",{children:"Evidence readiness"}),(0,t.jsx)("strong",{children:u.status.replaceAll("_"," ")})]}),(0,t.jsx)("p",{children:"The autonomous research engine is hydrating prices, news, sentiment, embeddings and signal snapshots in the background. The cards below show the real asset universe and latest stored market status. No synthetic prices, headlines or scores are displayed."}),(0,t.jsxs)("div",{className:"mini-metrics",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Missing signals"}),(0,t.jsx)("strong",{children:u.summary.missing_signal_count})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Priced names"}),(0,t.jsx)("strong",{children:u.summary.priced_count})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Positive 1D"}),(0,t.jsx)("strong",{children:u.summary.positive_1d_count})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Top score"}),(0,t.jsx)("strong",{children:u.summary.top_score.toFixed(1)})]})]})]}),(0,t.jsx)("section",{className:"grid-3",style:{marginTop:12},children:A.slice(0,6).map(e=>(0,t.jsx)(h,{row:e},"card-".concat(e.ticker)))}),(0,t.jsxs)("section",{className:"grid-2",style:{marginTop:12},children:[(0,t.jsx)(d.G,{title:"Sector Leadership",data:[{x:u.sector_leaders.map(e=>e.average_score),y:u.sector_leaders.map(e=>e.sector),type:"bar",orientation:"h",marker:{color:"#ffb000"}}],layout:{xaxis:{range:[0,100]}},emptyMessage:"Sector leadership appears after real signal snapshots are created."}),(0,t.jsx)(d.G,{title:"Momentum vs Sentiment",data:[{x:F.map(e=>{var s,n;return null!==(n=null===(s=e.factor_scores)||void 0===s?void 0:s.momentum)&&void 0!==n?n:0}),y:F.map(e=>{var s,n;return null!==(n=null===(s=e.factor_scores)||void 0===s?void 0:s.sentiment)&&void 0!==n?n:0}),text:F.map(e=>e.ticker),type:"scatter",mode:"markers+text",marker:{size:F.map(e=>{var s,n;return Math.max(9,(null!==(n=null===(s=e.signal)||void 0===s?void 0:s.blum_score)&&void 0!==n?n:0)/5)}),color:"#4dd8ff"}}],layout:{xaxis:{range:[0,100],title:"Momentum"},yaxis:{range:[0,100],title:"Sentiment"}},emptyMessage:"Momentum and sentiment scatter requires priced assets, linked news and signal snapshots."})]}),(0,t.jsxs)(l.Ez,{title:"Stock Radar Table",value:"".concat(A.length," names"),subtitle:"Sortable terminal table for price, sentiment, momentum, confidence, signal and risk",className:"radar-core-panel",children:[(0,t.jsxs)("div",{className:"control-row",children:[(0,t.jsx)("input",{className:"input",placeholder:"Search ticker, company, sector",value:b,onChange:e=>N(e.target.value)}),(0,t.jsxs)("select",{className:"input",value:f,onChange:e=>j(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"All sectors"}),R.map(e=>(0,t.jsx)("option",{children:e},e))]}),(0,t.jsxs)("select",{className:"input",value:y,onChange:e=>_(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"All research priorities"}),T.map(e=>(0,t.jsx)("option",{children:e},e))]})]}),(0,t.jsx)(l.Xz,{rows:A.map(e=>{var s,n,t,r,a,i,l,o,c,d,u,m,v,h;let p=null!==(o=null===(s=e.signal)||void 0===s?void 0:s.blum_score)&&void 0!==o?o:0,g=null!==(c=null===(n=e.signal)||void 0===n?void 0:n.risk_level)&&void 0!==c?c:"Not rated";return{ticker:e.ticker,name:e.asset.name,sector:e.asset.sector,assetType:e.asset.asset_type,price:e.market_snapshot.price,currency:e.market_snapshot.currency,changePercent:e.market_snapshot.perf_1d,volumeRelative:null,sentimentScore:x(e,"sentiment"),momentumScore:x(e,"momentum"),trendScore:x(e,"trend"),newsCount:Number(null!==(d=null===(t=e.narrative_flags)||void 0===t?void 0:t.news_count_7d)&&void 0!==d?d:0),newsScore:Number(null!==(m=null!==(u=null===(r=e.narrative_flags)||void 0===r?void 0:r.narrative_intensity)&&void 0!==u?u:null===(a=e.narrative_flags)||void 0===a?void 0:a.news_count_7d)&&void 0!==m?m:0),confidence:null!==(v=null===(i=e.signal)||void 0===i?void 0:i.confidence_score)&&void 0!==v?v:0,signalType:null!==(h=null===(l=e.signal)||void 0===l?void 0:l.classification)&&void 0!==h?h:"Insufficient Evidence",riskScore:x(e,"volatility"),riskLevel:g,action:p>=84?"Strong Attention":p>=68?"Watch":g.toLowerCase().includes("high")?"Avoid":"Monitor",why:e.why_watch}})})]})]})}function h(e){var s,n,r,a,i;let{row:l}=e,o=null!==(a=null===(s=l.signal)||void 0===s?void 0:s.blum_score)&&void 0!==a?a:0;return(0,t.jsxs)("article",{className:"score-card stock-radar-card",children:[(0,t.jsxs)("div",{className:"score-card-top",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("span",{children:[l.asset.sector," | ",l.research_priority]}),(0,t.jsx)("h3",{children:l.ticker}),(0,t.jsx)("p",{className:"asset-subtitle",children:l.asset.name})]}),(0,t.jsx)("div",{className:"score-ring",style:{"--score":o},children:(0,t.jsx)("strong",{children:Math.round(o)})})]}),l.signal?(0,t.jsx)(u.O,{label:l.signal.classification}):(0,t.jsx)(u.O,{label:"Insufficient Evidence"}),(0,t.jsx)(c.Ku,{snapshot:l.market_snapshot,compact:!0}),(0,t.jsx)("div",{className:"tag-row",children:l.radar_tags.slice(0,5).map(e=>(0,t.jsx)("span",{children:e},e))}),(0,t.jsx)("p",{children:l.why_watch}),(0,t.jsxs)("div",{className:"mini-metrics",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Trend"}),(0,t.jsx)("strong",{children:p(l,"trend")})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Momentum"}),(0,t.jsx)("strong",{children:p(l,"momentum")})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Sentiment"}),(0,t.jsx)("strong",{children:p(l,"sentiment")})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Confidence"}),(0,t.jsx)("strong",{children:null!==(i=null===(r=l.signal)||void 0===r?void 0:null===(n=r.confidence_score)||void 0===n?void 0:n.toFixed(0))&&void 0!==i?i:"n/a"})]})]})]})}function p(e,s){var n,t;return Number(null!==(t=null===(n=e.factor_scores)||void 0===n?void 0:n[s])&&void 0!==t?t:0).toFixed(0)}function x(e,s){var n,t;return Number(null!==(t=null===(n=e.factor_scores)||void 0===n?void 0:n[s])&&void 0!==t?t:0)}},9273:function(e,s,n){"use strict";n.d(s,{G:function(){return r}});var t=n(3890);function r(e){let{label:s="Loading intelligence snapshot"}=e;return(0,t.jsxs)("div",{className:"loading-state",children:[(0,t.jsx)("div",{}),(0,t.jsx)("span",{children:s})]})}},9509:function(e,s,n){"use strict";n.d(s,{Ku:function(){return r},T3:function(){return i},T4:function(){return a},fP:function(){return l}});var t=n(3890);function r(e){var s,n;let{snapshot:r,compact:l=!1}=e;return r&&"ready"===r.data_status&&null!=r.price?(0,t.jsxs)("div",{className:l?"market-strip compact":"market-strip",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Last Price"}),(0,t.jsx)("strong",{children:a(r.price,r.currency)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"1D"}),(0,t.jsx)("strong",{className:o(r.perf_1d),children:i(r.perf_1d)})]}),!l&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"5D"}),(0,t.jsx)("strong",{className:o(r.perf_5d),children:i(r.perf_5d)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"1M"}),(0,t.jsx)("strong",{className:o(r.perf_1m),children:i(r.perf_1m)})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:null!==(s=r.provider)&&void 0!==s?s:"Provider"}),(0,t.jsx)("strong",{children:null!==(n=r.date)&&void 0!==n?n:"n/a"})]})]}):(0,t.jsxs)("div",{className:l?"market-strip compact":"market-strip",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Price"}),(0,t.jsx)("strong",{children:"Real price pending"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{children:"Provider"}),(0,t.jsx)("strong",{children:"n/a"})]})]})}function a(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"USD";return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{style:"currency",currency:s||"USD",maximumFractionDigits:e>=100?2:4}).format(Number(e))}function i(e){return null==e||Number.isNaN(Number(e))?"n/a":"".concat(e>0?"+":"").concat(Number(e).toFixed(2),"%")}function l(e){return null==e||Number.isNaN(Number(e))?"n/a":new Intl.NumberFormat("en",{notation:"compact",maximumFractionDigits:2}).format(Number(e))}function o(e){return null==e?"":e>0?"positive-text":e<0?"negative-text":""}},979:function(e,s,n){"use strict";n.d(s,{G:function(){return o}});var t=n(3890),r=n(3548),a=n.n(r),i=n(8496);let l=a()(()=>Promise.all([n.e(715),n.e(54)]).then(n.bind(n,3506)),{loadableGenerated:{webpack:()=>[3506]},ssr:!1});function o(e){let{title:s,data:n,layout:r={},height:a=360,emptyMessage:o="Waiting for real data series."}=e,c=n.some(e=>[null==e?void 0:e.x,null==e?void 0:e.y,null==e?void 0:e.z,null==e?void 0:e.values,null==e?void 0:e.labels].filter(Array.isArray).some(e=>!!e.length&&(!Array.isArray(e[0])||e.some(e=>Array.isArray(e)&&e.length>0)))),d={data:n,layout:{autosize:!0,height:a,paper_bgcolor:"#07090d",plot_bgcolor:"#090d13",font:{color:"#e7edf6",family:"Inter, system-ui, sans-serif"},margin:{l:42,r:18,t:18,b:36},xaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},yaxis:{gridcolor:"rgba(255,255,255,.06)",zeroline:!1},...r},config:{displayModeBar:!1,responsive:!0},useResizeHandler:!0,style:{width:"100%"}};return(0,t.jsxs)("section",{className:"panel",children:[(0,t.jsx)("div",{className:"panel-head",children:(0,t.jsx)("span",{children:s})}),c?(0,i.createElement)(l,d):(0,t.jsx)("div",{className:"plot-empty",children:o})]})}},6288:function(e,s,n){"use strict";n.d(s,{O:function(){return a}});var t=n(3890),r=n(2675);function a(e){let{label:s}=e,n=s.includes("Breakout")||s.includes("Strong")?"positive":s.includes("Risk")||s.includes("Avoid")?"negative":s.includes("Divergence")||s.includes("Contrarian")?"warning":"neutral";return(0,t.jsx)("span",{className:(0,r.Z)("status-badge",n),children:s})}},3548:function(e,s,n){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return a}});let t=n(6651);n(3890),n(8496);let r=t._(n(3992));function a(e,s){var n;let t={loading:e=>{let{error:s,isLoading:n,pastDelay:t}=e;return null}};"function"==typeof e&&(t.loader=e);let a={...t,...s};return(0,r.default)({...a,modules:null==(n=a.loadableGenerated)?void 0:n.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),e.exports=s.default)},4377:function(e,s,n){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return r}});let t=n(4895);function r(e){let{reason:s,children:n}=e;if("undefined"==typeof window)throw new t.BailoutToCSRError(s);return n}},3992:function(e,s,n){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return c}});let t=n(3890),r=n(8496),a=n(4377),i=n(2992);function l(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},c=function(e){let s={...o,...e},n=(0,r.lazy)(()=>s.loader().then(l)),c=s.loading;function d(e){let l=c?(0,t.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=s.ssr?(0,t.jsxs)(t.Fragment,{children:["undefined"==typeof window?(0,t.jsx)(i.PreloadCss,{moduleIds:s.modules}):null,(0,t.jsx)(n,{...e})]}):(0,t.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,t.jsx)(n,{...e})});return(0,t.jsx)(r.Suspense,{fallback:l,children:o})}return d.displayName="LoadableComponent",d}},2992:function(e,s,n){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadCss",{enumerable:!0,get:function(){return a}});let t=n(3890),r=n(5296);function a(e){let{moduleIds:s}=e;if("undefined"!=typeof window)return null;let n=(0,r.getExpectedRequestStore)("next/dynamic css"),a=[];if(n.reactLoadableManifest&&s){let e=n.reactLoadableManifest;for(let n of s){if(!e[n])continue;let s=e[n].files.filter(e=>e.endsWith(".css"));a.push(...s)}}return 0===a.length?null:(0,t.jsx)(t.Fragment,{children:a.map(e=>(0,t.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:n.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}}},function(e){e.O(0,[183,651,908,649,945,744],function(){return e(e.s=7926)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/app/themes/page-9af78316fbb208f8.js b/frontend/.next/static/chunks/app/themes/page-9af78316fbb208f8.js new file mode 100644 index 0000000000000000000000000000000000000000..a071dacac65603d07665afedf19053b6c982cbbc --- /dev/null +++ b/frontend/.next/static/chunks/app/themes/page-9af78316fbb208f8.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[277],{7416:function(n,e,u){Promise.resolve().then(u.bind(u,892))}},function(n){n.O(0,[183,651,908,433,649,945,744],function(){return n(n.s=7416)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/frontend/.next/static/chunks/framework-6e06c675866dc992.js b/frontend/.next/static/chunks/framework-6e06c675866dc992.js new file mode 100644 index 0000000000000000000000000000000000000000..686efb1eb03f1262b7baa6d34a8ee705a7d73c20 --- /dev/null +++ b/frontend/.next/static/chunks/framework-6e06c675866dc992.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[774],{6521:function(e,n,t){var r,l,a,u,o,i,s=t(5271),c=t(7537);function f(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t
c")}),gs=Oe.f,ys=ne.enforce,ms=dt("match"),bs=i.RegExp,ws=bs.prototype,Ss=i.SyntaxError,Es=b(ws.exec),Os=b("".charAt),xs=b("".replace),Rs=b("".indexOf),Ps=b("".slice),As=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,js=/a/g,ks=/a/g,Is=new bs(js)!==js,Ts=cs.MISSED_STICKY,Ms=cs.UNSUPPORTED_Y,Ls=u&&(!Is||Ts||ps||ds||a(function(){return ks[ms]=!1,bs(js)!==js||bs(ks)===ks||"/a/i"!==String(bs(js,"i"))}));if(Ue("RegExp",Ls)){for(var Us=function(t,e){var r,n,o,i,a,u,s=U(ws,this),c=es(t),f=void 0===e,l=[],h=t;if(!s&&c&&f&&t.constructor===Us)return t;if((c||U(ws,t))&&(t=t.source,f&&(e=os(h))),t=void 0===t?"":Wr(t),e=void 0===e?"":Wr(e),h=t,ps&&"dotAll"in js&&(n=!!e&&Rs(e,"s")>-1)&&(e=xs(e,/s/g,"")),r=e,Ts&&"sticky"in js&&(o=!!e&&Rs(e,"y")>-1)&&Ms&&(e=xs(e,/y/g,"")),ds&&(i=function(t){for(var e,r=t.length,n=0,o="",i=[],a=Ve(null),u=!1,s=!1,c=0,f="";n<=r;n++){if("\\"===(e=Os(t,n)))e+=Os(t,++n);else if("]"===e)u=!1;else if(!u)switch(!0){case"["===e:u=!0;break;case"("===e:if(o+=e,"?:"===Ps(t,n+1,n+3))continue;Es(As,Ps(t,n+1))&&(n+=2,s=!0),c++;continue;case">"===e&&s:if(""===f||ut(a,f))throw new Ss("Invalid capture group name");a[f]=!0,i[i.length]=[f,c],s=!1,f="";continue}s?f+=e:o+=e}return[o,i]}(t),t=i[0],l=i[1]),a=Io(bs(t,e),s?this:ws,Us),(n||o||l.length)&&(u=ys(a),n&&(u.dotAll=!0,u.raw=Us(function(t){for(var e,r=t.length,n=0,o="",i=!1;n<=r;n++)"\\"!==(e=Os(t,n))?i||"."!==e?("["===e?i=!0:"]"===e&&(i=!1),o+=e):o+="[\\s\\S]":o+=e+Os(t,++n);return o}(t),r)),o&&(u.sticky=!0),l.length&&(u.groups=l)),t!==h)try{_t(a,"source",""===h?"(?:)":h)}catch(t){}return a},Ns=gs(bs),Cs=0;Ns.length>Cs;)ls(Us,bs,Ns[Cs++]);ws.constructor=Us,Us.prototype=ws,ie(i,"RegExp",Us,{constructor:!0})}Uo("RegExp");var _s=zt.PROPER,Fs="toString",Bs=RegExp.prototype,Ds=Bs[Fs];(a(function(){return"/a/b"!==Ds.call({source:"a",flags:"b"})})||_s&&Ds.name!==Fs)&&ie(Bs,Fs,function(){var t=kt(this);return"/"+Wr(t.source)+"/"+Wr(os(t))},{unsafe:!0});var zs=ne.get,Ws=RegExp.prototype,qs=TypeError;u&&ps&&so(Ws,"dotAll",{configurable:!0,get:function(){if(this!==Ws){if("RegExp"===E(this))return!!zs(this).dotAll;throw new qs("Incompatible receiver, RegExp required")}}});var Hs=ne.get,$s=nt("native-string-replace",String.prototype.replace),Ks=RegExp.prototype.exec,Gs=Ks,Vs=b("".charAt),Ys=b("".indexOf),Xs=b("".replace),Js=b("".slice),Qs=function(){var t=/a/,e=/b*/g;return f(Ks,t,"a"),f(Ks,e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Zs=cs.BROKEN_CARET,tc=void 0!==/()??/.exec("")[1];(Qs||tc||Zs||ps||ds)&&(Gs=function(t){var e,r,n,o,i,a,u,s=this,c=Hs(s),l=Wr(t),h=c.raw;if(h)return h.lastIndex=s.lastIndex,e=f(Gs,h,l),s.lastIndex=h.lastIndex,e;var p=c.groups,v=Zs&&s.sticky,d=f(rs,s),g=s.source,y=0,m=l;if(v&&(d=Xs(d,"y",""),-1===Ys(d,"g")&&(d+="g"),m=Js(l,s.lastIndex),s.lastIndex>0&&(!s.multiline||s.multiline&&"\n"!==Vs(l,s.lastIndex-1))&&(g="(?: "+g+")",m=" "+m,y++),r=new RegExp("^(?:"+g+")",d)),tc&&(r=new RegExp("^"+g+"$(?!\\s)",d)),Qs&&(n=s.lastIndex),o=f(Ks,v?r:s,m),v?o?(o.input=Js(o.input,y),o[0]=Js(o[0],y),o.index=s.lastIndex,s.lastIndex+=o[0].length):s.lastIndex=0:Qs&&o&&(s.lastIndex=s.global?o.index+o[0].length:n),tc&&o&&o.length>1&&f($s,o[0],r,function(){for(i=1;i]*>)/g,Oc=/\$([$&'`]|\d{1,2})/g,xc=function(t,e,r,n,o,i){var a=r+t.length,u=n.length,s=Oc;return void 0!==o&&(o=it(o),s=Ec),wc(i,s,function(i,s){var c;switch(bc(s,0)){case"$":return"$";case"&":return t;case"`":return Sc(e,0,r);case"'":return Sc(e,a);case"<":c=o[Sc(s,1,-1)];break;default:var f=+s;if(0===f)return i;if(f>u){var l=mc(f/10);return 0===l?i:l<=u?void 0===n[l-1]?bc(s,1):n[l-1]+bc(s,1):i}c=n[f-1]}return void 0===c?"":c})},Rc=dt("replace"),Pc=Math.max,Ac=Math.min,jc=b([].concat),kc=b([].push),Ic=b("".indexOf),Tc=b("".slice),Mc="$0"==="a".replace(/./,"$0"),Lc=!!/./[Rc]&&""===/./[Rc]("a","$0"),Uc=!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")});pc("replace",function(t,e,r){var n=Lc?"$":"$0";return[function(t,r){var n=j(this),o=P(t)?void 0:Q(t,Rc);return o?f(o,t,n,r):f(e,Wr(n),t,r)},function(t,o){var i=kt(this),a=Wr(t);if("string"==typeof o&&-1===Ic(o,n)&&-1===Ic(o,"$<")){var u=r(e,i,a,o);if(u.done)return u.value}var s=T(o);s||(o=Wr(o));var c,f=i.global;f&&(c=i.unicode,i.lastIndex=0);for(var l,h=[];null!==(l=yc(i,a))&&(kc(h,l),f);)""===Wr(l[0])&&(i.lastIndex=dc(a,ve(i.lastIndex),c));for(var p,v="",d=0,g=0;g=d&&(v+=Tc(a,d,b)+y,d=b+m.length)}return v+Tc(a,d)}]},!Uc||!Mc||Lc),pc("search",function(t,e,r){return[function(e){var r=j(this),n=P(e)?void 0:Q(e,t);return n?f(n,e,r):new RegExp(e)[t](Wr(r))},function(t){var n=kt(this),o=Wr(t),i=r(e,n,o);if(i.done)return i.value;var a=n.lastIndex;wa(a,0)||(n.lastIndex=0);var u=yc(n,o);return wa(n.lastIndex,a)||(n.lastIndex=a),null===u?-1:u.index}]});var Nc=dt("species"),Cc=function(t,e){var r,n=kt(t).constructor;return void 0===n||P(r=kt(n)[Nc])?e:La(r)},_c=cs.UNSUPPORTED_Y,Fc=Math.min,Bc=b([].push),Dc=b("".slice),zc=!a(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),Wc="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;pc("split",function(t,e,r){var n="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:f(e,this,t,r)}:e;return[function(e,r){var o=j(this),i=P(e)?void 0:Q(e,t);return i?f(i,e,o,r):f(n,Wr(o),e,r)},function(t,o){var i=kt(this),a=Wr(t);if(!Wc){var u=r(n,i,a,o,n!==e);if(u.done)return u.value}var s=Cc(i,RegExp),c=i.unicode,f=new s(_c?"^(?:"+i.source+")":i,(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(_c?"g":"y")),l=void 0===o?4294967295:o>>>0;if(0===l)return[];if(0===a.length)return null===yc(f,a)?[a]:[];for(var h=0,p=0,v=[];p0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},Kc=b($c),Gc=b("".slice),Vc=Math.ceil,Yc=function(t){return function(e,r,n){var o,i,a=Wr(j(e)),u=ve(r),s=a.length,c=void 0===n?" ":Wr(n);return u<=s||""===c?a:((i=Kc(c,Vc((o=u-s)/c.length))).length>o&&(i=Gc(i,0,o)),t?a+i:i+a)}},Xc={start:Yc(!1),end:Yc(!0)},Jc=Xc.start,Qc=Array,Zc=RegExp.escape,tf=b("".charAt),ef=b("".charCodeAt),rf=b(1.1.toString),nf=b([].join),of=/^[0-9a-z]/i,af=/^[$()*+./?[\\\]^{|}]/,uf=RegExp("^[!\"#%&',\\-:;<=>@`~"+Mi+"]"),sf=b(of.exec),cf={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},ff=function(t){var e=rf(ef(t,0),16);return e.length<3?"\\x"+Jc(e,2,"0"):"\\u"+Jc(e,4,"0")},lf=!Zc||"\\x61b"!==Zc("ab");Ce({target:"RegExp",stat:!0,forced:lf},{escape:function(t){!function(t){if("string"==typeof t)return t;throw new qc("Argument is not a string")}(t);for(var e=t.length,r=Qc(e),n=0;n=56320||n+1>=e||56320!=(64512&ef(t,n+1))?r[n]=ff(o):(r[n]=o,r[++n]=tf(t,n))}}return nf(r,"")}}),To("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Fo);var hf=Set.prototype,pf={Set:Set,add:b(hf.add),has:b(hf.has),remove:b(hf.delete),proto:hf},vf=pf.has,df=function(t){return vf(t),t},gf=pf.Set,yf=pf.proto,mf=b(yf.forEach),bf=b(yf.keys),wf=bf(new gf).next,Sf=function(t,e,r){return r?ci({iterator:bf(t),next:wf},e):mf(t,e)},Ef=pf.Set,Of=pf.add,xf=function(t){var e=new Ef;return Sf(t,function(t){Of(e,t)}),e},Rf=ln(pf.proto,"size","get")||function(t){return t.size},Pf="Invalid size",Af=RangeError,jf=TypeError,kf=Math.max,If=function(t,e){this.set=t,this.size=kf(e,0),this.has=J(t.has),this.keys=J(t.keys)};If.prototype={getIterator:function(){return{iterator:t=kt(f(this.keys,this.set)),next:t.next,done:!1};var t},includes:function(t){return f(this.has,this.set,t)}};var Tf=function(t){kt(t);var e=+t.size;if(e!=e)throw new jf(Pf);var r=ce(e);if(r<0)throw new Af(Pf);return new If(t,r)},Mf=pf.has,Lf=pf.remove,Uf=function(t){var e=df(this),r=Tf(t),n=xf(e);return Rf(e)<=r.size?Sf(e,function(t){r.includes(t)&&Lf(n,t)}):ci(r.getIterator(),function(t){Mf(e,t)&&Lf(n,t)}),n},Nf=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},Cf=function(t){var e=L("Set");try{(new e)[t](Nf(0));try{return(new e)[t](Nf(-1)),!1}catch(t){return!0}}catch(t){return!1}};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("difference")},{difference:Uf});var _f=pf.Set,Ff=pf.add,Bf=pf.has,Df=function(t){var e=df(this),r=Tf(t),n=new _f;return Rf(e)>r.size?ci(r.getIterator(),function(t){Bf(e,t)&&Ff(n,t)}):Sf(e,function(t){r.includes(t)&&Ff(n,t)}),n},zf=!Cf("intersection")||a(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))});Ce({target:"Set",proto:!0,real:!0,forced:zf},{intersection:Df});var Wf=pf.has,qf=function(t){var e=df(this),r=Tf(t);if(Rf(e)<=r.size)return!1!==Sf(e,function(t){if(r.includes(t))return!1},!0);var n=r.getIterator();return!1!==ci(n,function(t){if(Wf(e,t))return Tn(n,"normal",!1)})};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isDisjointFrom")},{isDisjointFrom:qf});var Hf=function(t){var e=df(this),r=Tf(t);return!(Rf(e)>r.size)&&!1!==Sf(e,function(t){if(!r.includes(t))return!1},!0)};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isSubsetOf")},{isSubsetOf:Hf});var $f=pf.has,Kf=function(t){var e=df(this),r=Tf(t);if(Rf(e)1?arguments[1]:void 0);return!1!==Sf(e,function(t){if(!r(t,t,e))return!1},!0)}});var el=dt("iterator"),rl=Object,nl=L("Set"),ol=function(t){return function(t){return M(t)&&"number"==typeof t.size&&T(t.has)&&T(t.keys)}(t)?t:function(t){if(P(t))return!1;var e=rl(t);return void 0!==e[el]||"@@iterator"in e||ut(un,pr(e))}(t)?new nl(t):t};Ce({target:"Set",proto:!0,real:!0,forced:!0},{difference:function(t){return f(Uf,this,ol(t))}});var il=pf.Set,al=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new il;return Sf(e,function(t){r(t,t,e)&&al(n,t)}),n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{find:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=Sf(e,function(t){if(r(t,t,e))return{value:t}},!0);return n&&n.value}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(t){return f(Df,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(t){return f(qf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(t){return f(Hf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(t){return f(Kf,this,ol(t))}});var ul=b([].join),sl=b([].push);Ce({target:"Set",proto:!0,real:!0,forced:!0},{join:function(t){var e=df(this),r=void 0===t?",":Wr(t),n=[];return Sf(e,function(t){sl(n,t)}),ul(n,r)}});var cl=pf.Set,fl=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{map:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new cl;return Sf(e,function(t){fl(n,r(t,t,e))}),n}});var ll=TypeError;Ce({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(t){var e=df(this),r=arguments.length<2,n=r?void 0:arguments[1];if(J(t),Sf(e,function(o){r?(r=!1,n=o):n=t(n,o,o,e)}),r)throw new ll("Reduce of empty set with no initial value");return n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{some:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0);return!0===Sf(e,function(t){if(r(t,t,e))return!0},!0)}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(t){return f(Xf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{union:function(t){return f(Qf,this,ol(t))}});var hl=dt("species"),pl=dt("isConcatSpreadable"),vl=W>=51||!a(function(){var t=[];return t[pl]=!1,t.concat()[0]!==t}),dl=function(t){if(!M(t))return!1;var e=t[pl];return void 0!==e?!!e:ur(t)},gl=!(vl&&(W>=51||!a(function(){var t=[];return(t.constructor={})[hl]=function(){return{foo:1}},1!==t.concat(Boolean).foo})));Ce({target:"Array",proto:!0,arity:1,forced:gl},{concat:function(t){var e,r,n,o,i,a=it(this),u=xr(a,0),s=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0,n=e.length,o=void 0===r?n:ip(ve(r),n),i=Wr(t);return op(e,o-i.length,o)===i}}),Ze("String","endsWith");var sp=RangeError,cp=String.fromCharCode,fp=String.fromCodePoint,lp=b([].join);Ce({target:"String",stat:!0,arity:1,forced:!!fp&&1!==fp.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],he(e,1114111)!==e)throw new sp(e+" is not a valid code point");r[o]=e<65536?cp(e):cp(55296+((e-=65536)>>10),e%1024+56320)}return lp(r,"")}});var hp=b("".indexOf);Ce({target:"String",proto:!0,forced:!rp("includes")},{includes:function(t){return!!~hp(Wr(j(this)),Wr(tp(t)),arguments.length>1?arguments[1]:void 0)}}),Ze("String","includes"),b(un.String);var pp=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(_),vp=Xc.start;Ce({target:"String",proto:!0,forced:pp},{padStart:function(t){return vp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padStart");var dp=Xc.end;Ce({target:"String",proto:!0,forced:pp},{padEnd:function(t){return dp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padEnd");var gp=b([].push),yp=b([].join);Ce({target:"String",stat:!0},{raw:function(t){var e=k(it(t).raw),r=de(e);if(!r)return"";for(var n=arguments.length,o=[],i=0;;){if(gp(o,Wr(e[i++])),i===r)return yp(o,"");i1?arguments[1]:void 0,e.length)),n=Wr(t);return bp(e,r,r+n.length)===n}}),Ze("String","startsWith");var Op=zt.PROPER,xp=function(t){return a(function(){return!!Mi[t]()||"​…᠎"!=="​…᠎"[t]()||Op&&Mi[t].name!==t})},Rp=_i.start,Pp=xp("trimStart")?function(){return Rp(this)}:"".trimStart;Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Pp},{trimLeft:Pp}),Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Pp},{trimStart:Pp}),Ze("String","trimLeft");var Ap=_i.end,jp=xp("trimEnd")?function(){return Ap(this)}:"".trimEnd;Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==jp},{trimRight:jp}),Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==jp},{trimEnd:jp}),Ze("String","trimRight");var kp=Object.getOwnPropertyDescriptor,Ip=function(t){if(!u)return i[t];var e=kp(i,t);return e&&e.value},Tp=dt("iterator"),Mp=!a(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,r){e.delete("b"),n+=r+t}),r.delete("a",2),r.delete("b",void 0),!e.size&&!u||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Tp]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}),Lp=TypeError,Up=function(t,e){if(t0;)t[o]=t[--o];o!==i++&&(t[o]=n)}else for(var a=Np(r/2),u=Cp(vo(t,0,a),e),s=Cp(vo(t,a),e),c=u.length,f=s.length,l=0,h=0;l0&&0!=(t&r);r>>=1)e++;return e},pv=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},vv=function(t){for(var e=(t=nv(t,cv," ")).length,r="",n=0;ne){r+="%",n++;continue}var i=lv(t,n+1);if(i!=i){r+=o,n++;continue}n+=2;var a=hv(i);if(0===a)o=Jp(i);else{if(1===a||a>4){r+="�",n++;continue}for(var u=[i],s=1;se||"%"!==tv(t,n));){var c=lv(t,n+1);if(c!=c){n+=3;break}if(c>191||c<128)break;rv(u,c),n+=2,s++}if(u.length!==a){r+="�";continue}var f=pv(u);null===f?r+="�":o=Qp(f)}}r+=o,n++}return r},dv=/[!'()~]|%20/g,gv={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},yv=function(t){return gv[t]},mv=function(t){return nv(Xp(t),dv,yv)},bv=fn(function(t,e){zp(this,{type:Dp,target:Wp(t).entries,index:0,kind:e})},Bp,function(){var t=qp(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,Pn(void 0,!0);var n=e[r];switch(t.kind){case"keys":return Pn(n.key,!1);case"values":return Pn(n.value,!1)}return Pn([n.key,n.value],!1)},!0),wv=function(t){this.entries=[],this.url=null,void 0!==t&&(M(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===tv(t,0)?uv(t,1):t:Wr(t)))};wv.prototype={type:Bp,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,o,i,a,u,s=this.entries,c=Fn(t);if(c)for(r=(e=Dn(t,c)).next;!(n=f(r,e)).done;){if(o=Dn(kt(n.value)),(a=f(i=o.next,o)).done||(u=f(i,o)).done||!f(i,o).done)throw new Yp("Expected sequence with length 2");rv(s,{key:Wr(a.value),value:Wr(u.value)})}else for(var l in t)ut(t,l)&&rv(s,{key:l,value:Wr(t[l])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,o=av(t,"&"),i=0;i0?arguments[0]:void 0));u||(this.size=t.entries.length)},Ev=Sv.prototype;if(Mo(Ev,{append:function(t,e){var r=Wp(this);Up(arguments.length,2),rv(r.entries,{key:Wr(t),value:Wr(e)}),u||this.length++,r.updateURL()},delete:function(t){for(var e=Wp(this),r=Up(arguments.length,1),n=e.entries,o=Wr(t),i=r<2?void 0:arguments[1],a=void 0===i?i:Wr(i),s=0;se.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,r=Wp(this).entries,n=ar(t,arguments.length>1?arguments[1]:void 0),o=0;o1?Rv(arguments[1]):{})}}),T($p)){var Pv=function(t){return ko(this,Gp),new $p(t,arguments.length>1?Rv(arguments[1]):{})};Gp.constructor=Pv,Pv.prototype=Gp,Ce({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Pv})}}var Av={URLSearchParams:Sv,getState:Wp},jv=URLSearchParams,kv=jv.prototype,Iv=b(kv.append),Tv=b(kv.delete),Mv=b(kv.forEach),Lv=b([].push),Uv=new jv("a=1&a=2&b=3");Uv.delete("a",1),Uv.delete("b",void 0),Uv+""!="a=2"&&ie(kv,"delete",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return Tv(this,t);var n=[];Mv(this,function(t,e){Lv(n,{key:e,value:t})}),Up(e,1);for(var o,i=Wr(t),a=Wr(r),u=0,s=0,c=!1,f=n.length;uo;)for(var s,c=R(arguments[o++]),l=i?$v(_e(c),i(c)):_e(c),h=l.length,p=0;h>p;)s=l[p++],u&&!f(a,c,s)||(r[s]=c[s]);return r}:qv,Gv=2147483647,Vv=/[^\0-\u007E]/,Yv=/[.\u3002\uFF0E\uFF61]/g,Xv="Overflow: input needs wider integers to process",Jv=RangeError,Qv=b(Yv.exec),Zv=Math.floor,td=String.fromCharCode,ed=b("".charCodeAt),rd=b([].join),nd=b([].push),od=b("".replace),id=b("".split),ad=b("".toLowerCase),ud=function(t){return t+22+75*(t<26)},sd=function(t,e,r){var n=0;for(t=r?Zv(t/700):t>>1,t+=Zv(t/e);t>455;)t=Zv(t/35),n+=36;return Zv(n+36*t/(t+38))},cd=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r=55296&&o<=56319&&r=i&&nZv((Gv-a)/l))throw new Jv(Xv);for(a+=(f-i)*l,i=f,r=0;rGv)throw new Jv(Xv);if(n===i){for(var h=a,p=36;;){var v=p<=u?1:p>=u+26?26:p-u;if(h?@[\\\]^|]/,qd=/[\0\t\n\r #/:<>?@[\\\]^|]/,Hd=/^[\u0000-\u0020]+/,$d=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Kd=/[\t\n\r]/g,Gd=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)Td(e,t%256),t=md(t/256);return Ed(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r?n:e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=Od(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},Vd={},Yd=Kv({},Vd,{" ":1,'"':1,"<":1,">":1,"`":1}),Xd=Kv({},Yd,{"#":1,"?":1,"{":1,"}":1}),Jd=Kv({},Xd,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Qd=function(t,e){var r=fd(t,0);return r>32&&r<127&&!ut(e,t)?t:encodeURIComponent(t)},Zd={ftp:21,file:null,http:80,https:443,ws:80,wss:443},tg=function(t,e){var r;return 2===t.length&&Sd(Nd,wd(t,0))&&(":"===(r=wd(t,1))||!e&&"|"===r)},eg=function(t){var e;return t.length>1&&tg(kd(t,0,2))&&(2===t.length||"/"===(e=wd(t,2))||"\\"===e||"?"===e||"#"===e)},rg=function(t){return"."===t||"%2e"===Id(t)},ng={},og={},ig={},ag={},ug={},sg={},cg={},fg={},lg={},hg={},pg={},vg={},dg={},gg={},yg={},mg={},bg={},wg={},Sg={},Eg={},Og={},xg=function(t,e,r){var n,o,i,a=Wr(t);if(e){if(o=this.parse(a))throw new gd(o);this.searchParams=null}else{if(void 0!==r&&(n=new xg(r,!0)),o=this.parse(a,null,n))throw new gd(o);(i=vd(new pd)).bindURL(this),this.searchParams=i}};xg.prototype={type:"URL",parse:function(t,e,r){var n,o,i,a,u,s=this,c=e||ng,f=0,l="",h=!1,p=!1,v=!1;for(t=Wr(t),e||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,t=Pd(t,Hd,""),t=Pd(t,$d,"$1")),t=Pd(t,Kd,""),n=Wn(t);f<=n.length;){switch(o=n[f],c){case ng:if(!o||!Sd(Nd,o)){if(e)return Md;c=ig;continue}l+=Id(o),c=og;break;case og:if(o&&(Sd(Cd,o)||"+"===o||"-"===o||"."===o))l+=Id(o);else{if(":"!==o){if(e)return Md;l="",c=ig,f=0;continue}if(e&&(s.isSpecial()!==ut(Zd,l)||"file"===l&&(s.includesCredentials()||null!==s.port)||"file"===s.scheme&&!s.host))return;if(s.scheme=l,e)return void(s.isSpecial()&&Zd[s.scheme]===s.port&&(s.port=null));l="","file"===s.scheme?c=gg:s.isSpecial()&&r&&r.scheme===s.scheme?c=ag:s.isSpecial()?c=fg:"/"===n[f+1]?(c=ug,f++):(s.cannotBeABaseURL=!0,Rd(s.path,""),c=Sg)}break;case ig:if(!r||r.cannotBeABaseURL&&"#"!==o)return Md;if(r.cannotBeABaseURL&&"#"===o){s.scheme=r.scheme,s.path=vo(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,c=Og;break}c="file"===r.scheme?gg:sg;continue;case ag:if("/"!==o||"/"!==n[f+1]){c=sg;continue}c=lg,f++;break;case ug:if("/"===o){c=hg;break}c=wg;continue;case sg:if(s.scheme=r.scheme,o===Wv)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query;else if("/"===o||"\\"===o&&s.isSpecial())c=cg;else if("?"===o)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query="",c=Eg;else{if("#"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.path.length--,c=wg;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og}break;case cg:if(!s.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,c=wg;continue}c=hg}else c=lg;break;case fg:if(c=lg,"/"!==o||"/"!==wd(l,f+1))continue;f++;break;case lg:if("/"!==o&&"\\"!==o){c=hg;continue}break;case hg:if("@"===o){h&&(l="%40"+l),h=!0,i=Wn(l);for(var d=0;d65535)return Ud;s.port=s.isSpecial()&&m===Zd[s.scheme]?null:m,l=""}if(e)return;c=bg;continue}return Ud}l+=o;break;case gg:if(s.scheme="file","/"===o||"\\"===o)c=yg;else{if(!r||"file"!==r.scheme){c=wg;continue}switch(o){case Wv:s.host=r.host,s.path=vo(r.path),s.query=r.query;break;case"?":s.host=r.host,s.path=vo(r.path),s.query="",c=Eg;break;case"#":s.host=r.host,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og;break;default:eg(Ed(vo(n,f),""))||(s.host=r.host,s.path=vo(r.path),s.shortenPath()),c=wg;continue}}break;case yg:if("/"===o||"\\"===o){c=mg;break}r&&"file"===r.scheme&&!eg(Ed(vo(n,f),""))&&(tg(r.path[0],!0)?Rd(s.path,r.path[0]):s.host=r.host),c=wg;continue;case mg:if(o===Wv||"/"===o||"\\"===o||"?"===o||"#"===o){if(!e&&tg(l))c=wg;else if(""===l){if(s.host="",e)return;c=bg}else{if(a=s.parseHost(l))return a;if("localhost"===s.host&&(s.host=""),e)return;l="",c=bg}continue}l+=o;break;case bg:if(s.isSpecial()){if(c=wg,"/"!==o&&"\\"!==o)continue}else if(e||"?"!==o)if(e||"#"!==o){if(o!==Wv&&(c=wg,"/"!==o))continue}else s.fragment="",c=Og;else s.query="",c=Eg;break;case wg:if(o===Wv||"/"===o||"\\"===o&&s.isSpecial()||!e&&("?"===o||"#"===o)){if(".."===(u=Id(u=l))||"%2e."===u||".%2e"===u||"%2e%2e"===u?(s.shortenPath(),"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,"")):rg(l)?"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,""):("file"===s.scheme&&!s.path.length&&tg(l)&&(s.host&&(s.host=""),l=wd(l,0)+":"),Rd(s.path,l)),l="","file"===s.scheme&&(o===Wv||"?"===o||"#"===o))for(;s.path.length>1&&""===s.path[0];)Ad(s.path);"?"===o?(s.query="",c=Eg):"#"===o&&(s.fragment="",c=Og)}else l+=Qd(o,Xd);break;case Sg:"?"===o?(s.query="",c=Eg):"#"===o?(s.fragment="",c=Og):o!==Wv&&(s.path[0]+=Qd(o,Vd));break;case Eg:e||"#"!==o?o!==Wv&&("'"===o&&s.isSpecial()?s.query+="%27":s.query+="#"===o?"%23":Qd(o,Vd)):(s.fragment="",c=Og);break;case Og:o!==Wv&&(s.fragment+=Qd(o,Yd))}f++}},parseHost:function(t){var e,r,n;if("["===wd(t,0)){if("]"!==wd(t,t.length-1))return Ld;if(e=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return wd(t,l)};if(":"===h()){if(":"!==wd(t,1))return;l+=2,f=++c}for(;h();){if(8===c)return;if(":"!==h()){for(e=r=0;r<4&&Sd(zd,h());)e=16*e+yd(h(),16),l++,r++;if("."===h()){if(0===r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."===h()&&n<4))return;l++}if(!Sd(_d,h()))return;for(;Sd(_d,h());){if(i=yd(h(),10),null===o)o=i;else{if(0===o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!==n||c++}if(4!==n)return;break}if(":"===h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!==c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!==c)return;return s}(kd(t,1,-1)),!e)return Ld;this.host=e}else if(this.isSpecial()){if(t=function(t){var e,r,n=[],o=id(od(ad(t),Yv,"."),".");for(e=0;e4)return t;for(r=[],n=0;n1&&"0"===wd(o,0)&&(i=Sd(Fd,o)?16:8,o=kd(o,8===i?1:2)),""===o)a=0;else{if(!Sd(10===i?Dd:8===i?Bd:zd,o))return t;a=yd(o,i)}Rd(r,a)}for(n=0;n=bd(256,5-e))return null}else if(a>255)return null;for(u=xd(r),n=0;n1?arguments[1]:void 0,n=ld(e,new xg(t,!1,r));u||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Pg=Rg.prototype,Ag=function(t,e){return{get:function(){return hd(this)[t]()},set:e&&function(t){return hd(this)[e](t)},configurable:!0,enumerable:!0}};if(u&&(so(Pg,"href",Ag("serialize","setHref")),so(Pg,"origin",Ag("getOrigin")),so(Pg,"protocol",Ag("getProtocol","setProtocol")),so(Pg,"username",Ag("getUsername","setUsername")),so(Pg,"password",Ag("getPassword","setPassword")),so(Pg,"host",Ag("getHost","setHost")),so(Pg,"hostname",Ag("getHostname","setHostname")),so(Pg,"port",Ag("getPort","setPort")),so(Pg,"pathname",Ag("getPathname","setPathname")),so(Pg,"search",Ag("getSearch","setSearch")),so(Pg,"searchParams",Ag("getSearchParams")),so(Pg,"hash",Ag("getHash","setHash"))),ie(Pg,"toJSON",function(){return hd(this).serialize()},{enumerable:!0}),ie(Pg,"toString",function(){return hd(this).serialize()},{enumerable:!0}),dd){var jg=dd.createObjectURL,kg=dd.revokeObjectURL;jg&&ie(Rg,"createObjectURL",ar(jg,dd)),kg&&ie(Rg,"revokeObjectURL",ar(kg,dd))}an(Rg,"URL"),Ce({global:!0,constructor:!0,forced:!Mp,sham:!u},{URL:Rg});var Ig=L("URL"),Tg=Mp&&a(function(){Ig.canParse()}),Mg=a(function(){return 1!==Ig.canParse.length});Ce({target:"URL",stat:!0,forced:!Tg||Mg},{canParse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return!!new Ig(r,n)}catch(t){return!1}}});var Lg=L("URL");Ce({target:"URL",stat:!0,forced:!Mp},{parse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return new Lg(r,n)}catch(t){return null}}}),Ce({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return f(URL.prototype.toString,this)}});var Ug=WeakMap.prototype,Ng={WeakMap:WeakMap,set:b(Ug.set),get:b(Ug.get),has:b(Ug.has),remove:b(Ug.delete)},Cg=Ng.has,_g=function(t){return Cg(t),t},Fg=Ng.get,Bg=Ng.has,Dg=Ng.set;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{emplace:function(t,e){var r,n,o=_g(this);return Bg(o,t)?(r=Fg(o,t),"update"in e&&(r=e.update(r,t,o),Dg(o,t,r)),r):(n=e.insert(t,o),Dg(o,t,n),n)}}),Ce({target:"WeakMap",stat:!0,forced:!0},{from:ei(Ng.WeakMap,Ng.set,!0)}),Ce({target:"WeakMap",stat:!0,forced:!0},{of:ri(Ng.WeakMap,Ng.set,!0)});var zg=Ng.remove;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=_g(this),r=!0,n=0,o=arguments.length;n2&&(n=r,M(o=arguments[2])&&"cause"in o&&_t(n,"cause",o.cause));var s=[];return Ao(t,ny,{that:s}),_t(r,"errors",s),r};dn?dn(oy,ry):Ae(oy,ry,{name:!0});var iy=oy.prototype=Ve(ry.prototype,{constructor:d(1,oy),message:d(1,""),name:d(1,"AggregateError")});Ce({global:!0,constructor:!0,arity:2},{AggregateError:oy});var ay,uy,sy,cy,fy=function(t){return _.slice(0,t.length)===t},ly=fy("Bun/")?"BUN":fy("Cloudflare-Workers")?"CLOUDFLARE":fy("Deno/")?"DENO":fy("Node.js/")?"NODE":i.Bun&&"string"==typeof Bun.version?"BUN":i.Deno&&"object"==typeof Deno.version?"DENO":"process"===E(i.process)?"NODE":i.window&&i.document?"BROWSER":"REST",hy="NODE"===ly,py=/(?:ipad|iphone|ipod).*applewebkit/i.test(_),vy=i.setImmediate,dy=i.clearImmediate,gy=i.process,yy=i.Dispatch,my=i.Function,by=i.MessageChannel,wy=i.String,Sy=0,Ey={},Oy="onreadystatechange";a(function(){ay=i.location});var xy=function(t){if(ut(Ey,t)){var e=Ey[t];delete Ey[t],e()}},Ry=function(t){return function(){xy(t)}},Py=function(t){xy(t.data)},Ay=function(t){i.postMessage(wy(t),ay.protocol+"//"+ay.host)};vy&&dy||(vy=function(t){Up(arguments.length,1);var e=T(t)?t:my(t),r=vo(arguments,1);return Ey[++Sy]=function(){Ra(e,void 0,r)},uy(Sy),Sy},dy=function(t){delete Ey[t]},hy?uy=function(t){gy.nextTick(Ry(t))}:yy&&yy.now?uy=function(t){yy.now(Ry(t))}:by&&!py?(cy=(sy=new by).port2,sy.port1.onmessage=Py,uy=ar(cy.postMessage,cy)):i.addEventListener&&T(i.postMessage)&&!i.importScripts&&ay&&"file:"!==ay.protocol&&!a(Ay)?(uy=Ay,i.addEventListener("message",Py,!1)):uy=Oy in Et("script")?function(t){De.appendChild(Et("script"))[Oy]=function(){De.removeChild(this),xy(t)}}:function(t){setTimeout(Ry(t),0)});var jy={set:vy,clear:dy},ky=function(){this.head=null,this.tail=null};ky.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var Iy,Ty,My,Ly,Uy,Ny=ky,Cy=/ipad|iphone|ipod/i.test(_)&&"undefined"!=typeof Pebble,_y=/web0s(?!.*chrome)/i.test(_),Fy=jy.set,By=i.MutationObserver||i.WebKitMutationObserver,Dy=i.document,zy=i.process,Wy=i.Promise,qy=Ip("queueMicrotask");if(!qy){var Hy=new Ny,$y=function(){var t,e;for(hy&&(t=zy.domain)&&t.exit();e=Hy.get();)try{e()}catch(t){throw Hy.head&&Iy(),t}t&&t.enter()};py||hy||_y||!By||!Dy?!Cy&&Wy&&Wy.resolve?((Ly=Wy.resolve(void 0)).constructor=Wy,Uy=ar(Ly.then,Ly),Iy=function(){Uy($y)}):hy?Iy=function(){zy.nextTick($y)}:(Fy=ar(Fy,i),Iy=function(){Fy($y)}):(Ty=!0,My=Dy.createTextNode(""),new By($y).observe(My,{characterData:!0}),Iy=function(){My.data=Ty=!Ty}),qy=function(t){Hy.head||Iy(),Hy.add(t)}}var Ky,Gy,Vy,Yy=qy,Xy=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Jy=i.Promise,Qy=dt("species"),Zy=!1,tm=T(i.PromiseRejectionEvent),em=Ue("Promise",function(){var t=Kt(Jy),e=t!==String(Jy);if(!e&&66===W)return!0;if(!W||W<51||!/native code/.test(t)){var r=new Jy(function(t){t(1)}),n=function(t){t(function(){},function(){})};if((r.constructor={})[Qy]=n,!(Zy=r.then(function(){})instanceof n))return!0}return!(e||"BROWSER"!==ly&&"DENO"!==ly||tm)}),rm={CONSTRUCTOR:em,REJECTION_EVENT:tm,SUBCLASSING:Zy},nm=TypeError,om=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw new nm("Bad Promise constructor");e=t,r=n}),this.resolve=J(e),this.reject=J(r)},im={f:function(t){return new om(t)}},am=jy.set,um="Promise",sm=rm.CONSTRUCTOR,cm=rm.REJECTION_EVENT,fm=rm.SUBCLASSING,lm=ne.getterFor(um),hm=ne.set,pm=Jy&&Jy.prototype,vm=Jy,dm=pm,gm=i.TypeError,ym=i.document,mm=i.process,bm=im.f,wm=bm,Sm=!!(ym&&ym.createEvent&&i.dispatchEvent),Em="unhandledrejection",Om=function(t){var e;return!(!M(t)||!T(e=t.then))&&e},xm=function(t,e){var r,n,o,i=e.value,a=1===e.state,u=a?t.ok:t.fail,s=t.resolve,c=t.reject,l=t.domain;try{u?(a||(2===e.rejection&&km(e),e.rejection=1),!0===u?r=i:(l&&l.enter(),r=u(i),l&&(l.exit(),o=!0)),r===t.promise?c(new gm("Promise-chain cycle")):(n=Om(r))?f(n,r,s,c):s(r)):c(i)}catch(t){l&&!o&&l.exit(),c(t)}},Rm=function(t,e){t.notified||(t.notified=!0,Yy(function(){for(var r,n=t.reactions;r=n.get();)xm(r,t);t.notified=!1,e&&!t.rejection&&Am(t)}))},Pm=function(t,e,r){var n,o;Sm?((n=ym.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),i.dispatchEvent(n)):n={promise:e,reason:r},!cm&&(o=i["on"+t])?o(n):t===Em&&function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}("Unhandled promise rejection",r)},Am=function(t){f(am,i,function(){var e,r=t.facade,n=t.value;if(jm(t)&&(e=Xy(function(){hy?mm.emit("unhandledRejection",n,r):Pm(Em,r,n)}),t.rejection=hy||jm(t)?2:1,e.error))throw e.value})},jm=function(t){return 1!==t.rejection&&!t.parent},km=function(t){f(am,i,function(){var e=t.facade;hy?mm.emit("rejectionHandled",e):Pm("rejectionhandled",e,t.value)})},Im=function(t,e,r){return function(n){t(e,n,r)}},Tm=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,Rm(t,!0))},Mm=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new gm("Promise can't be resolved itself");var n=Om(e);n?Yy(function(){var r={done:!1};try{f(n,e,Im(Mm,r,t),Im(Tm,r,t))}catch(e){Tm(r,e,t)}}):(t.value=e,t.state=1,Rm(t,!1))}catch(e){Tm({done:!1},e,t)}}};if(sm&&(vm=function(t){ko(this,dm),J(t),f(Ky,this);var e=lm(this);try{t(Im(Mm,e),Im(Tm,e))}catch(t){Tm(e,t)}},(Ky=function(t){hm(this,{type:um,done:!1,notified:!1,parent:!1,reactions:new Ny,rejection:!1,state:0,value:null})}).prototype=ie(dm=vm.prototype,"then",function(t,e){var r=lm(this),n=bm(Cc(this,vm));return r.parent=!0,n.ok=!T(t)||t,n.fail=T(e)&&e,n.domain=hy?mm.domain:void 0,0===r.state?r.reactions.add(n):Yy(function(){xm(n,r)}),n.promise}),Gy=function(){var t=new Ky,e=lm(t);this.promise=t,this.resolve=Im(Mm,e),this.reject=Im(Tm,e)},im.f=bm=function(t){return t===vm||void 0===t?new Gy(t):wm(t)},T(Jy)&&pm!==Object.prototype)){Vy=pm.then,fm||ie(pm,"then",function(t,e){var r=this;return new vm(function(t,e){f(Vy,r,t,e)}).then(t,e)},{unsafe:!0});try{delete pm.constructor}catch(t){}dn&&dn(pm,dm)}Ce({global:!0,constructor:!0,wrap:!0,forced:sm},{Promise:vm}),an(vm,um,!1),Uo(um);var Lm=rm.CONSTRUCTOR||!Gn(function(t){Jy.all(t).then(void 0,function(){})});Ce({target:"Promise",stat:!0,forced:Lm},{all:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),i=[],a=0,u=1;Ao(t,function(t){var s=a++,c=!1;u++,f(r,e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise}});var Um=Jy&&Jy.prototype;if(Ce({target:"Promise",proto:!0,forced:rm.CONSTRUCTOR,real:!0},{catch:function(t){return this.then(void 0,t)}}),T(Jy)){var Nm=L("Promise").prototype.catch;Um.catch!==Nm&&ie(Um,"catch",Nm,{unsafe:!0})}Ce({target:"Promise",stat:!0,forced:Lm},{race:function(t){var e=this,r=im.f(e),n=r.reject,o=Xy(function(){var o=J(e.resolve);Ao(t,function(t){f(o,e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{reject:function(t){var e=im.f(this);return(0,e.reject)(t),e.promise}});var Cm=function(t,e){if(kt(t),M(e)&&e.constructor===t)return e;var r=im.f(t);return(0,r.resolve)(e),r.promise};Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{resolve:function(t){return Cm(this,t)}}),Ce({target:"Promise",stat:!0,forced:Lm},{allSettled:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),o=[],i=0,a=1;Ao(t,function(t){var u=i++,s=!1;a++,f(r,e,t).then(function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var _m="No one promise resolved";Ce({target:"Promise",stat:!0,forced:Lm},{any:function(t){var e=this,r=L("AggregateError"),n=im.f(e),o=n.resolve,i=n.reject,a=Xy(function(){var n=J(e.resolve),a=[],u=0,s=1,c=!1;Ao(t,function(t){var l=u++,h=!1;s++,f(n,e,t).then(function(t){h||c||(c=!0,o(t))},function(t){h||c||(h=!0,a[l]=t,--s||i(new r(a,_m)))})}),--s||i(new r(a,_m))});return a.error&&i(a.value),n.promise}}),Ce({target:"Promise",stat:!0},{withResolvers:function(){var t=im.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}});var Fm=Jy&&Jy.prototype,Bm=!!Jy&&a(function(){Fm.finally.call({then:function(){}},function(){})});if(Ce({target:"Promise",proto:!0,real:!0,forced:Bm},{finally:function(t){var e=Cc(this,L("Promise")),r=T(t);return this.then(r?function(r){return Cm(e,t()).then(function(){return r})}:t,r?function(r){return Cm(e,t()).then(function(){throw r})}:t)}}),T(Jy)){var Dm=L("Promise").prototype.finally;Fm.finally!==Dm&&ie(Fm,"finally",Dm,{unsafe:!0})}var zm=i.Promise,Wm=!1,qm=!zm||!zm.try||Xy(function(){zm.try(function(t){Wm=8===t},8)}).error||!Wm;Ce({target:"Promise",stat:!0,forced:qm},{try:function(t){var e=arguments.length>1?vo(arguments,1):[],r=im.f(this),n=Xy(function(){return Ra(J(t),void 0,e)});return(n.error?r.reject:r.resolve)(n.value),r.promise}}),Ze("Promise","finally");var Hm="URLSearchParams"in self,$m="Symbol"in self&&"iterator"in Symbol,Km="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),Gm="FormData"in self,Vm="ArrayBuffer"in self;if(Vm)var Ym=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],Xm=ArrayBuffer.isView||function(t){return t&&Ym.indexOf(Object.prototype.toString.call(t))>-1};function Jm(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Qm(t){return"string"!=typeof t&&(t=String(t)),t}function Zm(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return $m&&(e[Symbol.iterator]=function(){return e}),e}function tb(t){this.map={},t instanceof tb?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function eb(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function rb(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function nb(t){var e=new FileReader,r=rb(e);return e.readAsArrayBuffer(t),r}function ob(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function ib(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:Km&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:Gm&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:Hm&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Vm&&Km&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=ob(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Vm&&(ArrayBuffer.prototype.isPrototypeOf(t)||Xm(t))?this._bodyArrayBuffer=ob(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):Hm&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},Km&&(this.blob=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?eb(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(nb)}),this.text=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=rb(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?e:t}(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function sb(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function cb(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new tb(e.headers),this.url=e.url||"",this._initBody(t)}ub.prototype.clone=function(){return new ub(this,{body:this._bodyInit})},ib.call(ub.prototype),ib.call(cb.prototype),cb.prototype.clone=function(){return new cb(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new tb(this.headers),url:this.url})},cb.error=function(){var t=new cb(null,{status:0,statusText:""});return t.type="error",t};var fb=[301,302,303,307,308];cb.redirect=function(t,e){if(-1===fb.indexOf(e))throw new RangeError("Invalid status code");return new cb(null,{status:e,headers:{location:t}})};var lb=self.DOMException;try{new lb}catch(t){(lb=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),lb.prototype.constructor=lb}function hb(t,e){return new Promise(function(r,n){var o=new ub(t,e);if(o.signal&&o.signal.aborted)return n(new lb("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new tb,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new cb("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new lb("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&Km&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}hb.polyfill=!0,self.fetch||(self.fetch=hb,self.Headers=tb,self.Request=ub,self.Response=cb);var pb=Object.getOwnPropertySymbols,vb=Object.prototype.hasOwnProperty,db=Object.prototype.propertyIsEnumerable,gb=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),i=1;i0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u=o&&Object.keys(s.O).every(function(e){return s.O[e](n[f])})?n.splice(f--,1):(c=!1,odiv{border:1px solid hsla(0,0%,100%,.08);border-radius:6px;padding:10px;background:#070a0f}.brain-list.dense>div{min-height:104px}.brain-list strong{display:block;margin-bottom:4px}.brain-list p{margin:4px 0;font-size:12px}.brain-list span{display:block;color:var(--muted);font-size:11px}.opportunity-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.opportunity-line a,.opportunity-line strong{color:var(--text);font-size:15px;font-weight:950}.opportunity-line span{color:var(--amber);font-weight:950}.evidence-grid,.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.evidence-grid div,.method-grid div{border:1px solid var(--line);border-radius:6px;padding:10px;background:#070a0f}.evidence-grid strong,.method-grid strong{display:block;margin-top:6px;line-height:1.35}.method-grid strong{color:#d8e5f2;font-size:12px;font-weight:700}.observed-model-panel,.panel-inner{border:1px solid var(--line);border-radius:6px;padding:12px;background:#070a0f}.panel-inner>span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;margin-bottom:8px}.financial-brain-grid{display:grid;grid-template-columns:minmax(320px,1.15fr) repeat(3,minmax(220px,.95fr));grid-gap:10px;gap:10px}.financial-brain-thesis{border:1px solid rgba(255,176,0,.28);border-radius:6px;padding:14px;background:#070a0f}.financial-brain-thesis span{color:var(--amber);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.financial-brain-thesis h3{margin:8px 0;font-size:22px}.financial-brain-thesis p{margin:8px 0 0;font-size:13px}.theme-card{cursor:pointer;transition:border-color .15s ease,transform .15s ease}.theme-card:hover{border-color:rgba(255,176,0,.45);transform:translateY(-1px)}.opportunity-panel{min-height:520px}.ipo-card{min-height:410px}.ipo-card .button{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:12px}.event-graph{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.event-node{min-height:78px;border:1px solid var(--line);border-radius:6px;padding:9px;background:#070a0f}.event-node em,.event-node span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-style:normal;font-weight:900}.event-node strong{display:block;margin:6px 0;color:#eef3fa;font-size:12px;line-height:1.25}.event-node.stock{border-left:3px solid var(--green)}.event-node.etf{border-left:3px solid var(--cyan)}.event-node.ipo{border-left:3px solid var(--amber)}.event-node.news{border-left:3px solid var(--blue)}.event-node.theme{border-left:3px solid #b58cff}.executive-dashboard{margin:14px 0 18px}.executive-hero{display:grid;grid-template-columns:minmax(0,1fr) 430px;grid-gap:14px;gap:14px;align-items:stretch;border:1px solid rgba(255,176,0,.3);border-radius:10px;padding:18px;background:linear-gradient(120deg,rgba(255,176,0,.16),transparent 38%),repeating-linear-gradient(90deg,hsla(0,0%,100%,.026) 0 1px,transparent 1px 88px),#06090d}.executive-hero h1{max-width:1060px;font-size:clamp(34px,4vw,64px)}.executive-hero p{max-width:920px;font-size:15px}.executive-command{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.allocation-list div,.backtest-list div,.executive-command div,.narrative-grid div,.sentiment-columns div,.watchlist-feed div{border:1px solid var(--line);border-radius:6px;background:#070a0f;padding:10px}.executive-command span,.narrative-grid span,.sentiment-columns span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.executive-command strong{display:block;margin-top:7px;color:var(--amber);line-height:1.25}.executive-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);grid-gap:12px;gap:12px;margin-top:12px}.narrative-panel h2{margin:0 0 10px;color:var(--amber);font-size:30px}.narrative-grid,.sentiment-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.narrative-grid strong,.sentiment-columns p{display:block;margin:7px 0 0;color:#dce7f5;font-size:12px;line-height:1.35}.opportunity-radar{display:grid;grid-gap:8px;gap:8px}.opportunity-card{display:grid;grid-template-columns:54px minmax(260px,1fr) minmax(360px,1.2fr) 150px;grid-gap:10px;gap:10px;align-items:stretch;border:1px solid hsla(0,0%,100%,.08);border-left:3px solid var(--amber);border-radius:7px;padding:10px;background:#070a0f}.opportunity-card:hover{border-color:rgba(255,176,0,.44)}.opportunity-rank{display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;color:var(--amber);font-weight:950;background:#101722}.opportunity-title{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.opportunity-title a{color:var(--text);font-size:18px;font-weight:950}.opportunity-title span{color:var(--muted);font-size:12px}.opportunity-main p{margin:7px 0;color:#dce7f5;font-size:12px}.score-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.score-stack div{border:1px solid var(--line);border-radius:5px;padding:7px;background:#0b1018}.score-stack span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.score-stack strong{display:block;margin:4px 0;font-size:16px}.score-stack i{display:block;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--amber),var(--cyan))}.opportunity-market{display:grid;grid-gap:5px;gap:5px;align-content:center;color:var(--muted);font-size:11px}.opportunity-market strong{color:var(--text);font-size:15px}.button.compact{min-height:28px;padding:5px 8px;font-size:11px}.allocation-list{display:grid;grid-gap:8px;gap:8px}.allocation-list div{display:grid;grid-template-columns:1fr 48px minmax(120px,1fr);align-items:center;grid-gap:8px;gap:8px;position:relative;overflow:hidden}.allocation-list div>span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(255,176,0,.26),rgba(77,216,255,.08))}.allocation-list em,.allocation-list p,.allocation-list strong{position:relative;z-index:1}.allocation-list p{margin:0;color:#e7eef8;font-size:12px;font-weight:900}.allocation-list em{color:var(--muted);font-size:10px;font-style:normal}.portfolio-panel small{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.45}.backtest-list,.watchlist-feed{display:grid;grid-gap:8px;gap:8px}.backtest-list strong,.watchlist-feed strong{display:block;margin-bottom:5px;font-size:13px}.backtest-list span,.watchlist-feed span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.realtime-strip{grid-template-columns:1.2fr 1fr 1fr;grid-gap:10px}.deployment-banner,.realtime-strip{display:grid;gap:10px;margin-bottom:12px}.deployment-banner{grid-template-columns:1.2fr 1fr 1.2fr;grid-gap:10px}.deployment-banner div{border:1px solid rgba(255,176,0,.32);border-radius:8px;padding:10px 12px;background:rgba(255,176,0,.07)}.deployment-banner span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.deployment-banner strong{display:block;margin-top:5px;color:var(--amber);font-size:13px;line-height:1.25}.realtime-strip>div{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#070a0f}.realtime-strip strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.realtime-strip span:not(.status-dot){color:var(--muted);font-size:12px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(32,224,112,.1);flex:0 0 auto}.status-dot.running{background:var(--amber);box-shadow:0 0 0 4px rgba(255,176,0,.12);animation:pulse 1.1s infinite}.status-dot.error{background:var(--red);box-shadow:0 0 0 4px rgba(255,77,94,.12)}.sentiment-panel{min-height:520px}.sentiment-score{display:grid;grid-template-columns:auto 1fr;align-items:end;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#070a0f}.sentiment-score strong{color:var(--amber);font-size:48px;line-height:.9}.sentiment-score span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.sentiment-stack{display:flex;height:12px;overflow:hidden;border-radius:999px;background:#141b26;margin:14px 0;border:1px solid var(--line)}.sentiment-stack i{display:block;min-width:4px}.sentiment-stack .positive{background:var(--green)}.sentiment-stack .neutral{background:var(--blue)}.sentiment-stack .negative{background:var(--red)}.label-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.label-grid div{border:1px solid var(--line);border-radius:6px;padding:10px;background:#070a0f}.label-grid span,.theme-list span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.label-grid strong{display:block;margin-top:6px;font-size:22px}.theme-list{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.theme-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid hsla(0,0%,100%,.06);padding-bottom:8px}.theme-list strong{font-size:13px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.diagnostic-grid div{border:1px solid var(--line);border-radius:6px;padding:11px;background:#070a0f}.diagnostic-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.diagnostic-grid strong{display:block;margin-top:6px}.diagnostic-grid p{margin:7px 0 0;font-size:12px}.live-news-panel{min-height:520px}.news-tape{display:grid;grid-gap:7px;gap:7px;max-height:680px;overflow:auto;padding-right:4px}.tape-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;border:1px solid hsla(0,0%,100%,.08);border-left:3px solid var(--amber);border-radius:6px;padding:10px 11px;background:#070a0f}.tape-row:hover{border-color:rgba(255,176,0,.45)}.tape-row strong{display:block;margin-bottom:5px;color:#f7fbff;font-size:13px;line-height:1.3}.tape-row span{display:block;color:var(--muted);font-size:11px;line-height:1.3}.tape-meta{display:flex;align-items:flex-start;justify-content:flex-end;gap:5px;flex-wrap:wrap;max-width:280px}.tape-meta b,.tape-meta em{display:inline-flex;align-items:center;min-height:20px;border:1px solid var(--line);border-radius:4px;padding:2px 6px;color:var(--muted);background:#0d131c;font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.04em}.tape-meta b.positive{color:var(--green);border-color:rgba(32,224,112,.35)}.tape-meta b.neutral{color:var(--blue);border-color:rgba(85,170,255,.35)}.tape-meta b.negative{color:var(--red);border-color:rgba(255,77,94,.35)}.accuracy-panel,.macro-panel{min-height:430px}.confidence-meter{height:12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#121a25;margin-bottom:12px}.confidence-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--amber) 45%,var(--green))}.quality-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.quality-lists>div{border:1px solid var(--line);border-radius:6px;padding:10px;background:#070a0f}.quality-lists span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;margin-bottom:8px}.quality-lists a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;border-bottom:1px solid hsla(0,0%,100%,.06)}.quality-lists a:last-child{border-bottom:0}.quality-lists strong{font-size:12px}.quality-lists em{color:var(--amber);font-size:11px;font-style:normal;font-weight:900}.issue-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.issue-list span{display:inline-flex;align-items:center;gap:6px;min-height:24px;border:1px solid rgba(255,176,0,.28);border-radius:4px;padding:3px 7px;background:rgba(255,176,0,.08);color:#d7dfec;font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:900}.issue-list b{color:var(--amber)}.macro-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.macro-list div{border:1px solid var(--line);border-radius:6px;padding:9px;background:#070a0f}.macro-list strong{display:block;margin-bottom:4px;font-size:12px}.macro-list span{color:var(--muted);font-size:11px}.score-card{min-height:260px}.score-card-top{display:flex;justify-content:space-between;gap:12px}.score-card h3{margin-top:6px;font-size:30px}.score-card p{font-size:13px}.asset-subtitle{margin:4px 0 0!important;color:#d4dfeb;font-size:12px!important;line-height:1.25!important;max-width:260px}.score-ring{--score:0;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,var(--surface) 57%,transparent 58%),conic-gradient(var(--amber) calc(var(--score) * 1%),#253247 0)}.score-ring strong{font-size:19px}.mini-metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:12px}.mini-metrics div{border:1px solid var(--line);border-radius:6px;padding:9px;background:#070a0f}.mini-metrics strong{display:block;margin-top:4px}.status-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;padding:5px 8px;margin:8px 0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.status-badge.positive{background:rgba(32,224,112,.18);color:var(--green);border:1px solid rgba(32,224,112,.38)}.status-badge.negative{background:rgba(255,77,94,.16);color:var(--red);border:1px solid rgba(255,77,94,.38)}.status-badge.warning{background:rgba(255,176,0,.15);color:var(--amber);border:1px solid rgba(255,176,0,.35)}.status-badge.neutral{background:rgba(85,170,255,.13);color:var(--blue);border:1px solid rgba(85,170,255,.28)}.table-shell{overflow:auto;border:1px solid var(--line);border-radius:8px}.intel-table{width:100%;border-collapse:collapse;min-width:1280px}.intel-table th{color:var(--muted);background:#070a0f;text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:10px;border-bottom:1px solid var(--line)}.intel-table td{padding:11px 10px;border-bottom:1px solid hsla(0,0%,100%,.06);vertical-align:top;font-size:12px}.intel-table td span{display:block;color:var(--muted);margin-top:3px}.asset-link{color:var(--text);font-weight:950;font-size:15px}.score-number{color:var(--amber);font-size:18px}.metric-pill{display:inline-flex!important;align-items:center;justify-content:center;min-width:38px;border-radius:4px;background:#101827;color:var(--cyan)!important;padding:5px 7px;margin:0!important;font-weight:900}.why{max-width:520px;color:#dce7f5;line-height:1.35}.breakdown-bars{display:grid;grid-gap:10px;gap:10px}.breakdown-row{display:grid;grid-template-columns:170px 1fr 48px;align-items:center;grid-gap:10px;gap:10px;font-size:12px}.breakdown-row span{color:var(--muted);text-transform:capitalize}.breakdown-row div{height:8px;background:#101723;border-radius:99px;overflow:hidden}.breakdown-row i{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--cyan))}.breakdown-row strong{text-align:right}.blum-memory-panel,.financial-brain-panel{margin-top:12px;border-color:rgba(77,216,255,.24);background:linear-gradient(180deg,rgba(77,216,255,.055),transparent 42%),linear-gradient(180deg,var(--surface-2),var(--surface))}.brain-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.brain-metric{min-height:78px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#070a0f}.brain-metric span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.brain-metric strong{display:block;margin-top:8px;color:var(--text);font-size:22px;line-height:1.1;overflow-wrap:anywhere}.brain-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px}.brain-two-col h3{margin-bottom:8px;color:var(--text);font-size:14px}.brain-performance-list,.confidence-timeline,.learning-event-list{display:grid;grid-gap:7px;gap:7px}.brain-performance-list>div,.confidence-timeline>div,.learning-event-list>span{border:1px solid var(--line);border-radius:6px;padding:9px;background:#070a0f}.brain-performance-list strong,.confidence-timeline strong{display:block;margin-bottom:4px;font-size:12px}.brain-performance-list span,.confidence-timeline span,.learning-event-list span{color:var(--muted);font-size:11px;line-height:1.35}.brain-drift{display:flex;justify-content:space-between;gap:12px;margin-top:12px;border:1px solid rgba(85,170,255,.28);border-radius:6px;padding:10px;background:rgba(85,170,255,.08)}.brain-drift strong{color:var(--cyan);text-transform:capitalize}.brain-drift span{color:#cbd7e6;font-size:12px}.brain-drift.warning{border-color:rgba(255,176,0,.36);background:rgba(255,176,0,.08)}.brain-drift.warning strong{color:var(--amber)}.governance-list,.similar-case-strip,.weight-strip{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.governance-list span,.similar-case-strip span,.weight-strip span{border:1px solid var(--line);border-radius:999px;padding:6px 8px;background:#070a0f;color:var(--muted);font-size:11px}.weight-strip strong{color:var(--amber);margin-left:4px}.evaluation-table{overflow:auto;border:1px solid var(--line);border-radius:8px}.evaluation-row{display:grid;grid-template-columns:90px 190px 78px 150px 120px minmax(220px,1fr) minmax(280px,1.2fr);grid-gap:10px;gap:10px;align-items:center;min-width:1180px;border-bottom:1px solid hsla(0,0%,100%,.06);padding:10px;background:#070a0f;font-size:12px}.evaluation-row.header{color:var(--muted);background:#0a0f16;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:900}.evaluation-row:last-child{border-bottom:0}.outcome{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:5px 8px;text-transform:uppercase;font-size:10px;font-weight:900}.outcome.correct{color:var(--green);background:rgba(32,224,112,.12);border:1px solid rgba(32,224,112,.35)}.outcome.wrong{color:var(--red);background:rgba(255,77,94,.12);border:1px solid rgba(255,77,94,.35)}.outcome.neutral{color:var(--blue);background:rgba(85,170,255,.12);border:1px solid rgba(85,170,255,.35)}.outcome.inconclusive{color:var(--amber);background:rgba(255,176,0,.12);border:1px solid rgba(255,176,0,.35)}.empty-state.compact{padding:10px;font-size:12px}.chart-analyst-shell{margin-top:12px}.compact-header{margin-bottom:12px}.chart-snapshot-panel .brain-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.key-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.key-level-grid div{min-height:66px;border:1px solid var(--line);border-radius:6px;padding:9px;background:#070a0f}.key-level-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.key-level-grid strong{display:block;margin-top:7px;color:var(--amber);font-size:20px}.evidence-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.evidence-columns h3{margin-bottom:8px;font-size:13px}.scenario-list{display:grid;grid-gap:8px;gap:8px}.scenario-list div{border:1px solid var(--line);border-radius:6px;padding:10px;background:#070a0f}.scenario-list strong{display:block;margin-bottom:5px;color:var(--text)}.scenario-list span{display:block;color:var(--muted);font-size:12px;line-height:1.4}.control-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.button{border:1px solid var(--line);background:#101722;color:var(--text);border-radius:6px;padding:9px 12px;font-weight:900;cursor:pointer}.button.primary{background:var(--amber);color:#050608;border-color:var(--amber)}.input{background:#070a0f;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:9px 10px;min-width:220px}.empty-state,.loading-state{border:1px solid rgba(255,176,0,.35);border-radius:8px;padding:14px;background:rgba(255,176,0,.07);color:var(--amber)}.plot-empty{min-height:320px;display:grid;place-items:center;border:1px dashed rgba(143,155,173,.32);border-radius:6px;background:repeating-linear-gradient(90deg,hsla(0,0%,100%,.025) 0 1px,transparent 1px 76px),#070a0f;color:var(--muted);padding:18px;text-align:center;font-size:13px;font-weight:800}.readiness-panel{border-color:rgba(255,176,0,.32);background:linear-gradient(180deg,rgba(255,176,0,.08),var(--surface))}.loading-state{display:flex;align-items:center;gap:10px}.loading-state div{width:12px;height:12px;border-radius:50%;background:var(--amber);animation:pulse 1.1s infinite}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}.news-list{display:grid;grid-gap:8px;gap:8px}.news-item{border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:6px;background:#070a0f;padding:12px}.news-item strong{display:block;margin-bottom:4px}.news-item span{color:var(--muted);font-size:11px}.terminal-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);grid-gap:14px;gap:14px;align-items:end;margin-bottom:14px;border-bottom:1px solid hsla(0,0%,100%,.08);padding-bottom:14px}.terminal-eyebrow{color:var(--amber);font-size:11px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.asset-command-card h1,.terminal-header h1{margin:5px 0 0;color:#f5f8fd;font-size:clamp(34px,4vw,62px);font-weight:950;line-height:.98}.terminal-header p{max-width:960px;margin:8px 0 0;color:#aab6c8;font-size:14px}.terminal-header-right{display:grid;grid-gap:8px;gap:8px;justify-items:end}.terminal-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;width:100%}.terminal-status{min-height:50px;border:1px solid hsla(0,0%,100%,.1);border-radius:6px;padding:8px 9px;background:#070b11}.asset-command-narrative span,.asset-command-pricing span,.bloomberg-panel-head span,.terminal-metric-label span,.terminal-status span{display:block;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.terminal-status strong{display:block;margin-top:5px;color:#f1f5fb;font-size:12px;line-height:1.25}.terminal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.terminal-command-grid{display:grid;grid-template-columns:repeat(8,minmax(130px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.terminal-metric{min-height:104px;border:1px solid hsla(0,0%,100%,.1);border-radius:7px;padding:11px;background:linear-gradient(180deg,hsla(0,0%,100%,.035),transparent 44%),#070b11}.terminal-metric-label{display:flex;align-items:center;gap:7px;color:var(--muted)}.terminal-metric strong{display:block;margin-top:10px;color:#f4f8ff;font-size:27px;line-height:1;overflow-wrap:anywhere}.terminal-metric p{margin:8px 0 0;color:#8390a3;font-size:11px;line-height:1.35}.terminal-status.tone-positive strong,.tone-positive strong{color:var(--green)}.terminal-status.tone-negative strong,.tone-negative strong{color:var(--red)}.terminal-status.tone-attention strong,.tone-attention strong{color:var(--amber)}.terminal-status.tone-info strong,.tone-info strong{color:var(--cyan)}.bloomberg-panel{border:1px solid hsla(0,0%,100%,.1);border-radius:8px;padding:13px;background:linear-gradient(180deg,hsla(0,0%,100%,.035),transparent 32%),#070b11}.bloomberg-panel.dense{padding:10px}.bloomberg-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:28px;margin-bottom:11px}.bloomberg-panel-head p{margin:4px 0 0;color:#768397;font-size:11px}.bloomberg-panel-value{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#f2f6fc;font-size:12px;font-weight:900}.market-command-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);grid-gap:12px;gap:12px;align-items:start}.market-pulse-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:10px;gap:10px}.pulse-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.pulse-mini-chart{min-height:154px;border:1px solid hsla(0,0%,100%,.08);border-radius:6px;padding:10px;background:#05080d}.pulse-mini-chart h3{margin:0 0 10px;color:#dfe8f4;font-size:12px}.theme-volume-bars{display:grid;grid-gap:7px;gap:7px}.theme-volume-row{display:grid;grid-template-columns:92px 1fr 44px;align-items:center;grid-gap:8px;gap:8px;color:#d7e1ee;font-size:11px}.theme-volume-row span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.theme-volume-row i{display:block;height:8px;border-radius:99px;background:linear-gradient(90deg,rgba(255,176,0,.95),rgba(77,216,255,.65))}.regime-badge{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;border:1px solid rgba(255,176,0,.34);border-radius:999px;padding:6px 9px;color:var(--amber);background:rgba(255,176,0,.08);font-size:11px;font-weight:950;text-transform:uppercase}.regime-badge.tone-positive{color:var(--green);border-color:rgba(32,224,112,.35);background:rgba(32,224,112,.08)}.regime-badge.tone-negative{color:var(--red);border-color:rgba(255,77,94,.35);background:rgba(255,77,94,.08)}.sentiment-bar-wrap{display:grid;grid-gap:8px;gap:8px}.sentiment-bar-labels{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.sentiment-bar-labels strong{color:#eaf0f8}.terminal-sentiment-bar{display:flex;height:14px;overflow:hidden;border:1px solid hsla(0,0%,100%,.1);border-radius:999px;background:#111926}.terminal-sentiment-bar i{display:block;min-width:3px}.terminal-sentiment-bar .positive{background:var(--green)}.terminal-sentiment-bar .neutral{background:var(--blue)}.terminal-sentiment-bar .negative{background:var(--red)}.score-badge{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;min-height:28px;border:1px solid hsla(0,0%,100%,.12);border-radius:5px;padding:4px 7px;background:#0b111a}.score-badge strong{color:#f6f8fc;font-size:15px;line-height:1}.score-badge em{color:var(--muted);font-size:9px;font-style:normal;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.score-badge.tone-positive{border-color:rgba(32,224,112,.35)}.score-badge.tone-positive strong{color:var(--green)}.score-badge.tone-negative{border-color:rgba(255,77,94,.35)}.score-badge.tone-negative strong{color:var(--red)}.score-badge.tone-attention{border-color:rgba(255,176,0,.42)}.score-badge.tone-attention strong{color:var(--amber)}.score-badge.tone-info{border-color:rgba(77,216,255,.35)}.score-badge.tone-info strong{color:var(--cyan)}.action-pill,.market-move,.risk-indicator,.terminal-signal{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;border-radius:5px;padding:5px 7px;background:#0c131d;color:#d7e0ed;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.risk-indicator b{color:inherit}.action-pill.positive,.market-move.positive,.risk-indicator.tone-positive{color:var(--green);border:1px solid rgba(32,224,112,.28)}.action-pill.negative,.market-move.negative,.risk-indicator.tone-negative{color:var(--red);border:1px solid rgba(255,77,94,.32)}.action-pill.attention,.risk-indicator.tone-attention{color:var(--amber);border:1px solid rgba(255,176,0,.34)}.action-pill.neutral,.market-move.neutral{color:var(--blue);border:1px solid rgba(85,170,255,.26)}.terminal-confidence{display:grid;grid-gap:5px;gap:5px;min-width:92px}.terminal-confidence div{display:flex;align-items:center;justify-content:space-between;gap:8px}.terminal-confidence span{color:var(--muted);font-size:9px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.terminal-confidence strong{color:#f0f4fb;font-size:11px}.terminal-confidence i{display:block;height:5px;overflow:hidden;border-radius:999px;background:#172132}.terminal-confidence b{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--amber),var(--green))}.mini-sparkline{width:100%;height:34px}.mini-sparkline polyline{fill:none;stroke:var(--amber);stroke-width:2.2}.mini-sparkline.tone-positive polyline{stroke:var(--green)}.mini-sparkline.tone-negative polyline{stroke:var(--red)}.mini-sparkline.tone-info polyline{stroke:var(--cyan)}.asset-table-shell{overflow:auto;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;background:#05080d}.asset-terminal-table{width:100%;min-width:1540px;border-collapse:collapse}.asset-terminal-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;border-bottom:1px solid hsla(0,0%,100%,.12);background:#080d14;padding:0}.sortable-head{width:100%;min-height:38px;border:0;border-radius:0;padding:0 10px;background:transparent;color:var(--muted);text-align:left;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.sortable-head.active,.sortable-head:hover{color:var(--amber)}.asset-terminal-table td{border-bottom:1px solid hsla(0,0%,100%,.055);padding:10px;color:#d8e2ef;font-size:12px;vertical-align:top}.asset-terminal-table tr:hover td{background:rgba(255,176,0,.035)}.terminal-ticker{display:block;color:#f6f9ff;font-size:16px;font-weight:950}.asset-name-cell span,.asset-terminal-table td span{display:block;margin-top:3px;color:#7f8da1;font-size:11px}.asset-name-cell{max-width:360px}.asset-name-cell strong{display:block;color:#eff4fb;font-size:13px;line-height:1.25}.asset-name-cell p{margin:6px 0 0;color:#a8b4c5;font-size:11px;line-height:1.35}.terminal-button{border:1px solid rgba(255,176,0,.38);border-radius:6px;background:rgba(255,176,0,.12);color:var(--amber);padding:9px 12px;font-size:12px;font-weight:900;cursor:pointer}.terminal-button:hover{background:rgba(255,176,0,.2);border-color:rgba(255,176,0,.62)}.performance-table-wrap{width:100%;overflow:auto}.performance-table{min-width:920px}.performance-table td,.performance-table th{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.performance-table td{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.45}.diagnostic-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.55;font-size:13px}.diagnostic-list li+li{margin-top:8px}.terminal-empty{min-height:112px;display:grid;place-items:center;border:1px solid rgba(255,176,0,.34);border-radius:7px;padding:18px;background:rgba(255,176,0,.055);color:var(--amber);text-align:center;font-size:13px;font-weight:850}.asset-command-card{display:grid;grid-template-columns:minmax(0,1fr) 260px 320px;grid-gap:12px;gap:12px;align-items:stretch;border:1px solid rgba(255,176,0,.28);border-radius:8px;padding:15px;background:linear-gradient(120deg,rgba(255,176,0,.13),transparent 38%),#06090e}.asset-command-card h1 span{display:inline-block;margin-left:12px;color:#8592a5;font-size:clamp(18px,1.8vw,28px);vertical-align:baseline}.asset-command-card p{margin:8px 0 0;max-width:850px;color:#a7b3c4;font-size:13px}.asset-command-narrative,.asset-command-pricing{border:1px solid hsla(0,0%,100%,.1);border-radius:7px;padding:12px;background:#070b11}.asset-command-pricing>strong{display:block;margin:9px 0;color:#f8fbff;font-size:32px;line-height:1}.asset-command-scores{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.asset-command-narrative strong{display:block;margin-top:8px;color:#edf3fb;font-size:18px;line-height:1.25}.evidence-stack,.narrative-card-meta,.signal-note-card,.signal-note-grid,.terminal-news-tags{min-width:0}.signal-note-card{border:1px solid hsla(0,0%,100%,.1);border-left:3px solid var(--amber);border-radius:7px;padding:12px;background:#070b11}.signal-note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.signal-note-head a{display:block;color:#f6f9ff;font-size:21px;font-weight:950}.signal-note-head span{display:block;color:var(--muted);font-size:11px;line-height:1.3}.signal-note-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px;margin:12px 0}.signal-note-grid div{border:1px solid hsla(0,0%,100%,.08);border-radius:5px;padding:7px;background:#05080d}.evidence-stack span,.signal-note-grid span{display:block;color:var(--muted);font-size:9px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.signal-note-grid strong{display:block;margin-top:5px;color:#edf3fb;font-size:12px;line-height:1.2}.signal-note-card li,.signal-note-card p{color:#c7d3e3;font-size:12px;line-height:1.45}.evidence-stack{display:flex;flex-wrap:wrap;gap:6px}.evidence-stack span{display:inline-flex;align-items:center;gap:6px;min-height:24px;border:1px solid hsla(0,0%,100%,.1);border-radius:5px;padding:4px 7px;background:#05080d}.evidence-stack b{color:var(--amber)}.narrative-card{min-height:158px;border:1px solid hsla(0,0%,100%,.1);border-radius:7px;padding:12px;background:#070b11}.narrative-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.narrative-card-top>strong{color:#f2f6fc;font-size:17px;line-height:1.15}.narrative-card p{margin:10px 0;color:#aeb9c9;font-size:12px;line-height:1.45}.narrative-card-meta,.terminal-news-tags{display:flex;flex-wrap:wrap;gap:5px}.narrative-card-meta a,.narrative-card-meta span,.terminal-news-tags b,.terminal-news-tags em{display:inline-flex;align-items:center;gap:4px;border:1px solid hsla(0,0%,100%,.1);border-radius:4px;padding:3px 6px;background:#05080d;color:var(--muted);font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase}.terminal-news-tape{display:grid;grid-gap:7px;gap:7px;max-height:650px;overflow:auto;padding-right:4px}.terminal-news-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,auto);grid-gap:12px;gap:12px;border:1px solid hsla(0,0%,100%,.08);border-left:3px solid rgba(255,176,0,.84);border-radius:6px;padding:10px;background:#05080d}.terminal-news-row:hover{border-color:rgba(255,176,0,.45)}.terminal-news-row strong{display:block;color:#edf3fb;font-size:12px;line-height:1.35}.terminal-news-row span{display:block;margin-top:4px;color:#7f8da1;font-size:10px}.terminal-news-tags{justify-content:flex-end}.terminal-news-tags b.positive{color:var(--green);border-color:rgba(32,224,112,.3)}.terminal-news-tags b.negative{color:var(--red);border-color:rgba(255,77,94,.3)}.terminal-news-tags b.neutral{color:var(--blue);border-color:rgba(85,170,255,.28)}.professional-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.professional-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.professional-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.desk-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.44fr);grid-gap:12px;gap:12px;align-items:start}.market-brain-system-grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,minmax(190px,.42fr));grid-gap:10px;gap:10px}.asset-news-panel,.radar-core-panel{margin-top:12px}.asset-news-panel .news-list{max-height:720px;overflow:auto;padding-right:4px}.chat-command-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);grid-gap:12px;gap:12px;align-items:start}.chat-prompt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.28fr);grid-gap:10px;gap:10px;align-items:stretch}.chat-textarea{min-height:146px;resize:vertical;line-height:1.45}.chat-controls{display:grid;grid-gap:8px;gap:8px;align-content:start}.chat-controls label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.chat-guardrail-list,.chat-monitor-list,.prompt-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chat-guardrail-list span,.chat-monitor-list span,.prompt-chip{border:1px solid hsla(0,0%,100%,.1);border-radius:6px;background:#05080d;color:#b9c5d5;padding:8px 9px;font-size:11px;font-weight:800;line-height:1.35}.prompt-chip{cursor:pointer;text-align:left}.prompt-chip:hover{color:var(--text);border-color:rgba(255,176,0,.42);background:#101720}.prompt-chip.wide{width:100%}.chat-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.chat-scenario-card,.chat-thesis-block{border:1px solid hsla(0,0%,100%,.1);border-radius:7px;background:#05080d;padding:13px}.chat-thesis-block.full{grid-column:1/-1}.chat-scenario-card span,.chat-thesis-block span{display:block;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chat-scenario-card p,.chat-thesis-block p{margin:8px 0 0;color:#cfdae8;font-size:13px}.chat-scenario-card.tone-positive{border-left:3px solid var(--green)}.chat-scenario-card.tone-attention{border-left:3px solid var(--amber)}.chat-scenario-card.tone-negative{border-left:3px solid var(--red)}.chat-evidence-list{display:grid;grid-gap:8px;gap:8px}.chat-evidence-list span{display:block;border:1px solid hsla(0,0%,100%,.1);border-left:3px solid var(--line);border-radius:6px;padding:10px;background:#05080d;color:#c7d3e3;font-size:12px;line-height:1.4}.chat-evidence-list.tone-positive span{border-left-color:var(--green)}.chat-evidence-list.tone-negative span{border-left-color:var(--red)}.chat-candidate-table{display:grid;grid-gap:8px;gap:8px}.chat-candidate-row{display:grid;grid-template-columns:34px minmax(170px,1fr) repeat(3,minmax(74px,.24fr)) minmax(120px,.42fr) minmax(120px,.35fr) minmax(130px,.46fr);grid-gap:8px;gap:8px;align-items:center;border:1px solid hsla(0,0%,100%,.1);border-radius:7px;padding:9px;background:#05080d}.chat-candidate-row>strong{color:var(--amber);font-size:12px}.chat-candidate-row a{color:#f4f8ff;font-size:18px;font-weight:950}.chat-candidate-row p{margin:3px 0 0;color:#8996aa;font-size:11px;line-height:1.35}.chat-candidate-row>p{grid-column:2/-1;margin-top:0;color:#c1ccda}.chatgpt-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.34fr);grid-gap:12px;gap:12px;align-items:start}.chatgpt-main{min-height:calc(100vh - 148px);display:grid;grid-template-rows:minmax(420px,1fr) auto auto;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#070b11,#05070a);overflow:hidden}.chat-thread{display:grid;align-content:start;grid-gap:14px;gap:14px;max-height:calc(100vh - 290px);min-height:420px;overflow:auto;padding:18px}.chat-bubble{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.chat-bubble.user{grid-template-columns:minmax(0,1fr) 34px}.chat-bubble.user .chat-avatar{grid-column:2;grid-row:1;background:#182230;color:var(--blue)}.chat-bubble.user .chat-message-card{grid-column:1;grid-row:1;justify-self:end;max-width:840px;background:#101722;border-color:rgba(85,170,255,.22)}.chat-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:var(--amber);color:#040609;font-size:14px;font-weight:950}.chat-message-card{max-width:980px;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;padding:13px 14px;background:#080d14}.structured-answer{display:grid;grid-gap:9px;gap:9px}.structured-section{border:1px solid hsla(0,0%,100%,.08);border-radius:7px;padding:10px;background:#05080d}.structured-section h3{margin:0 0 8px;color:var(--amber);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.structured-section ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:17px}.structured-section li{color:#d8e1ee;font-size:12px;line-height:1.45}.chat-role{display:block;margin-bottom:8px;color:var(--amber);font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.rich-answer li,.rich-answer p{margin:0 0 9px;color:#d8e1ee;font-size:13px;line-height:1.55}.rich-answer h3{margin:12px 0 7px;color:#f4f8ff;font-size:12px;letter-spacing:.07em;text-transform:uppercase}.rich-answer li{margin-left:18px}.chat-starters{border-top:1px solid hsla(0,0%,100%,.08);margin:0;padding:12px 14px 0}.chat-composer{display:grid;grid-gap:9px;gap:9px;padding:12px 14px 14px;background:#05080d}.chat-composer-controls{display:flex;flex-wrap:wrap;gap:8px}.chat-input-row{display:grid;grid-template-columns:minmax(0,1fr) 46px;grid-gap:8px;gap:8px;align-items:end}.chat-input{min-height:54px;max-height:170px;resize:vertical;line-height:1.45}.chat-send-button{min-width:46px;min-height:46px;display:grid;place-items:center;padding:0}.chat-context-rail{display:grid;grid-gap:12px;gap:12px;position:-webkit-sticky;position:sticky;top:18px}.chat-response-evidence{display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.08)}.chat-evidence-columns,.scenario-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.scenario-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-evidence-list.compact-list{border:1px solid hsla(0,0%,100%,.08);border-radius:7px;padding:9px;background:#05080d}.chat-evidence-list.compact-list>strong{display:block;margin-bottom:8px;color:#f4f8ff;font-size:11px;letter-spacing:.07em;text-transform:uppercase}.chat-disclaimer{margin:0;color:#8f9bad;font-size:11px}.chat-candidate-stack{display:grid;grid-gap:8px;gap:8px}.compact-candidate{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto auto;grid-gap:8px;gap:8px;align-items:center;border:1px solid hsla(0,0%,100%,.08);border-radius:7px;padding:9px;background:#05080d}.compact-candidate>strong{color:var(--amber);font-size:12px}.asset-context-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px;gap:7px;align-items:center;border:1px solid hsla(0,0%,100%,.08);border-radius:7px;padding:9px;background:#05080d}.asset-context-pill a{color:#f7fbff;font-weight:950}.asset-context-pill p{margin:3px 0 0;color:#8f9bad;font-size:11px;line-height:1.25}.asset-context-pill strong{color:var(--amber);font-size:12px}.asset-context-pill span{grid-column:1/-1;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.context-coverage,.sniper-box,.source-badge-grid{display:grid;grid-gap:7px;gap:7px}.source-badge{display:grid;grid-template-columns:18px minmax(0,1fr);grid-gap:7px;gap:7px;align-items:start;border:1px solid hsla(0,0%,100%,.08);border-radius:7px;padding:8px;background:#05080d}.source-badge svg{color:var(--amber);margin-top:1px}.context-coverage span,.sniper-box span,.sniper-box strong,.source-badge span,.source-badge strong{display:block}.sniper-box strong,.source-badge strong{color:#f4f8ff;font-size:12px}.context-coverage span,.sniper-box span,.source-badge span{color:var(--muted);font-size:11px;line-height:1.35}.sniper-box{border:1px solid rgba(255,176,0,.26);border-radius:7px;padding:10px;background:rgba(255,176,0,.06)}.context-coverage{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.context-coverage span{border:1px solid hsla(0,0%,100%,.08);border-radius:5px;padding:6px;background:#05080d;text-transform:uppercase;letter-spacing:.04em;font-weight:900}.compact-candidate a{color:#f4f8ff;font-size:15px;font-weight:950}.compact-candidate p{margin:3px 0 0;color:#8794a8;font-size:10px;line-height:1.3}.compact-candidate .risk-indicator,.compact-candidate .terminal-confidence{grid-column:1/-1}.metric-label-icon{display:inline-flex;align-items:center;gap:7px}.metric-label-icon svg{color:var(--amber)}.learning-table{display:grid;grid-gap:5px;gap:5px}.learning-row{display:grid;grid-template-columns:minmax(150px,1.3fr) 70px minmax(100px,.9fr) 72px 88px 72px;grid-gap:8px;gap:8px;align-items:center;min-height:38px;border:1px solid hsla(0,0%,100%,.075);border-radius:6px;padding:8px 10px;background:#05080d;color:#cbd5e1;font-size:12px}.learning-row.predictions,.learning-table.predictions .learning-row{grid-template-columns:72px 98px minmax(110px,1fr) 92px 88px 72px}.learning-row.head{min-height:30px;background:transparent;border-color:transparent;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:950}.learning-row strong{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-ledger-table{overflow-x:auto;padding-bottom:2px}.learning-row.trade-ledger-row{grid-template-columns:72px minmax(138px,1fr) 108px 68px minmax(106px,.8fr) minmax(106px,.8fr) 88px 78px 58px minmax(108px,.8fr) 72px 82px;min-width:1260px}.lab-command-panel{min-height:300px}.cycle-progress-track{width:100%;height:8px;border:1px solid rgba(255,176,0,.25);background:#070a0f;border-radius:999px;overflow:hidden;margin:8px 0 14px}.cycle-progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--amber),var(--green));border-radius:inherit}.learning-row.clickable{width:100%;text-align:left;cursor:pointer;font:inherit}.learning-row.clickable:hover{border-color:rgba(255,176,0,.42);background:#0b1119}.trade-detail-panel h3{margin:8px 0;font-size:22px}@media (max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.system-card{position:static;margin-top:14px}.page-header{align-items:flex-start;flex-direction:column}.header-actions{justify-content:flex-start}.allocation-list div,.asset-command-card,.asset-context-pill,.brain-hero,.brain-status-grid,.brain-two-col,.chart-snapshot-panel .brain-status-grid,.chat-answer-grid,.chat-candidate-row,.chat-command-layout,.chat-evidence-columns,.chat-prompt-grid,.chatgpt-shell,.compact-candidate,.context-coverage,.deployment-banner,.desk-layout,.diagnostic-grid,.event-graph,.evidence-columns,.evidence-grid,.executive-command,.executive-grid,.executive-hero,.financial-brain-grid,.grid-2,.grid-3,.grid-4,.hero,.instrument-card,.key-level-grid,.live-grid,.macro-list,.market-brain-system-grid,.market-command-layout,.market-pulse-grid,.market-strip,.market-strip.compact,.method-grid,.narrative-grid,.opportunity-card,.professional-grid-2,.professional-grid-3,.professional-grid-4,.pulse-chart-grid,.quality-lists,.realtime-strip,.scenario-grid,.scenario-mini-grid,.score-stack,.sentiment-columns,.signal-note-grid,.terminal-command-grid,.terminal-header,.terminal-status-grid{grid-template-columns:1fr}.chat-context-rail{position:static}.chat-thread{max-height:none}.tape-row{grid-template-columns:1fr}.tape-meta{justify-content:flex-start;max-width:none}.terminal-actions,.terminal-header-right{justify-items:start;justify-content:flex-start}.terminal-news-row{grid-template-columns:1fr}.terminal-news-tags{justify-content:flex-start}.learning-row,.learning-table.predictions .learning-row{grid-template-columns:1fr 1fr}} \ No newline at end of file diff --git a/frontend/.next/static/wZUVLKXl_CiOxUlt_FdXC/_buildManifest.js b/frontend/.next/static/wZUVLKXl_CiOxUlt_FdXC/_buildManifest.js new file mode 100644 index 0000000000000000000000000000000000000000..a81f2988b6829cfb8cb88f43bd98833469ba4348 --- /dev/null +++ b/frontend/.next/static/wZUVLKXl_CiOxUlt_FdXC/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-a647cd2c75dc4dc7.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/frontend/.next/static/wZUVLKXl_CiOxUlt_FdXC/_ssgManifest.js b/frontend/.next/static/wZUVLKXl_CiOxUlt_FdXC/_ssgManifest.js new file mode 100644 index 0000000000000000000000000000000000000000..bd8a545620a34c0ebc27144fd1cc561afbd74180 --- /dev/null +++ b/frontend/.next/static/wZUVLKXl_CiOxUlt_FdXC/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set(["\u002Fassets\u002F[ticker]"]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/frontend/.next/trace b/frontend/.next/trace new file mode 100644 index 0000000000000000000000000000000000000000..9839c69e4eda7c7f869ed2bcb23d26a04a006295 --- /dev/null +++ b/frontend/.next/trace @@ -0,0 +1,4 @@ +[{"name":"generate-buildid","duration":142,"timestamp":110543654556,"id":4,"parentId":1,"tags":{},"startTime":1782215214436,"traceId":"e5d46548b69a0d76"},{"name":"load-custom-routes","duration":112,"timestamp":110543654962,"id":5,"parentId":1,"tags":{},"startTime":1782215214437,"traceId":"e5d46548b69a0d76"},{"name":"create-pages-mapping","duration":139,"timestamp":110543685741,"id":6,"parentId":1,"tags":{},"startTime":1782215214468,"traceId":"e5d46548b69a0d76"},{"name":"collect-app-paths","duration":2268,"timestamp":110543685901,"id":7,"parentId":1,"tags":{},"startTime":1782215214468,"traceId":"e5d46548b69a0d76"},{"name":"create-app-mapping","duration":397,"timestamp":110543688221,"id":8,"parentId":1,"tags":{},"startTime":1782215214470,"traceId":"e5d46548b69a0d76"},{"name":"public-dir-conflict-check","duration":470,"timestamp":110543688865,"id":9,"parentId":1,"tags":{},"startTime":1782215214471,"traceId":"e5d46548b69a0d76"},{"name":"generate-routes-manifest","duration":2032,"timestamp":110543689502,"id":10,"parentId":1,"tags":{},"startTime":1782215214471,"traceId":"e5d46548b69a0d76"},{"name":"create-dist-dir","duration":243,"timestamp":110543692329,"id":11,"parentId":1,"tags":{},"startTime":1782215214474,"traceId":"e5d46548b69a0d76"},{"name":"write-routes-manifest","duration":523,"timestamp":110543710225,"id":12,"parentId":1,"tags":{},"startTime":1782215214492,"traceId":"e5d46548b69a0d76"},{"name":"generate-required-server-files","duration":415,"timestamp":110543710866,"id":13,"parentId":1,"tags":{},"startTime":1782215214493,"traceId":"e5d46548b69a0d76"},{"name":"create-entrypoints","duration":48847,"timestamp":110543965010,"id":17,"parentId":15,"tags":{},"startTime":1782215214747,"traceId":"e5d46548b69a0d76"},{"name":"generate-webpack-config","duration":171109,"timestamp":110544013942,"id":18,"parentId":16,"tags":{},"startTime":1782215214796,"traceId":"e5d46548b69a0d76"},{"name":"next-trace-entrypoint-plugin","duration":966,"timestamp":110544225200,"id":20,"parentId":19,"tags":{},"startTime":1782215215007,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":214491,"timestamp":110544227459,"id":23,"parentId":21,"tags":{"request":"next/dist/pages/_app"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":235941,"timestamp":110544227475,"id":24,"parentId":21,"tags":{"request":"next-route-loader?kind=PAGES&page=%2F_error&preferredRegion=&absolutePagePath=next%2Fdist%2Fpages%2F_error&absoluteAppPath=next%2Fdist%2Fpages%2F_app&absoluteDocumentPath=next%2Fdist%2Fpages%2F_document&middlewareConfigBase64=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238600,"timestamp":110544227266,"id":22,"parentId":21,"tags":{"request":"next-app-loader?page=%2F_not-found%2Fpage&name=app%2F_not-found%2Fpage&pagePath=next%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=next%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238385,"timestamp":110544227490,"id":26,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fbacktest%2Fpage&name=app%2Fbacktest%2Fpage&pagePath=private-next-app-dir%2Fbacktest%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fbacktest%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238384,"timestamp":110544227495,"id":27,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fchart-analyst%2Fpage&name=app%2Fchart-analyst%2Fpage&pagePath=private-next-app-dir%2Fchart-analyst%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fchart-analyst%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238382,"timestamp":110544227500,"id":28,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fchat%2Fpage&name=app%2Fchat%2Fpage&pagePath=private-next-app-dir%2Fchat%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fchat%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238382,"timestamp":110544227506,"id":29,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fchatbot%2Fpage&name=app%2Fchatbot%2Fpage&pagePath=private-next-app-dir%2Fchatbot%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fchatbot%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238382,"timestamp":110544227514,"id":30,"parentId":21,"tags":{"request":"next-app-loader?page=%2Flearning%2Fpage&name=app%2Flearning%2Fpage&pagePath=private-next-app-dir%2Flearning%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Flearning%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238368,"timestamp":110544227533,"id":31,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fmethodology%2Fpage&name=app%2Fmethodology%2Fpage&pagePath=private-next-app-dir%2Fmethodology%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fmethodology%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238357,"timestamp":110544227552,"id":32,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fipo-radar%2Fpage&name=app%2Fipo-radar%2Fpage&pagePath=private-next-app-dir%2Fipo-radar%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fipo-radar%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238354,"timestamp":110544227557,"id":33,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fmarket-brain%2Fpage&name=app%2Fmarket-brain%2Fpage&pagePath=private-next-app-dir%2Fmarket-brain%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fmarket-brain%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238353,"timestamp":110544227559,"id":34,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fnarratives%2Fpage&name=app%2Fnarratives%2Fpage&pagePath=private-next-app-dir%2Fnarratives%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fnarratives%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238353,"timestamp":110544227561,"id":35,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fpage&name=app%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238353,"timestamp":110544227562,"id":36,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fetf-radar%2Fpage&name=app%2Fetf-radar%2Fpage&pagePath=private-next-app-dir%2Fetf-radar%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fetf-radar%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238349,"timestamp":110544227567,"id":38,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fsignal-lab%2Fpage&name=app%2Fsignal-lab%2Fpage&pagePath=private-next-app-dir%2Fsignal-lab%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fsignal-lab%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238349,"timestamp":110544227569,"id":39,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fsniper%2Fpage&name=app%2Fsniper%2Fpage&pagePath=private-next-app-dir%2Fsniper%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fsniper%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238349,"timestamp":110544227571,"id":40,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fstock-radar%2Fpage&name=app%2Fstock-radar%2Fpage&pagePath=private-next-app-dir%2Fstock-radar%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fstock-radar%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238349,"timestamp":110544227572,"id":41,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fthemes%2Fpage&name=app%2Fthemes%2Fpage&pagePath=private-next-app-dir%2Fthemes%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fthemes%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238348,"timestamp":110544227574,"id":42,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fdashboard%2Fpage&name=app%2Fdashboard%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fdashboard%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238361,"timestamp":110544227564,"id":37,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fperformance%2Fpage&name=app%2Fperformance%2Fpage&pagePath=private-next-app-dir%2Fperformance%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fperformance%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238673,"timestamp":110544227576,"id":43,"parentId":21,"tags":{"request":"next-app-loader?page=%2Fassets%2F%5Bticker%5D%2Fpage&name=app%2Fassets%2F%5Bticker%5D%2Fpage&pagePath=private-next-app-dir%2Fassets%2F%5Bticker%5D%2Fpage.tsx&appDir=%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp&appPaths=%2Fassets%2F%5Bticker%5D%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=export&nextConfigExperimentalUseEarlyImport=false&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":238779,"timestamp":110544227484,"id":25,"parentId":21,"tags":{"request":"next/dist/pages/_document"},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"make","duration":403536,"timestamp":110544227121,"id":21,"parentId":19,"tags":{},"startTime":1782215215009,"traceId":"e5d46548b69a0d76"},{"name":"get-entries","duration":481,"timestamp":110544631286,"id":138,"parentId":137,"tags":{},"startTime":1782215215413,"traceId":"e5d46548b69a0d76"},{"name":"node-file-trace-plugin","duration":38161,"timestamp":110544633709,"id":139,"parentId":137,"tags":{"traceEntryCount":"40"},"startTime":1782215215416,"traceId":"e5d46548b69a0d76"},{"name":"collect-traced-files","duration":445,"timestamp":110544671890,"id":140,"parentId":137,"tags":{},"startTime":1782215215454,"traceId":"e5d46548b69a0d76"},{"name":"finish-modules","duration":41143,"timestamp":110544631195,"id":137,"parentId":20,"tags":{},"startTime":1782215215413,"traceId":"e5d46548b69a0d76"},{"name":"chunk-graph","duration":4909,"timestamp":110544683865,"id":142,"parentId":141,"tags":{},"startTime":1782215215466,"traceId":"e5d46548b69a0d76"},{"name":"optimize-modules","duration":10,"timestamp":110544688824,"id":144,"parentId":141,"tags":{},"startTime":1782215215471,"traceId":"e5d46548b69a0d76"},{"name":"optimize-chunks","duration":5606,"timestamp":110544688866,"id":145,"parentId":141,"tags":{},"startTime":1782215215471,"traceId":"e5d46548b69a0d76"},{"name":"optimize-tree","duration":12,"timestamp":110544694511,"id":146,"parentId":141,"tags":{},"startTime":1782215215476,"traceId":"e5d46548b69a0d76"},{"name":"optimize-chunk-modules","duration":4474,"timestamp":110544694563,"id":147,"parentId":141,"tags":{},"startTime":1782215215476,"traceId":"e5d46548b69a0d76"},{"name":"optimize","duration":10255,"timestamp":110544688804,"id":143,"parentId":141,"tags":{},"startTime":1782215215471,"traceId":"e5d46548b69a0d76"},{"name":"module-hash","duration":5488,"timestamp":110544708645,"id":148,"parentId":141,"tags":{},"startTime":1782215215491,"traceId":"e5d46548b69a0d76"},{"name":"code-generation","duration":5215,"timestamp":110544714154,"id":149,"parentId":141,"tags":{},"startTime":1782215215496,"traceId":"e5d46548b69a0d76"},{"name":"hash","duration":2979,"timestamp":110544721022,"id":150,"parentId":141,"tags":{},"startTime":1782215215503,"traceId":"e5d46548b69a0d76"},{"name":"code-generation-jobs","duration":79,"timestamp":110544724000,"id":151,"parentId":141,"tags":{},"startTime":1782215215506,"traceId":"e5d46548b69a0d76"},{"name":"module-assets","duration":99,"timestamp":110544724052,"id":152,"parentId":141,"tags":{},"startTime":1782215215506,"traceId":"e5d46548b69a0d76"},{"name":"create-chunk-assets","duration":3516,"timestamp":110544724157,"id":153,"parentId":141,"tags":{},"startTime":1782215215506,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1288,"timestamp":110544732695,"id":155,"parentId":154,"tags":{"name":"../app/_not-found/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1220,"timestamp":110544732766,"id":156,"parentId":154,"tags":{"name":"../pages/_app.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1216,"timestamp":110544732770,"id":157,"parentId":154,"tags":{"name":"../pages/_error.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1215,"timestamp":110544732773,"id":158,"parentId":154,"tags":{"name":"../pages/_document.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1214,"timestamp":110544732774,"id":159,"parentId":154,"tags":{"name":"../app/backtest/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1213,"timestamp":110544732776,"id":160,"parentId":154,"tags":{"name":"../app/chart-analyst/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1212,"timestamp":110544732778,"id":161,"parentId":154,"tags":{"name":"../app/chat/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1210,"timestamp":110544732780,"id":162,"parentId":154,"tags":{"name":"../app/chatbot/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1209,"timestamp":110544732782,"id":163,"parentId":154,"tags":{"name":"../app/learning/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1204,"timestamp":110544732787,"id":164,"parentId":154,"tags":{"name":"../app/methodology/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1193,"timestamp":110544732798,"id":165,"parentId":154,"tags":{"name":"../app/ipo-radar/page.js","cache":"HIT"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":36,"timestamp":110544733956,"id":168,"parentId":154,"tags":{"name":"../app/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":32,"timestamp":110544733960,"id":169,"parentId":154,"tags":{"name":"../app/etf-radar/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":31,"timestamp":110544733962,"id":170,"parentId":154,"tags":{"name":"../app/performance/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":30,"timestamp":110544733963,"id":171,"parentId":154,"tags":{"name":"../app/signal-lab/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":29,"timestamp":110544733965,"id":172,"parentId":154,"tags":{"name":"../app/sniper/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":28,"timestamp":110544733966,"id":173,"parentId":154,"tags":{"name":"../app/stock-radar/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":27,"timestamp":110544733968,"id":174,"parentId":154,"tags":{"name":"../app/themes/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":26,"timestamp":110544733969,"id":175,"parentId":154,"tags":{"name":"../app/dashboard/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":25,"timestamp":110544733970,"id":176,"parentId":154,"tags":{"name":"../app/assets/[ticker]/page.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":24,"timestamp":110544733972,"id":177,"parentId":154,"tags":{"name":"../webpack-runtime.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":23,"timestamp":110544733973,"id":178,"parentId":154,"tags":{"name":"273.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":22,"timestamp":110544733975,"id":179,"parentId":154,"tags":{"name":"590.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":21,"timestamp":110544733976,"id":180,"parentId":154,"tags":{"name":"394.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":20,"timestamp":110544733978,"id":181,"parentId":154,"tags":{"name":"927.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":18,"timestamp":110544733979,"id":182,"parentId":154,"tags":{"name":"377.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":18,"timestamp":110544733981,"id":183,"parentId":154,"tags":{"name":"965.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":17,"timestamp":110544733982,"id":184,"parentId":154,"tags":{"name":"640.js","cache":"HIT"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":21663,"timestamp":110544733736,"id":167,"parentId":154,"tags":{"name":"../app/narratives/page.js","cache":"MISS"},"startTime":1782215215516,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":22624,"timestamp":110544732801,"id":166,"parentId":154,"tags":{"name":"../app/market-brain/page.js","cache":"MISS"},"startTime":1782215215515,"traceId":"e5d46548b69a0d76"},{"name":"terser-webpack-plugin-optimize","duration":26169,"timestamp":110544729261,"id":154,"parentId":19,"tags":{"compilationName":"server","swcMinify":true},"startTime":1782215215511,"traceId":"e5d46548b69a0d76"},{"name":"css-minimizer-plugin","duration":90,"timestamp":110544755498,"id":185,"parentId":19,"tags":{},"startTime":1782215215537,"traceId":"e5d46548b69a0d76"},{"name":"create-trace-assets","duration":657,"timestamp":110544755680,"id":186,"parentId":20,"tags":{},"startTime":1782215215538,"traceId":"e5d46548b69a0d76"},{"name":"seal","duration":81422,"timestamp":110544678566,"id":141,"parentId":19,"tags":{},"startTime":1782215215460,"traceId":"e5d46548b69a0d76"},{"name":"webpack-compilation","duration":542285,"timestamp":110544223594,"id":19,"parentId":16,"tags":{"name":"server"},"startTime":1782215215006,"traceId":"e5d46548b69a0d76"},{"name":"emit","duration":5860,"timestamp":110544766105,"id":187,"parentId":16,"tags":{},"startTime":1782215215548,"traceId":"e5d46548b69a0d76"},{"name":"webpack-close","duration":27512,"timestamp":110544772170,"id":188,"parentId":16,"tags":{"name":"server"},"startTime":1782215215554,"traceId":"e5d46548b69a0d76"},{"name":"webpack-generate-error-stats","duration":968,"timestamp":110544799714,"id":189,"parentId":188,"tags":{},"startTime":1782215215582,"traceId":"e5d46548b69a0d76"},{"name":"run-webpack-compiler","duration":835771,"timestamp":110543965009,"id":16,"parentId":15,"tags":{},"startTime":1782215214747,"traceId":"e5d46548b69a0d76"},{"name":"format-webpack-messages","duration":33,"timestamp":110544800783,"id":190,"parentId":15,"tags":{},"startTime":1782215215583,"traceId":"e5d46548b69a0d76"},{"name":"worker-main-server","duration":836009,"timestamp":110543964845,"id":15,"parentId":1,"tags":{},"startTime":1782215214747,"traceId":"e5d46548b69a0d76"},{"name":"create-entrypoints","duration":12265,"timestamp":110544991788,"id":194,"parentId":192,"tags":{},"startTime":1782215215774,"traceId":"e5d46548b69a0d76"},{"name":"generate-webpack-config","duration":132402,"timestamp":110545004123,"id":195,"parentId":193,"tags":{},"startTime":1782215215786,"traceId":"e5d46548b69a0d76"},{"name":"make","duration":271,"timestamp":110545168500,"id":197,"parentId":196,"tags":{},"startTime":1782215215950,"traceId":"e5d46548b69a0d76"},{"name":"chunk-graph","duration":286,"timestamp":110545169672,"id":199,"parentId":198,"tags":{},"startTime":1782215215952,"traceId":"e5d46548b69a0d76"},{"name":"optimize-modules","duration":10,"timestamp":110545169998,"id":201,"parentId":198,"tags":{},"startTime":1782215215952,"traceId":"e5d46548b69a0d76"},{"name":"optimize-chunks","duration":66,"timestamp":110545170044,"id":202,"parentId":198,"tags":{},"startTime":1782215215952,"traceId":"e5d46548b69a0d76"},{"name":"optimize-tree","duration":8,"timestamp":110545170133,"id":203,"parentId":198,"tags":{},"startTime":1782215215952,"traceId":"e5d46548b69a0d76"},{"name":"optimize-chunk-modules","duration":57,"timestamp":110545170211,"id":204,"parentId":198,"tags":{},"startTime":1782215215952,"traceId":"e5d46548b69a0d76"}] +[{"name":"optimize","duration":308,"timestamp":110545169979,"id":200,"parentId":198,"tags":{},"startTime":1782215215952,"traceId":"e5d46548b69a0d76"},{"name":"module-hash","duration":40,"timestamp":110545170532,"id":205,"parentId":198,"tags":{},"startTime":1782215215952,"traceId":"e5d46548b69a0d76"},{"name":"code-generation","duration":62,"timestamp":110545170587,"id":206,"parentId":198,"tags":{},"startTime":1782215215953,"traceId":"e5d46548b69a0d76"},{"name":"hash","duration":165,"timestamp":110545170748,"id":207,"parentId":198,"tags":{},"startTime":1782215215953,"traceId":"e5d46548b69a0d76"},{"name":"code-generation-jobs","duration":24,"timestamp":110545170912,"id":208,"parentId":198,"tags":{},"startTime":1782215215953,"traceId":"e5d46548b69a0d76"},{"name":"module-assets","duration":29,"timestamp":110545170927,"id":209,"parentId":198,"tags":{},"startTime":1782215215953,"traceId":"e5d46548b69a0d76"},{"name":"create-chunk-assets","duration":99,"timestamp":110545170960,"id":210,"parentId":198,"tags":{},"startTime":1782215215953,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":131,"timestamp":110545203225,"id":212,"parentId":211,"tags":{"name":"interception-route-rewrite-manifest.js","cache":"HIT"},"startTime":1782215215985,"traceId":"e5d46548b69a0d76"},{"name":"terser-webpack-plugin-optimize","duration":22005,"timestamp":110545181358,"id":211,"parentId":196,"tags":{"compilationName":"edge-server","swcMinify":true},"startTime":1782215215963,"traceId":"e5d46548b69a0d76"},{"name":"css-minimizer-plugin","duration":65,"timestamp":110545203408,"id":213,"parentId":196,"tags":{},"startTime":1782215215985,"traceId":"e5d46548b69a0d76"},{"name":"seal","duration":34803,"timestamp":110545169544,"id":198,"parentId":196,"tags":{},"startTime":1782215215951,"traceId":"e5d46548b69a0d76"},{"name":"webpack-compilation","duration":37465,"timestamp":110545167026,"id":196,"parentId":193,"tags":{"name":"edge-server"},"startTime":1782215215949,"traceId":"e5d46548b69a0d76"},{"name":"emit","duration":827,"timestamp":110545204659,"id":214,"parentId":193,"tags":{},"startTime":1782215215987,"traceId":"e5d46548b69a0d76"},{"name":"webpack-close","duration":261,"timestamp":110545205647,"id":215,"parentId":193,"tags":{"name":"edge-server"},"startTime":1782215215988,"traceId":"e5d46548b69a0d76"},{"name":"webpack-generate-error-stats","duration":907,"timestamp":110545205928,"id":216,"parentId":215,"tags":{},"startTime":1782215215988,"traceId":"e5d46548b69a0d76"},{"name":"run-webpack-compiler","duration":215091,"timestamp":110544991786,"id":193,"parentId":192,"tags":{},"startTime":1782215215774,"traceId":"e5d46548b69a0d76"},{"name":"format-webpack-messages","duration":31,"timestamp":110545206879,"id":217,"parentId":192,"tags":{},"startTime":1782215215989,"traceId":"e5d46548b69a0d76"},{"name":"worker-main-edge-server","duration":215292,"timestamp":110544991659,"id":192,"parentId":1,"tags":{},"startTime":1782215215774,"traceId":"e5d46548b69a0d76"},{"name":"create-entrypoints","duration":13513,"timestamp":110545403624,"id":220,"parentId":218,"tags":{},"startTime":1782215216186,"traceId":"e5d46548b69a0d76"},{"name":"generate-webpack-config","duration":141875,"timestamp":110545417217,"id":221,"parentId":219,"tags":{},"startTime":1782215216199,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":154594,"timestamp":110545600611,"id":237,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fmethodology%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":168176,"timestamp":110545600521,"id":227,"parentId":223,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error&page=%2F_not-found%2Fpage!"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":173668,"timestamp":110545600617,"id":240,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fthemes%2Fpage.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":173672,"timestamp":110545600632,"id":247,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fthemes%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":180938,"timestamp":110545600603,"id":234,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fchat%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":203097,"timestamp":110545600583,"id":233,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fchart-analyst%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":206916,"timestamp":110545600619,"id":241,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fdashboard%2Fpage.tsx%22%2C%22ids%22%3A%5B%22default%22%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":206922,"timestamp":110545600633,"id":248,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fdashboard%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":223638,"timestamp":110545600538,"id":228,"parentId":223,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_app&page=%2F_app!"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":223633,"timestamp":110545600557,"id":230,"parentId":223,"tags":{"request":"next-client-pages-loader?absolutePagePath=next%2Fdist%2Fpages%2F_error&page=%2F_error!"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":237085,"timestamp":110545600489,"id":225,"parentId":223,"tags":{"request":"./node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/app-next.js"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":237629,"timestamp":110545600507,"id":226,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fnode_modules%2F.pnpm%2Fnext%4014.2.35_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fnode_modules%2F.pnpm%2Fnext%4014.2.35_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fnode_modules%2F.pnpm%2Fnext%4014.2.35_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fnode_modules%2F.pnpm%2Fnext%4014.2.35_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fnode_modules%2F.pnpm%2Fnext%4014.2.35_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fnode_modules%2F.pnpm%2Fnext%4014.2.35_react-dom%4018.3.1_react%4018.3.1__react%4018.3.1%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":237844,"timestamp":110545600296,"id":224,"parentId":223,"tags":{"request":"./node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/next.js"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":237591,"timestamp":110545600550,"id":229,"parentId":223,"tags":{"request":"/Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/node_modules/.pnpm/next@14.2.35_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/client/router.js"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241861,"timestamp":110545600568,"id":232,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fbacktest%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241824,"timestamp":110545600609,"id":236,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Flearning%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241824,"timestamp":110545600613,"id":238,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fipo-radar%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241817,"timestamp":110545600621,"id":242,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fetf-radar%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241805,"timestamp":110545600635,"id":249,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fassets%2F%5Bticker%5D%2Fview.tsx%22%2C%22ids%22%3A%5B%22AssetDetailClient%22%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241897,"timestamp":110545600622,"id":243,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fperformance%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241962,"timestamp":110545600563,"id":231,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fcomponents%2FAppShell.tsx%22%2C%22ids%22%3A%5B%22AppShell%22%5D%7D&server=false!"},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241902,"timestamp":110545600625,"id":244,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fsignal-lab%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241921,"timestamp":110545600607,"id":235,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fchatbot%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241915,"timestamp":110545600614,"id":239,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fmarket-brain%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241903,"timestamp":110545600628,"id":246,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fstock-radar%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"add-entry","duration":241906,"timestamp":110545600627,"id":245,"parentId":223,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22%2FUsers%2Frenatovinai%2FDocuments%2FNew%20project%2Fhf-blum-mvp%2Ffrontend%2Fapp%2Fsniper%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1782215216383,"traceId":"e5d46548b69a0d76"},{"name":"make","duration":242480,"timestamp":110545600132,"id":223,"parentId":222,"tags":{},"startTime":1782215216382,"traceId":"e5d46548b69a0d76"},{"name":"chunk-graph","duration":6628,"timestamp":110545859721,"id":251,"parentId":250,"tags":{},"startTime":1782215216642,"traceId":"e5d46548b69a0d76"},{"name":"optimize-modules","duration":12,"timestamp":110545866421,"id":253,"parentId":250,"tags":{},"startTime":1782215216648,"traceId":"e5d46548b69a0d76"},{"name":"optimize-chunks","duration":5939,"timestamp":110545867195,"id":255,"parentId":250,"tags":{},"startTime":1782215216649,"traceId":"e5d46548b69a0d76"},{"name":"optimize-tree","duration":22,"timestamp":110545873184,"id":256,"parentId":250,"tags":{},"startTime":1782215216655,"traceId":"e5d46548b69a0d76"},{"name":"optimize-chunk-modules","duration":5746,"timestamp":110545873251,"id":257,"parentId":250,"tags":{},"startTime":1782215216655,"traceId":"e5d46548b69a0d76"},{"name":"optimize","duration":12634,"timestamp":110545866391,"id":252,"parentId":250,"tags":{},"startTime":1782215216648,"traceId":"e5d46548b69a0d76"},{"name":"module-hash","duration":7417,"timestamp":110545889405,"id":258,"parentId":250,"tags":{},"startTime":1782215216671,"traceId":"e5d46548b69a0d76"},{"name":"code-generation","duration":47279,"timestamp":110545896846,"id":259,"parentId":250,"tags":{},"startTime":1782215216679,"traceId":"e5d46548b69a0d76"},{"name":"hash","duration":4525,"timestamp":110545946524,"id":260,"parentId":250,"tags":{},"startTime":1782215216728,"traceId":"e5d46548b69a0d76"},{"name":"code-generation-jobs","duration":106,"timestamp":110545951048,"id":261,"parentId":250,"tags":{},"startTime":1782215216733,"traceId":"e5d46548b69a0d76"},{"name":"module-assets","duration":123,"timestamp":110545951128,"id":262,"parentId":250,"tags":{},"startTime":1782215216733,"traceId":"e5d46548b69a0d76"},{"name":"create-chunk-assets","duration":3240,"timestamp":110545951255,"id":263,"parentId":250,"tags":{},"startTime":1782215216733,"traceId":"e5d46548b69a0d76"},{"name":"NextJsBuildManifest-generateClientManifest","duration":395,"timestamp":110545955508,"id":265,"parentId":222,"tags":{},"startTime":1782215216737,"traceId":"e5d46548b69a0d76"},{"name":"NextJsBuildManifest-createassets","duration":771,"timestamp":110545955135,"id":264,"parentId":222,"tags":{},"startTime":1782215216737,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":4817,"timestamp":110545964386,"id":267,"parentId":266,"tags":{"name":"static/chunks/main-d4dac7885e92ed7d.js","cache":"HIT"},"startTime":1782215216746,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":4729,"timestamp":110545964479,"id":268,"parentId":266,"tags":{"name":"static/chunks/main-app-80b65e8c4f383000.js","cache":"HIT"},"startTime":1782215216746,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":4722,"timestamp":110545964487,"id":269,"parentId":266,"tags":{"name":"static/chunks/app/_not-found/page-8194a34fe9d5ebe2.js","cache":"HIT"},"startTime":1782215216746,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":4718,"timestamp":110545964492,"id":270,"parentId":266,"tags":{"name":"static/chunks/pages/_app-0c3037849002a4aa.js","cache":"HIT"},"startTime":1782215216746,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":4715,"timestamp":110545964496,"id":271,"parentId":266,"tags":{"name":"static/chunks/pages/_error-a647cd2c75dc4dc7.js","cache":"HIT"},"startTime":1782215216746,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":3195,"timestamp":110545966016,"id":273,"parentId":266,"tags":{"name":"static/chunks/app/chart-analyst/page-422122938e79d615.js","cache":"HIT"},"startTime":1782215216748,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":3176,"timestamp":110545966036,"id":274,"parentId":266,"tags":{"name":"static/chunks/app/chat/page-01bb723eea532598.js","cache":"HIT"},"startTime":1782215216748,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":3172,"timestamp":110545966041,"id":275,"parentId":266,"tags":{"name":"static/chunks/app/chatbot/page-ec86bf53c052af5b.js","cache":"HIT"},"startTime":1782215216748,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":2126,"timestamp":110545967088,"id":277,"parentId":266,"tags":{"name":"static/chunks/app/market-brain/page-a3c75d13701833bc.js","cache":"HIT"},"startTime":1782215216749,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":2114,"timestamp":110545967101,"id":278,"parentId":266,"tags":{"name":"static/chunks/app/narratives/page-f858506c5d5d372d.js","cache":"HIT"},"startTime":1782215216749,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":2106,"timestamp":110545967110,"id":279,"parentId":266,"tags":{"name":"static/chunks/app/page-d0db9a93fb4af9a5.js","cache":"HIT"},"startTime":1782215216749,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":2101,"timestamp":110545967115,"id":280,"parentId":266,"tags":{"name":"static/chunks/app/etf-radar/page-cb504f6343d399db.js","cache":"HIT"},"startTime":1782215216749,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1968,"timestamp":110545967248,"id":282,"parentId":266,"tags":{"name":"static/chunks/app/signal-lab/page-a2f85a5c0d0847cd.js","cache":"HIT"},"startTime":1782215216749,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1642,"timestamp":110545967575,"id":284,"parentId":266,"tags":{"name":"static/chunks/app/stock-radar/page-6e7f483858d9a39e.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1638,"timestamp":110545967580,"id":285,"parentId":266,"tags":{"name":"static/chunks/app/themes/page-9af78316fbb208f8.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1635,"timestamp":110545967583,"id":286,"parentId":266,"tags":{"name":"static/chunks/app/dashboard/page-d9577bde4b3301c9.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1118,"timestamp":110545968101,"id":288,"parentId":266,"tags":{"name":"static/chunks/webpack-aeb5c49f88887156.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1115,"timestamp":110545968104,"id":289,"parentId":266,"tags":{"name":"static/chunks/54.bb129ae37ee83ec1.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1106,"timestamp":110545968114,"id":290,"parentId":266,"tags":{"name":"static/chunks/framework-6e06c675866dc992.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1102,"timestamp":110545968118,"id":291,"parentId":266,"tags":{"name":"static/chunks/2200cc46-bb2e82a2a422da49.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1095,"timestamp":110545968126,"id":292,"parentId":266,"tags":{"name":"static/chunks/51e374df.fc87f8200e023ad5.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1093,"timestamp":110545968129,"id":293,"parentId":266,"tags":{"name":"static/chunks/183-66f1efcf12b29a02.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1089,"timestamp":110545968134,"id":294,"parentId":266,"tags":{"name":"static/chunks/945-dfa5efbc7dfb2860.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":1086,"timestamp":110545968137,"id":295,"parentId":266,"tags":{"name":"static/chunks/651-5689242ae9b0ffc6.js","cache":"HIT"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":616,"timestamp":110545968607,"id":297,"parentId":266,"tags":{"name":"static/chunks/96-ce8c57cd15d50941.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":199,"timestamp":110545969027,"id":299,"parentId":266,"tags":{"name":"static/chunks/75-8c48549bc3f12b00.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":192,"timestamp":110545969034,"id":300,"parentId":266,"tags":{"name":"static/chunks/433-89ff72e62f774508.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":185,"timestamp":110545969042,"id":301,"parentId":266,"tags":{"name":"static/chunks/app/backtest/page-60b494c3f5caeab7.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":183,"timestamp":110545969044,"id":302,"parentId":266,"tags":{"name":"static/chunks/app/methodology/page-f0ef96f8ef7d3450.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":181,"timestamp":110545969047,"id":303,"parentId":266,"tags":{"name":"static/chunks/app/ipo-radar/page-37bfbd97573d6050.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":179,"timestamp":110545969049,"id":304,"parentId":266,"tags":{"name":"server/middleware-react-loadable-manifest.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":86,"timestamp":110545969143,"id":306,"parentId":266,"tags":{"name":"server/middleware-build-manifest.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":32,"timestamp":110545969197,"id":308,"parentId":266,"tags":{"name":"server/next-font-manifest.js","cache":"HIT"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":7567,"timestamp":110545964500,"id":272,"parentId":266,"tags":{"name":"static/chunks/app/layout-c302ea2b37a37766.js","cache":"MISS"},"startTime":1782215216746,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":11214,"timestamp":110545967119,"id":281,"parentId":266,"tags":{"name":"static/chunks/app/performance/page-72d89cf8fa4bd0b1.js","cache":"MISS"},"startTime":1782215216749,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":11772,"timestamp":110545967254,"id":283,"parentId":266,"tags":{"name":"static/chunks/app/sniper/page-66e545665c88da6b.js","cache":"MISS"},"startTime":1782215216749,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":15124,"timestamp":110545968626,"id":298,"parentId":266,"tags":{"name":"static/chunks/145-04bdfe555d73caf0.js","cache":"MISS"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":14731,"timestamp":110545969057,"id":305,"parentId":266,"tags":{"name":"static/wZUVLKXl_CiOxUlt_FdXC/_ssgManifest.js","cache":"MISS"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":16217,"timestamp":110545967586,"id":287,"parentId":266,"tags":{"name":"static/chunks/app/assets/[ticker]/page-3687f8c7fa1ef7c8.js","cache":"MISS"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":14671,"timestamp":110545969146,"id":307,"parentId":266,"tags":{"name":"static/wZUVLKXl_CiOxUlt_FdXC/_buildManifest.js","cache":"MISS"},"startTime":1782215216751,"traceId":"e5d46548b69a0d76"}] +[{"name":"minify-js","duration":16137,"timestamp":110545968140,"id":296,"parentId":266,"tags":{"name":"static/chunks/908-fe3c8e03f00ace4e.js","cache":"MISS"},"startTime":1782215216750,"traceId":"e5d46548b69a0d76"},{"name":"minify-js","duration":34899,"timestamp":110545966046,"id":276,"parentId":266,"tags":{"name":"static/chunks/app/learning/page-fb9d9a3de58b413d.js","cache":"MISS"},"startTime":1782215216748,"traceId":"e5d46548b69a0d76"},{"name":"terser-webpack-plugin-optimize","duration":44027,"timestamp":110545956923,"id":266,"parentId":222,"tags":{"compilationName":"client","swcMinify":true},"startTime":1782215216739,"traceId":"e5d46548b69a0d76"},{"name":"minify-css","duration":85,"timestamp":110546001185,"id":310,"parentId":309,"tags":{"file":"static/css/0ce5f678dc27cc01.css","cache":"HIT"},"startTime":1782215216783,"traceId":"e5d46548b69a0d76"},{"name":"css-minimizer-plugin","duration":210,"timestamp":110546001062,"id":309,"parentId":222,"tags":{},"startTime":1782215216783,"traceId":"e5d46548b69a0d76"},{"name":"seal","duration":166847,"timestamp":110545852750,"id":250,"parentId":222,"tags":{},"startTime":1782215216635,"traceId":"e5d46548b69a0d76"},{"name":"webpack-compilation","duration":421120,"timestamp":110545598645,"id":222,"parentId":219,"tags":{"name":"client"},"startTime":1782215216381,"traceId":"e5d46548b69a0d76"},{"name":"emit","duration":7075,"timestamp":110546019972,"id":311,"parentId":219,"tags":{},"startTime":1782215216802,"traceId":"e5d46548b69a0d76"},{"name":"webpack-close","duration":54421,"timestamp":110546027233,"id":312,"parentId":219,"tags":{"name":"client"},"startTime":1782215216809,"traceId":"e5d46548b69a0d76"},{"name":"webpack-generate-error-stats","duration":1034,"timestamp":110546081686,"id":313,"parentId":312,"tags":{},"startTime":1782215216864,"traceId":"e5d46548b69a0d76"},{"name":"run-webpack-compiler","duration":679187,"timestamp":110545403620,"id":219,"parentId":218,"tags":{},"startTime":1782215216186,"traceId":"e5d46548b69a0d76"},{"name":"format-webpack-messages","duration":36,"timestamp":110546082809,"id":314,"parentId":218,"tags":{},"startTime":1782215216865,"traceId":"e5d46548b69a0d76"},{"name":"worker-main-client","duration":679432,"timestamp":110545403458,"id":218,"parentId":1,"tags":{},"startTime":1782215216185,"traceId":"e5d46548b69a0d76"},{"name":"verify-and-lint","duration":41163,"timestamp":110546099357,"id":318,"parentId":1,"tags":{},"startTime":1782215216881,"traceId":"e5d46548b69a0d76"},{"name":"verify-typescript-setup","duration":2165060,"timestamp":110546098386,"id":317,"parentId":1,"tags":{},"startTime":1782215216880,"traceId":"e5d46548b69a0d76"},{"name":"check-static-error-page","duration":1744,"timestamp":110548292344,"id":321,"parentId":320,"tags":{},"startTime":1782215219074,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":2623,"timestamp":110548329728,"id":322,"parentId":320,"tags":{"page":"/_app"},"startTime":1782215219112,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":1812,"timestamp":110548330563,"id":324,"parentId":320,"tags":{"page":"/_document"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":3234,"timestamp":110548330462,"id":323,"parentId":320,"tags":{"page":"/_error"},"startTime":1782215219112,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":140022,"timestamp":110548340134,"id":351,"parentId":336,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":148530,"timestamp":110548331665,"id":336,"parentId":320,"tags":{"page":"/methodology"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":141745,"timestamp":110548340288,"id":354,"parentId":334,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":150462,"timestamp":110548331588,"id":334,"parentId":320,"tags":{"page":"/learning"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":143308,"timestamp":110548340322,"id":355,"parentId":339,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":151875,"timestamp":110548331782,"id":339,"parentId":320,"tags":{"page":"/performance"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":143901,"timestamp":110548339828,"id":346,"parentId":327,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":152849,"timestamp":110548330892,"id":327,"parentId":320,"tags":{"page":"/backtest"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":145671,"timestamp":110548340344,"id":356,"parentId":340,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":154213,"timestamp":110548331822,"id":340,"parentId":320,"tags":{"page":"/signal-lab"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":146243,"timestamp":110548340368,"id":357,"parentId":342,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":154698,"timestamp":110548331927,"id":342,"parentId":320,"tags":{"page":"/stock-radar"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":148318,"timestamp":110548340388,"id":358,"parentId":341,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":156842,"timestamp":110548331888,"id":341,"parentId":320,"tags":{"page":"/sniper"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":149325,"timestamp":110548339728,"id":345,"parentId":328,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":158106,"timestamp":110548330965,"id":328,"parentId":320,"tags":{"page":"/chart-analyst"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":148752,"timestamp":110548340408,"id":359,"parentId":343,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":157196,"timestamp":110548331978,"id":343,"parentId":320,"tags":{"page":"/themes"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":151461,"timestamp":110548339870,"id":347,"parentId":329,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":160298,"timestamp":110548331053,"id":329,"parentId":320,"tags":{"page":"/chat"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":147050,"timestamp":110548344325,"id":362,"parentId":331,"tags":{},"startTime":1782215219126,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":159942,"timestamp":110548331442,"id":331,"parentId":320,"tags":{"page":"/dashboard"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":150113,"timestamp":110548342080,"id":361,"parentId":332,"tags":{},"startTime":1782215219124,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":160725,"timestamp":110548331498,"id":332,"parentId":320,"tags":{"page":"/etf-radar"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":151358,"timestamp":110548340946,"id":360,"parentId":326,"tags":{},"startTime":1782215219123,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":161627,"timestamp":110548330765,"id":326,"parentId":320,"tags":{"page":"/assets/[ticker]"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":160426,"timestamp":110548334517,"id":344,"parentId":325,"tags":{},"startTime":1782215219116,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":164386,"timestamp":110548330592,"id":325,"parentId":320,"tags":{"page":"/_not-found"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":155095,"timestamp":110548339925,"id":348,"parentId":330,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":163672,"timestamp":110548331360,"id":330,"parentId":320,"tags":{"page":"/chatbot"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":158397,"timestamp":110548340063,"id":349,"parentId":333,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":166942,"timestamp":110548331543,"id":333,"parentId":320,"tags":{"page":"/ipo-radar"},"startTime":1782215219113,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":166205,"timestamp":110548340105,"id":350,"parentId":335,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":174742,"timestamp":110548331626,"id":335,"parentId":320,"tags":{"page":"/market-brain"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":166884,"timestamp":110548340164,"id":352,"parentId":338,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":175313,"timestamp":110548331744,"id":338,"parentId":320,"tags":{"page":"/"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"is-page-static","duration":167063,"timestamp":110548340188,"id":353,"parentId":337,"tags":{},"startTime":1782215219122,"traceId":"e5d46548b69a0d76"},{"name":"check-page","duration":175550,"timestamp":110548331705,"id":337,"parentId":320,"tags":{"page":"/narratives"},"startTime":1782215219114,"traceId":"e5d46548b69a0d76"},{"name":"static-check","duration":215202,"timestamp":110548292068,"id":320,"parentId":1,"tags":{},"startTime":1782215219074,"traceId":"e5d46548b69a0d76"},{"name":"load-dotenv","duration":9,"timestamp":110548525130,"id":367,"parentId":366,"tags":{},"startTime":1782215219307,"traceId":"e5d46548b69a0d76"},{"name":"run-export-path-map","duration":219,"timestamp":110548685821,"id":368,"parentId":366,"tags":{},"startTime":1782215219468,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":139900,"timestamp":110548686574,"id":375,"parentId":366,"tags":{"path":"/signal-lab"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":144529,"timestamp":110548686640,"id":379,"parentId":366,"tags":{"path":"/themes"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":144804,"timestamp":110548686485,"id":371,"parentId":366,"tags":{"path":"/methodology"},"startTime":1782215219468,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":144744,"timestamp":110548686623,"id":378,"parentId":366,"tags":{"path":"/chart-analyst"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":144875,"timestamp":110548686549,"id":374,"parentId":366,"tags":{"path":"/backtest"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":144883,"timestamp":110548686591,"id":376,"parentId":366,"tags":{"path":"/stock-radar"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":144916,"timestamp":110548686607,"id":377,"parentId":366,"tags":{"path":"/sniper"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":145068,"timestamp":110548686506,"id":372,"parentId":366,"tags":{"path":"/learning"},"startTime":1782215219468,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":144969,"timestamp":110548686655,"id":380,"parentId":366,"tags":{"path":"/chat"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":145147,"timestamp":110548686527,"id":373,"parentId":366,"tags":{"path":"/performance"},"startTime":1782215219468,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":145369,"timestamp":110548686355,"id":369,"parentId":366,"tags":{"path":"/404"},"startTime":1782215219468,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":167629,"timestamp":110548686457,"id":370,"parentId":366,"tags":{"path":"/500"},"startTime":1782215219468,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":168927,"timestamp":110548686669,"id":381,"parentId":366,"tags":{"path":"/dashboard"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":169036,"timestamp":110548686676,"id":382,"parentId":366,"tags":{"path":"/etf-radar"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":169030,"timestamp":110548686712,"id":388,"parentId":366,"tags":{"path":"/assets/XLK"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":169065,"timestamp":110548686701,"id":386,"parentId":366,"tags":{"path":"/assets/DIA"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":169096,"timestamp":110548686689,"id":384,"parentId":366,"tags":{"path":"/assets/QQQ"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":169098,"timestamp":110548686706,"id":387,"parentId":366,"tags":{"path":"/assets/SMH"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":169106,"timestamp":110548686717,"id":389,"parentId":366,"tags":{"path":"/assets/XLF"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":169148,"timestamp":110548686695,"id":385,"parentId":366,"tags":{"path":"/assets/IWM"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":174802,"timestamp":110548686682,"id":383,"parentId":366,"tags":{"path":"/assets/SPY"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":174852,"timestamp":110548686723,"id":390,"parentId":366,"tags":{"path":"/assets/XLE"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":183645,"timestamp":110548686789,"id":397,"parentId":366,"tags":{"path":"/assets/GLD"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":183710,"timestamp":110548686767,"id":393,"parentId":366,"tags":{"path":"/assets/BOTZ"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":183742,"timestamp":110548686760,"id":392,"parentId":366,"tags":{"path":"/assets/XAR"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":186051,"timestamp":110548686778,"id":395,"parentId":366,"tags":{"path":"/assets/ICLN"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":186096,"timestamp":110548686773,"id":394,"parentId":366,"tags":{"path":"/assets/HACK"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":186164,"timestamp":110548686795,"id":398,"parentId":366,"tags":{"path":"/assets/AAPL"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":186197,"timestamp":110548686784,"id":396,"parentId":366,"tags":{"path":"/assets/TLT"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":187474,"timestamp":110548686751,"id":391,"parentId":366,"tags":{"path":"/assets/XLV"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":190704,"timestamp":110548686806,"id":400,"parentId":366,"tags":{"path":"/assets/NVDA"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":190759,"timestamp":110548686800,"id":399,"parentId":366,"tags":{"path":"/assets/MSFT"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":198725,"timestamp":110548686817,"id":402,"parentId":366,"tags":{"path":"/assets/AVGO"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":198771,"timestamp":110548686811,"id":401,"parentId":366,"tags":{"path":"/assets/AMD"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":200394,"timestamp":110548686839,"id":406,"parentId":366,"tags":{"path":"/assets/TSLA"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":200446,"timestamp":110548686822,"id":403,"parentId":366,"tags":{"path":"/assets/AMZN"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":200449,"timestamp":110548686844,"id":407,"parentId":366,"tags":{"path":"/assets/JPM"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":200488,"timestamp":110548686828,"id":404,"parentId":366,"tags":{"path":"/assets/GOOGL"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":200485,"timestamp":110548686850,"id":408,"parentId":366,"tags":{"path":"/assets/XOM"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":201678,"timestamp":110548686833,"id":405,"parentId":366,"tags":{"path":"/assets/META"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":205398,"timestamp":110548686861,"id":410,"parentId":366,"tags":{"path":"/assets/NVO"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"}] +[{"name":"export-page","duration":208958,"timestamp":110548686855,"id":409,"parentId":366,"tags":{"path":"/assets/LLY"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":215003,"timestamp":110548686899,"id":417,"parentId":366,"tags":{"path":"/assets/ENR_DE"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":217004,"timestamp":110548686866,"id":411,"parentId":366,"tags":{"path":"/assets/ASML"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":217038,"timestamp":110548686871,"id":412,"parentId":366,"tags":{"path":"/assets/SAP"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":217042,"timestamp":110548686883,"id":414,"parentId":366,"tags":{"path":"/assets/AIR_PA"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":217061,"timestamp":110548686877,"id":413,"parentId":366,"tags":{"path":"/assets/SIE_DE"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":217057,"timestamp":110548686894,"id":416,"parentId":366,"tags":{"path":"/assets/MC_PA"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":217051,"timestamp":110548686910,"id":418,"parentId":366,"tags":{"path":"/_not-found"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":217083,"timestamp":110548686889,"id":415,"parentId":366,"tags":{"path":"/assets/RHM_DE"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":221967,"timestamp":110548686917,"id":419,"parentId":366,"tags":{"path":"/chatbot"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":221983,"timestamp":110548686923,"id":420,"parentId":366,"tags":{"path":"/ipo-radar"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":228865,"timestamp":110548686943,"id":421,"parentId":366,"tags":{"path":"/market-brain"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":228878,"timestamp":110548686956,"id":423,"parentId":366,"tags":{"path":"/narratives"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":229898,"timestamp":110548686950,"id":422,"parentId":366,"tags":{"path":"/"},"startTime":1782215219469,"traceId":"e5d46548b69a0d76"},{"name":"next-export","duration":415971,"timestamp":110548524782,"id":366,"parentId":1,"tags":{},"startTime":1782215219307,"traceId":"e5d46548b69a0d76"},{"name":"move-exported-app-not-found-","duration":11185,"timestamp":110548941460,"id":424,"parentId":365,"tags":{},"startTime":1782215219723,"traceId":"e5d46548b69a0d76"},{"name":"move-exported-page","duration":16533,"timestamp":110548952727,"id":425,"parentId":365,"tags":{},"startTime":1782215219735,"traceId":"e5d46548b69a0d76"},{"name":"static-generation","duration":597704,"timestamp":110548521699,"id":365,"parentId":1,"tags":{},"startTime":1782215219304,"traceId":"e5d46548b69a0d76"},{"name":"node-file-trace-build","duration":2559858,"timestamp":110548508287,"id":364,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1782215219290,"traceId":"e5d46548b69a0d76"},{"name":"apply-include-excludes","duration":374,"timestamp":110551068156,"id":426,"parentId":1,"tags":{},"startTime":1782215221850,"traceId":"e5d46548b69a0d76"},{"name":"load-dotenv","duration":6,"timestamp":110551074846,"id":428,"parentId":427,"tags":{},"startTime":1782215221857,"traceId":"e5d46548b69a0d76"},{"name":"copy-next-static-directory","duration":7694,"timestamp":110551120748,"id":429,"parentId":427,"tags":{},"startTime":1782215221903,"traceId":"e5d46548b69a0d76"},{"name":"is-next-image-imported","duration":341,"timestamp":110551128481,"id":430,"parentId":427,"tags":{},"startTime":1782215221910,"traceId":"e5d46548b69a0d76"},{"name":"run-export-path-map","duration":30,"timestamp":110551128976,"id":431,"parentId":427,"tags":{},"startTime":1782215221911,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":83091,"timestamp":110551129160,"id":432,"parentId":427,"tags":{"path":"/404"},"startTime":1782215221911,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":87175,"timestamp":110551129348,"id":434,"parentId":427,"tags":{"path":"/404.html"},"startTime":1782215221911,"traceId":"e5d46548b69a0d76"},{"name":"export-page","duration":120117,"timestamp":110551129310,"id":433,"parentId":427,"tags":{"path":"/_not-found"},"startTime":1782215221911,"traceId":"e5d46548b69a0d76"},{"name":"next-export","duration":551771,"timestamp":110551074842,"id":427,"parentId":1,"tags":{},"startTime":1782215221857,"traceId":"e5d46548b69a0d76"},{"name":"print-tree-view","duration":21577,"timestamp":110551627043,"id":435,"parentId":1,"tags":{},"startTime":1782215222409,"traceId":"e5d46548b69a0d76"},{"name":"telemetry-flush","duration":27,"timestamp":110551648643,"id":436,"parentId":1,"tags":{},"startTime":1782215222431,"traceId":"e5d46548b69a0d76"},{"name":"next-build","duration":8040007,"timestamp":110543608666,"id":1,"tags":{"buildMode":"default","isTurboBuild":"false","version":"14.2.35","isTurbopack":false,"has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782215214391,"traceId":"e5d46548b69a0d76"}] diff --git a/frontend/.next/types/app/assets/[ticker]/page.ts b/frontend/.next/types/app/assets/[ticker]/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..8cf883a6dc75043ce0b03302b3478e4f90e913c8 --- /dev/null +++ b/frontend/.next/types/app/assets/[ticker]/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/assets/[ticker]/page.tsx +import * as entry from '../../../../../app/assets/[ticker]/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../../app/assets/[ticker]/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/backtest/page.ts b/frontend/.next/types/app/backtest/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..ba743bf470f887234ffa449a5f9ea5a29ad47bcd --- /dev/null +++ b/frontend/.next/types/app/backtest/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/backtest/page.tsx +import * as entry from '../../../../app/backtest/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/backtest/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/chart-analyst/page.ts b/frontend/.next/types/app/chart-analyst/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..6d5b5f188c2c5988aec3c5665d189ad846641be6 --- /dev/null +++ b/frontend/.next/types/app/chart-analyst/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chart-analyst/page.tsx +import * as entry from '../../../../app/chart-analyst/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/chart-analyst/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/chat/page.ts b/frontend/.next/types/app/chat/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..daf2e68637d1dd775035ab33ba50419577d545c9 --- /dev/null +++ b/frontend/.next/types/app/chat/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chat/page.tsx +import * as entry from '../../../../app/chat/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/chat/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/chatbot/page.ts b/frontend/.next/types/app/chatbot/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..f7dddef6bcbf2f9bf118e50a85e895677b4e4bda --- /dev/null +++ b/frontend/.next/types/app/chatbot/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/chatbot/page.tsx +import * as entry from '../../../../app/chatbot/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/chatbot/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/etf-radar/page.ts b/frontend/.next/types/app/etf-radar/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..1f50ba93629097343782065750d6a6b9875784b0 --- /dev/null +++ b/frontend/.next/types/app/etf-radar/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/etf-radar/page.tsx +import * as entry from '../../../../app/etf-radar/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/etf-radar/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/ipo-radar/page.ts b/frontend/.next/types/app/ipo-radar/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..b2c7ebd3f4e41c08d2c7542d41f4b03367817914 --- /dev/null +++ b/frontend/.next/types/app/ipo-radar/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/ipo-radar/page.tsx +import * as entry from '../../../../app/ipo-radar/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/ipo-radar/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/learning/page.ts b/frontend/.next/types/app/learning/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..144e9716df615caf0ce38c45e887ec8bc5d28926 --- /dev/null +++ b/frontend/.next/types/app/learning/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/learning/page.tsx +import * as entry from '../../../../app/learning/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/learning/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/market-brain/page.ts b/frontend/.next/types/app/market-brain/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..5acf0010d7d9bd9775a6074685dcd85eb963c4f9 --- /dev/null +++ b/frontend/.next/types/app/market-brain/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/market-brain/page.tsx +import * as entry from '../../../../app/market-brain/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/market-brain/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/methodology/page.ts b/frontend/.next/types/app/methodology/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..79ffdd753c387688563d2b5799008bad0aebcebc --- /dev/null +++ b/frontend/.next/types/app/methodology/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/methodology/page.tsx +import * as entry from '../../../../app/methodology/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/methodology/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/narratives/page.ts b/frontend/.next/types/app/narratives/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..8a35fc7a8e4b48dc042869f9b616ffd77470c2dd --- /dev/null +++ b/frontend/.next/types/app/narratives/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/narratives/page.tsx +import * as entry from '../../../../app/narratives/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/narratives/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/page.ts b/frontend/.next/types/app/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..7e200ec147aa8e39cd1d72f9c8aa78014c60fcc5 --- /dev/null +++ b/frontend/.next/types/app/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/page.tsx +import * as entry from '../../../app/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../app/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/performance/page.ts b/frontend/.next/types/app/performance/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..1cf15afaf07947dfb05e8040c21b130bed0b4cc0 --- /dev/null +++ b/frontend/.next/types/app/performance/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/performance/page.tsx +import * as entry from '../../../../app/performance/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/performance/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/signal-lab/page.ts b/frontend/.next/types/app/signal-lab/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..1fb6966140258cacf429d436c188da6e00add021 --- /dev/null +++ b/frontend/.next/types/app/signal-lab/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/signal-lab/page.tsx +import * as entry from '../../../../app/signal-lab/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/signal-lab/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/sniper/page.ts b/frontend/.next/types/app/sniper/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..2e64e0749b406a7b59df3348f954eb3d556ac5ae --- /dev/null +++ b/frontend/.next/types/app/sniper/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/sniper/page.tsx +import * as entry from '../../../../app/sniper/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/sniper/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/stock-radar/page.ts b/frontend/.next/types/app/stock-radar/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..10b7f70f3b1e5a1dd8f368a55368d37124c2bc48 --- /dev/null +++ b/frontend/.next/types/app/stock-radar/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/stock-radar/page.tsx +import * as entry from '../../../../app/stock-radar/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/stock-radar/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/app/themes/page.ts b/frontend/.next/types/app/themes/page.ts new file mode 100644 index 0000000000000000000000000000000000000000..e98ad7d070750a548a8450a2d9197aa7d6617c3b --- /dev/null +++ b/frontend/.next/types/app/themes/page.ts @@ -0,0 +1,79 @@ +// File: /Users/renatovinai/Documents/New project/hf-blum-mvp/frontend/app/themes/page.tsx +import * as entry from '../../../../app/themes/page.js' +import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js' + +type TEntry = typeof import('../../../../app/themes/page.js') + +// Check that the entry is a valid entry +checkFields | false + dynamic?: 'auto' | 'force-dynamic' | 'error' | 'force-static' + dynamicParams?: boolean + fetchCache?: 'auto' | 'force-no-store' | 'only-no-store' | 'default-no-store' | 'default-cache' | 'only-cache' | 'force-cache' + preferredRegion?: 'auto' | 'global' | 'home' | string | string[] + runtime?: 'nodejs' | 'experimental-edge' | 'edge' + maxDuration?: number + + metadata?: any + generateMetadata?: Function + viewport?: any + generateViewport?: Function + +}, TEntry, ''>>() + +// Check the prop type of the entry function +checkFields, 'default'>>() + +// Check the arguments and return type of the generateMetadata function +if ('generateMetadata' in entry) { + checkFields>, 'generateMetadata'>>() + checkFields>, 'generateMetadata'>>() +} + +// Check the arguments and return type of the generateViewport function +if ('generateViewport' in entry) { + checkFields>, 'generateViewport'>>() + checkFields>, 'generateViewport'>>() +} + +// Check the arguments and return type of the generateStaticParams function +if ('generateStaticParams' in entry) { + checkFields>, 'generateStaticParams'>>() + checkFields }, { __tag__: 'generateStaticParams', __return_type__: ReturnType> }>>() +} + +type PageParams = any +export interface PageProps { + params?: any + searchParams?: any +} +export interface LayoutProps { + children?: React.ReactNode + + params?: any +} + +// ============= +// Utility types +type RevalidateRange = T extends { revalidate: any } ? NonNegative : never + +// If T is unknown or any, it will be an empty {} type. Otherwise, it will be the same as Omit. +type OmitWithTag = Omit +type Diff = 0 extends (1 & T) ? {} : OmitWithTag + +type FirstArg = T extends (...args: [infer T, any]) => any ? unknown extends T ? any : T : never +type SecondArg = T extends (...args: [any, infer T]) => any ? unknown extends T ? any : T : never +type MaybeField = T extends { [k in K]: infer G } ? G extends Function ? G : never : never + + + +function checkFields<_ extends { [k in keyof any]: never }>() {} + +// https://github.com/sindresorhus/type-fest +type Numeric = number | bigint +type Zero = 0 | 0n +type Negative = T extends Zero ? never : `${T}` extends `-${string}` ? T : never +type NonNegative = T extends Zero ? T : Negative extends never ? T : '__invalid_negative_number__' diff --git a/frontend/.next/types/package.json b/frontend/.next/types/package.json new file mode 100644 index 0000000000000000000000000000000000000000..1632c2c4df6894a83b70fa949fb32a9d4881adf9 --- /dev/null +++ b/frontend/.next/types/package.json @@ -0,0 +1 @@ +{"type": "module"} \ No newline at end of file