From d93b4f787ae3b1ca927d06dff44f677940508465 Mon Sep 17 00:00:00 2001 From: "mula.liu" Date: Tue, 21 Jul 2026 20:09:51 +0800 Subject: [PATCH] 1.1.0 --- .DS_Store | Bin 14340 -> 6148 bytes .claude/launch.json | 12 + .claude/settings.local.json | 7 +- AGENTS.md | 1 + backend/app/api/celestial_body.py | 3 +- backend/app/api/celestial_orbit.py | 2 +- backend/app/api/celestial_position.py | 8 +- backend/app/api/celestial_resource.py | 3 +- backend/app/api/celestial_static.py | 2 +- backend/app/api/nasa_download.py | 3 +- backend/app/api/rocket.py | 222 + backend/app/main.py | 4 +- backend/app/models/db/__init__.py | 2 + backend/app/models/db/rocket.py | 38 + backend/app/services/cache_preheat.py | 3 +- .../app/services/celestial_body_service.py | 118 + backend/app/services/db_service.py | 712 +-- backend/app/services/nasa_cache_service.py | 95 + backend/app/services/nasa_worker.py | 3 +- backend/app/services/position_service.py | 183 + backend/app/services/resource_service.py | 99 + backend/app/services/static_data_service.py | 130 + backend/scripts/add_rocket_simulator.sql | 94 + backend/scripts/fetch_and_cache.py | 8 +- backend/scripts/init_db.sql | 4 +- backend/scripts/prefetch_historical_data.py | 3 +- backend/scripts/seed_celestial_bodies.py | 3 +- backend/scripts/update_static_data.py | 2 +- backend/upload/texture/Europa_2k.jpeg | Bin 0 -> 252348 bytes backend/upload/texture/charon_2k.jpeg | Bin 0 -> 205393 bytes backend/upload/texture/pluto_rgb_8k.jpeg | Bin 0 -> 145172 bytes backend/upload/texture/sedna_2k.jpeg | Bin 0 -> 309588 bytes backend/upload/texture/vesta_8K.jpeg | Bin 0 -> 226426 bytes data/.DS_Store | Bin 6148 -> 0 bytes data/backups/.DS_Store | Bin 6148 -> 0 bytes docs/README.md | 15 + .../architecture/CACHE_ARCHITECTURE.md | 0 .../architecture/CAMERA_FOCUS_ALGORITHMS.md | 0 .../architecture}/DATABASE_SCHEMA.md | 0 .../architecture/NASA_DATA_STRATEGY.md | 0 .../architecture/ORBIT_GENERATION_SYSTEM.md | 0 .../ORBIT_INCLINATION_SOLUTION.md | 0 REDIS.md => docs/architecture/REDIS.md | 2 +- .../guides/BACKEND_CONFIG.md | 0 .../guides/CACHE_PREHEAT_GUIDE.md | 0 .../guides/DATABASE_UPGRADE.md | 0 .../guides/ORBIT_GENERATION_USER_GUIDE.md | 2 +- .../guides}/PERFORMANCE_OPTIMIZATION.md | 0 PROXY_SETUP.md => docs/guides/PROXY_SETUP.md | 0 PHASE4_PLAN.md => docs/plans/PHASE4_PLAN.md | 0 PHASE5_PLAN.md => docs/plans/PHASE5_PLAN.md | 2 +- RAODMAP.md => docs/plans/ROADMAP.md | 2 +- {backend => docs/reports}/ADMIN_PROGRESS.md | 0 .../reports}/ASSET_LOADING_ANALYSIS.md | 3 +- .../reports/BINARY_SYSTEMS_COMPLETION.md | 0 .../reports/CELESTIAL_BODY_FIX_SUMMARY.md | 0 .../reports}/DATABASE_SCHEMA_MISSING.md | 0 .../reports/DATA_STRATEGY_OPTIMIZATION.md | 0 .../reports}/FIX_PARAMETER_TYPES.md | 0 .../reports/LOGIN_REDESIGN.md | 0 .../reports/MULTI_STAR_SYSTEMS_ANALYSIS.md | 0 .../reports/PHASE_3_COMPLETION_SUMMARY.md | 0 .../reports}/REMOVE_ASTEROID_COLUMN.md | 0 docs/火箭发送模拟/.env.example | 9 + docs/火箭发送模拟/.gitignore | 8 + docs/火箭发送模拟/README.md | 20 + docs/火箭发送模拟/index.html | 13 + docs/火箭发送模拟/metadata.json | 6 + docs/火箭发送模拟/package-lock.json | 4696 +++++++++++++++++ docs/火箭发送模拟/package.json | 38 + docs/火箭发送模拟/simtest.js | 118 + docs/火箭发送模拟/src/App.tsx | 466 ++ .../src/components/DashboardChart.tsx | 103 + .../src/components/FlightVisualizer.tsx | 428 ++ docs/火箭发送模拟/src/components/Navball.tsx | 46 + .../src/components/TelemetryGauge.tsx | 68 + docs/火箭发送模拟/src/i18n.ts | 78 + docs/火箭发送模拟/src/index.css | 20 + docs/火箭发送模拟/src/lib/utils.ts | 6 + docs/火箭发送模拟/src/main.tsx | 10 + docs/火箭发送模拟/src/types.ts | 140 + docs/火箭发送模拟/src/useSimulation.ts | 332 ++ docs/火箭发送模拟/tsconfig.json | 26 + docs/火箭发送模拟/vite.config.ts | 22 + frontend/package.json | 1 + frontend/src/App.tsx | 3 +- frontend/src/Router.tsx | 52 +- frontend/src/components/AsteroidBelts.tsx | 7 - frontend/src/components/BodyDetailOverlay.tsx | 16 +- frontend/src/components/BodyViewer.tsx | 281 +- frontend/src/components/CameraController.tsx | 126 +- frontend/src/components/CelestialBody.tsx | 43 +- frontend/src/components/ControlPanel.tsx | 13 +- frontend/src/components/FocusInfo.tsx | 1 - frontend/src/components/Header.tsx | 5 +- frontend/src/components/Probe.tsx | 44 +- frontend/src/components/ProbeList.tsx | 20 +- frontend/src/components/Scene.tsx | 104 +- .../src/components/TimelineController.tsx | 17 +- frontend/src/components/UserAuth.tsx | 9 +- frontend/src/components/admin/DataTable.tsx | 26 +- .../rocket-simulator/RocketFlightScene.tsx | 409 ++ .../features/rocket-simulator/RocketModel.tsx | 320 ++ .../rocket-simulator/TelemetryChart.tsx | 25 + frontend/src/features/rocket-simulator/api.ts | 8 + .../rocket-simulator/rocket-simulator.css | 925 ++++ .../features/rocket-simulator/sceneMath.ts | 140 + .../src/features/rocket-simulator/types.ts | 94 + .../rocket-simulator/useRocketSimulation.ts | 230 + frontend/src/hooks/useOptionalTexture.ts | 54 + frontend/src/pages/RocketSimulator.tsx | 247 + frontend/src/pages/admin/AdminLayout.tsx | 7 +- frontend/src/pages/admin/CelestialBodies.tsx | 1058 +--- frontend/src/pages/admin/NASADownload.tsx | 686 +-- frontend/src/pages/admin/Rockets.tsx | 125 + frontend/src/pages/admin/ScheduledJobs.tsx | 555 +- frontend/src/pages/admin/StarSystems.tsx | 525 +- frontend/src/pages/admin/SystemSettings.tsx | 4 +- frontend/src/pages/admin/Tasks.tsx | 4 +- frontend/src/pages/admin/UserProfile.tsx | 4 +- .../celestial-bodies/CelestialBodyModal.tsx | 259 + .../celestial-bodies/ResourceManager.tsx | 153 + .../src/pages/admin/celestial-bodies/types.ts | 42 + .../admin/nasa-download/NasaDownloadView.tsx | 137 + .../src/pages/admin/nasa-download/types.ts | 31 + .../scheduled-jobs/ScheduledJobModal.tsx | 195 + .../src/pages/admin/scheduled-jobs/types.ts | 29 + .../star-systems/StarSystemDetailsModal.tsx | 45 + .../admin/star-systems/StarSystemModal.tsx | 89 + .../src/pages/admin/star-systems/types.ts | 44 + frontend/src/types/markdown-it.d.ts | 5 + frontend/src/utils/auth.ts | 14 +- frontend/vite.config.ts | 2 +- frontend/yarn.lock | 14 +- terminal/.DS_Store | Bin 6148 -> 0 bytes 135 files changed, 12227 insertions(+), 3463 deletions(-) create mode 100644 .claude/launch.json create mode 100644 AGENTS.md create mode 100644 backend/app/api/rocket.py create mode 100644 backend/app/models/db/rocket.py create mode 100644 backend/app/services/celestial_body_service.py create mode 100644 backend/app/services/nasa_cache_service.py create mode 100644 backend/app/services/position_service.py create mode 100644 backend/app/services/resource_service.py create mode 100644 backend/app/services/static_data_service.py create mode 100644 backend/scripts/add_rocket_simulator.sql create mode 100644 backend/upload/texture/Europa_2k.jpeg create mode 100644 backend/upload/texture/charon_2k.jpeg create mode 100644 backend/upload/texture/pluto_rgb_8k.jpeg create mode 100644 backend/upload/texture/sedna_2k.jpeg create mode 100644 backend/upload/texture/vesta_8K.jpeg delete mode 100644 data/.DS_Store delete mode 100644 data/backups/.DS_Store create mode 100644 docs/README.md rename CACHE_ARCHITECTURE.md => docs/architecture/CACHE_ARCHITECTURE.md (100%) rename CAMERA_FOCUS_ALGORITHMS.md => docs/architecture/CAMERA_FOCUS_ALGORITHMS.md (100%) rename {backend => docs/architecture}/DATABASE_SCHEMA.md (100%) rename NASA_DATA_STRATEGY.md => docs/architecture/NASA_DATA_STRATEGY.md (100%) rename ORBIT_GENERATION_SYSTEM.md => docs/architecture/ORBIT_GENERATION_SYSTEM.md (100%) rename ORBIT_INCLINATION_SOLUTION.md => docs/architecture/ORBIT_INCLINATION_SOLUTION.md (100%) rename REDIS.md => docs/architecture/REDIS.md (98%) rename backend/CONFIG.md => docs/guides/BACKEND_CONFIG.md (100%) rename CACHE_PREHEAT_GUIDE.md => docs/guides/CACHE_PREHEAT_GUIDE.md (100%) rename backend/scripts/UPGRADE_GUIDE_FINAL.md => docs/guides/DATABASE_UPGRADE.md (100%) rename ORBIT_GENERATION_USER_GUIDE.md => docs/guides/ORBIT_GENERATION_USER_GUIDE.md (98%) rename {frontend => docs/guides}/PERFORMANCE_OPTIMIZATION.md (100%) rename PROXY_SETUP.md => docs/guides/PROXY_SETUP.md (100%) rename PHASE4_PLAN.md => docs/plans/PHASE4_PLAN.md (100%) rename PHASE5_PLAN.md => docs/plans/PHASE5_PLAN.md (99%) rename RAODMAP.md => docs/plans/ROADMAP.md (99%) rename {backend => docs/reports}/ADMIN_PROGRESS.md (100%) rename {frontend => docs/reports}/ASSET_LOADING_ANALYSIS.md (99%) rename BINARY_SYSTEMS_COMPLETION.md => docs/reports/BINARY_SYSTEMS_COMPLETION.md (100%) rename CELESTIAL_BODY_FIX_SUMMARY.md => docs/reports/CELESTIAL_BODY_FIX_SUMMARY.md (100%) rename {backend => docs/reports}/DATABASE_SCHEMA_MISSING.md (100%) rename DATA_STRATEGY_OPTIMIZATION.md => docs/reports/DATA_STRATEGY_OPTIMIZATION.md (100%) rename {backend/scripts => docs/reports}/FIX_PARAMETER_TYPES.md (100%) rename LOGIN_REDESIGN.md => docs/reports/LOGIN_REDESIGN.md (100%) rename MULTI_STAR_SYSTEMS_ANALYSIS.md => docs/reports/MULTI_STAR_SYSTEMS_ANALYSIS.md (100%) rename PHASE_3_COMPLETION_SUMMARY.md => docs/reports/PHASE_3_COMPLETION_SUMMARY.md (100%) rename {frontend => docs/reports}/REMOVE_ASTEROID_COLUMN.md (100%) create mode 100644 docs/火箭发送模拟/.env.example create mode 100644 docs/火箭发送模拟/.gitignore create mode 100644 docs/火箭发送模拟/README.md create mode 100644 docs/火箭发送模拟/index.html create mode 100644 docs/火箭发送模拟/metadata.json create mode 100644 docs/火箭发送模拟/package-lock.json create mode 100644 docs/火箭发送模拟/package.json create mode 100644 docs/火箭发送模拟/simtest.js create mode 100644 docs/火箭发送模拟/src/App.tsx create mode 100644 docs/火箭发送模拟/src/components/DashboardChart.tsx create mode 100644 docs/火箭发送模拟/src/components/FlightVisualizer.tsx create mode 100644 docs/火箭发送模拟/src/components/Navball.tsx create mode 100644 docs/火箭发送模拟/src/components/TelemetryGauge.tsx create mode 100644 docs/火箭发送模拟/src/i18n.ts create mode 100644 docs/火箭发送模拟/src/index.css create mode 100644 docs/火箭发送模拟/src/lib/utils.ts create mode 100644 docs/火箭发送模拟/src/main.tsx create mode 100644 docs/火箭发送模拟/src/types.ts create mode 100644 docs/火箭发送模拟/src/useSimulation.ts create mode 100644 docs/火箭发送模拟/tsconfig.json create mode 100644 docs/火箭发送模拟/vite.config.ts create mode 100644 frontend/src/features/rocket-simulator/RocketFlightScene.tsx create mode 100644 frontend/src/features/rocket-simulator/RocketModel.tsx create mode 100644 frontend/src/features/rocket-simulator/TelemetryChart.tsx create mode 100644 frontend/src/features/rocket-simulator/api.ts create mode 100644 frontend/src/features/rocket-simulator/rocket-simulator.css create mode 100644 frontend/src/features/rocket-simulator/sceneMath.ts create mode 100644 frontend/src/features/rocket-simulator/types.ts create mode 100644 frontend/src/features/rocket-simulator/useRocketSimulation.ts create mode 100644 frontend/src/hooks/useOptionalTexture.ts create mode 100644 frontend/src/pages/RocketSimulator.tsx create mode 100644 frontend/src/pages/admin/Rockets.tsx create mode 100644 frontend/src/pages/admin/celestial-bodies/CelestialBodyModal.tsx create mode 100644 frontend/src/pages/admin/celestial-bodies/ResourceManager.tsx create mode 100644 frontend/src/pages/admin/celestial-bodies/types.ts create mode 100644 frontend/src/pages/admin/nasa-download/NasaDownloadView.tsx create mode 100644 frontend/src/pages/admin/nasa-download/types.ts create mode 100644 frontend/src/pages/admin/scheduled-jobs/ScheduledJobModal.tsx create mode 100644 frontend/src/pages/admin/scheduled-jobs/types.ts create mode 100644 frontend/src/pages/admin/star-systems/StarSystemDetailsModal.tsx create mode 100644 frontend/src/pages/admin/star-systems/StarSystemModal.tsx create mode 100644 frontend/src/pages/admin/star-systems/types.ts create mode 100644 frontend/src/types/markdown-it.d.ts delete mode 100644 terminal/.DS_Store diff --git a/.DS_Store b/.DS_Store index 77e2b458f395121cbe6255a5980c4384b8e88f22..569b66850ac53666b0bf5c5a333257e27085f367 100644 GIT binary patch delta 238 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 fCr1g->;6Z;Yk%~q str: + return value.strip().lower() + + +class RocketCreate(RocketBase): + pass + + +class RocketUpdate(BaseModel): + code: RocketCode | None = None + name: str | None = Field(default=None, min_length=1, max_length=100) + name_zh: str | None = Field(default=None, max_length=100) + manufacturer: str | None = Field(default=None, max_length=100) + country: str | None = Field(default=None, max_length=100) + launch_site_name: str | None = Field(default=None, min_length=1, max_length=120) + launch_latitude_deg: float | None = Field(default=None, ge=-90, le=90) + launch_longitude_deg: float | None = Field(default=None, ge=-180, le=180) + description: str | None = None + color: str | None = Field(default=None, pattern=r"^#[0-9a-fA-F]{6}$") + height_m: float | None = Field(default=None, gt=0) + diameter_m: float | None = Field(default=None, gt=0) + payload_mass_kg: float | None = Field(default=None, ge=0) + drag_coefficient: float | None = Field(default=None, gt=0, le=2) + reference_area_m2: float | None = Field(default=None, gt=0) + target_orbit_km: float | None = Field(default=None, gt=0) + target_velocity_mps: float | None = Field(default=None, gt=0) + separation_delay_seconds: float | None = Field(default=None, ge=0, le=30) + second_stage_ignition_delay_seconds: float | None = Field(default=None, ge=0, le=30) + stage_1: RocketStage | None = None + stage_2: RocketStage | None = None + is_active: bool | None = None + sort_order: int | None = None + + @field_validator("code", mode="before") + @classmethod + def normalize_code(cls, value: str | None) -> str | None: + return value.strip().lower() if value else value + + +class RocketResponse(RocketBase): + id: int + created_at: datetime | None = None + updated_at: datetime | None = None + + model_config = ConfigDict(from_attributes=True) + + +def rocket_values(data: RocketCreate | RocketUpdate, *, exclude_unset: bool = False) -> dict: + values = data.model_dump(exclude_unset=exclude_unset) + for key in ("stage_1", "stage_2"): + if key in values and values[key] is not None: + values[key] = dict(values[key]) + return values + + +async def ensure_unique_code(db: AsyncSession, code: str, exclude_id: int | None = None) -> None: + query = select(RocketConfig.id).where(RocketConfig.code == code) + if exclude_id is not None: + query = query.where(RocketConfig.id != exclude_id) + if (await db.execute(query)).scalar_one_or_none() is not None: + raise HTTPException(status_code=400, detail="Rocket code already exists") + + +@router.get("", response_model=list[RocketResponse]) +async def list_active_rockets(db: AsyncSession = Depends(get_db)): + result = await db.execute( + select(RocketConfig) + .where(RocketConfig.is_active.is_(True)) + .order_by(RocketConfig.sort_order, RocketConfig.id) + ) + return result.scalars().all() + + +@router.get("/admin") +async def list_rockets_for_admin( + skip: int = Query(0, ge=0), + limit: int = Query(20, ge=1, le=100), + search: str | None = None, + db: AsyncSession = Depends(get_db), + _: User = Depends(require_admin), +): + filters = [] + if search: + keyword = f"%{search.strip()}%" + filters.append(or_( + RocketConfig.code.ilike(keyword), + RocketConfig.name.ilike(keyword), + RocketConfig.name_zh.ilike(keyword), + )) + + total = await db.scalar(select(func.count(RocketConfig.id)).where(*filters)) + result = await db.execute( + select(RocketConfig) + .where(*filters) + .order_by(RocketConfig.sort_order, RocketConfig.id) + .offset(skip) + .limit(limit) + ) + return { + "rockets": [RocketResponse.model_validate(item) for item in result.scalars().all()], + "total": total or 0, + } + + +@router.get("/{code}", response_model=RocketResponse) +async def get_active_rocket(code: str, db: AsyncSession = Depends(get_db)): + result = await db.execute( + select(RocketConfig).where( + RocketConfig.code == code.lower(), + RocketConfig.is_active.is_(True), + ) + ) + rocket = result.scalar_one_or_none() + if not rocket: + raise HTTPException(status_code=404, detail="Rocket not found") + return rocket + + +@router.post("/admin", response_model=RocketResponse, status_code=status.HTTP_201_CREATED) +async def create_rocket( + data: RocketCreate, + db: AsyncSession = Depends(get_db), + _: User = Depends(require_admin), +): + await ensure_unique_code(db, data.code) + rocket = RocketConfig(**rocket_values(data)) + db.add(rocket) + await db.commit() + await db.refresh(rocket) + return rocket + + +@router.put("/admin/{rocket_id}", response_model=RocketResponse) +async def update_rocket( + rocket_id: int, + data: RocketUpdate, + db: AsyncSession = Depends(get_db), + _: User = Depends(require_admin), +): + rocket = await db.get(RocketConfig, rocket_id) + if not rocket: + raise HTTPException(status_code=404, detail="Rocket not found") + + values = rocket_values(data, exclude_unset=True) + if not values: + raise HTTPException(status_code=400, detail="No fields to update") + if "code" in values: + await ensure_unique_code(db, values["code"], rocket_id) + + for key, value in values.items(): + setattr(rocket, key, value) + await db.commit() + await db.refresh(rocket) + return rocket + + +@router.delete("/admin/{rocket_id}", status_code=status.HTTP_204_NO_CONTENT) +async def delete_rocket( + rocket_id: int, + db: AsyncSession = Depends(get_db), + _: User = Depends(require_admin), +): + rocket = await db.get(RocketConfig, rocket_id) + if not rocket: + raise HTTPException(status_code=404, detail="Rocket not found") + await db.delete(rocket) + await db.commit() diff --git a/backend/app/main.py b/backend/app/main.py index 1d80019..5525429 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -34,6 +34,7 @@ from app.api.star_system import router as star_system_router from app.api.scheduled_job import router as scheduled_job_router from app.api.social import router as social_router # Import social_router from app.api.event import router as event_router # Import event_router +from app.api.rocket import router as rocket_router from app.services.redis_cache import redis_cache from app.services.cache_preheat import preheat_all_caches from app.services.scheduler_service import scheduler_service @@ -187,6 +188,7 @@ app.include_router(task_router, prefix=settings.api_prefix) app.include_router(scheduled_job_router, prefix=settings.api_prefix) app.include_router(social_router, prefix=settings.api_prefix) app.include_router(event_router, prefix=settings.api_prefix) # Added event_router +app.include_router(rocket_router, prefix=settings.api_prefix) # Mount static files for uploaded resources upload_dir = Path(__file__).parent.parent / "upload" @@ -235,4 +237,4 @@ if __name__ == "__main__": port=8000, reload=True, log_level="info", - ) \ No newline at end of file + ) diff --git a/backend/app/models/db/__init__.py b/backend/app/models/db/__init__.py index b8c34d6..4a00d2c 100644 --- a/backend/app/models/db/__init__.py +++ b/backend/app/models/db/__init__.py @@ -15,6 +15,7 @@ from .system_settings import SystemSettings from .task import Task from .user_follow import UserFollow from .celestial_event import CelestialEvent +from .rocket import RocketConfig __all__ = [ "CelestialBody", @@ -33,4 +34,5 @@ __all__ = [ "Task", "UserFollow", "CelestialEvent", + "RocketConfig", ] diff --git a/backend/app/models/db/rocket.py b/backend/app/models/db/rocket.py new file mode 100644 index 0000000..c24d9f2 --- /dev/null +++ b/backend/app/models/db/rocket.py @@ -0,0 +1,38 @@ +"""Rocket configuration ORM model.""" +from sqlalchemy import Boolean, Column, Double, Integer, String, Text, TIMESTAMP, func +from sqlalchemy.dialects.postgresql import JSONB + +from app.database import Base + + +class RocketConfig(Base): + """Two-stage launch vehicle configuration used by the simulator.""" + + __tablename__ = "rocket_configs" + + id = Column(Integer, primary_key=True, autoincrement=True) + code = Column(String(50), unique=True, nullable=False, index=True) + name = Column(String(100), nullable=False) + name_zh = Column(String(100), nullable=True) + manufacturer = Column(String(100), nullable=True) + country = Column(String(100), nullable=True) + launch_site_name = Column(String(120), nullable=False, default="Equatorial Launch Site") + launch_latitude_deg = Column(Double, nullable=False, default=0) + launch_longitude_deg = Column(Double, nullable=False, default=0) + description = Column(Text, nullable=True) + color = Column(String(20), nullable=False, default="#f8fafc") + height_m = Column(Double, nullable=False) + diameter_m = Column(Double, nullable=False) + payload_mass_kg = Column(Double, nullable=False, default=0) + drag_coefficient = Column(Double, nullable=False, default=0.4) + reference_area_m2 = Column(Double, nullable=False) + target_orbit_km = Column(Double, nullable=False, default=200) + target_velocity_mps = Column(Double, nullable=False, default=7800) + separation_delay_seconds = Column(Double, nullable=False, default=2) + second_stage_ignition_delay_seconds = Column(Double, nullable=False, default=1) + stage_1 = Column(JSONB, nullable=False) + stage_2 = Column(JSONB, nullable=False) + is_active = Column(Boolean, nullable=False, default=True, index=True) + sort_order = Column(Integer, nullable=False, default=0) + created_at = Column(TIMESTAMP, server_default=func.now()) + updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now()) diff --git a/backend/app/services/cache_preheat.py b/backend/app/services/cache_preheat.py index 5709e87..f417804 100644 --- a/backend/app/services/cache_preheat.py +++ b/backend/app/services/cache_preheat.py @@ -8,7 +8,8 @@ from typing import List, Dict, Any from app.database import get_db from app.services.redis_cache import redis_cache, make_cache_key, get_ttl_seconds -from app.services.db_service import celestial_body_service, position_service +from app.services.celestial_body_service import celestial_body_service +from app.services.position_service import position_service logger = logging.getLogger(__name__) diff --git a/backend/app/services/celestial_body_service.py b/backend/app/services/celestial_body_service.py new file mode 100644 index 0000000..59464ff --- /dev/null +++ b/backend/app/services/celestial_body_service.py @@ -0,0 +1,118 @@ +"""Persistence operations for celestial bodies.""" + +from typing import Any, Dict, List, Optional + +from sqlalchemy import select +from sqlalchemy.ext.asyncio import AsyncSession + +from app.database import AsyncSessionLocal +from app.models.db import CelestialBody + + +class CelestialBodyService: + """Create, read, update, and delete celestial bodies.""" + + @staticmethod + async def get_all_bodies( + session: Optional[AsyncSession] = None, + body_type: Optional[str] = None, + system_id: Optional[int] = None, + ) -> List[CelestialBody]: + async def query(active_session: AsyncSession) -> List[CelestialBody]: + statement = select(CelestialBody) + if body_type: + statement = statement.where(CelestialBody.type == body_type) + if system_id is not None: + statement = statement.where(CelestialBody.system_id == system_id) + result = await active_session.execute(statement.order_by(CelestialBody.name)) + return list(result.scalars().all()) + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def get_body_by_id( + body_id: str, + session: Optional[AsyncSession] = None, + ) -> Optional[CelestialBody]: + async def query(active_session: AsyncSession) -> Optional[CelestialBody]: + result = await active_session.execute( + select(CelestialBody).where(CelestialBody.id == body_id) + ) + return result.scalar_one_or_none() + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def create_body( + body_data: Dict[str, Any], + session: Optional[AsyncSession] = None, + ) -> CelestialBody: + async def create(active_session: AsyncSession) -> CelestialBody: + body = CelestialBody(**body_data) + active_session.add(body) + await active_session.commit() + await active_session.refresh(body) + return body + + if session is not None: + return await create(session) + async with AsyncSessionLocal() as active_session: + return await create(active_session) + + @staticmethod + async def update_body( + body_id: str, + update_data: Dict[str, Any], + session: Optional[AsyncSession] = None, + ) -> Optional[CelestialBody]: + async def update(active_session: AsyncSession) -> Optional[CelestialBody]: + result = await active_session.execute( + select(CelestialBody).where(CelestialBody.id == body_id) + ) + body = result.scalar_one_or_none() + if body is None: + return None + + for key, value in update_data.items(): + if hasattr(body, key): + setattr(body, key, value) + + await active_session.commit() + await active_session.refresh(body) + return body + + if session is not None: + return await update(session) + async with AsyncSessionLocal() as active_session: + return await update(active_session) + + @staticmethod + async def delete_body( + body_id: str, + session: Optional[AsyncSession] = None, + ) -> bool: + async def delete(active_session: AsyncSession) -> bool: + result = await active_session.execute( + select(CelestialBody).where(CelestialBody.id == body_id) + ) + body = result.scalar_one_or_none() + if body is None: + return False + + await active_session.delete(body) + await active_session.commit() + return True + + if session is not None: + return await delete(session) + async with AsyncSessionLocal() as active_session: + return await delete(active_session) + + +celestial_body_service = CelestialBodyService() diff --git a/backend/app/services/db_service.py b/backend/app/services/db_service.py index 92bcc5d..1279dde 100644 --- a/backend/app/services/db_service.py +++ b/backend/app/services/db_service.py @@ -1,689 +1,27 @@ +"""Backward-compatible exports for domain-specific persistence services. + +New code should import from the individual service modules. This facade keeps +existing API routes, jobs, and maintenance scripts working during migration. """ -Database service layer for celestial data operations -""" -from typing import List, Optional, Dict, Any -from datetime import datetime -from sqlalchemy import select, and_, delete -from sqlalchemy.ext.asyncio import AsyncSession -import logging -from app.models.db import CelestialBody, Position, StaticData, NasaCache, Resource -from app.database import AsyncSessionLocal - -logger = logging.getLogger(__name__) - - -class CelestialBodyService: - """Service for celestial body operations""" - - @staticmethod - async def get_all_bodies( - session: Optional[AsyncSession] = None, - body_type: Optional[str] = None, - system_id: Optional[int] = None - ) -> List[CelestialBody]: - """ - Get all celestial bodies, optionally filtered by type and star system - - Args: - session: Database session - body_type: Filter by body type (star, planet, dwarf_planet, etc.) - system_id: Filter by star system ID (1=Solar System, 2+=Exoplanets) - """ - async def _query(s: AsyncSession): - query = select(CelestialBody) - if body_type: - query = query.where(CelestialBody.type == body_type) - if system_id is not None: - query = query.where(CelestialBody.system_id == system_id) - result = await s.execute(query.order_by(CelestialBody.name)) - return result.scalars().all() - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def get_body_by_id( - body_id: str, - session: Optional[AsyncSession] = None - ) -> Optional[CelestialBody]: - """Get a celestial body by ID""" - async def _query(s: AsyncSession): - result = await s.execute( - select(CelestialBody).where(CelestialBody.id == body_id) - ) - return result.scalar_one_or_none() - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def create_body( - body_data: Dict[str, Any], - session: Optional[AsyncSession] = None - ) -> CelestialBody: - """Create a new celestial body""" - async def _create(s: AsyncSession): - body = CelestialBody(**body_data) - s.add(body) - await s.commit() - await s.refresh(body) - return body - - if session: - return await _create(session) - else: - async with AsyncSessionLocal() as s: - return await _create(s) - - @staticmethod - async def update_body( - body_id: str, - update_data: Dict[str, Any], - session: Optional[AsyncSession] = None - ) -> Optional[CelestialBody]: - """Update a celestial body""" - async def _update(s: AsyncSession): - # Query the body - result = await s.execute( - select(CelestialBody).where(CelestialBody.id == body_id) - ) - body = result.scalar_one_or_none() - - if not body: - return None - - # Update fields - for key, value in update_data.items(): - if hasattr(body, key): - setattr(body, key, value) - - await s.commit() - await s.refresh(body) - return body - - if session: - return await _update(session) - else: - async with AsyncSessionLocal() as s: - return await _update(s) - - @staticmethod - async def delete_body( - body_id: str, - session: Optional[AsyncSession] = None - ) -> bool: - """Delete a celestial body""" - async def _delete(s: AsyncSession): - result = await s.execute( - select(CelestialBody).where(CelestialBody.id == body_id) - ) - body = result.scalar_one_or_none() - - if not body: - return False - - await s.delete(body) - await s.commit() - return True - - if session: - return await _delete(session) - else: - async with AsyncSessionLocal() as s: - return await _delete(s) - - -class PositionService: - """Service for position data operations""" - - @staticmethod - async def save_positions( - body_id: str, - positions: List[Dict[str, Any]], - source: str = "nasa_horizons", - session: Optional[AsyncSession] = None - ) -> int: - """Save multiple position records for a celestial body (upsert: insert or update if exists)""" - async def _save(s: AsyncSession): - from sqlalchemy.dialects.postgresql import insert - - count = 0 - for pos_data in positions: - # Use PostgreSQL's INSERT ... ON CONFLICT to handle duplicates - stmt = insert(Position).values( - body_id=body_id, - time=pos_data["time"], - x=pos_data["x"], - y=pos_data["y"], - z=pos_data["z"], - vx=pos_data.get("vx"), - vy=pos_data.get("vy"), - vz=pos_data.get("vz"), - source=source - ) - - # On conflict (body_id, time), update the existing record - stmt = stmt.on_conflict_do_update( - index_elements=['body_id', 'time'], - set_={ - 'x': pos_data["x"], - 'y': pos_data["y"], - 'z': pos_data["z"], - 'vx': pos_data.get("vx"), - 'vy': pos_data.get("vy"), - 'vz': pos_data.get("vz"), - 'source': source - } - ) - - await s.execute(stmt) - count += 1 - - await s.commit() - return count - - if session: - return await _save(session) - else: - async with AsyncSessionLocal() as s: - return await _save(s) - - @staticmethod - async def get_positions( - body_id: str, - start_time: Optional[datetime] = None, - end_time: Optional[datetime] = None, - session: Optional[AsyncSession] = None - ) -> List[Position]: - """Get positions for a celestial body within a time range""" - async def _query(s: AsyncSession): - query = select(Position).where(Position.body_id == body_id) - - if start_time and end_time: - query = query.where( - and_( - Position.time >= start_time, - Position.time <= end_time - ) - ) - elif start_time: - query = query.where(Position.time >= start_time) - elif end_time: - query = query.where(Position.time <= end_time) - - query = query.order_by(Position.time) - result = await s.execute(query) - return result.scalars().all() - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def get_positions_in_range( - body_id: str, - start_time: datetime, - end_time: datetime, - session: Optional[AsyncSession] = None - ) -> List[Position]: - """Alias for get_positions with required time range""" - return await PositionService.get_positions(body_id, start_time, end_time, session) - - @staticmethod - async def save_position( - body_id: str, - time: datetime, - x: float, - y: float, - z: float, - source: str = "nasa_horizons", - vx: Optional[float] = None, - vy: Optional[float] = None, - vz: Optional[float] = None, - session: Optional[AsyncSession] = None - ) -> Position: - """Save a single position record""" - async def _save(s: AsyncSession): - # Check if position already exists - existing = await s.execute( - select(Position).where( - and_( - Position.body_id == body_id, - Position.time == time - ) - ) - ) - existing_pos = existing.scalar_one_or_none() - - if existing_pos: - # Update existing position - existing_pos.x = x - existing_pos.y = y - existing_pos.z = z - existing_pos.vx = vx - existing_pos.vy = vy - existing_pos.vz = vz - existing_pos.source = source - await s.commit() - await s.refresh(existing_pos) - return existing_pos - else: - # Create new position - position = Position( - body_id=body_id, - time=time, - x=x, - y=y, - z=z, - vx=vx, - vy=vy, - vz=vz, - source=source - ) - s.add(position) - await s.commit() - await s.refresh(position) - return position - - if session: - return await _save(session) - else: - async with AsyncSessionLocal() as s: - return await _save(s) - - @staticmethod - async def delete_old_positions( - before_time: datetime, - session: Optional[AsyncSession] = None - ) -> int: - """Delete position records older than specified time""" - async def _delete(s: AsyncSession): - result = await s.execute( - delete(Position).where(Position.time < before_time) - ) - await s.commit() - return result.rowcount - - if session: - return await _delete(session) - else: - async with AsyncSessionLocal() as s: - return await _delete(s) - - @staticmethod - async def get_available_dates( - body_id: str, - start_time: datetime, - end_time: datetime, - session: Optional[AsyncSession] = None - ) -> List[datetime]: - """Get all dates that have position data for a specific body within a time range""" - async def _query(s: AsyncSession): - from sqlalchemy import func, Date - - # Query distinct dates (truncate to date) - query = select(func.date(Position.time)).where( - and_( - Position.body_id == body_id, - Position.time >= start_time, - Position.time <= end_time - ) - ).distinct().order_by(func.date(Position.time)) - - result = await s.execute(query) - dates = [row[0] for row in result] - return dates - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - -class NasaCacheService: - """Service for NASA API response caching""" - - @staticmethod - async def get_cached_response( - body_id: str, - start_time: Optional[datetime], - end_time: Optional[datetime], - step: str, - session: Optional[AsyncSession] = None - ) -> Optional[Dict[str, Any]]: - """Get cached NASA API response""" - async def _query(s: AsyncSession): - # Remove timezone info for comparison with database TIMESTAMP WITHOUT TIME ZONE - start_naive = start_time.replace(tzinfo=None) if start_time else None - end_naive = end_time.replace(tzinfo=None) if end_time else None - now_naive = datetime.utcnow() - - result = await s.execute( - select(NasaCache).where( - and_( - NasaCache.body_id == body_id, - NasaCache.start_time == start_naive, - NasaCache.end_time == end_naive, - NasaCache.step == step, - NasaCache.expires_at > now_naive - ) - ) - ) - cache = result.scalar_one_or_none() - return cache.data if cache else None - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def save_response( - body_id: str, - start_time: Optional[datetime], - end_time: Optional[datetime], - step: str, - response_data: Dict[str, Any], - ttl_days: int = 7, - session: Optional[AsyncSession] = None - ) -> NasaCache: - """Save NASA API response to cache (upsert: insert or update if exists)""" - async def _save(s: AsyncSession): - from datetime import timedelta - from sqlalchemy.dialects.postgresql import insert - - # Remove timezone info for database storage (TIMESTAMP WITHOUT TIME ZONE) - start_naive = start_time.replace(tzinfo=None) if start_time else None - end_naive = end_time.replace(tzinfo=None) if end_time else None - now_naive = datetime.utcnow() - - # Generate cache key - start_str = start_time.isoformat() if start_time else "null" - end_str = end_time.isoformat() if end_time else "null" - cache_key = f"{body_id}:{start_str}:{end_str}:{step}" - - # Use PostgreSQL's INSERT ... ON CONFLICT to handle duplicates atomically - stmt = insert(NasaCache).values( - cache_key=cache_key, - body_id=body_id, - start_time=start_naive, - end_time=end_naive, - step=step, - data=response_data, - expires_at=now_naive + timedelta(days=ttl_days) - ) - - # On conflict, update the existing record - stmt = stmt.on_conflict_do_update( - index_elements=['cache_key'], - set_={ - 'data': response_data, - 'created_at': now_naive, - 'expires_at': now_naive + timedelta(days=ttl_days) - } - ).returning(NasaCache) - - result = await s.execute(stmt) - cache = result.scalar_one() - - await s.commit() - await s.refresh(cache) - return cache - - if session: - return await _save(session) - else: - async with AsyncSessionLocal() as s: - return await _save(s) - - -class StaticDataService: - """Service for static data operations""" - - @staticmethod - async def get_all_items( - session: Optional[AsyncSession] = None - ) -> List[StaticData]: - """Get all static data items""" - async def _query(s: AsyncSession): - result = await s.execute( - select(StaticData).order_by(StaticData.category, StaticData.name) - ) - return result.scalars().all() - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def create_static( - data: Dict[str, Any], - session: Optional[AsyncSession] = None - ) -> StaticData: - """Create new static data""" - async def _create(s: AsyncSession): - item = StaticData(**data) - s.add(item) - await s.commit() - await s.refresh(item) - return item - - if session: - return await _create(session) - else: - async with AsyncSessionLocal() as s: - return await _create(s) - - @staticmethod - async def update_static( - item_id: int, - update_data: Dict[str, Any], - session: Optional[AsyncSession] = None - ) -> Optional[StaticData]: - """Update static data""" - async def _update(s: AsyncSession): - result = await s.execute( - select(StaticData).where(StaticData.id == item_id) - ) - item = result.scalar_one_or_none() - if not item: - return None - - for key, value in update_data.items(): - if hasattr(item, key): - setattr(item, key, value) - - await s.commit() - await s.refresh(item) - return item - - if session: - return await _update(session) - else: - async with AsyncSessionLocal() as s: - return await _update(s) - - @staticmethod - async def delete_static( - item_id: int, - session: Optional[AsyncSession] = None - ) -> bool: - """Delete static data""" - async def _delete(s: AsyncSession): - result = await s.execute( - select(StaticData).where(StaticData.id == item_id) - ) - item = result.scalar_one_or_none() - if not item: - return False - - await s.delete(item) - await s.commit() - return True - - if session: - return await _delete(session) - else: - async with AsyncSessionLocal() as s: - return await _delete(s) - - @staticmethod - async def get_by_category( - category: str, - session: Optional[AsyncSession] = None - ) -> List[StaticData]: - """Get all static data items for a category""" - async def _query(s: AsyncSession): - result = await s.execute( - select(StaticData) - .where(StaticData.category == category) - .order_by(StaticData.name) - ) - return result.scalars().all() - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def get_all_categories( - session: Optional[AsyncSession] = None - ) -> List[str]: - """Get all available categories""" - async def _query(s: AsyncSession): - result = await s.execute( - select(StaticData.category).distinct() - ) - return [row[0] for row in result] - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - -class ResourceService: - """Service for resource file management""" - - @staticmethod - async def create_resource( - resource_data: Dict[str, Any], - session: Optional[AsyncSession] = None - ) -> Resource: - """Create a new resource record""" - async def _create(s: AsyncSession): - resource = Resource(**resource_data) - s.add(resource) - await s.commit() - await s.refresh(resource) - return resource - - if session: - return await _create(session) - else: - async with AsyncSessionLocal() as s: - return await _create(s) - - @staticmethod - async def get_resources_by_body( - body_id: str, - resource_type: Optional[str] = None, - session: Optional[AsyncSession] = None - ) -> List[Resource]: - """Get all resources for a celestial body""" - async def _query(s: AsyncSession): - query = select(Resource).where(Resource.body_id == body_id) - if resource_type: - query = query.where(Resource.resource_type == resource_type) - result = await s.execute(query.order_by(Resource.created_at)) - return result.scalars().all() - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def get_all_resources_grouped_by_body( - body_ids: Optional[List[str]] = None, - session: Optional[AsyncSession] = None - ) -> Dict[str, List[Resource]]: - """ - Get all resources grouped by body_id (optimized for bulk loading) - - Args: - body_ids: Optional list of body IDs to filter by - session: Database session - - Returns: - Dictionary mapping body_id to list of resources - """ - async def _query(s: AsyncSession): - query = select(Resource).order_by(Resource.body_id, Resource.created_at) - if body_ids: - query = query.where(Resource.body_id.in_(body_ids)) - result = await s.execute(query) - resources = result.scalars().all() - - # Group by body_id - grouped = {} - for resource in resources: - if resource.body_id not in grouped: - grouped[resource.body_id] = [] - grouped[resource.body_id].append(resource) - - return grouped - - if session: - return await _query(session) - else: - async with AsyncSessionLocal() as s: - return await _query(s) - - @staticmethod - async def delete_resource( - resource_id: int, - session: Optional[AsyncSession] = None - ) -> bool: - """Delete a resource record""" - async def _delete(s: AsyncSession): - result = await s.execute( - select(Resource).where(Resource.id == resource_id) - ) - resource = result.scalar_one_or_none() - if resource: - await s.delete(resource) - await s.commit() - return True - return False - - if session: - return await _delete(session) - else: - async with AsyncSessionLocal() as s: - return await _delete(s) - - -# Export service instances -celestial_body_service = CelestialBodyService() -position_service = PositionService() -nasa_cache_service = NasaCacheService() -static_data_service = StaticDataService() -resource_service = ResourceService() +from app.services.celestial_body_service import ( + CelestialBodyService, + celestial_body_service, +) +from app.services.nasa_cache_service import NasaCacheService, nasa_cache_service +from app.services.position_service import PositionService, position_service +from app.services.resource_service import ResourceService, resource_service +from app.services.static_data_service import StaticDataService, static_data_service + +__all__ = [ + "CelestialBodyService", + "NasaCacheService", + "PositionService", + "ResourceService", + "StaticDataService", + "celestial_body_service", + "nasa_cache_service", + "position_service", + "resource_service", + "static_data_service", +] diff --git a/backend/app/services/nasa_cache_service.py b/backend/app/services/nasa_cache_service.py new file mode 100644 index 0000000..2da4aa3 --- /dev/null +++ b/backend/app/services/nasa_cache_service.py @@ -0,0 +1,95 @@ +"""Persistence operations for NASA API response caching.""" + +from datetime import datetime, timedelta +from typing import Any, Dict, Optional + +from sqlalchemy import and_, select +from sqlalchemy.dialects.postgresql import insert +from sqlalchemy.ext.asyncio import AsyncSession + +from app.database import AsyncSessionLocal +from app.models.db import NasaCache + + +class NasaCacheService: + """Read and write cached NASA API responses.""" + + @staticmethod + async def get_cached_response( + body_id: str, + start_time: Optional[datetime], + end_time: Optional[datetime], + step: str, + session: Optional[AsyncSession] = None, + ) -> Optional[Dict[str, Any]]: + async def query(active_session: AsyncSession) -> Optional[Dict[str, Any]]: + start_naive = start_time.replace(tzinfo=None) if start_time else None + end_naive = end_time.replace(tzinfo=None) if end_time else None + result = await active_session.execute( + select(NasaCache).where( + and_( + NasaCache.body_id == body_id, + NasaCache.start_time == start_naive, + NasaCache.end_time == end_naive, + NasaCache.step == step, + NasaCache.expires_at > datetime.utcnow(), + ) + ) + ) + cache = result.scalar_one_or_none() + return cache.data if cache else None + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def save_response( + body_id: str, + start_time: Optional[datetime], + end_time: Optional[datetime], + step: str, + response_data: Dict[str, Any], + ttl_days: int = 7, + session: Optional[AsyncSession] = None, + ) -> NasaCache: + async def save(active_session: AsyncSession) -> NasaCache: + start_naive = start_time.replace(tzinfo=None) if start_time else None + end_naive = end_time.replace(tzinfo=None) if end_time else None + now = datetime.utcnow() + start_key = start_time.isoformat() if start_time else "null" + end_key = end_time.isoformat() if end_time else "null" + cache_key = f"{body_id}:{start_key}:{end_key}:{step}" + + statement = insert(NasaCache).values( + cache_key=cache_key, + body_id=body_id, + start_time=start_naive, + end_time=end_naive, + step=step, + data=response_data, + expires_at=now + timedelta(days=ttl_days), + ) + statement = statement.on_conflict_do_update( + index_elements=["cache_key"], + set_={ + "data": response_data, + "created_at": now, + "expires_at": now + timedelta(days=ttl_days), + }, + ).returning(NasaCache) + + result = await active_session.execute(statement) + cache = result.scalar_one() + await active_session.commit() + await active_session.refresh(cache) + return cache + + if session is not None: + return await save(session) + async with AsyncSessionLocal() as active_session: + return await save(active_session) + + +nasa_cache_service = NasaCacheService() diff --git a/backend/app/services/nasa_worker.py b/backend/app/services/nasa_worker.py index b7f74cb..94be8cb 100644 --- a/backend/app/services/nasa_worker.py +++ b/backend/app/services/nasa_worker.py @@ -10,7 +10,8 @@ from typing import List, Optional from app.database import AsyncSessionLocal from app.services.task_service import task_service -from app.services.db_service import celestial_body_service, position_service +from app.services.celestial_body_service import celestial_body_service +from app.services.position_service import position_service from app.services.horizons import horizons_service from app.services.orbit_service import orbit_service from app.services.event_service import event_service diff --git a/backend/app/services/position_service.py b/backend/app/services/position_service.py new file mode 100644 index 0000000..e523a73 --- /dev/null +++ b/backend/app/services/position_service.py @@ -0,0 +1,183 @@ +"""Persistence operations for celestial position data.""" + +from datetime import datetime +from typing import Any, Dict, List, Optional + +from sqlalchemy import and_, delete, func, select +from sqlalchemy.dialects.postgresql import insert +from sqlalchemy.ext.asyncio import AsyncSession + +from app.database import AsyncSessionLocal +from app.models.db import Position + + +class PositionService: + """Store and query time-series position data.""" + + @staticmethod + async def save_positions( + body_id: str, + positions: List[Dict[str, Any]], + source: str = "nasa_horizons", + session: Optional[AsyncSession] = None, + ) -> int: + async def save(active_session: AsyncSession) -> int: + for position_data in positions: + statement = insert(Position).values( + body_id=body_id, + time=position_data["time"], + x=position_data["x"], + y=position_data["y"], + z=position_data["z"], + vx=position_data.get("vx"), + vy=position_data.get("vy"), + vz=position_data.get("vz"), + source=source, + ) + statement = statement.on_conflict_do_update( + index_elements=["body_id", "time"], + set_={ + "x": position_data["x"], + "y": position_data["y"], + "z": position_data["z"], + "vx": position_data.get("vx"), + "vy": position_data.get("vy"), + "vz": position_data.get("vz"), + "source": source, + }, + ) + await active_session.execute(statement) + + await active_session.commit() + return len(positions) + + if session is not None: + return await save(session) + async with AsyncSessionLocal() as active_session: + return await save(active_session) + + @staticmethod + async def get_positions( + body_id: str, + start_time: Optional[datetime] = None, + end_time: Optional[datetime] = None, + session: Optional[AsyncSession] = None, + ) -> List[Position]: + async def query(active_session: AsyncSession) -> List[Position]: + statement = select(Position).where(Position.body_id == body_id) + if start_time and end_time: + statement = statement.where( + and_(Position.time >= start_time, Position.time <= end_time) + ) + elif start_time: + statement = statement.where(Position.time >= start_time) + elif end_time: + statement = statement.where(Position.time <= end_time) + + result = await active_session.execute(statement.order_by(Position.time)) + return list(result.scalars().all()) + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def get_positions_in_range( + body_id: str, + start_time: datetime, + end_time: datetime, + session: Optional[AsyncSession] = None, + ) -> List[Position]: + return await PositionService.get_positions( + body_id, start_time, end_time, session + ) + + @staticmethod + async def save_position( + body_id: str, + time: datetime, + x: float, + y: float, + z: float, + source: str = "nasa_horizons", + vx: Optional[float] = None, + vy: Optional[float] = None, + vz: Optional[float] = None, + session: Optional[AsyncSession] = None, + ) -> Position: + async def save(active_session: AsyncSession) -> Position: + result = await active_session.execute( + select(Position).where( + and_(Position.body_id == body_id, Position.time == time) + ) + ) + position = result.scalar_one_or_none() + if position is None: + position = Position(body_id=body_id, time=time, x=x, y=y, z=z) + active_session.add(position) + + position.x = x + position.y = y + position.z = z + position.vx = vx + position.vy = vy + position.vz = vz + position.source = source + await active_session.commit() + await active_session.refresh(position) + return position + + if session is not None: + return await save(session) + async with AsyncSessionLocal() as active_session: + return await save(active_session) + + @staticmethod + async def delete_old_positions( + before_time: datetime, + session: Optional[AsyncSession] = None, + ) -> int: + async def remove(active_session: AsyncSession) -> int: + result = await active_session.execute( + delete(Position).where(Position.time < before_time) + ) + await active_session.commit() + return result.rowcount + + if session is not None: + return await remove(session) + async with AsyncSessionLocal() as active_session: + return await remove(active_session) + + @staticmethod + async def get_available_dates( + body_id: str, + start_time: datetime, + end_time: datetime, + session: Optional[AsyncSession] = None, + ) -> List[datetime]: + async def query(active_session: AsyncSession) -> List[datetime]: + date_expression = func.date(Position.time) + statement = ( + select(date_expression) + .where( + and_( + Position.body_id == body_id, + Position.time >= start_time, + Position.time <= end_time, + ) + ) + .distinct() + .order_by(date_expression) + ) + result = await active_session.execute(statement) + return [row[0] for row in result] + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + +position_service = PositionService() diff --git a/backend/app/services/resource_service.py b/backend/app/services/resource_service.py new file mode 100644 index 0000000..a60602f --- /dev/null +++ b/backend/app/services/resource_service.py @@ -0,0 +1,99 @@ +"""Persistence operations for celestial resource metadata.""" + +from collections import defaultdict +from typing import Any, Dict, List, Optional + +from sqlalchemy import select +from sqlalchemy.ext.asyncio import AsyncSession + +from app.database import AsyncSessionLocal +from app.models.db import Resource + + +class ResourceService: + """Create, query, and delete celestial resource records.""" + + @staticmethod + async def create_resource( + resource_data: Dict[str, Any], + session: Optional[AsyncSession] = None, + ) -> Resource: + async def create(active_session: AsyncSession) -> Resource: + resource = Resource(**resource_data) + active_session.add(resource) + await active_session.commit() + await active_session.refresh(resource) + return resource + + if session is not None: + return await create(session) + async with AsyncSessionLocal() as active_session: + return await create(active_session) + + @staticmethod + async def get_resources_by_body( + body_id: str, + resource_type: Optional[str] = None, + session: Optional[AsyncSession] = None, + ) -> List[Resource]: + async def query(active_session: AsyncSession) -> List[Resource]: + statement = select(Resource).where(Resource.body_id == body_id) + if resource_type: + statement = statement.where(Resource.resource_type == resource_type) + result = await active_session.execute( + statement.order_by(Resource.created_at) + ) + return list(result.scalars().all()) + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def get_all_resources_grouped_by_body( + body_ids: Optional[List[str]] = None, + session: Optional[AsyncSession] = None, + ) -> Dict[str, List[Resource]]: + async def query(active_session: AsyncSession) -> Dict[str, List[Resource]]: + statement = select(Resource).order_by( + Resource.body_id, Resource.created_at + ) + if body_ids: + statement = statement.where(Resource.body_id.in_(body_ids)) + + result = await active_session.execute(statement) + grouped: Dict[str, List[Resource]] = defaultdict(list) + for resource in result.scalars().all(): + grouped[resource.body_id].append(resource) + return dict(grouped) + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def delete_resource( + resource_id: int, + session: Optional[AsyncSession] = None, + ) -> bool: + async def delete(active_session: AsyncSession) -> bool: + result = await active_session.execute( + select(Resource).where(Resource.id == resource_id) + ) + resource = result.scalar_one_or_none() + if resource is None: + return False + + await active_session.delete(resource) + await active_session.commit() + return True + + if session is not None: + return await delete(session) + async with AsyncSessionLocal() as active_session: + return await delete(active_session) + + +resource_service = ResourceService() diff --git a/backend/app/services/static_data_service.py b/backend/app/services/static_data_service.py new file mode 100644 index 0000000..05d27b9 --- /dev/null +++ b/backend/app/services/static_data_service.py @@ -0,0 +1,130 @@ +"""Persistence operations for system static data.""" + +from typing import Any, Dict, List, Optional + +from sqlalchemy import select +from sqlalchemy.ext.asyncio import AsyncSession + +from app.database import AsyncSessionLocal +from app.models.db import StaticData + + +class StaticDataService: + """Create, read, update, and delete static data entries.""" + + @staticmethod + async def get_all_items( + session: Optional[AsyncSession] = None, + ) -> List[StaticData]: + async def query(active_session: AsyncSession) -> List[StaticData]: + result = await active_session.execute( + select(StaticData).order_by(StaticData.category, StaticData.name) + ) + return list(result.scalars().all()) + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def create_static( + data: Dict[str, Any], + session: Optional[AsyncSession] = None, + ) -> StaticData: + async def create(active_session: AsyncSession) -> StaticData: + item = StaticData(**data) + active_session.add(item) + await active_session.commit() + await active_session.refresh(item) + return item + + if session is not None: + return await create(session) + async with AsyncSessionLocal() as active_session: + return await create(active_session) + + @staticmethod + async def update_static( + item_id: int, + update_data: Dict[str, Any], + session: Optional[AsyncSession] = None, + ) -> Optional[StaticData]: + async def update(active_session: AsyncSession) -> Optional[StaticData]: + result = await active_session.execute( + select(StaticData).where(StaticData.id == item_id) + ) + item = result.scalar_one_or_none() + if item is None: + return None + + for key, value in update_data.items(): + if hasattr(item, key): + setattr(item, key, value) + + await active_session.commit() + await active_session.refresh(item) + return item + + if session is not None: + return await update(session) + async with AsyncSessionLocal() as active_session: + return await update(active_session) + + @staticmethod + async def delete_static( + item_id: int, + session: Optional[AsyncSession] = None, + ) -> bool: + async def delete(active_session: AsyncSession) -> bool: + result = await active_session.execute( + select(StaticData).where(StaticData.id == item_id) + ) + item = result.scalar_one_or_none() + if item is None: + return False + + await active_session.delete(item) + await active_session.commit() + return True + + if session is not None: + return await delete(session) + async with AsyncSessionLocal() as active_session: + return await delete(active_session) + + @staticmethod + async def get_by_category( + category: str, + session: Optional[AsyncSession] = None, + ) -> List[StaticData]: + async def query(active_session: AsyncSession) -> List[StaticData]: + result = await active_session.execute( + select(StaticData) + .where(StaticData.category == category) + .order_by(StaticData.name) + ) + return list(result.scalars().all()) + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + @staticmethod + async def get_all_categories( + session: Optional[AsyncSession] = None, + ) -> List[str]: + async def query(active_session: AsyncSession) -> List[str]: + result = await active_session.execute( + select(StaticData.category).distinct() + ) + return [row[0] for row in result] + + if session is not None: + return await query(session) + async with AsyncSessionLocal() as active_session: + return await query(active_session) + + +static_data_service = StaticDataService() diff --git a/backend/scripts/add_rocket_simulator.sql b/backend/scripts/add_rocket_simulator.sql new file mode 100644 index 0000000..ee570b4 --- /dev/null +++ b/backend/scripts/add_rocket_simulator.sql @@ -0,0 +1,94 @@ +CREATE TABLE IF NOT EXISTS rocket_configs ( + id serial PRIMARY KEY, + code varchar(50) NOT NULL UNIQUE, + name varchar(100) NOT NULL, + name_zh varchar(100), + manufacturer varchar(100), + country varchar(100), + launch_site_name varchar(120) NOT NULL DEFAULT 'Equatorial Launch Site', + launch_latitude_deg double precision NOT NULL DEFAULT 0 CHECK (launch_latitude_deg BETWEEN -90 AND 90), + launch_longitude_deg double precision NOT NULL DEFAULT 0 CHECK (launch_longitude_deg BETWEEN -180 AND 180), + description text, + color varchar(20) NOT NULL DEFAULT '#f8fafc', + height_m double precision NOT NULL CHECK (height_m > 0), + diameter_m double precision NOT NULL CHECK (diameter_m > 0), + payload_mass_kg double precision NOT NULL DEFAULT 0 CHECK (payload_mass_kg >= 0), + drag_coefficient double precision NOT NULL DEFAULT 0.4 CHECK (drag_coefficient > 0), + reference_area_m2 double precision NOT NULL CHECK (reference_area_m2 > 0), + target_orbit_km double precision NOT NULL DEFAULT 200 CHECK (target_orbit_km > 0), + target_velocity_mps double precision NOT NULL DEFAULT 7800 CHECK (target_velocity_mps > 0), + separation_delay_seconds double precision NOT NULL DEFAULT 2 CHECK (separation_delay_seconds >= 0), + second_stage_ignition_delay_seconds double precision NOT NULL DEFAULT 1 CHECK (second_stage_ignition_delay_seconds >= 0), + stage_1 jsonb NOT NULL, + stage_2 jsonb NOT NULL, + is_active boolean NOT NULL DEFAULT true, + sort_order integer NOT NULL DEFAULT 0, + created_at timestamp DEFAULT now(), + updated_at timestamp DEFAULT now() +); + +ALTER TABLE rocket_configs ADD COLUMN IF NOT EXISTS launch_site_name varchar(120) NOT NULL DEFAULT 'Equatorial Launch Site'; +ALTER TABLE rocket_configs ADD COLUMN IF NOT EXISTS launch_latitude_deg double precision NOT NULL DEFAULT 0; +ALTER TABLE rocket_configs ADD COLUMN IF NOT EXISTS launch_longitude_deg double precision NOT NULL DEFAULT 0; + +CREATE INDEX IF NOT EXISTS ix_rocket_configs_code ON rocket_configs (code); +CREATE INDEX IF NOT EXISTS ix_rocket_configs_is_active ON rocket_configs (is_active); + +INSERT INTO rocket_configs ( + code, name, name_zh, manufacturer, country, + launch_site_name, launch_latitude_deg, launch_longitude_deg, description, color, + height_m, diameter_m, payload_mass_kg, drag_coefficient, reference_area_m2, + target_orbit_km, target_velocity_mps, separation_delay_seconds, + second_stage_ignition_delay_seconds, stage_1, stage_2, is_active, sort_order +) VALUES +( + 'falcon-9', 'Falcon 9', '猎鹰9号', 'SpaceX', '美国', + 'Cape Canaveral', 28.5623, -80.5774, + '两级可重复使用运载火箭,用于近地轨道发射任务模拟。', '#f8fafc', + 70, 3.7, 15000, 0.4, 10.75, 200, 7800, 2.2, 1.0, + jsonb_build_object('name', '一级推进器', 'dry_mass_kg', 25600, 'fuel_mass_kg', 411000, 'max_thrust_n', 7607000, 'specific_impulse_s', 282, 'engine_count', 9, 'length_ratio', 0.65), + jsonb_build_object('name', '二级推进器', 'dry_mass_kg', 4000, 'fuel_mass_kg', 107500, 'max_thrust_n', 981000, 'specific_impulse_s', 348, 'engine_count', 1, 'length_ratio', 0.35), + true, 1 +), +( + 'long-march-5', 'Long March 5', '长征五号', '中国运载火箭技术研究院', '中国', + '文昌航天发射场', 19.6145, 110.951, + '中国大型两级液体运载火箭,用于重型载荷与深空任务模拟。', '#e8edf2', + 56.97, 5, 18000, 0.42, 19.63, 200, 7800, 2.5, 1.2, + jsonb_build_object('name', '芯一级', 'dry_mass_kg', 38000, 'fuel_mass_kg', 175000, 'max_thrust_n', 10600000, 'specific_impulse_s', 310, 'engine_count', 10, 'length_ratio', 0.62), + jsonb_build_object('name', '芯二级', 'dry_mass_kg', 12000, 'fuel_mass_kg', 26000, 'max_thrust_n', 768000, 'specific_impulse_s', 442, 'engine_count', 2, 'length_ratio', 0.38), + true, 2 +) +ON CONFLICT (code) DO NOTHING; + +UPDATE rocket_configs +SET launch_site_name = 'Cape Canaveral', launch_latitude_deg = 28.5623, launch_longitude_deg = -80.5774 +WHERE code = 'falcon-9' AND launch_site_name = 'Equatorial Launch Site'; + +UPDATE rocket_configs +SET launch_site_name = '文昌航天发射场', launch_latitude_deg = 19.6145, launch_longitude_deg = 110.951 +WHERE code = 'long-march-5' AND launch_site_name = 'Equatorial Launch Site'; + +INSERT INTO menus ( + parent_id, name, title, icon, path, component, sort_order, + is_active, description +) +SELECT + parent.id, 'rocket_configs', '火箭数据管理', 'rocket', + '/admin/rockets', 'admin/Rockets', 5, true, + '管理火箭发射模拟使用的两级运载火箭数据' +FROM menus AS parent +WHERE parent.name = 'data_management' + AND NOT EXISTS (SELECT 1 FROM menus WHERE name = 'rocket_configs') +LIMIT 1; + +INSERT INTO role_menus (role_id, menu_id) +SELECT roles.id, menus.id +FROM roles +JOIN menus ON menus.name = 'rocket_configs' +WHERE roles.name = 'admin' + AND NOT EXISTS ( + SELECT 1 FROM role_menus + WHERE role_menus.role_id = roles.id + AND role_menus.menu_id = menus.id + ); diff --git a/backend/scripts/fetch_and_cache.py b/backend/scripts/fetch_and_cache.py index 3a8008e..3bf6b13 100755 --- a/backend/scripts/fetch_and_cache.py +++ b/backend/scripts/fetch_and_cache.py @@ -23,11 +23,9 @@ import logging sys.path.insert(0, str(Path(__file__).parent.parent)) from app.services.horizons import horizons_service -from app.services.db_service import ( - celestial_body_service, - position_service, - nasa_cache_service -) +from app.services.celestial_body_service import celestial_body_service +from app.services.nasa_cache_service import nasa_cache_service +from app.services.position_service import position_service from app.services.redis_cache import redis_cache, cache_nasa_response from app.config import settings diff --git a/backend/scripts/init_db.sql b/backend/scripts/init_db.sql index 7658de7..8d5b590 100644 --- a/backend/scripts/init_db.sql +++ b/backend/scripts/init_db.sql @@ -5420,7 +5420,8 @@ CREATE TABLE "public"."users" ( "is_active" bool NOT NULL, "created_at" timestamp(6) DEFAULT now(), "updated_at" timestamp(6) DEFAULT now(), - "last_login_at" timestamp(6) + "last_login_at" timestamp(6), + "avatar_url" varchar(255) COLLATE "pg_catalog"."default" ) ; ALTER TABLE "public"."users" OWNER TO "postgres"; @@ -5430,6 +5431,7 @@ COMMENT ON COLUMN "public"."users"."email" IS 'Email address'; COMMENT ON COLUMN "public"."users"."full_name" IS 'Full name'; COMMENT ON COLUMN "public"."users"."is_active" IS 'Account active status'; COMMENT ON COLUMN "public"."users"."last_login_at" IS 'Last login time'; +COMMENT ON COLUMN "public"."users"."avatar_url" IS 'User avatar file path'; -- ---------------------------- -- Records of users diff --git a/backend/scripts/prefetch_historical_data.py b/backend/scripts/prefetch_historical_data.py index 9fb587e..bffe15c 100644 --- a/backend/scripts/prefetch_historical_data.py +++ b/backend/scripts/prefetch_historical_data.py @@ -28,7 +28,8 @@ sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..') from app.database import get_db from app.services.horizons import horizons_service -from app.services.db_service import position_service, celestial_body_service +from app.services.celestial_body_service import celestial_body_service +from app.services.position_service import position_service async def prefetch_month(year: int, month: int, session): diff --git a/backend/scripts/seed_celestial_bodies.py b/backend/scripts/seed_celestial_bodies.py index 74298dc..67ff213 100755 --- a/backend/scripts/seed_celestial_bodies.py +++ b/backend/scripts/seed_celestial_bodies.py @@ -19,7 +19,8 @@ sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..') from app.database import get_db from app.services.horizons import horizons_service -from app.services.db_service import celestial_body_service, position_service +from app.services.celestial_body_service import celestial_body_service +from app.services.position_service import position_service from app.models.celestial import CELESTIAL_BODIES diff --git a/backend/scripts/update_static_data.py b/backend/scripts/update_static_data.py index 227e249..ce74507 100644 --- a/backend/scripts/update_static_data.py +++ b/backend/scripts/update_static_data.py @@ -10,7 +10,7 @@ import os sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from app.database import get_db -from app.services.db_service import static_data_service +from app.services.static_data_service import static_data_service from app.models.db import StaticData from sqlalchemy import select, update, insert from sqlalchemy.dialects.postgresql import insert as pg_insert diff --git a/backend/upload/texture/Europa_2k.jpeg b/backend/upload/texture/Europa_2k.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..989504a7ed704d6b5856cee7e0fd205a7a92f673 GIT binary patch literal 252348 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�nOiH^ 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 z�EakL?zv8GdEKMmPnsIAOrYd{nf+scmfpW;iB{kPzVie*cn2Yg&nNjG&Yg+5LglR{ zhD|=^FEe_u-O3l^3{|m!{r>6QbQC;3)R`KPpR zFqDZyG-?j!a}u`gqp07`amj3AtF5e>rHH(QgqjbuF7uosu^^)3rz7S)@z;uWOiZd^ zn^%c#?`Kz30i|~46qR{mq~U?+KNHkeoubCBUIZp>qik=6KR!w1bRwvy`A zbZtH&E#^g#GvG8tH#zk@9OtMxHLHK6OBD8(8hm0!g*>;A3<4J)c$o49M218_@b~Xi2uil%a-N6Qs>>q=G3_Bgm0L*?o4t)DEi7x3^8yJKWdv`5 zorPNWye={@FgVX6`5MpP za9O2{;a|BOdyG{h9PaE8nF`>OklQUY}qXe+z8RPhFt7YGuIix?dw_hiw}~` zDHz(tusL(PxL`hZ8EV<>rorO5TM0U&5wqltpKWw*k?!mgCg>R?&`xwk^c(6h>1a z^3DkZ?+x9@=hCaoEYC81a%)#Q_Eq+BJ$X9OtfSH6uD$zmRGW=l~1T3OeJS{L^Lz+Rfy( z4LN2ms2q%)*gHw-p17?dv=y#ajWouRYklFRg8{~J%1=T;>7Po-ytYKQMI`DF#6+7& z8i+;vl3``NKY26K{g&!ttC^|cTphxcdf0Z zlhguw3}Ujbq*HMYr66T@iPWghIVic2*^%^{yb*6 z`@4*Wi*C`hg#c$H{Mh=^HR71sMj3xF;ACK)Z~+~UU;e#hT-`_JqA|>_8*^tk$4}4D zcC4o(SjnP4w8!T&w3s+mQhsfqcH_UjQoOs7Wy<9go^$tc#z6NKTI@JwjGe07DC6cl z0g?Xz*WlD{s;6x75>aqRAA3EpJDS9#i03j+@P*F=<$xnSz$Ek2+N7H5O+O2e9E=b< z`clsRS_k{hkCdE|k8$|=)e{p*8D=9N!{5I+sgr#TV;k-=eOeg;yrXN7IAhS&Sm(Tw zK&!%o*S0Gv;4z$Ugh(^@hox&0R}n^~GP(A}LX%^0v9W5C2Ia$UtMNyfM*MNq9+k{m z>H;myF#C8Q8jW?EyN2@PwO|KAPx7r4(kGRjD>_3ccnBvv^U|4ra#~L+HTjre`WnPr zo9CBrmXQ@1B%i%dy!yub2-V+Q@|fl`c=6rSeVCBtkCUZ ztI+4KPJL>e(e02f7>8bPdkWH(9|wW}3zB;Bas4s)(;VOz#@)waka}+C>74#m&dpjV zA21ZSZg(88{{TM1w`_<%D)0v%i0RM0XIu=sh_;xcT#TPlf$yC5t-EdJBv_Pg020mj zLGHh$R1q?`TnVN?C0(d_EHR(Luw~Q1xOZXqK3w(6`qx|M+s|�~TMpOAL@lUI%X6 zS1o^X#IOtsCOdM+upRS?im9Q|sP;K6LeOvXg5jHjJ9=?WvT%`>QUP3U&u{*{X-{;p zS}2%&%)AERohV~UA!Du2QceZ+RI}cKS z8pW}<6Y5exLwQ-;9OolHbaS3^KP=ay8M|t5&sTG(vb&L_6W_M;8jXS@v*#UHx4t@O zfyE`>r+4;(BcF5yhFp)jI-USI`u=s9ajU`R7@y_KzTiN@F6@?Ub@~rlqxSoWZdTF= z05Y=1p|WrfCm`dZ^PHdSR^+-FxOK6tfiL7{aNbfe-MF%_{_Y2_@8WNoi`P zlakKx19|023X-@IUtPVo(I;s zYu!RCb+?vIXV@~UxPYMj&<9SuoK|zJ*1<}Wy_wT$+Jtk)*S7_uom8(=!E6Ets~irV zwae@mE*56mfef4<$a;#*j^Ivr+{O%{o6zBZKVQVwh8|rmd#+ai0k`;uefxK=T9tXW zJAINzVW3HU9hJM<$-F?TE2HB8oUj0nM?s&iDs|Pjt3{}D605oL^R(pTWR7r7di5u! zIjp<&3bxj^lL*wrs_LJ3s`fsEJo=h}1ZpkR!crLtatP1eVxRyra7gb}8m$vALhg?Z z+w6t07W-qx=IO8O9fKOg=f$3d>UfkGPZ=2^x##NW79eK|f&vE%zMHyVmX!JW7 z;DyP zDd=&@cP#7D_=ixmgHIB!nJ%cs6s())E~n?**xITi7&~&@0KA;loBc||z&;z7%d=x` zZ4ujm2^+E`c{>75JLG2qv3xJ9Sl=UFYa6AV5p6BEeeu!33PyK1!xB0GJ?oVCo{{~B zM(`9Q5&^=fVpM(!cPK+~!-&WyQml`^y-}RR_>7 zBl*{{>l%y^%982kNi`sf!|cpAtZ{>bJGaP*kMHE?rEoeHv!>bG+-Z76(m@jLN4snY zt*s-*<`N&2x#*yG=e1>PTD1DXj?YE7O%KDC?9CGeBI5C}_my9E26{UJN$0Sxs7WPq zCk<>{);v?H-N-cAP+iJ?c)YW=*%7n*={E)_xz1VDi(@FDb5^cC9BLZGJN!|uNpiBX zg|)QIFgKV-FCiu003KNI2LKK$3hTsrZjBP!Xf_k1cErsjw+*+>eWVjBxZLNQE(SUY*gE_$%&rT{8M)yUkN6@-&hrAEr*jr4}EiG)} zfQFJ>C^!r-rH)yc_2l&KYZq4W^jCT4PEM6Oca%W?S?f}Uhyl6^Y!&1`A92aokj(u=CWVdV{oZLRa=mdOG(W>p|# zsplkd=~Ae)OiG$Pa??z>f={&S_b&2ApaCmkcN37ILFeB%!Q+#~K0g^)+ZVQhnpZ+e zSiyYvJPPJ5d=UgiCh5zyKx&#*kytF6p@ajKaM{yOyrs? zc^&SQ-cOCh!n?7@-5!JLX-YciXMIOLlDdo_-`qU2fwU}nL*~v2-$=e9A`yIOpkI7umJRUE2EeMb77n(NwtH zd$|}x>T{n;EbM$a71Bp6K4r_~jP9CDcgr^?8TJ(%x|hsxR#12oPSvjNp|p!sx|zTe zxH1F486|-WlaYi_2m-pKn!;b6>fZRF<&whIXrVuj)n`8E@UE&m+bud%6cK%%Nw%Gg z!~zq5b|(A|c{m*Prb(>GON4QO&LfBe$50wVGyed5)~X~qYGbATi)}f&x6>~Qlq-gU zOb@S^6#hH7_N!^G*~K0%ZD%5PcOpdGHj~^dIU}IxYDuoIZWT+pw#W=jvSrmza;vZ@ z9)~>D7&MPK2GUkpT5cL?q-}>RGlu?(q*U@DT+To6h|3I?+HK0iJLCmLUn?!Z0y%y_ zGwFj|1-y zxWEA9oMh+bCmdC1d;tVdw2?c+(;j2oOkocJa&yQX!0LGEP~y_}ON~zF5Z*cQWs5ZgY0r11W~Vz+YXQ`^fnp(KVv@&F}eRoXsQ#?}fs z004T9rmi!S(5DsA4!XAZkZm(N*j^yPU{#}LJ%$0m{eL=(NAdg`RG-b}tG z3qsq7JGY-+obY{pJ9xZD0cjp+??e3ATD@QfA+hZW8 z3Wc_l#z%br0QIq2Hzdf@syfR(LPyMuQH+RO6+bB_`;DHz<62hJz~ypOZj&#c;yX{b zw?E`phC=%P0D+=-bZc2Jw1y;$d4cm`82hMs+`nIX>vV4$=-Qh{aSVZRks@aT&5|2!DZvD-8iL=p?OzPfg(KcDcmJg5%24+0;P>aE1{{ZVXVm&(UB}e>z223#;+dpIY6I2AC| zQagXON~Skoyo?(;&H>KT*N&wA6*rk2iVThCJAfKRQbsaP0LC+e*W2F}Nwg~zt*&Ff zf3y~9Npi_7F1d_jI3qrtxX(`1?P?Ubgk0;ejfL`#xC*WZ4V;V;GxK(+Wzuc6DTUN= zeU5h^3FCc^SadsAt`A;#?lD<0J@i0ZYEhj=(r^w@Mih1>dUZUN$4>Q1OQ_N_t?l&< zGSo#P8`xzerN-sn1Dvi-agaFV0K>WM6c;dMV|ljRMwr_9bAoCPHsHLW8FuoC0t^5${yiHJxI$o-i0^4YwFOv-~`T7|0z7>w%hgeG0d8my&jl z;z{C+2UQ5^_s$#T5ATAw#xsHF4Qg0R0EMm#ERz;xQaL4#Npjo|a&R$_I@JrvAdcc) z@*J7he4j4zgk_KSThuR3xaWf=n3m->U1dJgk1fVd)I4R!ayT2h?%?t{;<|f{s~c0< zCZlIOkiqtX>_m`|K5%$Df4onq0OuJ8zcm)K{)Z)n#_-VLgUB|JtH$0&L0*hA)0*tw z^2XVtx46_|wqulS&GX}TAgDP!4l(pN99IM4T{&cm=To#vKGhn5=3szTFvks*Errex zBzktPYVE~c4jSmp70u~On|TVyE3>GE_mSEA_PO-&vxr}m&m3D^jg(q*|bB<_~ zLuoVQ$cqfyWeS9CMs20|!NJ{~+29-=2NFdJOQGrdOm`n;w<{yOXv8e4#0{O>bA~@L z<2+RhYaKQ#M6g*GQEMp-Nh6;yNSlH3rR3p<93F=Up|3&>rgO=zhK_|4aa!C#aM1jZ zDgzs+{oFvSHyA3xvz+ixBeAV54^`77x`Pw3Sej_wJ*9)JC*&&8^O76W*ENL0%u9=F zNY>IgZg&X+g)xBa#ihmu=jB%<05C|$Ubfwx^&ush2?U5778nk!RFz@sTN$pD<=D%g zx!8ZgLu)A5M2#DvA<+p|ZsVckRTkAEX(KBeY}`VqQa>Elot?Zk*5}D>zGJhn#ztGv z4^EV~2^+$SK~S!wH+_`VA>(f4!cTdzcc@{`5wB$sXsW zMQLev(S^RB%q{a3PnAi{bPUC}2RtaweNKB-7-Pql`Of7a_Q9(5J=k;h8RooWYK@uf zDL@XuzX}Hc`qa`!s^AZp`qZkZtCr=DfAFhq4m+7Qmcz|fE42?MsTia$C(1VT#&(a& zwy&mH+$s;df$3EoyC7Kx?DkQ~t~$_0h79eo#98@IU8kJ=aYKdMg>13)$*s1rCNsET z4p*j0#bQd&0`l2o>5LD~xuvGy(LJ1gP753{>&HLVrns5Z;YQ!MXFCG8uUT*9W~^D=NgJZ_EHZjyXA{nlOYYVC0XR6<%L8*cD!0)aRW@NAvkSxLY*Nm8hC)jm`{a+pt;!<|7&dnP zl;qhgWV&ZPx(}sFnN~5x*AQwRY)!f_q0T#}-P&`GPC@mit^AT%oHPBM(PVkhZ`ir% zkG+sN82aGxTCHmd0h&#v$lRp$Ao}`L1`!3q-CHOU4m0R6jz@7?TI8~{S8bzNF0T}8 za|aQ$kvYVG=jJQUKiVg~L2NKA$9(+^X#kIm&<-4n0r5N+6$5YT+P;Qugx>3ab(naG>FM&mI2&EP7Sg z<&4KPF%LAxyF#(rcLS4?(;46%)j~;Nwz`&QUC`SoLPri%^VhBc=N!~`3U0L+r!VC} z-9W&WHRPOj$v;!i;@hyTVH(2UR<@B?;uua>soucwRE|Oe&t7|a)85W|3wv2nl~_jT zHh_LpjmNP1pTmmMKp~oYv~aRJGP;q12Q86~pz*~uZdI-0ySa-Z`zs`SxdA$J>&AL@ z0Cu7n{eZw=}4BVyq6y@^379} ztXxt=5yu?UZXA15&ty!5D*M>dUBv;E#H}9E%f%4V55af+owO<3Jt!fe_b%y1ZW?mG6Sd8R-0V3KH+Ps0Bsr)I>uo+FBTCdC$U}rwUr4cBME^-)f-{<@)NaG0D zKt5ia4E`0WMGlHW+prJI$Oo?=uL z09C;_>w(s$RzyD`w{FHIEOMdOIqEs|tIM{EJ{VSVsY+T$?$|B^a_qfNWxaO%!;(SJMstM$b^v_P7 zm15#T8PFZzl5_RxRUN#ooMSzQZ16H`RT~w1lUg(}?;AilP!C`SIM1ocKb1&jN!$QS zI&gT%>;C}jtmK?U5O6@;++&h)#~Co>EH40N{>+i0h0VKSNqfu|Ye`Tr-oj%)lPJZ5iZz zyc&WAhD&1|xWbc`ZZ~wxA7jl_yqr7v3Vu-8D!;;e20UV+qN6K>%MGMTsG%cJT0jp( z!TC?Vb6n%z$1*%OEKXNx1F&9$w@`WmT9HEcOCgp`>e;~^2~(Vp<@wYXHpsI1pzUlH z?Se-KKHSz#G*XXqD)Qn)gi6unOR9{FV>rnJ@bB8Qhno~>BY+vY6a7CA&ZnAoxVm`e zULjz(A9a<7QR(#es&`UmEt4l8j1Vw>o%qjRtzg+@8E2C0E#Aq&W=DBR7|W-h)| zc~Uy#(z2qtkgCHs$f@^FsHtvl30=#QM}F9>Mrq_Zd3KLLIjp4hxvGt{H&DjgfRl0b zt3q}AJaY7qa7KD!xtEIYAb6xJx1~1TDJE^VGZIHQG%AQC6=Lxq-aMg7A^Y8dH0Qi< zq{qQuUrM&oMz9oVD~h?gmfKJ^%sxiod;5x0b{#!Vz4apMeAVL}DoC|X14N);bUkzL zT(o8346-8zAmG-GiV0#9G7#&*_suSL*xEF;JwzBnJAoq%kT|b5yh&xb23I*=7ir|@ zr%LKC_bVv4BLg6udi1VZ@xnUEFbJgK0PpB)p0uuOLM5AKoo^#@Ndp-K{{WtAtCHlZ zs?FzDV!IY!c=)glBF6>(@O-efm~$osp#Cx4B`iQ0_z-Ip??B zI6He}XP>QD*d3Gt8Gs{>er)4D-9I|OwMJMJNZ2KdWDITHz~j@~)7rMnNgORLsNV0L zpkQ)%!T01IKMGBm_0V})cL`+5s<|X^cWyYwdjdc;pE+qQ-V}8Y4?Bq9xnSAHOeh%q zeR@u_tlzjsEQ^Qp6m>EvQU}wi`kIBKK4fXL0AMj4v-5Vwcq2abl%AR!#oKXgRo;A< ziAO;DcXRW6xCHtWfK7I=N)j_`AQ8xf1kc?Ydjrt)X5H=lK%Ou;6+}Iehs?QA@-EbTmrz`V>@a=(D~_a7XGA3W z8M7pE+oX=_#Qel{`A;LKQhHRnT+`b~yZDQ1G1@cNJRD~OrB?eR+@sAD;x>i0uK{;% zZ(m{S*wR|gt8{JTK11aEJc&~=*TJ{!?(#@;AlkVkV5#JfQ=XO1TM@?R zQfrHeuEes)%;zh&9AtJpjtxewyeyolB=rCiN3}`4t&(ZZ7#@l~T#|X|>CbxQb82XEaycDyoSIb2k~LwvNDr8Je=Mu9Odl~1K;1a!@%O7| zShl$h98o#Ed>yibwLst;F~J>Axi!yS-dxAF88&%r%yY;YI2>SfKjaFQNIu;dyOZ}r zZWUuY94H(P{d)E3THM2u=KYSS&`#FY(0R!k;IUw%c5+E4uUv6kNqs!hhLUBM%kvC~ z7t9J!;4f^qQH*B1h3<7o01(JyjmULn`^9&2&%WR5U1p7}dFrBLCS;M$TO_#XH#e_7 zqO_%1Ed?qsq24|H)s@6)6o}9_ECx`f{;V^eoyV^<`;A}i2$r^qE@cI#MsK{Kvd!!B zV+-2^;CHS*=HX@9sW3AD%e8(*RZ*M)&u*vrRVXzJiKSs9GD|+tgB+(dwavHOAIL@sc6ni?bvV|3xEk61E1EZX?i`rqib>T1IA9KSrkWW02>uh z50!}^f;r9yex#FJnYwH1$?TE*%WF@av-25WI2(^v`c}@N;@v%75qh3#$FngGR22gQ zxKWXubu>n;^e5`=qtW29u+;2gyVkB|O(}M?cAJPsE1XLxTpYROQ}}q!PfjlT;#P}q zbtRvN?Aq?)GIEH#E^82@+i8rp*8W)t$b$g5Agb*u+-@Tn#s?IXr7iR|P)k;H z?y%?@UA~`Z2;U$<8mJMR$}&mm^J9X?oN{YNMby(txNCT&^IQciBE}iWA&%xd00$T( z^z2U+=j}6ig612Gm5@e_wkTPL@F-l!*(aRfbpxr*dJc(sZ>C$^%pex+BgYEx8O}et zKsE@+ZIp>?u%c692VfZq-;v%j^-utmLPC2Fgprvqj_~C!}~ffu|SKE z&yykF-(ci^Bp*;Jr2Z+jxViqs6Eu^-g6NrfP@d-i;GbH}k?%EIi0mPZS-`6I4jg6f zRd^ttqq+C`S3;6nBcE5eLwT#U#Mg4HS8&^@0pkY%5tFrBgN`%LIO4ip7gB}gRKB|= z<$zMNr%=@3NekOanN+A?yl|cN09L%+eE`_$^j>w z@J|`f)Q?KuoL=miGpv^3g|zI&L5+S;INCu6KQJR1_Qh0>TQ>nbm}6IA^A;p1&pF8h zJ%7(`F6z$qOn+lv%mNa#QSV109%j_Tx0ipaiWA@`I0lJt;14 zG_+mTjppEm2?!*yAHo9sr{6qOGTrJ113krocw-zQ%NnAO?>Qs_-hgmEywkZ26I+Xy zK=DWA0yDgjFukw{AQRa2scrtv30Jh+5)IL?fdd&2Ql?gJTR0~qpY}ki_R!tkV*db9 zks^!l2;62cI~K+_x73C72ClV?a$AVTBS&C26Y~t8m?UH6LD#C}`c`FVQPnN4wUCw; zjBVOepDrl_G;yfGF2ic)o`4)2Rn0ob#8!}7SXx|&?bMjgB46Er56*XmEtAK~jORTo zM%AIVySauoL{b+H518ciAdS2M+w0o2RvU>?zSAf%us^#Xjy>>3f0x#+L|n#HvENw5 zGs6TI`*KRg<|$l(kC?vg$JnqHj~1__8-=!XFx^TEysD?mg_9p9SDoFl#_oG@Tbixf z+CsL_Ig)t>78SyP4|dy)tKXWhZ=vbxyX04Uu(#Sq=F=y_i-;d-M0ksj-Y4WwI!0mD|bV6=S+7ni~^DFW1bLT9#3*}PP9v#RcN5S zX9!2jaHA*w2CAo!IXu<|wc^b=E>};~B};rT{TwfhB? zlFg^Ia4L}9KX}YQKQKJEPKUoWU;RGuSOzy{gk~3TLXxdt-n&FyRS-O^WUt9%Est3@1HE9XxU9{Bn>qtJ!ovj;v z)#reFV}te0VCySut}_X=*D-=NO5iJkIvC3Q!`~muwr%V*krY>UR*teV@Y|R-ImjfO zj33sl$)^CKYi--cKK=;ju*V>A>qCm@7d*c9_g?U+j%`La)^xHyaVBGuB6>4t3nKKv zCyw~8w#Q!3_33=2Wr9Uj#8M9~Kr^40JaT)kM;&>qt8q2e#I|j@nG^>>lDNqSxyY_p zTG7vk>`aXi)O2``_JpqKZ9zP|Y(?~(xzzN=Q)2%B+BUNwaML%JGDbg$NZ1TH z=x|T1TeH_~E~43|tdmSgGnd?(2ss-ca-PAHT+6rGR%)cW>4f5f^5pfs&kNG?|% zT1z0=xHmgXV1Vb);Ag#U*!Yu3)-J+aqT9y|UQ}?nQIY}NdBARgcqhNDT9vfjTTIk6 z=9Ve$FXfIOFo5Ayfyq;Y^7D?>kZj`c)ynBNwymjnd;-VKi+ft<0DRrhpT&Cg>GS;W zW7JWLS2`0Ly37J7hVlX{H=uL7qcJpeEm-A{2pk@+?7Cf;ha{mAxbM^J>)~>dbV+%Fa;F5U2 zVyh&q>-UCO0Nr@U=Ud%&BIdp3rK4%;-h9z3yY0gT-tCS;k51qLkF8}*dusOVE#RJW z7$iuMutLZ9LttQm-;tgvA=9*rS(aZVZKoJy+Mtn=N$3e982+8b{H22i`G8#H92|70v-?4zdsB{UTWg(7 z6=t}#-yXySDN)Y#51uoWJ;!d8>nl?FEuG9!@0KwmLfma-Wh@y^4lpvTrvQ=%TB0p9 zJ8d$1DP>8w#0AQ$N+Wb>4tFRlK=S@&$qaGW)RvR|i%Iig7awOveJtNHO_tU(f?dAScj{MfjwYnMF=Id-1 zPOJAw7^Xn-EyE!kCVKQWn+JxiM4~BXm6&n~W1Q9LG)0dRMRzK$I2rBgYh^zmojBV&m*T( z(z10E*re=7<(TAFyCD=FM;+;8jQyfEjNv&W2l>`=T559KGs$xk$fp=10FP|vrCNJC z$YF%?@2QH>cLDK&g$=DBJbLWsAt?oV2n9>;UbL zUexm>j9Czt-O!$&g*dWF%iFx^85&`EY1HW1m zzJQSp)K>Qemw58QWF3P!UB@209MobPyGtzEznO0&dx$vPq@II40rag%4Xy_36{|6{20tp2k)6w9g0G`vY2b_V8QC(OWPupj5!*242d252tE! z+O4G50b~s)R8ldt^k5WmjGUf-DxS?5!Gcmy%A1#ra-d_5*ax4kDMLm?#f{Z6RP&mh zZWLs{C*S-&l;($aSd+MQ?fj}IwpWodz=6oF*hMokWRxnFQV2hdP3Lk-j1l;QRF>6Y z!VUpB$E|2afa4fYIjeC5v?N)xj1CXAD?T&FC#SVHVxwRZcs-~JPY8Do;P$C-1j(XM z-+O`uT#a`|R4(lLb*4sRWZDPo%^zsk4loCDI@ZZG&`sR10;kSKO;>qj$=W#0Syo@a zzaL(554A@4jfoiAM^bTHTHu*oXJ$MMe@bHq3Ap5p@!Ou9)Md9$Z~}!tk3H(c&45=J z+sskXFcAuDb9q7G=SDHsC zQ_IQEVk)R-W?iU0PQdZc9ct@h6$_u6AF2NU_0%r}fdTZ#=S?se(#akHP(6V(38&xk zqTqJVYHyV%B>my-(va?p=8;(e?i7+cbBdY0MA>y^oB-^xNE}! zS=i(<$a1~7>G@L<<1%A$-JJ5IXFrB2b2Oe?$S~@;`IP65gptQi^$%UaF|4pW%;CRy z$8rPJNcQv|gRNf*=pxH)Q8^Aa`Df3{i`PMJdKNmJTN)_wS8XZcJjo& zT1H4CjOV5Xeg6RZ)s4`SHRQXDK7R3H*aI2QQ~v0DC=!RTpeXLit6`K>#t&AbvH;YQ7?#-bS;x zh%1nASYQsIDb6|0d-SZ`lGT?4&Hn(mi0-9|M`w|Mc3s7lM@|9zwF}+FB+qXV^CgcN z8;HQpbIv)%W7*wX`LfF2B%73;+#cD;&!!DjdyzJxMC3K8Msh|Jt1rx;_vGLY^PD;R z8v8!wx4B77OaL;+@|3{@G3k+<9*3G)&;#Yj{$Tli$YIYs9!cw1a!Yq_B*7dkGL`DQ z?jd>*2s!D}n6b-uVQv;Zi-kf#`9=@7KhCq{F0vBi3(552vS!g`3E?}4XJt%r z`1%SK6|{+7N8GG_@#{%6hIa_yZ63X`SX$(T0<1Fg+Z{7d?YVrnb~gs4e69B|&X5{=olFk3@wFWMPS4_)nBfPK4)WOB34U8Mg2SVFEx0dm_{9k|Bh z>yE;a)~!W;zLq?ZIS%Y4}WLm2+G6thQdBTW=fwHqfR_&_Iv z$<79TxU9>Ul3RG=Nm?*Y04RMSH^#U@GSnJ?WG;x#N8v7ehhqt}mm z)caG-b+>aE?U3&ZFc`=QBR%-VW@+%MMfbs6Ze!OhbKD-kH`f)WhC6#$t>epiYDWBE z1sLRxn8&B5tz?%|Nl6&ja4w;92$-;n8-Fp%k_gKJ20nmRE!=UEu{3Oat<27+?=Mi; z81I3R+OFB&TH9OR+*~P}%_X*yNh7fQbNE#V?q@esG=vA80ORI3;NUNy>}v@tn^UKy z$J@e}wyis<+{7$-KPv?Q6ON$rDwWW;XiP1$a&QkrgV&yGH_wjICQBKAbCu5|laKzr zT=RU$GORG!+~@9--0}RXES`p{25eHid=_aTiz9ONTx1`^J?mNvTYXLkytSD9rbH2t zy+|41hovxrmf$OZH!`unA-Kx_06(ozfXgM!vsnJ>SjgPj0CePR8P4I}qg$8FrHhlv z=OGiJgeYK8bW98}9^DB3wa;2ikR(fT%mTR}clp0V+qFq?aes4*=-4E%XSOg7Sb_-2 zxHr&ErU#CJB57XbpU z;!kB?{ zZQ9rbuwlWgELf~-B9N{#%I6^Q&Nwv|p=9>g3bK*r;X(P1(cEL$j-ItDz+H+22V!t{ z9;X;RdHPek3-l^2q$x8q6_Cfl&pQTiPBGho$2F~C1aPXy2@c3fEONyO7zgsKi-mY( zv=RNuzG*-wjOXSA=cj!7)kAEvZMm~{x_4o>Y1+6!*8|)0rk#TQ4zlOT4R37I{O-qk zV*oA*Jf7s>3ZC{$V`L#`!g7EXJf4{c2P2+pg{)UI!7S6k=9~rG$EePG<2?FtRqk(X z_x+CM#I$SNa;Jm9#&Uj@x@IQwSz8Eg<++Q_A(cTm+8hnPD)3KH$mkC>i+mAb*=pE@ z8|Nw*Faw}b-2G~_+Si#Nw6~R?%4J}#zaVx4?ve=U!9KNJZeqG=b|5?1R58wY1n23V zf|E!hq*n7S)Wsd5`E18;Jc6f!T!YVkD%I86K{+wJs?&9KUzvwffO=$_s};O&h+sg9 z7i$awob<=2^*yTX(8`2PH;&e+l5yOukiOZ8uK5){mDH9X`%)n1RfW z2N`q6_9+W&wr|*A0B1)5m11iA& zJXNT?Quh*w?T40(HYfWF+zjWQxaPcI>bn@O(q(P{&syp9`}dJj+@au&$Dtog^{mz@ z>}l*3kD~3)gK4Hm_C1Rx0b`xaTOPb)@~AEKbErzu>CNT{$X_rndUXm9Tzc1#UEM=8 zi*IaNP~6HDw*Ya#C%5Nac9Y_lh8cylDy;{~WGkO7K>UZ-Jo;B$D!Z6UhK%$(Ei+Hj zVVuJVw|kOWSI^HQHgZ^=Y8Tb4-I%Pzw4-L&$>%&1?bD2$`U>N;xtma#wOi-7zqVH= z%wkp*1b+ZH&(|2OTRm;BuVkLu(r9$}0;FO9H)M5YJ$XKy0^i>xm4OaJ963 z%#1QHdk>rQJv}OGJYI z`*c0eV?td)olJI+nGlSuj5dsR=N#i5t3*o@T@F1mG?F=)uX!jGZW$dxOn_4zNj~|j z@m^cQ7n^z)&5)3VPwr39+h6Gg8zv@RBrlLEa_VxGDu_{^(Zuaq7pXty_>Nkm?p1 zSkvc;rD)@jVWx^wl7XJSXvPW0V^<@*xr#V#w0N9=Liv(s0eWN>+)4a7t`h5A(qlvR z%|u+zt+F_xk!Dm11`bFd;Paew&|?(apB6}w8-aN2@4_foXD1)T!7x2Y2il|BqSZ63 z)O7jvOTV(udvPE|{oskbh1_~C9Gs3%O1-D(T7H!fn%2z}{{YWMa%AV+lloVgj~CfM zRyi+cl2<#6x9-6w?-Q04(P=l=S4w2Dd$~_1ah}{S{)A~MTzriliRN57`D+Rho&ovs zo|zkJsMF_JLxp=SqmLx~ta=}niBbOmeDhp#T==q7kww9UcMKmoFmu(`+8N5GbB+?JK;CWFF_%8S*PkaNPy^C*GD!F<8J}aHvU80pJ1;y>R+m8lH_5^Jt~yQ6Wif zmMpY+==Z-)+33h^T zF@w253ggA7`xnyO@k0MSkX`AT5m0yt7KS3iYz_Vc{OB$ZY> zU<)t=ZVVqd=bgaujw=IJ@coC0t%jqf%C@txF9pmbZXu3OOlP6*pUSz7CsUr!Q5r_F zn=YjzYl#Z1jr=c;er`GAuOpn*Qmt(m+;6HqZbcT+6^97Yk+&ogq>b6npaUnKd8|}M zR*jZFITWrJrqII$m>=TnfuF{snmeVMJE>i6CS?jrjjqGdRB%Rn;2&Ds6I(|LEK%)c z19pFm5O5E1$>5R4(z;W*n?!f|glzj|8;<3OMo#U{#Cl}z$>y`Jbfa!&mPT3K9atvg z{3H|ea&g81V1HaxGTMv%QpZtO%r?)xkY_Su?&lmGrvzj0G@sgL=HlyYTjaLe@{AP< zbI2p9;9z4u-kHg*fXtMPO5Bz&P;Yh;4W##n>X z>A7PjpR8NOD@>O6QAf;4v_+BwWFq6{Oaq=t>Q6YSE_K9tBD-l84K~q%m61-yFDkIhmDWkNtI2<32bo;?@}xv4?z zk%cHg+t<^Pk|>PU)*?oh-ZBM5L)0Z!>r$O15}j;c?J*&P0$~KB1%{+P)qX z8_CZv)RsB^Ba#Q8$53j$wxpIe7f_St{h>>${JT~n*uY|WDlktxbBr9C)VBLQmAia^ zncHssgRw&4R1Es^d*qSN6_rH#Y#iDhmVp(>)1qs`_ZKlKJb*YA*(%8c!!(Lq$T6J$ zrnr3}7TQ>D&(0Y@C`U!lZlmz7@;j)mkjoL?6y<-eFfMBuDK9!WB#NCNtxAI+Ni0)Q6bv~ZITC+Pc5+YD{5mn;5 zh7?zlMT{R`<(ij#bFlK+LZ6sttz-)3ZQZjxEi6lyjFNzLCX-9MxRxmHCx^;*Uztef zAl0c530f$m?VM+v`qZ|}QIJYU%1Y-sJo?sruTtEvp%j{nHsUyt91-pK@mSy5R;?akt1Z?dS%2kMrKS>Qt5XDi$_xUO9nX%fBDP zjx*_8MdX(j@@$lm{Ec)fX0}rt@RSFp4ng`F=5_1Ewt?-~c|uR(+%x|G)~-s@e7YJf zO!05Mg~s9n=KyfOkg1WvuN@n>!a)Qmx5slaW>;iDVfaLFwMJr=mqRDUjg# zjCkle8gBE2VondgKb10Q5OnaYR%oOS0!!jP(>_?!ST-rui=x{vuzvf@}?BKE_Zs2V;_!k zKPujxHjEv*54)aQd)AUB3noJ@eNW!{^v`Uc!mrz2Ey9N%Bd^L-9!Tk*Z*khOP1t4$ z5*>?>>_$r|&*jPg01DByMUL`0(0=YhtU2mQ8Txh4*1D8BvpFpef)`&UV#mxlH3?Xw zJ3+wDT57a=+$(dOa5(<}IHtxooVX)y2l+KhR@lrEK`AIx1QW?QKai z^thZ^VPOQ8V}{QpQv+<6MKbbnf;u1my*Z44ecnLmw8FwvWw;@E^}!hFL|xG+xIx?% zImzT7Oi?7hTNva4SAYv1r1r&BjfjsBWWhy;L04g!Yg52^Zfs7zKf z@ZM|383tah=m&3lvpuB5D@TElIrPu3x4l|RXrhFqZgT2!*yQ_@Rm<*nSji8KtDeLR zj30mh09`|yD$J!7t6LAvc_jW{&YdK8+ay@s5U|RT$x^?uT7TZ0boE_0H102gmLBj4Jyl|%^=-QV9^-HRrJ%q)fc#TWo%^%*0+ zX$`}cx4~>k4miM42OELG{3(*$2HK^tjF=?#83P@^`t`}&NvO{oEK@Ww!txNrjm!_- z1dwyz2O_YQdk>W9Zm(`_nURAG<3A|ca(?jl^#-}M*L4ZeTG71FNhn!x7!!iKhCu-2 zXC11Q#<{B7+%jC|bY@iyv6&f1Jwo=tbezk#gZj1uz z7}ZuS%_BD$P&wK`<0q~`s~Ua!Y7vP%vQR35OW<$*CBPWROdk2DQ%iGBTdSH^*GX%c zRJn3M+mJ{+^S6_aTB`)t*9xsNZcGE&IO&XXc^^s{3QrIEDDv2rX)*wh0Ar5fvOy!Y zLw7B$t;fkAiQ`c0-A2~?pfTea#%k^*5_5i`-Xj{KHO=eY2^v!s_x3<5!XHc0M2VI;)$Sio)tTZ>)Sm)$fYfcj*QQ;hRf_r zc_aPoxFwsQRO_I0NynL(5gTwVr&GOaM9t0Q|Vexjk#Vc}##@TrSaUNEtk`umpGZ z;PY51-I`5VSc2j)v(0wPk&%p(f^o_8&TBoIP3k0(fZ@+LI0G2qetqiH+N@GBmBBEa z-~s*8an3)^Yc6}(B~7J9AChs8z1xp(de%&c#S}%vDv}b%da;wK%M4fyk)#ML5~B1Xd;GcVr#a4F+cje=Xu2{N6SAA9@VKMIin z-d%oe-#6#}9qJk?D%*+YJP1<(!0O)h&E4JkyTEg}V}r*YmC#*Ek)d$d1ZKHd*=}ZH zdUO?>%^?eFbLRMf$A8MF7$%~+K|CuYM2)>ywncBr{x`qtR>j# zT)hnWZD+WTaUsAN#cb)0i652$80tFKdn>LAoT2JERDNB}sPlpu75nFqKMI)LG0RkL zEZf`5C`R6Y3dPi|npnsx+gSA-1zd{pCE8JhYDPKr_03Y1(+pZrdV&vBE~R&#okjX0)x zV%u}qZbv-+Rc->di13DXBX2ORhADi{fnC-A?&7~^TrvB(tYml8$h5&=d#zuF)Z z^*#Rp`qe!Bkx_Og49Wsvk1;^^{{SQWYTc5e870Qq2;*?*3E+=xa4MCwqDDtKQG#)g zPCunyk>X2e*B}rW4EJ9`I)TSpHR>reZ(2(lS!Zrpj_!K!K=;Yx^c9_SV`MT$xQv2# z9-E6}x#`!A^^pbiw=$U{&ydNrSYTt0IsRXntFb-1TE}ju<#4-zLoxwe*nvWWt0Y>|#wj27VYj&Yn*VKPl~ zmUdN@KIr8}2>$@}5m{+vdjJbT^uBR4bIdk4U{24v_&>$pJap_an%0G4NSe?-=Vds+ zC4%FxB=jU#Ca+_oM2a#kx0y7q=VN{JQTH*>AL<1%*)60-d2;b#SOR&-KQYER>rh=y zbXIqoKPn_8fIq}>$4&trpU$GTh@>Lrd5TtTrGN}_2JV@_r(wmLGu*{2vB|Jtfv{}^ zf^vEvr>$u`(gtwkIBa==P7X)j1P`V-{OdBp-cgs7?nVsi#F3o!>(8+LD*dbtdk!w< zDJ`}XF!yZcie^wKPGfJ&8KsydFq zcIt3>=DNK~($PQ?VWeD*u6p}^1DeIv_bi}67=lGjfeB?Ko(?;XgY&482o&MAiY8Mu zhxB;EnY+!z1>JbKqcnmXQG z1-Foi5SG9MF~?jH!NxO=z3D+{Z91H$J?hRPD=MSOa!8Dp-s)q=Z(wnp;8CZ-9Ov-hWOu9`Pwi0ITirZ{X>R0lp)>Mr0YP3eF_KtglUY9_syFIq zz2eUMp>3iQv4%PMSB`&LkT==^OJ`_MfxEEJY#;I~CGFvR$wHAM^2{^$PZ$h&>M}_7 zt+-+nY>2Q(z&n`ZhRy-+_lOTQy=$=lSP!vmbwjg-xBJcA|) za_fZ$XddT0k?T;}uu^Ad2@E+4xquD*{HL&7k5BW`rE5e~Mcw8yf=OZtB=pGkuF7yZrz4)4DK3LUG^Bt5+793G$*fDi z56+-myrHA(hvScI3|FE@Z3DxSi3sQ9JHfa_xOL=G)a}m(7J^gE?(=?4j?GW7-5RIi{ zQocy<$Q-e(4KGT9_C$=Zj?qsa#k-zMAAhZSJTQr1`!b@eY}j3g2ajRE;<~ABVK!~V zP+G)}rgx3sMO&UFWt0$0)}|ByL^D!k8GOHXl!p|lFsTd@WkMiZW-Me5Z<`y$3cwOR=T1{ zvdE03fB=;FuoQ3tj>FfcYq~c%Wc41er$ZE|6|N*>!6cjxgLXS(6@D4779Tcah}30N zo|xnUasGN%Y*~Ww%2`Ov>Wt60F5pQZVUP6BOz}^W>h0rub+?bokOE6h$FCqM@9&zX z%-l_zOR1q>EXpI^a4<91(EWR2tGufTmgS{w!HM7v#3=3C@~&=lyk&T9-|Vp~1z#j? zEC?SqNhEW}LDSN?%Y8=LOC(7Hn`T%+L6&&^&h0jCPd_kk= z$gQYNzV*oRt>YeS?SsJC_m96}Tt2a=>Kf_@wab*zVs_k+x*0A5bPO_8LG(E|q=&)3 z+4pIB<*n`+4*vk0w36}($Qj%02RQFt2AgkvWb<3>iA2sqzB0i*UpeQf{ zhtsv&iB-~f)ND%gG^MgO@Jgz(EAiK$>j%CD!Lw6B@wRZYt zjT*;}d>!HW9>QC%wq65)1VFon>^3fO`2HriDI|S+R=Cuq(r#>$;yr{%8+p>N2M)mD zRQDfv`qI6IuJ=3dx7%GP{>HVANe~Pe07y`d%_$%go=yWFOjS8_>*!DR)~|AxCMHsy%P9f_%?vhhBk%N~>_)2-hi z&3wU&@zGH@0D6}EDM{RESmuiZ|C@m+2uR-w2`f)Ufu!63B9df?H_x_N0O{KV{+!mZ zb|uL(yVEs|D_FHg({AIzA&5uV#~!%B{QWDSgH2f^X}rTDGXjU@O@kP~3CSPD$*&u^ z@Hd98Eu27vN!1_BJdx_yIQ+9yK^Km^IS>3xuOrm$SMIIBJHYe@>Hh%gu87GtV=8@_ z+v?Z4u8+K0Y@PyeP=+KnKZhLk``vIV*p@gf^!s>JG)o%{Ar_X+K|=F32dN<*B_DE-P2$sl!+x&Sx>x$RW7FAvECCi+h@{{U1%sFF@I z12eYM8ZLIO2V4#g4oyRoMZ;Yg|JM5bZZ52K3yn>Jy0d{YDLjIp1_QYmr)mgwArz3W zlR998q<^{bTAHam&X%?%XT`jft?V}EO42j7gKWpKIq8j zry~HKDJRzeWDg=Jas)`c7ghsk9;Ei;{{XL(c3_N&VmO_^xJCf&V}i@c>H!$ZJREl7 ztCzVBB^Zdfw=#|f&HlIwzdqB^fW}8(LIJ91_bqew2qrEjmuU{9v{I4?kwHH$Gc*d4qWRIxgp3XCiSQl%fg2rez{mdRd@ylfKo&l_@8;xGaTGTY1N&K68uPf}c zNCL;Wrw9QY{Javx6WgyHe34pDqb1d>E?mXts9lk}H*!mHmCt^d=z3Ot&9T&A8g%H+ zjL0Nb%JCn}3I!Qsz{y^RfJJ9k4|F&+)fBazNn)A{dvg?bd~XK@<2y^X=ffVj3=04< zde&QB!y;Pg(MlR=rBJdHj+iAjbs>Qvk4y}cQ{32UGfKA_dJnd;vdg^!Jh3ZdbYt)C z0FXv~>s@UvzQ&OGV4HZ$c}}2}C58yIc?fA^^Dx1mu_yRQIXw04V_CAdF|E0cBp{r5 zn~4B}oN#*ck6+HR?X5)ClH5lF+~iA@MhN6P7RVf~@q$TV(;U|<$0~}yT=m3>{NnLh8cG*aggdTyR-8*2NuToi~x<&o!W=2xGA`DoP6lbnGbjdiU zMq27&C?10qoKbmm2QkKQJhE|;dye4yRqHset;lN?A^F^r5>@^4*FN=udeF-fMJ30T zGi`OpIRlVSx3z8ky+zjDpanp?!NF$kGhMNjo{Y`J=&dhhc$7yF1xXC2IRuWMhpktH z1v8aTCRaS;l1EOovKHcHCweFXMI7Yx1b3+7x!WR(+(9Eg4u0#es-B&DS7Md)WHVJB zcNow>IE;&HxNYQJS!^TZdsQ@e(p~}?b^7T`&(U2kK1j3 zbf+V5-JEyDb;09*FM2X2Gq8b>X)kokX_OGphUc;CrqbnH_2Ar&55}@aAtu`2>G2&bo$<8`^56i76j^SN=)x&idC&XFp@gbiVvLGa7kJqut%Hn}Z2tfw`cl}#KlYPc6d_Scu1{7!c#qIz`_+a< zljjFAM0)%Bk6tQfGqI1$V7(ijr#|DQbSf*UoT{=pZiIJ@DhxPatfSm@2iw1;bN2zv z&MEZ9YHwA`jghOVN+zzk}3N{!{zUQnLP)w{V0@D z*p=M79BVbKkfGR$tDZB^bm!H3AL~-ZBas|aISi)+^&GAg`*g)uvywYYiFT_3Bi*w< zc%DBpa)0{tw#)XVMvM$M&$NSrRDch!C#R)lDwZE9(#EjIA;`|d>FO##$oW#6m4Q3G z$81)7c21~v?tC1pbw0fR04l$00SwO}J#n1pr*lHAkiD5c-MkJ!ALk;GVjF{l)N(q2 zMNadmc1To^skjm_4toyy^`#7F9#CDShC%7ut}9qpR=5bnkiZTNGC07`%kuGo*nKJ{ zY(!#wmjkNt&$nOJq6Xz=jROZ&>g4ywB!PiPw?!5+BC%Y68=MdEsM=;zv0-Oyg~42} zKBxNhs3o~;V#VX#=90%57$6MfjAw!m;a1|7>fjW&nUPR!W?URMYy;Y->nSTD9X9nW zqKlFCNy35s%wd%E&peJjGAg`Dac*S5SPc;x*+ zADvxz)-(wo?d5nY!{@0dKK#_Fa|VdSl*=kKw&X^L2nv6QcgXBTXI|M&xvuxTdod@L zK4rieBz=AV04mUuK`dha#QBpFRnr&_RN&-xVcN9dxQ5~baEuC`4)4gR6iGXpSy<#* zW0~^uF3uSW_1)8{9=^45Z6SZwG29pCjBr?vqdl-W9<`@%wrIGuMKVeNI2(8!%~y$T zT19n_%vH%CanIsMPL-32zM@RyHBCD4WVoK?kMD?Ok9IP_Z~(?}oOH)u*CnQgJw0Q- zl0@pASoRP zBl^~LC|%wo=DEc|3tJ?GqgG-{uoz@**#v?>7{JeJw{LEijrNEobwM7`qkwzx7v8k4 zB9w+}U@{ah)7YP-MP+a0voUin-S-23a+mio+s|WkR!@=H z0Of(mILA27IXqw*&YMQnp}BjsxNI@bzybMHc8{Am1RqR(HQJ@jsUoy?#aXf4L2i0+ z{{ZTtWxJUGc$a9&T(`b?!kX%IFVspzT0&gO5%XkbjrSH(dgp=%u*Gz0GDKf8007<8 zouaU9TI^dz99~+qfXRZypP1zK!0YK+3Yv*yDDq!$cU^ZJVEq_nd#t8Ris$ss$( z%g84jpRcu2I!&tGEy^>+G+*=2A!Sj}GW0kc4)thU-JscXYQtwcqQj29fbRV&NiS_S zJcPVNEY7(ES34gQm4?)K4=W;s4uImsRKj8P_|ai}w-Hm7cK+lW!Y_Rr;t6jg_+)eMbh zih05^$rOYX1wd2;{oIbVn>?=5Op=X`jzSaME;8Rk+x72OUG*50#!?hObF?!t0G#&& zoY$XtzVA}A1?2gzWL9NBGCp319FN13?@;WO%2DQMm&6)^TR{>eVdUIK@8VI<%zaNI zzk1}}?$Pe8-rx}>#@LIajrk-3!Aa$L_O4q~ zwhJQ8v7z~hoq#IMA0TZ5fY<{d{uResS6UskB9pPH2Bz-PnbacutsXGjLH_rs$aRlmD&25dhEDlR&3)7|n2mb)qT25C8)6m+M zSfaOPHmvT?!=VQ%KZlQRYDJAVe6f(Ba0xu^&T;G4n#@gh+TASRoS01D5DzB=ayn!j zoO)nZ$+~GvIXjh(eF*2CxTn)XY||)t0$C5*6-<$3m9c`SfzzB;gc8O#WwF?OJJm*! zrQhX-KyWg89+@0{4O#*w04TvA9G(wMWBS%>b4gyqu3$@$r-mM#E16_4&gwRRr=hL9 z5>YZ#jymzhQq(Pc$o#V4ob3m_OtlC~+7x9(2Y7Fr6+%X4BqT+`^(LaYfvnjbn67&h zkyK@xG@LITreUxWMVyP+>u1` zFOcBBPCJUpqP&^SI51itJnb8@qz}@np@cYi+j&vQ>_v5+Q8EabHxB2veZ^tj!6m)P z5XKiH0|ShDRI;Nk=2gMASRQE;AHP95Hgr>0M@sIzE3&S5!N*SctjMEyCz&nRdhX90aDA#M?I*c( zo;EHABBbix zo|*pu_16RzE1YiY*!IRgxTzv8%@fE1gSp%v?_+QTWN)N_X}diQW%8+vH)fy$HU2t70GI@WZtmW`Jg;{@^#JmWsVk^cbKsFvbb)vrC-I_7Wr-rZMk?Du+ztmL_=bCoezlz>3?*Y23?c$TIpA+h+#(qNyz_!FRCQ;X<5csN@dOFwtYCb&J@9dkfN|JU zjfryTi0lmT-U#j(Na%67v9Jth2cLiGTIiRCLpzdlhT9p!?and)#&PXgvCNT2EyQcN zUjQqv2wZgl@OcODq)Ft|uD8V#tTAFdAOK^gIO)$?6^rO&YLZ=DTr@WOJe;w~>UQ!m zo4Hy6 z#t_&PGQAC#7a-^6ENNvD&J~oaHxQ;6EKXILBY5 zbZae~w^v3BHjm~Fz9K;9u;^RY+ZDAnrG-IoY<(2>T(zE^OMjjj2=Dywax1oOM6Q}xmW;(O_|65 zhWZeHGh6!I^|qg=A-TB>BFpRvyJ;gB!0(Knao5_oo16KyCrj23_E{N>Yt_#<%J%m3 zrzsUl8CQO6FrbCJz%m#xDngP-&ln@MW&Nfj3~1c>TZZhN*d%e2+m6+@cc!P$-{T^ZKJxHMr=?=46QPd6@mFw05W*s_u{s# z6NMmvC0t-xhp2X6@es!`VpL;%DVQ{q)kFQ1_-KwQc_OtHgUCq`^5GC065}p zbeoeKO9YE)26@I#S&tYazE7vWy>uF7oGhMh<8kG#WL#%<&vqaTbR9A=TSjJ6T55Go za&7j_A={6Ya7!+70^`3=!?kAJYcFa`%fxSxt~qA(00CLIx}MfsD|Ffse~528fzAoz zr*lkaB)UjdWZQznf(i7;O5N7B#yq#&>U6uULh=yT(hDnN#~3oW_W+&0jYq0$5J0I0 zmcms*^E9EG@(YUMq5DmwPi|(Cd9$20N|is}Cl$4!v{p8cCDzi;{IZM%C!iSgq0Z?O zDt(IcSl()7TH(yFMmLX>1D?PS>s)Q+wxe|>(FjOlI5-#tFF!U8b6%fut{0v-?Iww2 zlx56>wtHj%JJol%jTNK2K_h}dY+#S6vth@=kahp2H`-RlbJm z?8dMVu|7V8p~^^Np&QR7?qu} z@-f_`0iC%#oaV2`GsQv|-o^tp z%c`Ioi<}Gr_4MpND(s~@XmV6nC|pIV-d+ovM%sz^}QS=Qwv<3<24HKDD8x7<9sI zEmagM;ryT%l{^fbtH`mck<)WOT%WIc=c9+l z-YrinTe)2?P8t2xnfc`Ga{Y%LzY6QTKj6(DNs;EhL3^n>gEZ1E_sbKVzKhcxtErrb zkTgmag6+n5QSa(~xTNIPh;~*uJqJec_Kc5vq-n-klV2D{-&e-uG^wW2uHMxf1bCHx_-Pawl(zr2g;(rY&DRm~TW?7Gx=Q6~c4ml;T z4@`>Rn^cqKZ!0^L?TvWCoO*j6qo+!xZ{jO`LjF5dh^LddyksAg;1$Woexip25tCg8 zX>%sHlHFO#Bt&hSbI*RO*pb-RU2P08G6 zr8^mv%l@#5HjkS;;P&<6xVP26vb7~^>C)QWHvm|IA0vZ@A1^#{>6(g7C&oJD=J!y& zO)e=p@}L=zFZWD@^~X{LPp5b*OSGLX&?NI=w!5)*0G?YXif%%TO7?o(539*OogC9S zahVhSNL&u@g~wi;pVqqj&2IkJPZM0(G*V345sR)LkL2 z31Iw^Fqj0NKq{(OT7?#>1SAqi#rw4HFfIhUXEztR`xyb20 zE3uV+#9=yh)GM`M3}aw3$OI6r?Z?*!uG)Bl?n{U*qGN*);SQGm+^UYP^{ynY^;tyQ&KnJxUu zcmoK?yLce*M_l`XimQ90-st7Ll3MKSc1VF6RP+F30&(A-E9Dcm=h52e^ea7V+(LxL z&2h-acE+dGvD@0Z9X7(#QfTFxU$jdZ``u$!@3aBfcR9eX9*oOra{-lGcHrDLTRrkJ zJND=C>0XVaT?>22=CMFvy9Dnz8wmVHOIJdwp64X!w0GK%ge@A@FR+6I_T%jlmEa=| zj>D%?KDCh^t#PU8UuAUJsl^~nk=AAC*f_vE=iA!4FSV?)1u``3WBKqhrM)=9j1Tdy zOIMD0Zv5y|$d(PeU2q$wa6QlETG=C=Z(~x@+RA&S)RZ&aI_)^lOA*K+Pw?}M)LNt| zGzw&lv|lu3iv?lMK^;#AJ$huZ5;3pao^vu&5Z4xVnSIt z-5J8LDmI)Rm;`4XDqe<-buL=kD@o*;w|NDD2N*IrXCx8F3UUWRN&IfweU>KsWYT?| zmQUTj;2A*m4Z{t^vygi6(zD?5(#}R~iBuT~-GVvJd*=t7bOVlSM%m|=bT;s`lMG?P zu2q*A<+^jm255nt$d>ircAI{U9AR7sh!N(jxg?_;`FT0xt`8Zj65ZSCc9s^_F!>S` z1~x3gzC*E&2Py#vJp+2?l2~uu#kQdguM0?G4H*C`j#=d(0zqMoqmN!iWolY$T1MK9 zow8pnYbFzU5~4_O%Akf0!?5E$4_diNSd@*M+e`W6g7z!(71e?VJ4V>HpO~-;PURq+ z5^zQbTElHYEm}$L?smz7$H*;oH@ z7%`AAM{~!eSC->Xw|H+uB3n#}7!LR)*kmIC&J^w2k>42PS2XOM(9(MjzI!<=;<$x; zn}&FVs-=&b?edmV#eQrP(B$I-J?%psi`m@W+bQ#5j3WglV)=4Yjlkg;^Uh8(bAedF zE#)3v!rV z9J!vRi5gZDn_H+}0wiW_&g13*!tPQ@IVW~V``IA(BDCXGK=$hxFsu(>AYJAJ6~mEqWoj2vM{pzX$at#kdIr8CTDiDH?NpUmX) z08peKmp$v3R-W9#maL8DhETu}*9V~BgvbEkeqiTXO)+MKiDOBN07?@TVr!~A^ za~UJGh^yO)XSgiGG2u?su^T{00$p{M; zGRHj|`==kBYTMoJL`NG$$f~7DWXb!ZoO6oogwx#5m7NOR%cZ)dl-^>?k}dZPFz8cbA_+4G^p61MEJme%`o`Baub);L)@m|@5 ziuWXM>W&8_IPdL6I=8tpg1wE?GU1~unIj!Q;|KBPk~u(PBydY`0Q4Wqxyj+v^-b`s ztz&;~Ltz}DB!B2iYeK@=kM1IGIi)+EMI#E`hAU5Kwn9|8+||0aEf{nIb~ri5J+V)7 z6cEOsWJ)oElbW!I(ZJEd6im4pJmC7$MvBmux%sA2a94qkN~Y7)En~zWMdDp9&g)K+OX&X7Da}SGHoDj1#kiN_xx)%<&0z~ZJSBR#|)<& zRmmPFLpqWJXCu?UKT4r=##1zIK>gp%*KirYBiPpJNJ%k<2@AIxX#>q9=^H7RKhq`fS)#8usG;XAd%ZX z{p*fZHE3io+0S(nEyHjC81!NHLwb%5M@&@KPEk>&V4^9Cji(z<_AUhd|RS6Z9Tn8@--CQNi3bM*fJ>r}1F#Gp!^e%z4hiF<4@Mowda^K#z(!wi;qi=P>H1Y!8Cm?dahVSaSPYzG z@z%DM!ntBH^EtU}4Z(H}z<1-XdUz5?Ht7xwgA0?+K9!#w>utRNY%s{_$NN9zR$bPo za7LzAX=Q>aoK4i1Rv`K>a!)uo{{SYFO4<^n?ohV8TV?X6VxR$rDZt3iat3fm zIW=+b)=(j~nPiehJ9hF2^~mFo&Yf=yMy((iNeII?7|;2~0sM$-~IJDr2fm4@%`jFI&(ll-bfr`pT`XOO&qC~ez#>)RCgCX(YGQ7ah- zEJt6UJ$}6^%K0HgWMqyqPhbAMZDdW#@!Gn^WR`8g0Kq6XsUQp!(EeGeq*z#OV&o{s zOE(_9Fe;R?q>Avf1yi|L_3NB&2R%h(TwF;MW+_>=g$IrYUOhSEALlikxlw60Sy^r8 zB3pS16>X|R79SxXh7FO%G05v#I)%8F>eB8~CS(n@*8>~4$Q+6d!bVy*lY2i>J$*4* z@}1H2#A(I>I0Lu&6@zHC3o?Y0+)m}8o6AKw&jpDdohvHp-r0<>%J@rws_cDt432ws z{OeBV?B*P*E3fxYI0K63?_gLrGysyV!j3+p9rIXAMWN9h?sH=0rIP+)r3_@KkNCH! zB}u^kCEyHm??tWTH(G7RA$17t#G6TQ`Ej(bY@BnC#;hq=CGsLgK`G0r92ZlbJ$UVc zJu4pbP+4JT-{qpYQWS0kugX4A+m6Q{jc`wMy4Ng2G87TqDN+ya*qr%`)C1F~$4awy zmThakb;^eT2=GH^Ki5CF=j0ZG8e;yC1E{8U{{y^+Z>43aWW>N`^| zZX%NH)S+g#3-c3#xBzpHeEn-OV?Ui7(aF9wT$Uu96OMwF`w1;IH>JCB0a8?qa7`!L z8Q*Dq2KjT>=Jc#PgCugSA2DWK!)`JTdYtyDEw4#Q6rJ)$1AL<=-;8x0xWVm3^$uMQ zk}2ba815H?->Bo>sA`iy86+7*rs4R5e%HL;WNW==smw$%4q0}+A|)>BYs$c?0DxQt->1064T&}@yE@N zZ(4k*mJA#)-|_%E9_0T3DrC|k4nW?;a=mldZTIG}w^H2O(T$o(JnX3}?f!i$4)%MD zBx||RNg#F^>sBPVnkFjSl@M+O430SK*P*L2NBf0k1)O9aa!U_k{(E{-k!mS!VMX5(8{KxR6OQ=B zRN_LF%MQeJ7$9fy?N&(v!95v3!0nFb>T0=G&Q-El@%fT*{(DsFa(82B1Olh9_pAm> zJn|g2es)~?{{Z^B)@5h1TL3c8NYlAz6l0ec#CR=}v2lJ8iFU z-*H%EzdVtQ4B(&t099$&TO%;@BO8LY?!(tVuTJ%ycP*X5wxF?ZjxUtt1M}k}p*=be zdQVYHb48jPLAerZW&F zoczF%fEUxYex|BC!^)HGNMm&Sqty@HAo0Ne06bQZ*iBn=KKVG!m7||4b&`1B8_21}+d{Udr)n1yzO&_qmK6&OC*~+v3^6CT&p!R@ zAH%k@J6>7pajMK@j2Q!LDpwnVk?Kb$KHS%Lrx~rZ>ETGl!^yoJm=M@efJ+?Yfsagd z}DA%P?%k(loLpbn()2Ts{1j%#;IsxniyhbGn%+{rbx|RN0aKshex2N*RN0)5Os}YR(V*`f-XFI((6_={dXCyypRr^cKq{tn?AdpW5a2E#{9e#Lcy8@HGtirUm|ApmA$fPXRmeU{=&nC&g&jbnJ4cAIg|;>f28<&FXG#yB6I6&3V4 zsi(P{E!#$BwYI`W;hYy-o;bkI1o~pG>Do=toU1PHK0u~5QO@#x4_&{Py=lj!i}{sP zA81{{ra9P*PIL9_0sRM4RS{`dQAeiDDy)$@yDlFpe(=v;pmhHL8jeF(GV7!kL?$OEY-@~k_Hi=8)O51BHkSx6xZ z90Bf5eqayQh^A{f_o}IsXD+Aa+&T|oimTY3R?f+E`uJJnIr+3_Tf%DWMJ`J_1Kc|g@whENC7M`4n2W5&*NJ*cUFjrYv*r~)PyDy6p_^K z833A|XVg-pw<&4*yG?uK$)B@AckYm9f!7%AUiaavn67P->K9V2k~Z)F^uhgm*NLu- zwzmfC`I1X0V7wL_^V7HETAF3kOw@TPdUe_t-Ut-2DI~po@K;@ z85xft4xoB;=~3&N&8?l3voTpE3$!bB896(#&~izyMQN$T`x{g0vD(-}X#{OO#Nd>L zMp=P9PhdSss1h0Ho;fvG8tkiWL{s~?f{gMGGsx@tR}~a`hM0|cr%WfBRLf-W;Pu(S zz!|_9#b#c7Rf#Q4t&OCOb})_{ff_jLmIt2L09NsE68R?^@J6MDL?`T??4xDJ8=KBa9#71mh>u^v!bGbUK%bWfz*prjtb(9&MZlBy-Rz zdwP>zzhL&-KAP=mZWb-3NaIW{SoB=_^y}|e8mYZS>>4=>KZo`ayi0O_v~Nz z0Hl$G9RqR3b6(M*+Z$;9#bO1r3@8JYD7`uTMtXlfb56IrYZO@l5?(g>2SC1O;yMff zE3UlNbiE?jA&?eA0VAi-l0xy0nH1C;lWpi{Dwfd`O=6IfA>7A+(vF0mz0Y(0eJYi} zMut@jNmo$EgkqP#MH!aZ&^H)l^di8&D>X=)Fc>(K6Q2m>Ae04&zBl3NqWC%LoYuNi3ieXhwhc;mZ-u6(c= zoFT~@21p0LOjj7+6=u{{)%2|{<4^z}FsuwVhT{Q=&VGWrTOSR0J5Rm)HHMrnu*?gz zV2#a=?xTT@qq*ljyC;@NVe&1~8%WS`kKP_R;Q$}buysx0O(V?gwVxJV53^~W97|+~ z6^-sB`ISk@$UKo$4~8{;Zf1*Dyb@){?lkrJTOWsS0^v8+Ue$DkkM^`SP)(HI&xfsK?+6`i%UgejF~ zofdg82RUPm40Xw?Q)!V~D_Bc?G>;G)TFn#7iE)5Q0GR&(6I*s?S=W~=zuDHzTxIam z$;ti^!j5ozn%tLF(R4^*(^6={;ek<)F^)MUR2-AvIITG(^)QuPbUe22Oz|CrD9wFy zacZO~RAn-%_c_7bdG!_2TIh`>quuG(b3BLUMrj8v*n0v;BAYA`qscy*HPyQE%Nv(y zSI}b(fzLt3W!!2yvdJX&mM(5&06dVXRgqVNxg^Hc8Q_eb-6)E-=x#}xa>3#V-XONH zUC+1#edQ&Y9O@58Qol6oH91y+y777+k%BbLx8Ir9MN z^&Y;pZ&KG})a_b5BHG~Y0k`ZZ0l+<5gIe7Z`xUOP{6%|ob*Ivo3ZOCxHa^fv0LaQ4|5v4@xaapC3hjmesj{QGYLnyv+1IE!_M0Y=W)gX>%r%q)#ld_K+$ftV8|GP zdTrWy`qx@C+tij%v0R;t#zEvC!z2Fy9Tm!4$#y);E2x?j0D~$h!S)QNzIo&Itg36U z=_Z-~(D(gjc;scbf(4D!1T!cI+#CRU`giB zk3G6aa~$N`{{XDocqDOyk<-6ky@huAUElVE5F1ERJ^M zJ;twve%U%nB=VyXkaF8!apdsWBzhI&nwIawHkMvQvdCkE#7aNj*(m4_IT=0pHP^Jm zG1?X^9Fu|ys3V@LFh2^(yp$o9#%M&axXPpQ4*vkW0Po!T)AmMgt;^PTn%>Pv%Smx-cM)$ehvOr!VtMr9xVsj-(Jl^=HO#`s;AROx z1~}P{Hnu^){XaVHZZvH<(W8K}u_I|ihRz2dbjEonwOWb5((~ua9jDRtZ=~msIg+cUYtHmLXOO=^Q zDiDakobEh_+&FBG7>?qlD3;r^DTd)083-e59Gs4w{{W?B>DO1|Pie1;`Klevk^-Xy zC~d&<06gP8F;hL>*&~Wb_reY&3D`IVh|fH6{!LPMR|!6Y%&^-+C3f08p}9aLq=im4 zkR+;gl~502m|z z)4AK6`}2(H?&3{N0<^wdid0DI+XRh`fT(2v05R-&C#kJeH#U~96jK>QZyVzSb0c!# zj)w}^_rUk6V&*&WpE07Y+<&RINg)E#!m`556n}x`&@G?63D8ms-%Yuc81&s@Pa)+InR2_k=YZ?*zC0E zyohA6yJcs1*oEW*oyZ3~4EoljI%VXk4Dd;^C}Il04X(WO3{U0_U|2?nQG)W(-dB|s z4`2c0p^3B=XBdz_v&|_&7a(rDe^iNgMVP%Ovt_X$&iZyZ|FX+`a?m1K4w)%vR2dWPMsv zWKn48n9vM7a%bk;a&wyJ^t~e09mSovN#bp?OS>l=5sdSO{VTH4w3~SDKG-4K<>ZhK zequR3{*}>6ZrT~&QP(;prSuX^LJ4HfW!d}A20p(^!_cH{3NaLsJl1gysVb>B$M>_7 zn%n->S#?W`YZL?Qy9AEkC{RXDGs7RHREGT9n60e>$d^pgf)6oWGPy~kiL!@PwvC~=gpnJT z%D43E#c0@Cc~{j)Vc)xa`qpXNWa9CWZ@07@?5lh3G)_J!=u9xVM|^aH8RtB#sEra>uP$y3*|v zRFX@1SfVaQ=FeWh)mUuhx(_UJlaNPD5C_(xtw(zlmW7#YY%Z;bl!z|DQ41bY;NNvi2ZAzB4}*Iz&SpW5ETCaT9{etOJ_v{ksRRX zJ+a8F>)WrANYrgT20_Q?S+R@RBl~Q#2*DjAA1@xKJl8X*UQEQ3Fkrm`wln$HQmtf9 zA#wzrB}<36VyaHzo-tSEa9bem`E&KIYRctj{nYMMo{G#f{cC2)Cq^Pg`2hp~bCc;< z#}#JmYT=;-YSLUXH~OsdbIBRU=~3Ls8uJmZ>4LENzmKP<(yvVniMi15fNsx18-tIf zRi6-|+#>Q>mv(vN<37DBuiE>!Gvw+KGh9b#Fi;&8< zh9#0n*noIcaB@Qtkf8MM$rUAxMJJXXN0_aF?%*BYk2$K>OC+!?QNkMxFhK((kLkra z()MWNg5lF8dgBji5KQp%dSbrI(7ByQC?g}3KFbK zXB%6O%k$!_Pd&r8nSet4q~L;c(B%CpjJFZB!C7L*7|9BheBpNi zk8Y$?-t2BVkws{}U(!ZLDLp)oE3IpJ-23xVuCy`ZUdyOJwy*AS{5@aK)kYoy@ zc>CRX$?M;xPv?2C2_uzVi6EHRGK1<*`Tn(!s9Hfa#ByB3ZdFD{&VKhoFgXC9!mdKL z_VM{?7R7chNnO139{h9_y6%W+TT*zQRzQ;-rx_u7XFUNuMOV9;GcfYN9D0ABYP#z2 zqcV-njsW97O#c8{$Tu-vt4NtAA#scqK7?0Fj+&9VLe?1MyOMaK+L01BbtLGf(XM5^z40W8Kjnb+{D;kLpdY`DtI7cq0i%rAeDrpp=$C;quV44 zmyaam@<8Wk#&S*wl&fo@QAW~;8RQeY7l?1zRP0ge zG7frskyjNhA7slC$(#_|MhHCQRd$*^q128}LGO;gUTLp!ENH>T)#;TRj!%4ct>G)H zkl;-v#Bn#4j|wr zsa@7VW0l!};e!AI70JtSo!krzb)r&9T?#7t8?NyXVPoa1bp)Jo`PCUMZmytvc;{7i z2Q2HmAbrv~7$f}kqGylD7Ekvk3^KVS4nK>W5s`|@OL!tsw)03?KpUDuq&Pej1q{6=(V+uZF^rX}zzk3NIw2)g}N`#>xHrDJwI1B+8>si;b zN#>`V%I%+#@rDQW#(Gi-?_`he$Bdr4v-szyYMyfWG$yyV*iF^WWV$F7nDk-P@Gv^^ zD=y|qCkAc*051SGaxvQ({Qm$Nk*B$R)~vz5a$B~wm=K(&~sR+8*-K=X90%cwMTxupXpUE9BmA6UPT#Tah5<7@I655 z>seCVME?Lh!{$&_V?RCs^!!gXLR-*4k_g7&g@*4>p!!rwWyNY(kz%@LkqHvA?&P14 zsr13icOQmpnr8c3OD5Gvkdj+&74w2{I~InQIqe$~w_&e*}&ZNo<|p9V~EC^*;&#s)ZU7mw#!R-rAJc|Z~$ z%uuCJGaiM9ah^>{WTE0Jg^LsOqbN9Gk)B~7!#Qa$f~;d%WnpbFX ziaNMsj_GA<#xayCLWWbF>y4m{j1qo?)^+uqO)s3v66b3RcDIYk z#FI#VO!Rzl^5fSh9feiAmQS->#+YP|GMj-5^Y<7(-OnDltx~>R5VF4a4g0`G-HU>8 zoDSp<=hV{;gjZ%iGTg&AnY#^=g@!Q9S3I5w$>e=$Fwmo8bZ<1PWl`k3BN7I|40#1X zCzb>daY(mA?Isx%M(S4?8By3Ao}7=%rDo`GBzjb~Vn()cBbVNzW9)sbfa4sTVDZTq zq{>^%aU^;2p*xS6&JJ|ho5ZQa)nGwItP^I5X$e`!Z^ z3we<#1@X`$fq|Z^PJa>7bnk7{$Te@)GK!c`OKE20w(R20HzCu4?^8<7qM6#g$Bi zlelAZFBv4@Eik8yFcXC#9&MwTVc8&I zFsKRR=3;sL`_maV?|k=Oz0Ps^`qLF9-0>hRuG{wj^X{N@Z-{yu7nnqAqkWL0yztm(@PX7R8 zsOiwb)1kSVb&d9;$^(4d5Ts|OImqeWw0wm(Dy=K|c?7cogR+F zo;cZyNgq37{_YM2Nj&==)qV|H!W8=@rM#1X88eIkyc~>V5=cLvTC;r(wY-gK56RW&hAZMPxg=E+Z-#%Epy}oF{2LXcTp1cfWrzW&Y+L6tDMY+H62BUFoH0z%x zHWEoBWkYA>z}!7?)7KTf9;S4AAMGo^X1ztoUBvAqAK_n=9lb^ee44IVE#+D5Jrf-uTK4aQl1gNoh`OqSAH7*`iJ^TTib zxq0Q;%&MsbU^eF`Avol>81$~b#_H2fwTcbP6loaT%!-Qm9G#~)80R?|JOS3Biq2Je zuiALp7~g9vD9Sj=JhA<8$75bu70t(qb?BtCMjBLi7>!2@aU%C8g;X8C`uu8}WO8#H zKZqqan!8?FCd*fR?U0hUCNtEa^*slFt$JOKr(vyWV(w_#26Yi578{gw$tR7(^dN9C z$6DfiO8C^|ju02hW{>x013AlMJr^g}ucdQW5lL+e+*>pGwv2qzt%$;t!w+6S$m!qL zJadvw+hejc?;9ST*37I)NUse76_6;xKPptBrhFuPFo`wKA5ciD$%X%?sY4*F4ve* zDuc8UkCYYz0De4siq%g|2#hS)%?8d}Z8|s~%T_0O!NFmkOB2T(y}heG+F___Uu=~f z?O@0%Gqt(F1pffENXhi=R<0&_ifJ)FnR7D?6;7kjkO4V39esGIWx0X~1*BN>2Hc$O zK&VM@RD1qpckPS0zoBB`?)3dR9@ahwF3fiA+(ua7oMiOR&o|vxV|LO~7s= z9>YAGpU;}u)~_`^LMVL4F~hfNqAuOo>4A*n8OC`%dsZciwDPpmOB8X#$W_Q=$lY=fa00JDI(m;v=cl)lNk~kR2vVJ^t+tZ(?HIsKq$)D* z+y+;{+Jhe5f5$aKOD2Ltbfkzu3c+#naoe{C9Mk1SobL89Au=O5MDn3hMgbsXeR})V z$GUb5Wn&m#{{VO}_Qy)8CZN|>LftLPs^qKfDn|eu`sc4Sx`nIx0sQ<%I43wYn$uFA zrnaAXr{1E)c&He*0Sr?=?*rfQrIOah)XNewo_Anni2lFMxw}YhU zYcl@k)zVWS%N9Q=#~|a=>sJ;;mZiuoR^~)#U@VInGGJ{79XUCzg?%pNe!~;1Orz&T z&OU*_#aFYpcgsy0q^Af(MS%6>ecV;s=#Ka;W4KL(670$vKs~v~HAt5(<`vehb8Z=2 zGPFkk6>Kttz#Yk~zqdZ3>hVey*zPU2?&S9erYiQMZE*UWX7Fa(0o5d2k_Q|T2+yg_ zU>IN*IgF@A1TiP?5Odq>%~k9;-JO1)uUuN)eU&9I^Oax@K`Hl}1Go7V+_GBDJnJOt zWDy3r$jC(`5xYIB$03q?OPJajHn{~$^Ui;Z9+)1K`{{04Rl1f|k#2U!A{OAZc?i#r z#Yhy@D-X#UX3gWw(u( zeA02jASeLzKQI_Sm32^uHoXpN%|VmN;Y|cv1xr=5CmUW5-MY3iO0wYAJ=Mmqpjz!) zxUX#C+k-#urRNw>-5BFNt48lsWmdP-BQnY{6UiVk#*Wwk41iqwE=R34-q%mk)M}c{ z-)p&=MOA0}sP1uuL(|ZAHPh_*HaT5aEzCP#7x=SPOR02iA(BXcibmjX;1E7vuN{5r zgnCYmu3keYjP;kjo&^9}%BI>B$>(a43v=9%E77BoEm5xGMMjxddoM2{0&#`vah{l} zx{j4Lx{&74VTD)yWa_fN&Hcg7G3tBz)8~-w9;ThJ(RBEuf+dC+p#`Ey$T6SP*sbMhK29udTP*oI3!ByPJ3b zk_zYMV#9{PuIek#wJ(tfUoEiGG>i8#0o%8+_0LbOaaNZ1njN~?-COz2R3Mf=opX=k zP8*K78LpQ~ztAo1-YD)-Wqh=rYZYQh=K+rbt}o1*kS3c>652s<)0km*+)-G@T^Qu< zAmj{o80W2QX~#&mmP>mW5;wOdJP5WjkTds>-UJ??oSufUM!Tm+5XIKqMxn_0fXMI1 z0OG5ztqs&0E#?O5IFe$jM&hnAr_%@j0M}NuGu-cHyfMM$EJUzUNi3k}^Ze@~^83me zj@C(t8Tm?{eX@A0H1Q3y#S2bMJI7ZbZawkOVOpMHjSlitf8A0!Iq90W6wFsLXP@f# zvR&W8w_0zPY*Q^Gj0M}Dmx6ou!4&&leqBE7K$A7Z3Nhu5b}$*_bzTn#{6%z{mYW^) zQb5n;M$MMkcDdR^XFY-M-`=zB?d^WYzf6^yNpgI`m{JEuX5(?_2OnQr%I@|$Ri5Sj zFIAIO^X0n=k)sn6D+Vnd1~ND!2RW?!jdfB*f;V;DxHiF)v=3b4pIYbj3FV0+y|_eM z#pyP>0Hon|f zCIc=TAanygPXOYnr;1>?jV&Pp;W=-Z5*2&!+>U>hL$lPbMvwo|_C<@t4Q+9Id_0); zY*c1Di5<3)lDHZ5&0m)HO|p$Al4&Pbj1jZ$F&u2&gM-h0Dy7Dsb1O?U*9@0(07y=* z0Oy0oJ7>7-ioK=5m>|>TKVwxvfcOeVbH+UnT;je`Iv+_XYHoOc#PgXJ2<%Kya22vo z2d+Ws>~USzpzm{Tmm(sP#q+LDOm#n%bCwo1w#W=~uHJtx z&&`wfk?q{Nq*dmIj<-m}=BE#P=Y2|v4xa>b7ycagWb z_v5ux$X$x_-Nwb z(8*|8bU}bVZNOxL4@?u51E+2dahjeu73Ga2jFA@J2>w>*K4oN)LtYIdNY}7oHJK^x8stgu8PfYC`4#bY58N&)LW_yVX zEM$@$dX~T&bN<%c9{ll+NYv9(ybyzX>SrNVik$_ zShJ1HGFzN?Z1?=?M!dT>2)9hg%o|}NjH;Z0jzQ>7dgrgMw;+*L)pHtS}%nnv=26&s1mXCUNtJPvvMYKlht zg2v2~d3nUZ08=<8BO^KJI6b;nRU2fayOgz9WWBbE@>n)WZgSg+49W_q#?iwNN$LG7 zT4lJl^5lpK1o#_cBYTd-=Nns}z;vi@VuIizz7Yl)_7nU>XD6d`p5ycAMD1=KTVm3J zWK5iv8?br~m>6%%*0FDu+@^^WP`SEXT_IIueayUqIyN!JGweEdJl2hrbF%EXDJ{v6 zu?iS2(lDnSoZ$Ze`s%Hjw_^+gdjeQ+3jhahc*n8FCmqdCq{^0;mr!*(xEVaF4a1xQ z2q&6p+*Z)gw`lBdVY>7G0Cg4=G3Ole2pr=lspt9EU#VQQI*drX&d5iZv!Uub91)7( zrgSO-xeSr=7B$*A&)w*8pQ-&TOGBOwG|6!^^4(oK844K4EI@Mxv z*v#-bcL3pWlpc-9$sV;sRlJgDa*@blizONs+U!Pio^VI86skgB5*IVIk+*5A5A6oD zSMws9kjcvYzP^Okmzb}q`O+6vfNexCwHUWwm$@B}YU8xbT3SVNtfn~?TYHeM`Q<|Z z0MD;V+_AqGH>xC#FtIn91F+8KCy&FeYYMtM5h&_*MBCf{0Hn&PZjuj~obp)UW7e)E zhUt)fq17WyC@tUDIIe2@R?_4#JogG(Fhai4z%k=FACSdrzlbd3SkvsUbsMVUKni5% z9OP!Sgs-`rqRyH(iSn~Jo<&@4&r$RoRxYxZnw-n0JdG1ZrIf22?j6BA3{(bPZaMtf zt>L$|%7jwe*yQqCXc+p`rr#HhCZRk*;TcV%?uYfyTHQF=#fe1aH2(k)UTOCc$Eqp1 zx0RYCxkHWHc*Ey_efn0X{3H=Bq`R$17$piF;Dgt`KT6paT69*jTh10yagsqeI6cNX zR|RW-s(5!&Z?#7q)|0pdlxNM0x6C_=<$Up8MweGQyDRCw+98q>krG_6T>S@1k5cg! zhNr2WC`Tg05yLS|M(6vWf;sibt*E34Z7tL#rQgV9?exgOtcb3(o1-H_p(Y0o=W6qg zq~onzZm%m6oz8aS_cGiYX!0cJLKApi-#1e4T^^sB2BNf+)M zmwtC1diz&J7w$ChjH@Jzj#vzztzzlj+`INX`r==4bFdEm{{RZ&brd&@CqzKN;5Iq^Yp=MHCkl#+n~-rTB{^$1kj^CV^#Mfu*m8481?#ORePqvirtqxi3cMf^zZN1vz*%!({gFN#D-a7W@d=xa5*_W z{{UV&s~4n3o50V=7-N#z8R_|8Q(jH+!12McA`RM9fJ9o2mhrjve2^upj_VN&nn+lPfFu>eN&)(1B){*9(LaM-T zW+(#^Gq{HOcFh+NtII5bfRZepI0ZmC8SBqd2XRv=*@cbEebTr0!5Q89fA#BKCx#|i zOsdQjlb*R8U=QYN9^KpQyU>76F`rTX2Bx-ah9P#9X5cXy13hwjS9Lijv6G2yp5TM! zI(e==OOE}%lw3vT#Kz^EE#rVy+{KCKmNL~WRc@p7z~CZ zZbm>K#CiQH9ppP$hSg2EL2j;D@)vm|40Xu&#%jEcsXWrj35?tQ%w($qdGDN$VN$*! z$5c|qnBDrv~!)*%6 z8CWxv+;O=>6P%OHOks3665NZ3U(Of{Aq@Ue<-ZfoeX~c}ZP1O+-=lRUj{_Zg(ln7v zF_B{)P*a0|$B~>I`qXCG{Irg5FJ?Ct0D_qLcpUTSD_VMJW7fu&1c<7{w#GY29I5H} z)q8tMW5dY1u=|+ck&>5Zlemt#JxAqRrpbB@ zkzhFhs{nJ6)96o8S(i4J!ezKDq_AJ&^y~)}U}8!9wSip}aNCbP$ROjldZjFK!W3Is z7?kscDth-Farjl=L86AQ_9@{_tPGLl1{uij+oe*slsUI`!!$va@BuuYCnT#O2M0X$C*HZLL!oHAxAvBiuKl9` zDaPNR0B4V-TZ>YHW>Q#8`yFbau4wX^~Qd_l^@xPyG3^*ko?9l zr#S3=>qzq?I}*(;qPd)0tZ&~0WAR+qH>h6Oz2vir15G4*6y$U)rvn|1GyX+yO{c)y zV=Y%QiULx8~|dJ9CduL(>%%d50Qm=Umdpq?lW1KQZnz^y^dw z)IT%|>PZBhqn!RdtB-FiO7KS@e04ZD=kmoQntjB`lf@Yd!x>g8e^Xh;v$d>h>1uX6 zA~9sXOuTi@G1Pm1O3hh<##OHK!^54VHAe`s6D3x3E2-9a}d3g{<60ipy&JKNRB;OZ70xK~ExyI1M zV~|cd*E?%1&8^3jlUv<3apn>?lZ75^OKNIVU7tL)JkcZs1~nvcz7e{vcM*^k zhd(Nic+YXu)0)as>TgO4`lFruCBe7c;L9Xn@hQrXz<}xxQ`4!*=Z>}1jXKuZF*z1=@2jFrf*^$Um^P|R5%Qhrt131fg1X8?}8pTf0m5*;wsuV~wxlanmIpe7G{A!Gn=6aG}IKQ-&x=w?%hHwV;*I za7e=f-#E^8@z(j@sF;3J$luPt6*mN zm@fFr@Om=mC-JJyV|5!KjYCHqZY0RZ9Q?WJ4o6YapE8X`);ri7+rQo{4hUhv9RC1# zADa~pA}uxn54Udp^Z#nh8f7u@PY~L(*mLeRgswO z-_)N${{ZT%3X%X_a(u (f0^9AhKit;uf;(uwx%kfNdP57*z1)`p6)QDQH?-zC_b zZN@+V)8f;NrMBT_;}|FB93Pl*&1*ww4Xc}SeACWHBp<_}*37`1I!INb^20DWQ=Ywf7{_|dmi|SQA^DXK)dxF5d zc^&VZk}8ry^~u^k@b80zkyRp#%o2IimR8&fjtLGimEh+G*0g527SX{JWIvQR$jcHk zIURlZtj%Qm8kd&V_M$d}nAbZ?jpUHH>CY$BR*ilVgI6Bs=*SNZzn*0xJi7Z+!9drmf&dV#tS zlJf96V~$D3Zb9eQii=Z*T{1{pcy=y!?#ehUShEq1gN`zCbJ$g@Sw*ZW!}metJDh^s zf#?S(9dponk4l`!4yiham9uVl1x}k^uJFeh=OZVNPPL-5)W)Wp82VGCy}y+|$ucWE zV~hq3xp!xRGk^secZeDoZep}(M)?6m+y|DD06_%$9OQKT>t*AT>Nim$E6E8}h~q54 zfW$X^1IO#qyvtWfG`&@R#O2(m#4Hqt&rV3=mhJjeZLLd(yld-Ph32g+x(1(j<}K3( zkc(}|$O<`jelXn)JAyid~LWGbJy+PVGIop%TI0T*wTm%5HU{4=TC zYt0s;8I9+O=b0mMgjUFnbI;z|b6K~7##=bXoW4XB$O9Pwb#}?fCp(L90LQL)uST(g zWxSUDeIjlv|Hl0iJy1M7%6ju&#ngm4rxk_ z*hZ^b9$#^$#pR{+4iX~Vz)8s~)Pg;GXX~ETw`#Z3>GI1A<|u@LL6E508*yRJB%Ea6 z4xMYF)?~M`f$x$N91(R?%!T@bMhCBMc;_|2Obl}v<7raWik-3#ly1)>9S3jDvT38K zOPLq!B904dz48=h!*2s8Xy=ajJ@L&2t*5+6WJM4lRoGO5*f~A3$vNjFj0&GpYgZuI z5gcpPpXCRh-nr?;U$lFv9^GY&bn+6c&QuMmcQ>xkpdY0z$FUTNdwX+jXL-8aE!Eva zGcVs$A54n_t@7|-|$!qp}> z$Y2W^06`^JZUFS}o<%OFso2A;wY13L0+Ni1tMebb&||M0_WD+G$dWP>kjw!XQbGFm zq06AsyELtuFSE2rHY|Ha{nUW zbNs6HoNBSWa!KWFT#dQN{HZNXWuaF{OM7_UEu&{#jAaL|Tbk)^EL!GRf3u}Uify@- zh-{p81HZL$v1*Y*WRBl#k~bTGV}bM^*0sDpsOmD^OKJ9ZNKP0i7*qby$jHxPD2gU~ zXm#dGt67%aM70lJ<+KGo=2u7Toz5O5<~WnIh^=an6Ej(Gn7fYuh7 z;mdt8E%IIYyIW(aK@uq)HmDrq*Ey`2y(u~92-dC^RQ+ybl>h8LXn2lc7qHdgl$n}|%XvXD5z#GC>2 zC)D=MN{hMBmvWVy_wm{(wSA8fK=J^f$QvN21Rt3|{c&9_rlGbqmEikE9|hUJc+3F| zM&W?q;11uFbFs#k+wEa?5ynhzK*J^h+5o}IfH-gQtxFvy%xTEiBJJn4Q2V5Fl6MU4 zA9s@2IQ1jFcT$^5$2EF!ley|KUIS?WfHTi7=;29D<}yabS)KBD!QhJ88Z5UMH#0IU zd3~tFF=8=*2SM-2_o^CwtdYYUWt!02`D0-Lm@nR9*v<r=^+<=L8+8g0Fj4U$P2af7viBLsp8U}-KdCeu}?+$XerF+V6^a8Js3 z1Rqb!(AWD-#D&GeGOKMMl^|!1rC9oNoK>5vHMq7*i-otiF^#b>T!d!8%Jr=j4DPOT zy6VsNU$(-z7!FvHSSMVB8O{f>ts6ZfOTDwTm0@X{8`b0o%o~R!765<;ZrwPoOAVH? zNogZIv9a8WPVI;|+A+=n{V`WJL1r@>d9s!p6?x=?!9550H6F;*ouRhLX=xh9s9693 zU50z}TE8iXJjF_$Gw<7SP?Qa)kS zE`Nk^)33iZs)Fi7rr8UPKTi=}T{4$dI3$DRV-n0sW&6zIxC*)INC%JW zRWBgAzJ--yFr$Yms){5d9ZBbC&$rjovu4ndlcL9Ce-wIzQZ3#c*(7FCRObf-o;qU{ zxZ0#&Xjp8cd!nH4a1WL}K4bEeoOG;<9}2CV#CD}a#<<)h8A8XB6-EbBoDg%IpGxR; zE6Jb{!jXi9juoT8+JpU^amPO2g{l~lUcEcE!}^CSwA;bH(2z1xr%89bh9rNyPq)QfSbFa`oj zDtyZy8OYC4J$=nK`x6tLy0Mn@`SUBP9Jq*qgY_WrMR7vSpu4!$FUgQ0KfBxymk=Oi zD8cR69=+?l*R8b;LLcmSRyYpHBx0a$3NUky-#|KYJqH)3>6*Ts6k2uUf^V~?;U;(I z1eG0%oDA{Wxn}h`scdEHS|OFq&X}HJG(JbCx9 zt|L{-jt3cGjIi{;_pe{l)g&VRG?G$`P{u||xW-tLI|I+HMJ9r#c zbIv!mLE|UezG`_L%@tL%KmXGDi%gSEzm4T8vWOL!vBNSBRBb&@bCJiUYP33g>Q>Oh zb7i_VQyHFC0hQ-;?Fg!)MfOWhpbWY#T$W?kcCC82~8u#(xSxZfzDz zjZ8?OFb^F)E2dBFDIzO%Bq)K2BdOr@I0LWw&1CqJICY0;uF^TY z@`Yk#Y-L9$AgCj*4nVChrp8g4xs?{AE^Z@++W|;sBN&ZJ=OY7_&N2z-inV<#t*<}I zl0!bz<;tu_0PVp8ZUN^fC$=+;C=o=DdQ4Ekft|0qF9S@`^Ct>&$+=F z=dkTWt!o*@JL*=3DdV+hnSmHXxw`zsfC%(F0Dt{;si(@;mk1OoZi%0|a0vk81a#nL zvUOXQK&4kD7^>lhamXrrU;~lpNHs?5S{f~glG-76BMsB=q>-KuH~^E*4?f`WT)L;J zqtxteC%e0io?xyeD}y%Nu>cO4^ci0M-Rkr#)7v^V!IZYwISSwgB&Z~VjE=;X{AZI*#wfGmuSEvKQZ9&6m-Dr?YgL% zGn5|2)S}2I*ypHa|$F|Vvo*ymLQ=mo(C_CjDSXX>_P8U zl1Z*oH-HG|mxT&J8D%-h?nqE`jxv44YrzvucNhm^y6(bq^C%#d9GniHho(guSc_Y7 z3wRbwWOyN1D%v4f@T6f_ ze5y}D(*vde@4=~+Qr=&*#GtdH0CxksEw~U4Iqpw>Ijo%YDIxDV!Ge)(B1d8YJePgn zF+GoA&ikb6K`)rbv<7TTIdk+i>l%g7b{v{{V$eHMx$} z>}{Qv;Ijdqob!@Te@abVCu1{O%T?0vW;Sp`@+U@q5zacO=tgQ-bt`Ktgh|z8gfSsv z1wd}VXRp?|No;PWhC3ZSWEToU2<1C|P~R}$js`j6x{;^bqDy7wg!>XBs;J{2^~v|+ zy&UQE6yv4N(W9RJXr>WK7my364S|vTCmnN7zlpCzb4d`2NXTrSfPv0<01^7B)0OVjEMOdIbuh?Yr2$fj(K?zBS|!7P^ib$9;4GIwR47f?gZP} zqcN5RF_kO-00IM#rE1+mkO(8QyAY&cY)owfo;U)sk_dGjNtXScW`}^PN~3!1#|J+3 zw3U{iwba7VwP|#sx?IaFmiJ6dMSuZVo=}iZ2c>P^Tv*Q_)8UP6S;%dn_NgP>cQujX z7!hydcUBgB0Vd=gRD-9>-m7TSSsTgYxr|A1Aj&WpSpe<{=xc$=$3s`-bWp)8lYaIy zA2xE=uOU9?rvoRQ^TD$*_W zYt)YF4apxqV-mlBBDftMYemz>!;?5YL`GXjh7-!!E*O`xlQs#-*L8h$FN}fe*8%QJC-0oq?tUKr0 zOg?yp&!X}9n$T&y$YVCn5FVgo0DhH{=k1pav%E4v9xyVwIQ~?xb#fwzt*))@{{VF! zWO3EKe=aJ=+im8R3ZckgIqE2yO9pk0EJjBkAyfJSYOl%jAZ`KYCj*o3n#Q!8V`Efm zHOVpJ$4^Tsyk81)rl z^#MFl$qC=&51ViR0B{L78228-iq4eu)R`;Xp4#CIk=jWf(9C3I9X{>{;19h=D1#4g z5yXkk?D9hLSMsLa$vv3L2l|b^=Y&aP? zA-a7I2Q>kn9jyQXv%o!h#?kuzwO3agM^Op;I$>OF3Qpp12OTl*`PRy_VK)%ll=SJI zxfrfi()Jj@LniXu5CheV^u`Cb>03*3QA!dXL!4yv?bv=*wK*<_JoGd|EL@@u%*BpL zY!W#I2r5z00G5prD9rb8&NC{yUTCE>*ztpLpBHZc>43y)vJ4nm@*(B0ydH{xkpyVT7K1%qV5PhrZSMn1B?t62ZM~B zLF#|~b(sLVjgcp0Q6U4%X5GO!$X%!Z0M}XxAdt9V?+TI#VaX$|;n&~wsBWT)^6evh zh{!6K>UVVq9RbIBwI#V$C%2w9x0X~Gc;D{v*Bs*=dkO>+HweK}H4goAkTLildZVbz zb8MzaBiRtZ>|34=Ph9)@)e|k!n|-phX(?4Zh#R@V+(#KB(wu$WSZL0c-AG8_&PpPj zuNco>dUMvNmvFavZMI0jZsg;ybN>L>tQmC)eYow-%kS8hqp2RP>g zrZN3%I$Ony7ST)OKO2h;%0R|4J@dftR>V%uV`y4XK3%d&$FVr-d-ST3GTVsNA}G#4 zK3NAR{oibLsh4v?%$GLuBHIu`u5cAjbKH+_{{U4oLoD!pn8N;Ki^g#nVyA)+T=X?; zGb*Icts!zYk^o>2IO8MhT?M+W#k#wY6c4&c~ zrllk=Bux@2b!%9wD6F-%PGT^au#z5!+ z7z5Y=SUV-5)U|q>_WGs0%Ecs`&zzrh4iw{!-k#M@QW|~4Nd8QIVSU(j@83B6YZZ-qMu#rsaK-ttD z`5uGTpDHy*HQlTU5830Hz##Q*GxY29IO4Np(yjcrk>w?J=jS-wK_fiHr&(z=HdToCdGC{+$e2P5c6IrXf0QA^07)zZTGL1>L#9Zca~9ax!`J#cbWA%^a)uodYP^FoUS!c&Az0 z*d%K;(<(8_kghlw<8cSjb|iY5!Nr|P+j6z!P+l0+#2KSvLvjHf4i6l9idn3Yt){Yq za||Fv00VO(dY#1g7^?U8@w)w<0t{%Om6d_$IUp&|Joe|F4OX<4>&}r~$mm0o3E7O{ zvD=Z4L+`~Vii&SxZ8Y1c(cmUGKsRm#&oMfj=L~VkKAig2ZY`TC zx{&Gi%WvmgyQwm?ZGgS@utftM2_ua5tG4ewtUgVx%1MO}gO&(JcW0lOv)i{)YhHUh zC~Y19_-PrK9#=Tz9D~L(dUdMSwhs)45Gg=L4oKR#YAp-6@myC7Ce15g1JWKY85m(HKm4mXAxT*QO@GF_PRu-^HHsd6hF~q7s zQbQHqPpI3Rj`_i>I_1U6%I#yBS~n}RJP-yla5?Ytl~rYqmKYf^t4Xxa9HbbCXY&2H$tFskV1g?H!IURds{VO7C z+3zQfZCz4iAOcr{0OX+qBL|bzkyA9bLs95IP`kFVzlKS`Epr5sU=j%+3~d9r1oi9M zup_<90?b=FT*b7JB(KKaF%3 zvO;7_i+#5U%B;MS`M@I``QVIJQf8{k_btb)sr}4h?&QjnWJpO0?Hgr7 z=RE-+;0kNUX&^Gkwa}_a!x;_8*y>Ml#t1!0Imb9mcaQx$*I`fQY zr!`IQU`-0IX#<9ecYAxi1jahO|?f4wz@=vaM(_)5) zO+1@pY0Hl>UC^Lk;T#`Q3E+Q9rut#Hw^;U^6=1s$PM~quKmNM0_SL;+x{&Q9nThF= znNSC*Abo25PZP-+Kz0u;a>FBmwNJcIamt9DHs zMpzNSk;fw#3PC>S^RBw@PmAqJvja4QAC*rhrdw}J@xiJWFxxH5MFN9TX!)G9qmOiJ@6HxXkOsp#zR>TnPF^r|xMmLmH>n5o_~)K&Y}l1ZLfhmxvr7rz`0!<_v(@mVn@-Rx5>Cm@#O zjx)#bjO24sP`YbDwg_xyXxTi$%8&s*+;!>gK)89skqGku=L|cs7&-b>T7#81i16wG z1&#)KpU={m{zPh%N*+Cg0$1kA=m_c0wP9--DD@j^P2`e8G=*7I?N#F~jyXBO>-F@_ zUV%-+ytAvUk;pN$0p@egVKtQOBv?WyolpOgh#N*m_;sr z>kM=~M?Ep#v*StPyJ)9f`vE!508%r6M?9QxY6!0F^jMzic|@v(nOiwIZ@hpL)Z-kV zrELU}lU)&;;#-OB=X+r8XNdf<@7;h#au{_zz3UE0ZsIeGxnY|2OiL zebAr|=l=k&iq+Hg2?eZgGNRr}fmCiGH>uhVPb0o@SlXZ3d`GO93U9L0R5L3QQb#_Z z;B(U?jx)`4!F#7OUh$Nd8rHUx>LT2&vxHc|ag2f21OVN5&rjB`-7dLzs4NmATa_WU zp#fXu&IhPD9QHUQS5bF(wov@*_I=s=gl$y^upo6Klh3yTu{9gEI%U1mFp1et;-qDB z-yHGAf5@e0sQsn-9L(2dYf&tsNoQ6ov4F@xq=E<}o=MNI8Lo0&ChJlPW5AK}QBTao zp5aFw_^#5z#9PZP$CtT0vE_{Q2Mo+XJpehYmYRA;sSAiE^BO&?9yr>M^B*vqHgD3bat6;|9BWwwS;c;M$a>B+3?_>bA8fg{Vt!9gc()-AUf zJRe_t*58RHmOGd=DNr)m#sg<8Njz;B7~`)8jCZbAQ@MRYXj;-&L`PCw4WoDCk)Nlv zPbVtWq}wefnHxNb3Gul5y$S)_XkBsERh&vm-Isa9_|5KtLD=>(ivPUp=&EC9B!n zO>_gusP^lOl{g1>d-wW#3{%rik}E+hGH(I7PEQ=3-Gy8GaGF6J?h|kb#I8X90P9rn zJ1Zo)5$y$8NB;m?qESrN1E+Hpua$BBv4}jMmjkvtnx{SOrIotO(yTkWl7YDHFnOyt zI)S(*2E>X&^T`TNemONkG>Z$?N0pW2UNAvF{dzVkS8m5IKCPz5e3ICwnzDCQ5wLF9 z+yFJ&Xj;AX#I0&$qbdjdmhAyq1VY7))m+64ypRFOKF1wD8qsMkA=H+}Wr?ldb8XsH z)iJ{tC%NaEz=Kk~hA6IXRoXYoA{fYX>fP`wu$Jgb0>F&3Z3U6=0*>9t&3Y7@Jo<@T zrKz&n+TfOTBjjHwu_ru}fN%zR=bG}Ze(GDPCz*oEvF#ZPx94HT7Z}ge73uEM>an-) zU4$T`CeTwP^bSW}`4#6<+C?mn1Zuh5cgvH!srNJ$iTFRR=ts!#~K&{vc7T-@NxnSU=iv@ zFe%bm&2ol$rVMxGMjAH3VaEp}Cj;sAHGbAtN$x^|p~P+g<3A}F{R#Te(==`SubO#S z9f!~id#v6?Z*vJL6~HXWg^LvcWmWOd9l)i`Ca!uT-`g~v zN-Kihm4?tgTl=+7STd|@f>aj+%Y){2z%BQ&$4;PNcQxhS71uRHov$^CM22XP{gxQZ zv`zd#@Vp*4Jm);(y(3O`nsGmt(X`RpjGTQtQs=tRnL^B6Dl_LWv$ByH z13R08w|3FSNi0uNa4N)5>ozSl(?*xRZzsuOtfK%bqPACn4^|l`KGe3uWy3t~e3srb zkP&&~areg`m1x~~gGaQ74>#H+QV>OMrcySK?#2$^#}wj~wFc}X>b81?ui9-0-dU5& zY=%iX6>xAt9A}Q4^sYwcTgJFhSws;QEZ@ZBj2s;BGsb@bSX1j!Y8ttRNO`}snV8Cx zDMRHR2m!g?GxG7k>%p$h&ceoBrrFi4?Z4JU!0%~zAY`0?zJPVdr8};HW^?ww9hzH_ zs9dp0FnqYd$V6O!3k+^O$o~KuO>u6lEiSJlmvmO4$z%sCBPvMauRL__MQk4vTgh=e zGqTyq2?}zGxJC6C&Ux-grv!V;c<(hR*-Hd)Bi<$|tM_s8{N(2zzJ!BYk!bO@ zpfz1eT*8}aY}Pb zangq||I_;2uP>&sQDVWA>{{nI)A+F75L4;DRvO^!;iXp@;`rpaSIpAjtc} zXM(|r%8q%*BRmZ8SEF4|V!X<+Tax>Nu37!bZU)?TtgDz|X{0LB$bo-%Byao0Zh!&+ zzzk$7bjcucbNso=ztf>hnC=az6OtDQ#R*>Ju*;CW zy5_emMZsq_&>1cxkVP{{N6I~RlZ+L?1Q1Wst7@@G@f47jmJBFx>Z59$g*&(hjO6y? z8L4YamY%wqFj_|{ya5#9z+aznDo+?E8RxO&5%|@SsN3m?QpzDZgR$~(!HLc=M?g3q z{c4IhVlc^Z5NQ5#-c*aV12E&0{?~KQp!I54!EYpaEb_{CHbxMz<<}%~q~v6boOA0( zv{ofX??T-75NcS7lWVJ#+&Kzky0CD>F5tg-xz8CRJPzMlwz^&7*@+q^;$7&Y zl217&jt@*=@zdU-Ng@~7mID-#sLQhBC_eVZ=Nzvfj)$&uR~T6m?Di*yTZ};LN|sdx zN6Nvu!N&(1K_9MbYBX23j>_USkza#@^Jjzdw*+MS`c__-Yh!adw2WDf`4sR%g#;0w zTxTaZ0=D2%n;?vdA}Z1c9ZL{AwF`mR=RJCL&TCjU%&J(bv9+uXZxJ!O{N_%(l$;-s z`fcl;c|P@DQ_<|AChFs5LJH`Ljh6u*9xd#F*TvBIGG29gf`kV0Wi9nzIPpo+BjiLol{z8dAHHc6PFS zyGb2KI0K;=t4#4n5{QQ389WY19AI#Hz*F@&tSf8#ad9Q0$nQ6ntpSlvNOEw*?Eyo2 z9(eT!JC_iwa>+bNm0gjr4YW94mpi(D7C)CmT&bEjrHQhx(F2fQJAV$pm#!*}!m>te zOwAfy7Fdco&H&DLcERcE+N9KGme#>8BPLkToHhwK&pihL@2I6E8&N2~(7!U?= z=tpBstxW9Fxus!k2At3fxRvb5C8l=4S2)2L89DEsm2Uq4ONzr%YySW;JE&)1LLBb_ za&igk2d6=b($g5*Sk9?2otUX#Fsn0j&U#|9B(d|O3P=-q#QBW*!t@|_@6+j3%W@R1 z%~@?aswobX3eRwj#84)b2bj`pW9n3&*}9QEmr-E&o}FYa{c z+R}B)%v>U|&h-Pox6-TIUtT?!Y2hm@d!uAI*|#_ilgUy$)u`!o$ydIoMFyvFBFAk# zkJR%*GG)H4;p;=%1( z{v6e#YdGCb4GHh=gJ$B{1CQ7|$I!^{6z@4%}$aAG54- z!yyf@{I0+7AaT~ZYDK1+CrceA`oSf%jIg8J16UM zRU-6eN;;hCo4d>NbEdl+Fme(=rYQ*iAm1|s_*4vG)HNOV2;MT5d+8?GUt5ilGhAiNhb~{|U>DaN zs^bf=Z6cPVCLlYPdN0U!o&ewsf!70|$9k&`yqEDLOuk}5hCRoPfrdO_eFbusxR&r+DKj+jqa$N!R#waBp5%{gR^hP7W>z9s z`9pnp&m4jDKAELTO=@R2+~{sT(`L~$7?{Z0aHv=z&JOP5)}=-%a_lj)X5EBi<|8=- z^(O=AT++pL6y8%mnzI%QwfcdcN#v9LYVEGAI!U(bF(hlloZy4g7{ShQ*q)W7r6eS~ z8WP&P4=u#f0T>JOhV|>7dVLK_yX};S$@|TWv2MKqJ$R}X`h}$7ppSHJL1UBiDD~Ua zfd-?OH;#dXr&|sF-Drd6Qt>w|bC5fOeHQ_2bahk$-Qd z$0g3ha4=Awp|kgi&p;18^ue*fljd_9D~hKxSA_+ z97OvNU@k{h>&ZUnntXSVBtgWc8D#nKjvFI9W7G5POPje#b{TQ@#fm?)MkNa0Hv^_P zZhCrP{${UR>ILIhPce3mRH+0bV|LxcpRfM_TC2@&2+WSv!V ztbX?4j=$&AKaER?TQi!{bf|4D01PfZb}H;kF!{O?Nj=B(ty_g8pjO&L64)8z9DZi2 z&tq$3Rib|&}xuGOhg2CF)DF@$@fqB$E`w18cOWV)bAm)jirqm=V0Bj z6lXn&Cj*mJq)UxNHN~&`GXQdU9RC1x<3E?{Rxd7w!EtX4k}lzuBOUtW9svGT43gTb zF_K^vz$c9T&PW3|$@k{5n$*@LR#I*v(%=P<3}+vB4l<-of zouK#W-@Q@4zFE}8rl|5P4%4m0$|-sJQ#E~S?5iJ<43mUyl5NWE z9XTIT2_AyB^vBaK{?Qw&+p4Y{usI;9=*RCIp5IRV<#VdqYGqs4TiwDK=X7Kuukbj| z<|=n*1KYJr2x!@s*!gzBu^K4BXFL`i`i|qLKDDhjp{MC~(VJM(HF$)AM$YZM%Btay zW6sg)eKKw2X)R{eW0A$QWtf4rC7ppABP=ixdyqQ}lGT%zwkbnknpKyuN%aWGbE9E1n4e_VnyJ{c!Zl8@tP?t`*s%oiG_d$Sgql z0|WPYJ@e3UU2Exa-PlaqN0DyIvF^gSAh10+1&AF7UVBv}MN2JNW_#C;PFP8A6B17i zn7BRtyZtHlnv`<9sTzk9MoRSxN?pa&dZeogY9`gfl8&vf9cM%#}Q{;kNv{v+LZ9XOBwCOD*>;J+#|I z%o;)@-ap;I$2cRB4$@4_70}&W$!Ov!0Gu*{!bHSMPIx1>amVuOSr-OJo-jUH^SR|a zT@VmJ3jBQ8JZB(xu?2S1R(Z-OINqk`dP{+a8DT=M`S?%(5-2!M+w&+8i-b zHsAn9E006!d8v97t+7;3X}HK25_w@j;4wfxP&paLZ^zbwb1XM^7VziGi|4|OBQ|*p z-y<0ydiNDd+s{a(ASx=dlmMNo$ixuC1B@JW^vwbvDRUd-$O{pijO6Y-bQ#D55rT-?eyclHLW7Mm^H(hQXo?<*#$BPz$cD9y=xBE^5uzysg5z|dYYOm zrd!pH6g+~vuugGB$I5p0Zh{bu6@0Og$Knt3t*cfMrqw{nf^*uu_TEd2gh*i-F|jS4 z3Ff-^P2md!Wl6>e{4-iceGY1o)Uwz25!`vj!IXfxBRf~O>x23GQ`K5HnIQnkz?mKR zY@B1B{=%4wGbF2ws30FwG5-MSq06KXxb8XmSa#{#{Qm$d&TN$(cP+iFGH;lWHxe<> zAs*d2bI;>grYC!Z-rq4Gmd9_y+r4VXCgP#ow*-Ox-h=-Dua0WcX~jY$ya^ZPVbBiT z_x1H2^@CkaQ?Y{-7a%0F#k_S;t+XEbB#fT?RT-m_-PT!1h%Q1XJKJ|s4;*BERn*-1 z$~?iAMaalG&Unv5^*!sA)^4ukSh75|!7ST)j9?u906)Vul&-a7PUdn>>vM_Kfs=4N zf=8+J=hm|d?!7kxGnEAcZvGsS20p%{H6(8>)TCTx6sv7LIt+~SRjwRD#dkZ#IcHJ8 z<2W9@J5)BFr$l3>g}Yc9?eaz=-G(C^0(m&={(l;^HLbJ~h}u?2ke(Ruay>fn+cjFo zc_WSP<6We;Ir?*qeK@KfBrkV+1;3f|f2}1+3>0+7)B04!Us)4o*v5)Go0$t2jpG2U zDs%FYo!J}?J5=_Dc9;b_G0xMB0iTv3Zu_{M`rH^JlzL+`uu~DX*ajjjY{p%TotL8@obV8s5yE*5K4!yJKU6d&e{GVr) zTkOXn_MM@bhT-Y*t~+%;g1VCGbIqviaeA{fbNR5dGxAB#IbqoJz$Eei0PCt2H*lM# z(=`~#l4W5IbMi8rk6_1;x!|6)&}&ESVp(H|HqxLeKXfKJI3w?5W7@F3(6(2R-9Xz6 zUwAmdV!ng@;p@}hl;F}dr0$JtY3%gPM#x`oHuj;ec|SWd5(4(dKM#88V7`jlYpEo_ znrRG-A<6l%#u)VD@-@fJYjNToU+qw%#*(3B>dH3gzoh#2SVvY|wE1A`%yV}M!VTBB>gk* zjx+xN>#j&@*7mLxN+NVdS8%LI$RSD3ea9Fy%}2y{FQ>J>pKR|ced#b2aJUCN=N&&9 z$`4yMZ#3F6yhnbv@Ih&9B0RFl6}RBB{GhQMV}W41uN4bDK%&U*e;gQ!wU=17&|Vv09z9OvfX zeuAd+r*c1du_zhNGlR!(^Yy5q4>L&7F8q|j1Jp6&1abAvUucrl5q;3B3@#Z|=NR3< z;|H#OwF&E?y^;yDGMmGMO`%whGC&;T->!Ogr`g*hP8ZEUTRThho;dpc6$==q-5V)z zP6iukQRp%0)}``{PBA9sJb}nNy7AYF7UMl5PO!7FQ7owvPTX!p3O>ApSE7y~aCF#Z zY2lmqhCmdMeyxr^mB(3LEc;=;aRi6>cMYxXcYjK@n!cN2!dpq1rpe`o4i5wYj+N61 zBymm3=V__j+iB_YA~nRL%2(TxsCtq!$JV;tDI!&k6?Ya)mf+y`03Xu4fN8C*v7Ea7 zow?@<;fLPq`eP=#T{e4*Xpt=^l0mx(y^D{O@`t(O*S&Q@qPdjgb)nMRTdb*fmTU=d zs)c_406mU+ew}NVo5Nd7%@J6Cb-Q6ucQ_}UE(jRzI@bP{(!+Cc6o+inWp?mBpdQ)o zYib)*l4tW}D=_(+2MD7bes8Bt){=sj#t@e))bRVQA5+ueEh21U<8}^rj!z$6^^*51 zE~b`iyeghbrdK%Ucc|wT?@y#Oi5<(_JGSz0a7W6#o}A|#;<($rKJG_$43b8X11ew@ z2mPNz-|Jl7##g!98p)W^YL9WR!j`t;H+GI9* zNfA#eKp~7Lj26k4PvS|J7FhK7VvA5L^2*ERg+qb7bDRe5D6o#g>r-ou zJ~vnmUVDOMd#m^4k(I3wkJ z5tSrh*IIV5$EECVNu*k}+>0bTBY&G9@wcvcJY%&{)UK@b$x5c8&Y?b7oymL*o(ReO z{{S&m8^sn@&9`2-Yc1>YqI}!J@J2>k=rB00ZM;+ANf!Myr!Yq;!lFX$G@y(E3v|gi z8K)_(gt)fJ4~ivMkVXLcq}s%(#xO%<{M`jg(&}h#^&8DbJ1J$|BCLe&2nI8N zaz_V&gPieMI%bRF7f-Y48f;p1yAVm7{L8;NZZq=|dgG6&tyz36d866Kb*P(3OizU` z46{44a1bLL9Ffptt!An_T-j3Yb9#=aaGIW(4bh4y?;T3RI}bic*!}lAhCMbZ&pe*B z=;Kq`&3;~!2wZ3fGZwckO}!lNe7?ic+1ZVYrZU=Eni%*wTa-9d|T1{z)FBg z*yOJxIL`;Yb^3RPwCSRg&YD|!t>Z>Jq!A*9!NCj2$RvizIcLIzi0#xQ!5k6M;#G+kAN zr-kiq9&lM_naqnAMaXt9pPzRa1FyF=RWDb-ce05hiDs0Pg?Tbc8wE1Seww?CrZ;X;6nVLA)nE@DO495csaJ{(vYmf0Q`VkB1R|b3A z&{ZBK+R?7>;{)#Cj2w)E#dIn4Ih-$`{{R=K1ZfV0n*lLt|(Fk};ff zoQ@AcNWLtd{{W8<+kJ>AjyGmq&RK~r0`Zn#QhBHNf5Fh`_VLAuuXSm*$%FF7pq%e% zKa23>k$?c{v90M1p-OctN16t@k(iyx!|vmOhAK0IfDS-8=CS71=Fv*lXFF~7du4f^ z#_CJCM&*`8EAyV}7n}_B@6$Ee&#Ei4QOIxWH=JI>+6+%L?vjBYwUb#Hg zxHSC`+@xTxFDjEA5r@?7wgyu1|Wk zOCE^wjHcV_>G=l@7X3jb7 z)PFV0+*iMZY!r6j*WJaCZtqdq@vQ&{{RZun?i%^_cnHR>RHgV1jtzq z;Bs(;9DM-&abGJJZBL|`4_&q)}Ca#s!xc|q4;?nnoN#dbPfwV1h@ zcYq05N`*nSa7irL>5|;nm*`CtcY9qf1k9>RWB>w!en5G^C%DHRmEWwIhM#n9B9RO% zhBgieBayJKc;_69^VYV6u5(nSXL9Y$t6EDO+H*49qI|*Eax$sT*C6)okGt+TtZQWr zadQ*L98$87=m0q+kuo1S zhShO`FkO@m;GS{Y*BP#NbX;uE{YE#tjypdry4&qm8ToVkJf2A{+~c0SW{b%Z3BS_a zj3`~CJ(%rW1B~*8w`1S)q|0_@iP=dL6%G^+l}nAJl6lBGM>yv`wQlrVAZuv`5)&$) z;$nxc8?JH3s2w^}ZsKcVhU0TJ*O`O4)-qHb#X-uD4mS=n=sy~}ZDr*}49dnyqEh6$ zZa}5M83X&JuzmQ>Duk0tH6>XXFqefmz}UW0t1-z0w=0f#$sO}*^{!>IYkw)Ej3VF@ zu$BiUbLdFxo}-S{Jgx3c%{%F@Cbhzy(aoQ{!PPeW&Bkyz<36VqS4z|)y0(sWlXshe zw{~`daDHYv0kTQ@ckakR7KSt{AIRrvZRMK-rrx;&BW@2rjWwoVL~7BWHcu>oqn$Rm&5D z?58}2Q`C0P6@wHL2w@Vpnvs(mxdR|Jc_TQ;=zR|&q=nsrNO?z1uB4J!M(u=Rc);Up zbv*9ln%0chQYRaoGDe0~l2iV_%{Vy84Z`j1jjTF$>&Z0^;}C}D=4j)*C-;HOp(R40m07f1~@%&<}fdsdhqXp!AEktfJN8%SJp!NCW&sI6R6 z)Wzw!&l?+dks!MynNdNLadON~(}Hk#;~hG&#&K6#<}0gM;+SraabQ5&BP90eoH4-m zKaEveXV~u<#37_B_ely%956fuIN*C9eDpEfeX`al?w}!C1Tze64<0}mBw;0jGs!ga}<{P zOmfJNCBi5Y0msYyLyj;9Pv=dvhfw&6R%KPjGDZz$$j0W`(%NY=G{aMN zjVEOb+?~0`(lLXMYfj;}vP(PdK<5B|83VT&&#laJ4>bw)Q=Fpq~3GEHcVzR44IFT8#JqgA^HBVND?N_nt5WtApPn)4qGoF17Y+CB}c8er3x(8Bs0&*~UKTKB2pDeU9 zZ$g|tDzS;KlIAIFQ38O@yF<7gPTod+>qEnSBC)sho zEU*hMXrvi zr${HdxNj|w%wKAQ>=!&$%2AfB1Yu(vUemO9jN8WL%062Sh8wv9JY)|{*OY1&_L^?K zS_328kRNM;1Fx|>AEkN~{)E~y3;CvNwUBLW5C8{}*PcCvakuxEvp^?~CmYzJh5)x7 z$C~r8RN>3!bW>(U@?8Mm*~GD*=2gfTJ-|5WT@Hh97329Ao&d=D@J&&IUnIsP zEhDB00WeK(3!OS$w=sl{Sh*kpxP5r9J~Z1epGy_5=aS0mPqWJ2OlO3_>*<^xE1lG} z>*%iH^W;$+*udD_emwsGD)dVzZm)y2yGGH!D%)^>9QUqYShteh8_YoyMt(-)EPs`B z%ISNegI75l?OF$T;AsIactgo2+c>RjMM;5<@W>pF7v@ktgmGNO(|D85^YE&i6?Tj> zeglf@Z7(j5ku}jjHyCsXKOtNWca@}XC|Ov$4UD)cBfiuig(o@B^!2IBTr|5=H z-~}Bx1af-u=~v66lrk_vJE+fJU+5`3uPHNZ49aqFtAH4E$4vXzRB5YR!Jyod$qT98 z(Xrsc8=xa4h;BIt10RknH){hO zb>@UgR|Y-gKFka&e58+7Amf9_YIzEcEKC6kcCcQcBKKp!=Zt-7&ZrYk7O-7NHxN~o zc_cCUai0A%&(o!4+)U9=bu?LSJisx4NQ{tAILE(U)f$Nsz@aXXsTkd}YK#D^-!ppk z1Y_UYw<8hF8^i|Y&mbHF$jJNQy-GRd4M|^e9{{X6{meyCbw)2^R+@O?p1sO0-I^++gD&5u1 zlrbc*$dfF9e88N54+DYEraxLGnmC9k5=M>K;1Qf0ZX%_m)}>vMS<5}97TP6}-Po>1 z0XZc0{BiQs=H&E8P@(1~~wNI3cil6OY3^PkPQ<7mUm#QjFX1G63WA1pXiWVpqL}j0ToS z)!HWACjf(k$nVcX)9F)1sGu>kx^>A8s!r?`R#rI1Ipd+HOJEWYGDlLcxqu@(w=WnV zjC0A)2NWNWZO(TD)M^wGZpGCGKMK zl#p0Q)1I971Hb21bicKjQEnv2jmjnl2L$%|inDT9DVA0N0pyYS{{Z!>T1>SkbDFu+ z)(Jz~vA`G^J6rHQKRV_$b)I`qC4iPwf}%lygcHvk5yvBw^{%QZA%+Zi_M+fxzd*26C^W#qsF0>G2OuL)AX(yO--IG!@Xg~cVTka z{^-FwLExT8rg2Hdg(+*H$Xi<7tj}wxx=CygC4mkyIZ%7C^v@NqVRdU|d^dp3%&!X&+~FshRc)P)?pA%@8g>;u46^&=#XwIWBl_)C8iM{^U2 zN0ROLkIRg503#S1xb4Mr%R{zF$yn7e*lM=nUf4Ceu~71F-a{_N#t*Trl#fiZwU14T z2J&M-P-kkLxEr&MdE=fv4f2E0asL3;=Coc*h_vf?08c6qIOH~Y z7$jqg%8ub7cw&(XDc~IB1w3SQ$?S8^ewEV440kq`*FgDY$oWAe;c{|E_pma1b6eW) zQwob+b};_IHT8qfb1_#e1Yt3_?Fz>ykU1SW9s1RKcU8DqkM0shU~)6^smSO%`kwq( zPX(^|3@0fXJ|f0GUNeGm^Jk_zR%~Brd#AL!h`dp$JA!Sb|q9R3-tYk?#tG`5hrotj2$?tHHt5saRg z9crW6!3EPYMo>mKWB5m?B%he_NXJi3O-olQ8^~bsk%dnLJ&D75&=agws1xdL7e0s^y{pd7G?PwG1TBGIrr)R z0PCm_DnL#S6L9(aFasctcqgYPjP$^%E;ci4L%66p$;dr<`uFYDrO331rg)}|VC@|U zHB|kg82vgO3w4lnTc@aPBxAR70jp%FzO3rw+FA++O%}WOYYhWyjBr73c{PX-c z_pRd|ryWG^pg_?!On~Hd9=v3K`u_kLkXoT{EHGV%BaU!-eptulRZuoqNI=*-9^ER* z2Y1TEHhcPfqx}B>jVYyINPNoya3(k;V;JYJTz_2EnB!! zq>i#<12`|iz#wOL^5Yekc;!|(7C{n*<&Vn8aX1+V=qr*;rmkPSxPLDQrDD#|xdaZp z{Y7(^a)M2yvSmT}cAR5A$BcBXH@=GD8fLX3IDyGgwYWT-cg8W0YnZs1Orh6>kdiZu zWDaroo|vhqX$Yi8Ev3b*NpKJdRqyIoU`RA&)+ zQb40J@s?iM&o7(~opICBhbLtyyTLw~{N{$61NNV%_tQ z2hyrTrCk6mEaYgn1X2bS-yh5TD@kl&dvR|hd*&kw#rXq+h8_KmX+b8nH0MiGsfzJt zxV1KJu<^IflaUZO&H&`~f}^254)p7)es!~g)~aqEv>5A)lXsmpb8I4$m{`%?>#v!(;F zVmEBY-U@&S0AsHQwR86t^4qVGas|;wSryZeRk`nh$vp5mts7gmlJXQuKY6qcg@;Z+ z`t_%3s?y)XZyECpagh6$ZUOm&72~dX9dlPVa+B7@pARFg+>dbP7b;Z(lem8o104rZ zj-1x!t$nCzcJ?Qjjh4*=ABC;H%4#AI3#h~ zC)n3h;$*bBw}#m6c~(R$taq};aHroRJb(46(}5MFu5y-l_j;X`toP7)I~hJj`9sKC z3Bl?QVcV0_6veib%?;$M_L;67NkbV59aNsDkg7NxeSJ-I_m&_|msWB9>LzR}50`Ur zBn0wCFaRew2dz}Nx4Zt(S6~*~a^oy_88-!74o5@q0(l1j8#HPW}$&0|bJ4k7~+v(X~0>QU|rLmPoEb zOulgDLA6j|c3-bJ!8qwt+}Y`ZNbcZi2ta>)*ai5){o)DSew-Sqb*E}`+{X`?iv*IK zIzKB4oyURz01!G7e_F+s@gC}Xo2(!zVv0S%wxZ*lkTOrNT$<;%b7d>+H&dBzHqM#O zN{uLb5iS8!ETrA@HM<->~?&8;7Dw9+aHOlmN7g9O~7f_cxE8>9dbd= z2VOeT%dA4N-9T5(ibgKE<<}huAJ5jN=E^#acZS;HNF&+|jf^^wGoElr>POeMJ!%PF z+)0((!GRr^WPcWM_3c&SWtAFGrLq}_0EPenbI%=r9Mj{Q&UrBzP)`RxFFj9B(>-Y> zXgTAL3NXrtm2=4?4?)jbWD;8|7|ffM2stAMC(zT}-P@?jqwP{R4XwxLn$C&lX$P8{ zS+U6A56hZ~=vzmi=vsBH%ZaCqi3i;y48#v|Fe|XUvapmaR}rhUgaAs7+YP;KFdL4bdvd#dUmY0?xNLR@mkWYWcp-ZcsDo3~s z`vWRCxKh0OZXF5FUPVO~fuU)zz5L0xWAi-HjAz(%81w*E=9cMkYWG$)P`L*HO|>10 z`VbG`4>i#S-l)z|Ol{AMV7Vp>b>7JtKuHe3xa9n}{P?PN^4wm{xn@O;QDgGqh_kGm zuw%gl_5(e7n&>RzT{6}|bcimlWO-d9PE_^I7pMcLps4MTy~L78fX6eBEaz^=>Q^59 zbJ+bWWhVDBgluzqTa6Ckq>c$ElJ-S*azNY@?_@Vln85X`P|L4sGtKr3ZLr8>xm%`? z5{l!Ji`%%z*0uFnVq+1O2_S1JM2pC1%Ypn%nK*Cf*QHBssz(Bw`B)@3C=j9oU5F=f zz~Bs%pUSntouyRsjAMX!uQayRWYpx{szG&j;Dtya+=_=h2Vu{DVeea7 zM~F0i66!hiSf(1m+AZRpP6}rqyK};U{7s$)ap+c;8;!ahRg7LV)N;_kG`nevNYcN| z?oZ0Bs7cy0$Opa+YscZ8M?};o)vvDR)^2>f0LN^K4tF{zBrzVG91INRwI+jFytMw* zwY-E#$`#{`MqnebRUke&BZ)U2zLm-Nv&PbB_7TZyOxHo0G|oZomdVE+gn`9ulvb=t zq?@uj$hB=6!^6pcbvbb-+#r1OEQFOPzr~-^9fe}&!_r9lzlg3PUztpHN&CzmnUiQf zWS+w+53gGBJ3T+dclv#|_J^4|++8KA!Uz(9ATp}Q&;RT@l#x0|_e8D(W) zf7Rr2LE|SF&1mcEpxS6xQtME~a~yH2$>xpkBjd5oa!xkmr*4M4@=p>O?V{C%jJA(_ zqC1HOS+4^B0M9-!3?n4B1TIHCMN3^D#2zozEL%`{7feuONZf^zNaI|o13mM{1+n$# zK4kVAgH01?n%9V}G=#pio9x~jygLWmTg{f!0~?c}D9jiyP!2nDT2>k+kaY<4Z8A+_ z+T`L!kX!kla*z+s8BQ{KoPHH1rJ?Aresp=`hDaaDlXm8Igh)9ISnV!(Dxh(ko-td| z>Uyt-Z2r}61M2!?06x=$4A5gBG?)xtHU1|Gq;(+jXy(3#t~Pfxnr&UKWS-J=(&2C- zgv}FfnnBB#+*GI}@saZ$2Vqz`#+j_o;svzUZ|BrUlo&w@`DhDtLO~pLB$nfjYq_+w zo5WUoHEl&rwDGr`EaVK5s`U*y86%wGLiPIBF>Q5s;roC1M(!=xUup}Dda4=Um?x&nqmR8Xm?YAqjETO&A=0PpF8fC)619Izomf)xET(x_aY5Z~#LTx()2HUlUO%ksGx!j(q<09G&u z%>3h`spg%b>pG-X5<_ciCHxAGB@%(*Ab*is3bP}UbCo6rr8*q z$w-sRcaNgRWnxHZ#s_Su>(-Lq?@fyCO)E)=*hpBJCnbphaL(@8C#M5Eo`V&k4Kp`c zyVUhPL7Q1GWw`l}42CG30)>LOx6x|X3&o|?ElsGNj}eF@ZYdpj(n}#&^|Irk<>B4?~Iahp4F)p{IhAERlTY- zPmSRpVg@cgP;CP$1E2);^{;i#Q2p(ou>%}> za5K(pv9^jkh*ArM&ANfP9|v{7u(sLlpC;7{0f$pI@iY>fkImybL9D&mf&OfJ0$J4c)OInX?7J+u*a_4Amz#YX%$zF1K z#yIt@Ni>q`udB+}M3IQsTc*Z3j6AJmBpE z9>0e*&op-zF~=|1<(}%~85x-3FkAwooB+E=LC#6~S7Co+r^=TaeWkj2Q1aMaqvZ$X z#{iuA^})p#Pynetsc$qw2g*qq86k?3{?E5xrDWB~Oyr_S(7n8&Osbn$qZLutaW9N; z0Kiek2R-X0_D^$^3lM{Qd1Ip)0WHT|lflXF&2-Ia9jtPBEF+9c<#rs5sU31Ukf0B* zOz~LvAequ)Hp#fMDvy*Y+7FqZ?(#?-agRkYByO3Q5vE}4%RwSCdYIq1>&M*~9Wrsy zR+NRW>{{A3%0{I?Ocu+oScX2NgP&7a%CjmcQcDJPbjJcH&Q?bC0JmT7a4@43`>1Yb zNv-ttHuHI9%$d&E*Y9zjoqk`ZLMcVrS%jn1yJ`%MVV#yYRm(=X2tz6T*dP&{414~E zbsKAWmkwSwXX6>zq@ADxlh-7;~@Leh?1BA+wF^<4vonTJ>N1cSqd2=rB2gqS z@&d=^B~H>#M`8&4KDD1|9BmfZ#^}s{ydYpBqm<=NdamMm?Tm57^l2Sqlg#Bw!!OD( zLG|oMPCaS1oNkeyyVR_b>ocUkYP8~10uVSZ$&f>F(2hs)s=6(`#1~fYBACVtV0_r@ zLC5g=R;=>Mw#ze4WMEE6Jb;`7`SbYuRc5(+iEW^YVrGzU000OBle^gZR#LlKs}H7# z==BJ$Z7xJ;6i0Ejfd>bA^T6$pYO3AJES@Q(eBurza*wrlxlMIqiucw0k=5hwsC+f84bmYPacZ{Z$e}$;YRf%uT#hJtFp-r+$nQ= zY?9r|2kuMda@}xGd~!gfq|jRC^?{UKLk0M0Vu%SNm0K|!kC%XZWBFAj)V|eqJ=McD zB$O&gx65D$7$kk*eQCE4OChv^7ew0$RgGKsY@?oiaZpC~Y!XPE?uCFMlz>X~DnZE= zqNv#xI!ziBiVv|zI*v(^1D4s(81Kz*=}T*;8UD>Vk|`uFhQ`Gws0ZuXvb2a++9@TO z7tC^9jxb2isOyTJ*4d*;Cz$0OvxMxv{{H~ZoF>~MM@6UzrQ0OTV)8>CnNk>c1dRSv zk=$twYPRV#Z5bbM@sG-qITfN*5{3hnDoNZuJ*u3sOL-KfW)O|I00qk9*CU$fi_k|I zuH7Z(sT5$DZQwsR&M+~?(cZZ&cf)q~W%WDR8bnk3v`6yD$3h6f&#!9MisD;WmRQ;6 zmO?|zvw#<;T#h@{>oq3TZlysyySXRj${yiOa#!V(u}QVD!`bK>Yg(n;vrL{_U_{x@ z3CKC;pT@6V8(k{m8`%TN8*tuPJPyUMI@e_X0A>@wtgK<1A$9^(9@)ntqPe!UxDwk1 zXn;5*FU|Glu#FdM7OE7azLjHHtvsoe^Sho0)48m%3Du`F$dW_|!SewF@X4wWPP$~R zrK2;rIf>YCbJ?+47kY&7Te8lJBXugQcCXVkUE7qX>8dhkx1Knf%}MgX===}Eih>o5 z7zqH|{5*Fa_^IT%-W0J3yk`u1e}zRHjJuNBF(WS{apT+$I@c{*Esbx}si4 zo(*VT`4&qAt{ztB3b^E`-G)8DJaN}GgM9@emEE#lnQbqS6f(X}?ab<`7&qoSboKPb zk*{xYB1RQ1zEdWCa*9TAf#}?4rzX2tqOiKQaEtrNRb8@kvv?;Y4`O(%h+~Gv8HRVS$lnNdR|A8CvY(d|=^I`BCBG0FU^TGU4f0z%sm{N(YRX9Q!6 z4^#bWt+cVjaUp4i!MMqc4ipvR1a|iIt9EiIzgZ@a%#IF?hj#s)1JI$iFFwyDH>bm zB2*k41sEd-rvy{oY8Nt5W0FH@ZN6zZ%YD^51_l_Dk&*41)`=QL`$Wj`w$KRyxKN=; zA3z7c>rz?Y>CrvBcJaRX30`o^yEr&Kag6@}O4qiAOVtufx8}(zFaiU>BRu4T>-bf2 zt1B>j9e0LWTbVq#aIwBX+(B|zsqgt_o8nynZ_Ab}#eQ$R80P?-9N=-2+Nx=CNoyyY zDFm)_BV#{@deD7BdD=i+l|OVGejxoTyAK;Xvzl+Q=Qm>F*Y|g00Z!24lq3vr*dJbS zGv1pGv@<%oNZw-{g*@O9oUh)`K9$|v+9ZWyaunm9m;<@|Yn2)mu}s>zjLWf!UBqDj z01zEB-0_;|sY>#^N>wz}Ybb``I-^Xe12Z_r2Vw}$KDDW7bz^ZO7&peu#BRxDIODI~ zAD(*EJ6rpU58P@fL{Xk4QM`5TG0^w)>(Z}JZ)r57S#E_(d5X$-!*=709C~-Fr5g@% z7F%{jd=_CND8}sI0h57EYrA;3i5PcaNezy@5B~tFmeR{nj^NE?#gZ^st8g>O>5g;K zv+qu?Jd(JDBif+u40nunC!zWtD^~1Hn9V}@;kI^5cbF@Ah!gK_2Lu3ccp&Gm6_+mC zwy~admMLP~LV`xz^Yadef#_)&wNo0+_Hz3dcNyq-=K~~tN4;B3PR-**y9doxUBu-6 zMD^r$?OAi&6kUo(FhTR#~|acIR5}5g>tkoh1JZ_nXKaZ zWRR5-9#y)YnLf3r3;;vE_C}UPVo2z@>(lBnP+VVIz1WJ@M0S%Qqt66_0m1db?d?=< z#1Kx<-pcW1hEFF14DrSWIv#3nUnx&nl52tfiou*PF_k#m>C^i2imjjxNG$1me|Z#+ zH!wLvVGHxig-nPLusn5QL4=t=Ad zUU~G-t!E{z?rN5nA=VL5p}JhVmfCVg3lY;JpwG|>%H1TE=^h80)q;Rka(P^yzm96} zkeZ1p32T%96C)g`C)3yKQ&~X_TcIojzyRQ|>JMMWlUjn&Sm&2Zy}1X^Wk|922n~#$ zq+?+A;gp8dzbLA2#AYELy2$SLYi+j^;U{R9&bCmdF6e^!ji|>+NA=ic87Gs+=SFjm}2qI3pdg!99EZ zE3$1W%K8)qRx<$%g8&rB>6OMa#~jozpxnZ-+&rx-?Z?WhHiF!+#~gL(P@`qAomD1d zqS_e_*2r9b^P;a9J-U&>_BgKLEe6E3h%kjhzYs_ z^I9mw{Dr+|SeYO^f0~t|{<#{(8F~&gT9COyH-RaWlMUqEkfVKjw?ZW~v z3H#XRBd0uiRJ&hM?#z3ZpHB0{=nO0g3K)LuV2tFBdFz5dI;^B#2-{D(3=@_{3JZoD zj2?I-5OM3xUY|gcO+i^nXj2j~R@_Tx_<fTn1$VNq-#&;4*gVY@4 z2d$HjoZ7y~7?jw=LB4=Qzi$Wh8BKBmht6gS<|?3Bku=LiQN>f5xp`GM0A_k`B@8x%D+_GjA-o zE9K1^F=Y#e3|OHljtI#4hi^fFPr0&;Hd)AKIVAdl`h(ckPqm8YOy%afc!u^l5_JS; zJ--S_En`VAv4EqKhW1PywdIA{OC7i;b1rhH0D)QD*66)Glwd5d zNKWE&k;XkL$-TOhy+XX6i>^(DCRC*b*D~a6_QIdKo9>ixo{VpIp}?@?}I@Ce#$DyZMph2PurJ zmS9QhdJO#yLjM3{xJeP=QW>&x0Xb4eMmQBaEGBU*qlF}H3TIhFXLJgi|Dm>VuKPkoz2Y&s&wKRrvBi%x{c{c4Eaj=7*l#b-&eLj_E zU`a%=p&(_jNF{cWgYW+U)}}Sa!0v@h$@5@mcHHFS{N}Q@rQA!MLB*673dRekzzvKN zgbd^k{B`e|%DuNbcb1BcF_e7L5KyrMgOl8h{eP^F4Z@(gBNOKzF~$aZ0yF%o;nn4u z+`)bY#BuzfdJ~cOkUcT=q1lzELY=Wmnj5Q>+)#uJqbHx2oMWl)k52V{L=aqC#TzQd zu5fnlAYdJ>o(TO#Mz(g-FPm#1Q5Y}fobtV}MoxI=wrYTp=OvVord~R;W3L^%boHrT z=fotTu?zmJFq4`+?ZNi)p$;RWs&N}qswyiYl4MNaJ>;l^7=Igpg2Pcv+qo@A> zs8=(6VKJ8K6^n9{get(O8;0EN#xu@NJu81mw2CWIw+zc{P{)t?>9}P{jw(;mEv+ndaL$%Kp&?a@_~Dx)z$j4%TOoDt7X zwU4GgpC#+T0U}8iU09QbU^CofzaFG})S89upZ3q%Ap$U5yy~N9z{>^%;~|s|N99(u z*v+POaNC&VLwP3X!Fb{-Na?`b3C7{y*V?6y7?t69UpNHq1cB6kxf!hc*mUcdUP#_p zl#n4O<-?p8Vg^?Pj=gxPba$5fRF(^mm2EuNMEk~7Pn2Nv#(Mjj=#1>_Wh8RPO^;B% zGQMQEnYX_4kW}Qy^5lR9Ipfx{uco|$$NNe^(Up|C#>Xno29WugblbZz$hx4uud=t11F!Ya#g*~x=AfaH5uZA zMiIul1FAD9$IOk4dNJ-#P&!v9Zw##$p3Y;34YZzk9^HM3#}(W7g3>6ZTQ`m5Sin^n z{o1cW*d6%J2Tm(KYfF0zM3z!Xke$j#S%*vvjNpUU{3`~oZyD-yA!m`|OFNy)%gPYL zJAgc%;QcB_hDc@mJcJaG02mB5KqU1)&b7s}NpZW#Ck^u|jD#d)aypU$>yBx#*oRq6 zIFfW5k(2;HVsN{2p7=E?2E6E`(I)lt7hrFE6OOs`6>2+CGBl~jm6lPTl#a(Wem3(% z+}jieMg&KhPJW%}XsElHSIq=RYzi5l1f1i7InTf0 zS8X27Vl3`e=T`Z$q^>dBIRc&Kn@JrdkIiG$w@`oC$M{tzmEv-+6C)nE9OKi9n6POb z0ZUfaV7a%MOG6IjMdW2qBPtFF_chUJm+)Rj3mHO4#4s#CJoD4}=Dh9%TbW|q8r(!% zAPv7S_2==e%XhM}%To9^{t~*QyP)b^zGVp)zV3NsE}BwDy{%5 z?ZTX%IO;0ilO?n|nRWxoWBa)=xnpDL?tA|LI`ZhXIi-?VZY28~vnUcst-Fp$3y^am9jIAH&PgSS?ZyD@_*W%$ zJ=;8mQJw%517&>7p~=FY2m`pmsPxOrol-aR=kh`>2g!zVLC?#QNcTKfQua}pWAjp3 zr<4IRs{ysZ!Ta640PR~TE{86=9QEAnEn|B^=$nyD@{OQyI)xnW&*Ps;=fAdfT`@1M zA(%&Q(U!}oZH~;xYK~6bq#v(p^lc|fh8v?Sk-3S=sK@vw8W|;G^ z4lq4WpsDnoI_FX`NvKX^`GU^G^cdZMNXft)_3c>qdcEA&hR;t%vRUEtC1qomjHmzu z>cfMMKpgX1o*(-&*~58zB(gbSoYE4I1|V&3x>QI7m`NlADfzN&;NY?eHeK*3k_mIUKLf>h*+J05S zZYm_gmm7HF8Ryoslx)pYa#uI4bwG7JFG^{bZk+SUy-@j4Br7T+d!ai(Iq1Y^iq(|d z%WY*nt&G}4R`G2S%RXI;DBZLnzyVKgyyOBZ5f6i`R^Lc~J4<;!*SZCixQ{O&d3q9K zCn`FO3HU+wu87dES`A%`)rxYc97@X~@GJG-S=}}mDzGU_q z(MLxBBP9DvEM>FvD=6TS31uUaMR&HgDP}JsU*8!?W(Y%a7 zbcpmPv`;e7X^G@1wE2AHUN{{v`R6$xX@#23Z}W zE70+b{KNs!VyNGyqpds5;p;TeI9G0q0lxNjK9 z!uGE6(95JCw!b^w5R{lQoRnfiNyx@gfMd|(oDP^epNHP?GwZic91D*wD^reokO}0I zo(?#a7#qzQ?9(FJY+K9TF!= z<=%!@GA=?hZ2^5)u6uN?MPfiy8%|e{L1FV_(=~-Yh2gt6O|{;k z97YL26UUsc44z{B)i24;ahz9~hVc|K#}rE&$7uO0=7a%XfC(FWWqX`w z9G*LyRM8EDOO8a1C7cse7M2qAoAZYVUMkBT59m>tqzX!D7HcsfKbC` z+>&y@o@rqgTJwpIYkv z+K@qU7nY!1e36g3${AE{-O~VPjDBXZV!YHE-)^MB+(cBWtbhVkWrU5ifs@#Bdm8DV z7Z9{lSv06qBPSY)Qp0g^433^)jELB}s>%o%z!?dF zlEWh;`<}K5ndN&qBQnmYBmm=rMt0*o6$}1*bFn41pK11Rs~x;tp)J32W1ZWH>C>q= z=xLfhr78xxxRy06LbDH*LB|R+)v@*G=~_lMGN_!kH14ie*4pM6n{=`dF|ZHFpkRex zr{+oeQ=*k#-Y1CU70UXMy+ePsj=kF&R8|{g5tOA?@GFx%SQS|1mK&f#Mdr(8D zU`wgr@^!!?7(cIKYGoFTtc>XdbK970z(ygX4~*cc z2~>z3ug4kZ(;aipO?K^QQphB%QcV1;KvM0~l5%jzr`EaaiCX1;&1C|{5APU^hC4x1 zk~%0OoSsK)VAe8MDh%bWVYgRF-PmCHQAP>*zF#wQFH)g!06b@!hIb;_rk7%wK#4|3 zEC*4!xZB53&-J@DP3jG$;fr$uqlIpOh0jHDR4=%|z~^UJwNNLDD3)FT3WZo_1TNl$ z5)=Y+lb>vi=MJc(`XE_xnu#w$lhybT-> z+%lD!cQy$D8Zbay9(g0?>DTIMli$6vc?^#{qCkZmj~HFV6P%uThl3#lBaVuB-P4{4B8xQi8=cmr)|n8oQ^=EW0Y*mdr*?6S z{D7*0**GoE0pM_Q21w-lVyZ2?W95K}3uZ&O3>EVTQofi%Fb`e6{OeB~WD97*%^NJG zbJIUJLNEb5o_NU^?OI;$MLIU%Fgg3JfumuGGpaDdXeqade#-i z%u(8THc+$4v5(Kfm-HFu9r>(fOSt1RIm~Suo4Ew?fIQHL836E4(E3z5ox%%i3Tw&Af!2(f}CbafJti zo|S~W&12?Vjl-B{zm&_+sx}m{10Oax$E_{m+FPpL#EX-ifdShe92FerADvT%DJ|fi zRC`l%2J?qbBq6&1c;cyF&oovh3rF2-yrX0Z5OLQWanq4dyva@9Ltjq4xs=N_{mgMO zjS3aXz#R@r>VFEJ^2K!-;kZX0Qf|kTc97?iPxot;l_Iu^4K<9DO5{3WHVn5Ux2XPA z*j`#Cj51FQFKr;h7RN59?+gs*@u-aZl_Zf@OVo8eF6vmWZ_-GEUROH2MYl2imDGn|Nh;pJ_WIYBYC46DtE@{NUE={V3C4SL!2D~i@Z@*b@{8?4{5_$J zDUC3yrFs*C*BlzsGilip<8*bhYG2tTL!_0sc{&f`3_AXFw)20&K#4WP#V5fn3URX@ zxUB|?*7n9obnvh`oyf{C2^@km*w%DY%_K71Sw^XHh(v^dKEI83>Ws89r_^jLtPHng zMyka(7ULxP4z;tUHMB~6pu{@w4!~pR2&&h1@jj5NXBsg@-oinU8?95*0J;gNMKdHk z9v3Q4wmW@lB$dz_?(!6pNeZEmeL8-kxog|`V!Mtjcv?{+{KPip{YUk!onq#DGlVL9 z%#iL+2e)pO%UxVtT(Tpb&*-G>{Q7>hN?nGLPE~?ge8+PZ(~=Y(zWF$)rZ)S$(%XQ^ z!8y<2{xm#p&U5#WVYwSX^yf8Mp;*+#DJUP2$Oqe?uQE+@S?+F@#IVn0b90F%`9S1= zPDfrbo|Q6vk+W}X#z^ykcvfBA3hv0q>r|99F@|J6yyJE^6W{R|tEp`mUocD~0}Me^ zy9cIu0<)&=5~XI_EsI!ULnKleT&6i3?(N4uyi_q;!kbQ8cfn8&Oc5nl0_SakzBUSf~?#e{{RWc`TA3gQ+KhJt=MrT2hXayjfX@5%KweL?dhx>?Co1($Q?HFBimZ)56zAP=2yZJox<0vmP+ z$GPJe1E)&XfdCB^!tHh8Kp0S?l{px|=snLBP@8fbl3SR|wJr>D5bPBiG{EV!^~b3_ z@ru%xA(y*F1h6?BcHwx>w{z?DqSdzi#X*u)FDWCE{{ZZcG3lRA!mSCKDg3uU`*F0d zIb38f9sO#Y809St`+q2}lNy4F^9_Ijk;@Z~-_o>Z^JSaNQIjTFqvP8JcYETheYPv< zq=+uj8{mw6+=HFNkTKr_HF_n9=YJ+vXLKNSP`=0y8T@N`B#em?(d3B6aHBjnRFF{Ij~zYv_M#8mTRfA13$o)UacpCp`*g-JT2Pb&%s|9WHtsl5 ziUvvK@=5(FmWa)>2{hPXpLA@hNZ6$9!jaVb6ZzK4OB9T%^KLGAApPcFr$1Vu1&Tz* zF|t;23o#i*>Bl{JuM@S!kz5)TBATpwTlw8$1fa!B;S9=XOx`NtHO5hKR3gS&6c zyz#r&>OUH>01lv@7%(RTj&uGdyXkCYQ$ib?J8Pu!C4|chos4^p$F4c=>C(8fr|Nzk z-zBg&c8biKPIDh1aHF~PABe9&n{~Nq7jvlOX8>ZUviWe#vVY56$L2oS>;3|&bZ@Cq zna$dGj@7}1pU9PS@~|f@oROZr4>WgMaGdjXCzYrDCMHdPVG zRCYVIuQ>GtU=EyBGi9+PUo*^&bF~=(B>w<-4tew-R7#$vv1sM&H0vuX*wrnJ$iTFG z4o?RlIbg_pT@G~wuYB5)*G1RirL9TmvZ@0j0IKsfMeM713COFQfm!5 z^m(bZfL*SH=k9*;E z5Hp1UWAUu)mgSo(cWY_3*`~u0u~9}@fW{9UI2f$ceAid2us!6?q=^WI?!z|Z# zZ*=&5hnAu~bASipDxcWI zbICjdb4ma$o}qJ${(iJLu_^XB=`@RS0e5*6wn=u$By;|Hb5UC@mY%4dS&m1@R#B30 zGEQ^X*WcQ@OQ`&aRxEBjH(~%CvF}uGAW50++!d0ti0WJ&UzjDVv&XR)j(wKua-q&sW~L55(sW{q*V zNaN5Zn~OA!xppUOsAPg6GMW6tAQEx30K}1=xdXK#X?AkQC}(w&O|A<&1}7Yj z_y;{WHO*gZR(4lkW0Be^OMUIRj5FoFZb;{zc>2}dJ6^E7xtv0CvG#>5Il;jSMZ5^dg5FALbqvft`SNWUViYw$m1Y&JdE|ICtJv%c`TYXX?ZgDeQf)+%$IoeoF&6)kd(Hjvv(okkeU zI-i##$TuM`w6`4w0q3qrJ^rl!^D7cI;De0kCyozsO4_UwBHrIZ zvc5KXYQP=mj0|Uy$9j$Cbh1R6asx8P8Ps6zZKN}GJe+5!J!?5jp}nkP+Rbx4yS==A zT)b{V%*(aMzp9)cL&v2-HMG894Y?N#g8Msvl zryIIpbNy=$-%zu=FBQ~GkiOO}o<>`eNWtrj<0Bn71Xp3=D{|J*#OfZ|9C7HqIP}5D z$EItWM20yLq|Auq0rL!Cs|FnR=Q#egg-s3UJEwB=1j{Fz9Ajb58@jn0h(Gtx+x|s9 z<~d#WY+$`X1Gas?D%jI)!Lg5c!*az(Y;lf9813!I_pN<f%;WR zBx{Ro-4I^`jAN&1?V~ffu2>fgOltD{Hk;&ZCgvw~F0 z-dPIVjxcfGA5X@iM^a_6R}FHRST?Cswekr@2LN}@Ks~>eP)J%&mKE9a6Chmj7b855 z3C{-~g=v|LS8S16A1S|iz3?{$A$MeCcN|qn7W7Ru&c%hxGhxX;FG0^AFBu8WnA+Qt-WQ_G4Iuln3^hR|dZBfiw$#l13_{1kgK2xIOj2=lD&JI0$aa|;q zaa_X2H8}g(Exak@l*r`gu^f?}^=nr0p|$%)(37YPte^}Q9PUHg9COENm%~>YbC#G@;s}n7%z$T2Ok0Ne? zN!z$COQ}^qU#T2cu9k*zsP{PuwP@bXaj3xe5JJlkNR__x5^zp1eqqi!X0)u;Z!WH+ zOKGEyC`zfwt>A+BLo0LP=H3ph7otdD=ZV0DhIcmv^&yERl;-Bp|$l z3`rT>2*+>+IX(CsR%Oaa=WHJ0*{&^&A3Ql5jGV6?V;o@i#zse4C%Dxw>|W~1+`}u# zN)q7UDEYVma0$)+{DSn_t94mluub**cSLJ5Rc z+Hi3j$f^Tiw_?sf2LSPqewnVm{!KGdnoSK5J;^N3fEpA6l_{cN9{_ zX16fS0%9=4GPZjXGhH9{8gKJul%1rI=LBy9BroDKp8XABUf8Yl@(W+yC~WQnDM=rN|sSD4orKaPu;|W zyEaEo!#|yL(`iuYvf3S1XSa%10VCMXz%vcl-Oy)@vFdZunXg`@yBjSWNoc5ka2SOw zMow|TJvixExb-bc`XY;Xb{#T9Zv!GlBPrg@K`cf%&q3UMYg%Np(L$!3Dm=1%?aPw6 z82L%$4}L2#WmJS+YESdT@-%}4xo({Cf$93w4d9;lb;Ledkvzm;ccUm68SjvLXPzlP zAiF7E+uG%|8CFfocnUgp>P;4K!Q}br5m`=m$j2-PYyq0J5lQnDaec)fCVI z+)fWU0~qw?yGb-yFD>P@iKA$M&plL+Y~-4JdL)zEI4rLrO|fOR#t*3&?M*?6)khDf zt>lwRo?o2Gq%@KM&6PcJbDU=xuENdd)GlDN)o#tY!d03TJREd9aC7hZR61sbad8M2 z5^cD3+IBa{7!#7YADwgz^Fwp?!6=y8s-vjdOCtXO5@3!;Jq~eO(u*^jOzJHybjWSI z+hlOV1)cH%J+Mdz`ct(#OPjgl^4wWHzWGOe?YDu>MmqNOrL)#__pp5Vu4Wk?a`1Ti zR_|j2N*PRUHNZ>yJ+3HRvemp~t&7bm^}a!sN?zs|~pjkjMig72A?e z0CePZuQu@=&X=lcb~;|4I^BJshn30P`%5V6$oAtI!K?9JYTD$#*}_2o0Bme+#uVe_ z<8C-3KD<_y_l9k>35E5I+N`lEO6)#a4)ciF8@N3P>&9`4B~jQO<$n`HbAMrBZ=$M? zvOZ)+;gT3f?-*mC;{!aBdsjoHLM$S>ios3ot-(G>86HoSh6HZy$Qc}r9Pldw?h7po zOuC*sg`Rtu@+5K^H<7^v?dPEfuTQOX`hKaT*o`+#hUI0JMcN8{u8dcb-2v)A2b}(m zJH1Ba)NNwEh2ZO3dyD@75$pFYaW%+qJ{D|83hvw#9yb6-7~{Cja6U8D!s@ZQMqrNa zIRsJTIcb2561^3hhAoWpdjVdp6gOt-?$Y7f8+c~i0U|}f0Q|+W3C21O{VU6@>=#_| zP1dm^1EpzlysE@tzA|&q8$yh9>-3_flynMOy-!l`--8SuAF_m5pf!CZ1UrYAVP^ZS+^Ys0W6;)z_HnUMcAA{`_EIV| zQNZM|^D~2xaBvSnfChe}hVea;*-EyNE2QE?hTb_OX&I%MWV@W46il7DAb0ew7K-Ll z)>i0XYje)XZk2zuCcBlPuwn@)ihgMb91t_X&jSDsNv`^B4l7+M40)2vY8Gi^i}#U+ zL4X)9Ada0o9G*=-PSMf`#k{geZtany5=1b+V^Rtf1Rt25PBF-C*rhf)mDRJ|e`t$s zC7qU88B|Fx7~qBONZZ|qK9vn!+|kdLHb)Jp&2QpsrjaN6GQlBv!VICDE)~5oj0~{8pq*Y+(fFeI^iw-DQ5H|L zHM@)TrexD@3i#~5mw zJN+Y0(RIkp=B;A02$+~6bu5abpuq3gXE@@rJaHeNt7&uVOCYp}&LJ@nvleASaNU)& zu;&$fPPe_jwuT8+CP2+0K+F`v%BCh=pmoP2fI%HIinHQvI@j#5>h`T2vC}s^;a_<| zT}g1Qjo}%7Vcl{7&MQY9E{xReJ2I8^yn3FVmT+bp$mNZ*9EfCrhs-xHC$BrUo`=%B z<5_5+k+kXIQ*jL9Hgsjg?%8k^c_Xh*fSinX+OcW8nY@ePYZd!#GM8VQX;9u%kh?Ru z0HrrzeeNpt?UlZjXXZ*{H!`~*WaB6bgl){lhX9?~2i~)suCy)?*Hi!3`aTUNIPYeM zPTwMKP3blQ3=*dRfEjx70Lk^>)Rwn8TF9DB>aDZbl@1khWCP_VfDfj6oO<(6_-g+5 zPCxLCYci$0Sj+r?<2+vuP+S)x%c`cV}!UJTVFp;>N1Iu9jd-ku9 zj`|-;-`P7jCX(9S-pt0`t?3m9xRKn?eZ?e0D4 z-%&=^+~{TkOHVPf_WzZXCCIVqS9fG{`vw;o^I0Q9AFQWo;`W38H4H)tY2kAB(iP= zwuU&)2Vy!Aw~x!(x$CK|Vuaoy66_0<&JN+7z&9k5z&Z5y&2%Qt2$g?!o7J2R-#7zy zK?LO5`pIfTz?iC%HeY;4CPE!}U7-VVrE|st_sAsn=nhnA1de2hge_+$kTzox$pbk7 zaBxDY$pf+Ft71Va`FfJM+8QMQ>_8L0Fph=GEUGX{l1k?aLHpSQfmlMLM(!w*ds%0* zXrsqnwGkI(WmmyH)cpPK6^dNpX>?*ahDl0Q_ZJ99H zBq)3kc+c^7$4p>$p~sYB+IGn!Ib)yUcKf7`K4t^g1M$a9A#`OT+!M%BIEL3$O^vj0 z#6LJ0JqCYYYTB?;imNf+8wy=dJ3u679;D-r-Rla~VoSLQlPBjvjyD6fhH=xc9sdB8 zbqGw+B3r4CaKQ(TN2j(3?_D0xqBCzo?b5}43A9q_fDxHjI4(OMsq0*w^|jWOHMXC4 zWMqMhFCdoB8OiE1)P7ay7FM!b+X+~bM*}VG)Q;x3Zx!kHI;2eL=0=L!oRS!jr${B6Z#B;38kfaa*PzMY%RPN)0 z?G~>CN7Nm};mh)Rfsg4^Qf;CXtZ%LT;^~pToS;b)6>|N6>y9&@db6llYDUuDT{BVh z8eBUjckS%S;5`>TT1cQ+nTi2tEI=~MRm6FNcfRd@;Z&c zaYa25GVWvEkF#n9dC&)y3EUhoIpE}U{V4D@t9NI8du1)UTfq@h6%KM+uPxMf$gC@S z7r&NkzqB-W5~jkd8SsY!5qj9Qfs;Y=&goSO(xpwx)L!419 zh5SNCjs%uDKK4|G9P|UGE7zw|>r;iTbvn2_nM7!gxNMFGIQRCV3m>vOtP$-@=jFnW z#B{EHG@8}XZIRh!A0b1Xr?}?2cbzobJiLr#kmQ%=2k@Qz%kZxy`7G>j%8uN`oQ_KV%&6Bhar}H$OEAGDugQjCpjnSNVm4?yOZW|{3LE8*Ng%D>q2NGiXd(zjn5@icKnIvv!bt zU^pKB->nb`-erb)fIz*vdgGs8O6KPGY!WRC^f!W7kVO>0DUF9LaoC=wr-h}}FXe*4 zOiOIzYYt8nbRcv-!;yhe`LW4#Raf^>3^Nh)0(m6&;C(UPs%eTem${oy1hwR<(Xn7v zOqgPElkbt~(xRVJCatldY%Jis^6gyhSw3v%A>Z!+Pu&Bl{CZSRBH{~&MoBEBEe}5{ zV3iw)<7vSoJ$U+6vt<>_UXvq6(-q}$xb0jVAE-GUx>Cb$4EE`4t)H{0MabxIFxyXF zPDgChr*D|0shrmh7A`iHjoH4S{$3OYZZ@)>NY8G1^ru=r^;=ov+qG8!^Mc!n9ddXbNyQ{g zV~yf0S~eS3fKVLsj&Y7h)0(uonGKGC;7HncWH{kTKPw-vdWuV!T*>9LU~N_e5C#X{ z9^>AnZK5)-ADc3+0*vxX@IXB>bM)vrs1<#c0_$k@w{I*!>t)~m&JB$NG^e6BW(k@s>&K<$7( zI)zK5MJ=Ug-dT~`DnSem8w086DxoXA3TV)m5xgq4!e6?%XTekJpUby3VXdLLXN)O3 zagql@M^4|RQngvtf?Of_5qe+k7TP1`{i`eL~!ZXHnVZUN^9w@;-WMZ%rnmwx#GGjW`cPM)=L zHN7y*VpVv{?qyt(p|~d;anm^K>0PuDl|+aAw$|lCM&XV?80~|=$N143LoVpmmDw9> z0oaal&rT2JR4%O&=FUGOY?3xQjyDgyayhDy*v}M(+9?>xw6gB|nJvczw;&JFx;dKY zN{TGGScTJpB*;L0ilv__pb((rC#7?eL8!CGGcS;gOk_yIEL`ItE^*JlQTW!wYFD-= zcB5{{qbJNyopIlGFh}{~ty|n#-c9z~S&^{28NY}EbAmlGD=BL1QY$`=vnQ2!H!6$( z*kGh_$5WmD! zT8{Hg4hyU8$lw4;+5zB$>)RBiNn1j>k-%E`i_d-6wvQ9wF)^$!qQqyr z9CQP{V3gM8sw;F)bv!zpMk{^c^_F6-`NYbNGHpwAZ5k~z{xyy>FeLpr?S>;ZsA7`vAJ9xpr6y4 zl39_X3?nkDuH`X|WOIT!uz zu^3(ELCD=4NWb@!o>FNZ1T1SLE3#W-yLf**7H!fR*c*J=wQYf@W5p8z~>ze zMXj-K-ZY?^H;B67m6(+(bC6Dd{Zuy60?4@Rc=i7P>vybqH0!IG#G8J}<+`xiL6Cvl z<=~I47aCJs7Y^p(8z7@Iap{7+di2FtGZl+7tN;~fP{bZLX9GFoCzD*flS2*Jk**?W zV_qZ@ZhV4900SRi$Bvb?9krdZGX05E72K|)cq68B+MH#zmLcRuP^Jh9r=TB}aqCkj zb48)eU0;R*C?Pj(Im9Bw$vTceiMtq6Gb+pO0CnhpHzV8Kos z8%Q}kAHs`hV}d^_Xe6?Y7idt$aCmMqdTtrdKK*N?)MN5W-n8szi)mno8_xieoaZ>n z9{qcZvgokQ8{A5!a$L70;O98N&m5m|?Og5-`Wvdg?U~10UB!DZ*5O-*LuF$PoYxY7WRE+`6Yg-lWMuW@ zuN`=Y;{&Z_ zQWw#h#!YHRrlkJ>>aJJIRsn)9J2=2nf4m1?z;w@ATg!1IYJ9K=0AoMo*7lDANeO{Q zUMz;rK+kLryK&p6TvfSkN+O0C$?eI{p&rzgJps#Go=RTkJE;=t-!RL;Je+&hta^2k zD+I?2f>*d8``1-}Waeeqm|$~*_iLG(N|2v6-Bkh;yE*HhN}fh-8j0v5X;y9KBgX2X zI3WI@*F9&aH1e_-$CuD4KQ>2mT}{2@Z6ubhGL?*VCy`jUf$iKVknVhtKs=AFDJ9UT zH+vUtp|gp}kpO7Qp;68^a1KAMZYZ{B5tL-ELCPSCfI)PIbW#cW84vs#+z-iz%g=*y|6ky?nfO*sQQ|kmU>*5suDK2nUFaiW)9NX zJm)8;rbSegqZDQ+Nh^;305>=v@DhHU)`XV+Oo7kJ(k}q>+b0Ab;~eAOsNJUNqG-2B zrz3M?3ydDTbnnGr#F3t3@?-MwaVf@gk^$;FWCD9uv`Gh&5bI&IyJmVDC zN#JHkkg)2w!69+TAoMxU{{X6@hB)DgQKDs1=Wrp8a!xtNy(=1XXmmPkLU{{g%9H>% z3}Ei<$m~BVhgpg+S-yS5sI3MJ})JYd_%tB6W4W(0z(oM#81>TzAA#hheOfMPh>27iQ{^)<)pT09z( zKC5csC6+@Ag^ZF(8bJcIl%A;^=BcH}Y>YJvh+!=M06Vku8Eox5a6LH~ITg>^ z-dWj3_Er|;NdWm6jDx?1#!dn5D{gDKwd)gk3EC}Ktfz0tz=4Js>w%st9@-fE_PB|r zm1aD&YFj&g_R@F&uQ)wDYnrB;9W?LMp{&^X`YLJ~rO;V~tK^11dADN$c;Jz{CZ^PF zblLAARaABicLhwGDxCGsNXe`IDDs{=19NWBNA{)il4T9%U~&ju+yXoIt*vg};wX~( zZIGpCvUjZnbGQv(m`WE!#pzm3+&33j?*}_9E_Ki^o%G;Y5 zIL{av&sxfGvp4pI#kDprWz!+s9KePrZc(yNI2;m39A=@8JG;xMZr z>sBnzJ zpbOV-s>wNmCm1Vk7{!j#~(H^oc-cE z4@}n;<5jxSboNMQg73~#9G`b`2IP=OLVfF|RQXV&E3z*RTt{zm(5^0FTB@IJj8ZViQ~sHz*gT+yGRP zNX9zXU#8nlEtUND&R!=OR#{1Hh&OzoV0GgHqLi+z5?b7+XKuObw3jNfM-y*treK*~rx^iC`iy$j zHSryk_Hpd99&O5`j?K4ld}C^m4&))R*SAsL_3gH=cVlcsf-s?EN8PoEe?>h84=1R_ zYZ&N-DI+gd@dx&yY{cR`!v9X4Kc@f3`iyf+$mFWG@ypshl90v037qupKGhwY8H(lx8?|Tq<963%0Gzq z40|4+n&-Spd8$jNzKtwP3|e@%n7d(%NWU>;LNIpy?uXD-$KkssYVy$R?mR)Kh~~SV z)@#V2Rgv0MRSOzz=v!{o9*Vi@c{#2s-uo+fw)3Us?x3)~*cACuTeJC?jZQ#qpl;kU zcIj%S(#!g!ceQ`~dQx=MG5uMmfOFJD#-7HYlN4Eq1ft+PU2%pDUQiAxR^s z*~Uj&ZGwYZvrg`77t-%%c0s6JM$8xzT0TKkKu9AQ85rb)o|VSdR4hs$<$iqqY>G!D%^(+oCYU6uxtParzX0+8%?l}PFSsk zkolk^%8XT65NC~`9D+{luspYFguU$zV4a^aKZWcyM7O$ob~X@5@+3Cs0cDO2s>dV% zJkG>|a0fNq+Ib>27wogRAxmHqyyb8hj9_wbJCmT*r zAo1JZij6LxS&DT*_EwTMjgI0U${Ekhxj7>^Cm8%W>8BMP&U((~)seN+mP^9VC7kRC z<$SpF!vZsblg>aRC-JHp%#p!6$z-9Yyj&PFl4OqoSrtPNb`l8#u+JRUJ(bLP}1$BwSpG&Rz?_*5;hbk0D*?%smFeT zw7T6H+o8SX+v$4D6KSLUDM3Nz43eif%BkmQ_T#N{o*=ujmSpnbFy6%|yNI*kZ$e*b zbCJ2ga0Un)xyMRuTC6tGyte~g6~(nTbr9u z0!FCK9l2KHKPmZu0C0K9Cl!R+Iw`v{{jR62Uc+fNk7#CRR%M)zDT&5Hk&TBVuOMfj z9Mv|0{{UE@$kwmk=WuZ(B!ZhJJ4OIJjAt1H4&6;yhf~uej^9EWfV#JZ%+@5~T$vcF z30SDkGDhGILv!4QOQu02_Zpn#p=+Fo-BDS~alGTRc2eA9p{nN7LL3`Yg}u4+FCj)(M?!oqgHil4kh6-?70f_n&&!pZL(2@zRCt%=RNE6C@0z!@nBZ3I$ z^v`P7mqF8X>$qmq?ZV2dA!0)`arJy{&l$nSIO)Ny;Pf$)N=2KEDK4~V?_oQ2187rr zH|&rM z9AIasBer;|9ut}8(Ql)fk~@TK^*=O#<@m+`1P}lxfu5DTA=JupwufP6e8t#@A>B#e z{nOK*Qcq6Rm`qmwAdWCXi==et``gJ}_3J;x zmoXz+>Jn_+w+cb%Kw?Kj*b+^2#UlpwEnF*$gCl&R-H(}{m>e(bo<6zvtm%nxWmCP> zpdk7&QO~K}&!G3_x?O7CG+#d@L1Y=^E(49MNcB8@K(2WJ5VT7f5-1&T3m4AdzQZT$ zoK!fgi_EES9@Z@9AQxv~GI7S>eeeZT{?97r3zqV&!v`RMxDHO~PTn_T<;HkCo@++h z)67`nx$YuF{UB5rLTn@c4>Uo~}*$KBrm(7_Se6$>^ARv%W0R813hH51g_9ptA z-PWIKpJtqVmXoo{HWEF%aswt$uY7eSk3m@%F}<=2Og!b3OP&{Cl35B82Q1ByFfagI z=N&I=#f~JJc$V6I@@yw+Gd=>a2Wjj{TobtdHA#Nc6_=lTCTEUG_w5^;g!{YO9N=Vh z!Bf*6dF2SBs+^k@W3;!mXf59|eX9|?gQ%5oMoIQ;0#8xSYpZw+=1XZC65ThJxW~!} zEC@X}3>@RXZg}G3xN#4aJWJ-m@~LoHLSzy^$pauTQJm$yiLIDilFg?`V|IyxF(5YL zFitoFhWs&+jMdR<;;5R~yj1~snLb8Ei^~Iq^1yZ+Ro&$90>rrZR9UfRMtgYm_jswwls9c;e1p0bcL1_t!`R?!3O>-b( z**FTh<7w(EJ5ki^=LXVA6p6A5w%@M+oP$}k#;2)5%KFqimiIFL^KoWw22lF{04loD z!1JoZBRGTwPcRiyq;_%ErL@v4AdBq_6py!pr32&CjQTBg|~4KIC#|H z06hWqtfMJ*2PDh#={E7N+im3D^Bt|Rvyb*k1mhmHr)gzp1Zr*2NM<-Le|XWKRtKoA zEg{wIqK<17l-u0oJVh`DI-G(}KJ~w)Uag`$O$mU=0)%2W4E11hkwiIeIVWw-qe!^4 zwz`u|VyANfxE}tP7$AC9gx(@qHK)+-6uQQnj|UCu&0?;X8r=D}w;6H+hd@IRI&SI> zYR_i3mo|6uT>^mMfQNZKfg`ncQ!?RLTC zc(J)NgYS&dsZVQV6Wv@L%OENhMsn54X*X@B$kM!+6CL=$%KKLQ*0uVQle0Z4>d`Nw zife$;Yyp5QK^g3E{Hu!9;If9~D>zU(05hM*nv+!V6Eq%elP*Ed93Rk%OlCbtz8Y3mA&A8xYw&&L*ALUn})D66C z9onw!0rIv-=iJsE&E3pU`7tmqISdK;bL=XD8?A@WCE0P+K*;saU(&dzH5aNWM(XA1 zpoT*7MgoESJHL?isGwCKDdeg9tTEJoDxN2iA`@-{%xrQw9AopQFw2>uP^2GRjP&VT zGpg?HTGK>0Mp|4-q9rTI$2|ICsXdxpW;adC89&}2@#&l#)#B02jvSHYt~Y`>+v*Kz zSlS!ARI`Q3I{eB{JAvo&^sM>ri*snjx3*(&?T;uVdozQ$70yWKpTG|Iq=`+m&GVDx zVob;L0&#(kJ-Q0$*H0R1$0D$1eCKfBZpKL+axqpWiW@kj2>Y5i$xPskk3fGOgQZkx zJzZ zV@S|MuB1KZmdhYH2Mv>u4*=vGdIOrhC^6nic@aM|3yq6_yA%*}p5(C$j>qd%=-W`{ zGA$WzEhA`i3d;L(MtLARMl$A37049BS+#8Sckx1)^L?zjS1M_gZ1_0|#Z?wc#Sc<>h7;LE^9-Ml1 z{{R}=n(SoQiXJC>xaLWi@!SJi>5hPURI%Jc1d6g2C^E&H z0Tcm{ay@?dwnX+h2NgiMZ!4y%faj1dsj1a1@(=^%+^pW zHqnin9PZw&^A<(wyqsX3NIumZwk_(7C%S>HqapmAxW@G(Bn)8ZvGuAiFjjb33dqC) zK__~i0nRxcIqmIQ39jjkhxf}70D`Uxu=vRkAb_#c;zQqYNP+^2(s)bJPsf z%32i^(96qq-s>#D$kAj)pP7K~k3oQ%yaV|I-gp`P)~DfvztC0(&71hfSZQU z@$gg*m;-<_?fKOqq|a+2zL9X3N}VHh`LKHY>w-FTJXcV#Ol};r>`d~i+@Tw}JRc_7zNv7n8H;uN+|UOx^&KE|nihfadvO(ruhA;{QrF^)zCe+>TsDozX( zlQ7#{wQ(A(Zp?~s7zJOOfC+AJKAkg7x0$DeO(f`>LEf;CpqyZU#FO~(TC>{-i?ZTC zpt3N)e2?KZowCS&^um)FFgFPP?@|kK!8q^jMVMK1Ad&19e3gw^g0|4i3G@ReKTh>{ zBrP8K00=gNwYVPH{K&{iX8DAEbzk(MBLghRI{1Yx?I zZs(48sc)%iEseFypcbe$ra*J|KDF;V_cv-J+8Zw4dvEdW><&FDt-M#( z(`}0NM)QP@a2q6b`GyXA;;b`jYQA;a+q=Z2Ros=vo~WtQ<}oW}Cp5L!se zw$27u9auI<&rw_A-gpFmc0e2ECpp?lIq%5G<2?2DsqgJ{=C^M=Mlg77pze@zFhD09 zdLAm8#dWePi#3`s;mM7*up0>ED-b~E)}4^Aac!*p?>5`aR*WeupkR&NbIJKmdSg8G zs2fj!Tg3`Sp<}?uK!}GRuN|@Y_oq(!n7M0&)5NOl{;&{?Rk{MXY>&saX5VUyB&}*A zc$pbec4a$JIV5Bfry%1wsc8(-(&FJ-94nB++YCX1Sw;+lpc6E&U;l$JAdt)v8&w$WP(QXHu07~J7@0X3=!0h zc~qv~AFVy@*6u=PfzC(Q-i}Q)A=G=bGX0#qj|mxF!F>ZZ<{zmQC9jzxE4T|H zvdNtE>ZMLQds8k5jnxl3fMp}ob~Ej_9Q{Q}8cK}&iH*ia>;uz+ap_#Ly3ndmsXXxQ zmMc=mRttjQe7pmHAP z>(73kp7kuS{fPO}U`-0C0P?4C!3BM|szh_xq+UC>c##Qsv&i{D&t6XifIlPjsFcb! z1z<}*AoS#(-4CWa)&Bq`mgS?60VGFrZ6A06!S~4eX0zqENa830iBNz?0Ib%u_fC>^D~ARExT{cpQd|rQ?YF}u4P7x7Pll2+!D-o z?tB(MDfR8!H2b@YsS;LoR*ga?^^712a58bnBfc|AH2CkKk<5%_asn|Ya07vlQ-V)5 zBO}_|gg|`1^=>i4Z9MWij>r7sWXk6ufZxvoHNCl)cb2cYhR{BrQ`eMiWlCy`CvkU+qOqehOKF;V^btHuQtWNEsQd^9E|4}$GvEgoTZ_!bh@>r zq?a$`s6eHd4ayUz0Y*>LJYu>Sp}JI2B8QpK0>dLX=m;jMY4>4m<+OWZ#zI4b*8uLu zc;I{Xt(fmEqnTq*+_IoJRt1iEJRhb#550C$gWVj>veum@y8=lOv_OfscH{Rk#{?2P zA548KLO0cBV)QqL_>CI!ya-ls> zGkp?$Kg;t;ypW6xusnm2oyVW0Vqa-t=aS=7xJca`G6=%9;ems-PSqTrek-xP)E)?A zhA0_JV~haUJ-E*!um1pFHO@dH5{J3Bc^K^sSceKnaq^zstCp=h9k81;bj#}lXx8>N zsT>i4sgbaJ-+LgRnD9CEtFytUS_@d=XyP(3WkI**KrtsBKIuQDWnM>bdwU$R4VIR{ z(U%xvSbU&^#t7gM`c_?q)|Fvza+-`SCdJy`YX@zEBjqc}9FRa6KaK_viXScZ38Ir; z@f5~+N0TRU1afjQ(~i9=_lo4RycU)QW`Sj$LzN+%B7)no&v3nKN5K9= zMRTe;EK}V`U6XO$w~(W^y;9dS=e^V|^!sZga(syxlqVsjJQ7Am6lS(j>`S_KY~r;m z8|z5zw5$0x#OTlGNB}Yn=b+$cKBUztH2a$cj@8p_k%b~y_}skUwt5qu*!QnUztfWP z+TP;s-7ZWZF6TU;PWc$ex#^zO&P#f~+dpL0+yQtNEGQ>|_c;R}dyMD3XHuQbp;G21 zb)3l7(VMwv9!!ekE&@7*ApZb#_8otxQnt%u;o+&?5G9&Ii5NK`05i@{AmsGzgIO2p zcX8q?eLl)55@^DlkGj3UImqV#{cFFAa`Bi_JHQN{@v^kue%Qn{6xAutlGHsDL zVHr38_9UN}52bQmHnp>{(QYl~wb;@W3g>BVypTumkWMpQx_F2xd4kH|L7Gn8lDHk6sDRKME%gb+OZ%=0`nk;fXJn3AIR8H&~S;`I)2+ zIWE8ex!OKeB;v2Fo{g#LcNRw}ZyN1=>4t7O+Cc-aa%*40(pc*HdujKKEx?RzOp&~v zfGlb=$0s?-_TsW`&Z8`?rdwPY^qAZSGAJ1Xf&myKJplacB~4o9-qE*i#vYMmO}qle zH(2Ba49qj-^=DP%1apuvfPJ{Fh^*4!J)Nuwt9FHqnfcCl1~1s1ykH&=HF!wcd%)JP z`L?Qz#udtjRx8f{^c_CFl|<_{H}YLvL_Dh`k1?ORLdXg_lh6=z!1V;UQVAo0 zjysMH4N~y!(!|s0miz7FP6kdR!6g0SeKE(kH68u+g{sJ`o35i}5s2UBV%%U9>(ufw zx6-XGHzlOLxGSFPMH`qk8>5Rui5T=QvcZ%+5rr*W;`=yKY{Zxn9~uMv1vwz{#%7%k2_j)SqRo8J-YbKl(07N0E5 z69o}U>_-_|+(MR+;3Q;zqj?9mYpbnbl7iE5O^qNIi%{_$ z{I|^a_K$SiK)_wBq^Vp1-`|{68i$BeOoV-!lMg}vJ$>TZBJ66hl2<5riLo(``Yp0eJF4S20%BryWn36~<>*{^6 zRvymvFIQ01FXT{>VHpP}C-{H>62NiBYmJ{*hr?HF%l!(*`2;p~-TWQGoa&cS6M?B+XYZxvsp^r!qfqfFO zV#g7N&)*C(GN28ouU?XZeoZ$T%Ql1EK8~#3?PulQzp+Qcv0$V_+m?`IqI|GNA|rV>sx09&^N#z-}eH zvx-O|)Z||{m64Vt<TdQ znHaXPNhWSE(ko>eIS6N9SY)y6q+}90~G-#}4kTU@u;oNoG*d8!> z$4X1|d2XCWs*%dRREVx!TWK2}JpIBOcL#!TQrKvE){|i+zPeP~-M$@gtjLE2LCM>m z{2y%6D$3VC|IzvT8y~WkbN-U=t&pV2?j*jj zyJ=*(j3TZaZDr@DT!J|3jANm%ka1_x!ggnQr@C24t%QcyGZa)jVDe5+L!6v;827DB zMETa`EF~=_qbUmEf!h!OHqtS`z#aOYwZZ+rQa0As^Tv-F0Pl($2{)Ye?-$QuJpTI4o%AN+(|rx?tg-_lv`>1+jC(}8`Ijv(I45cM|5LjBoUTZj{b&52MlpPqp?0`Ku>Ck?44y$5s z>~6H!iH(FfRyfN@812V?xX;q0vw*eB$U#M&6gNNJC-o)1gO2=DZvNCHxLaWw%Au7U zleJ3`_jAKznzTb`s{(zuL$~u-`GtRc7dRVOa!+R5xfPtz-CJ3z+%c1e4Uxdxo-jBW zBObZ!&TFBtxwmt9X5$ZQYGgn_0fq*6>Ut7-1DdaOY-}cyE0*4nI=U(4p~C`!6HILXTakO=@|0CeDS&S<&4X(dbOpaB`U4oWr;@iETUV8o0m zJvrnI7cvO6!fqI)vZx6sFO}WFY;nik0G>_`O=oF(#J3kg^$3KKxk9CaqDBbHl~IN# zX!)C<>MCUH$mPDJ4Mxh}i;4bacJmjVjpkq|1AooQ^%=>}t~q0(l6lQ@EeU6M;{jz@*<)rI zAxHp`oaLB;6?4>rb6C`h>T3kZ)(Hd3QOr`ZMI=hcHnmCwv`fDU@*tKBMG8EvfcZPbjhZO-NQ6T3MioQ^sI2LiV3pqZ5- zyq6|o(J;p<`}p15U<@1|VZ|yG?8iCWy4F(J+kL9n5j&m(a`{$x zXMswxvCBCj0gUb^7|sg~ym!bvVyYX7?I&9d{h^tWLt{U?4Uh-WarHU$0X3;Eyy$}# zYf%faR!roAB;3T{u3G>O z&kUn0fLM*EABn)@@Te_hk!|CSFPY?)I8crVjv=*}p11_D$>Y;Cv#0%?Y-2DSLL22d z$zTov®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%0AP3Sx{VSyZ0E9}@wdL6V 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 V@BQ7+B!a?Lpk*s3uUU9=`2WiI1oZ#_ literal 0 HcmV?d00001 diff --git a/backend/upload/texture/charon_2k.jpeg b/backend/upload/texture/charon_2k.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b4e0ba6a8f5ad055196f9b1cec2d586de973372d GIT binary patch literal 205393 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

R7_r%PBWbNd0gZWl6 zvsWo-&T98exr*gtwFXFb?$1>UdC%cl?O`(+9k2ob2^|RZ&3d++i)f91BCLQZ3V@s+ z%N;*jFZk) zX{BOTwI$bRBcR%Qk9v{_ZJ-iKAR#&o9!nbBdwC?XOEe)SI^sSp4ct-idZZQB( zc;xziH4{oejJp^jmh=XIEVL}(w4Wxc`*lBS=Z8}}V3%Db8 zRBZs7>TWdu0JL4R#Bd#-rvY#>NcQ8UWjeNIv5uM^Mw=QrmLOFKW4Pb}gZ>r7O>=W2 z%7s|O+2cGNr;n~H+O_Qu$h0X6GqJ;l0|16N#ygUGSDtGY&{`@+s!~JA80mqJ{{UaT zZ$@gy6(VzXu-qF))PkQX7FB2d=_BRO*9Y>hyHB3pRc|?i$Z|41P& z1$GUA$m6%`R<32T*e#-8-MIy&+k=zTXO01_WgC*TJ6R)!OL)@h3~{Di$Q!pRZ;mO8KFX?LWr7$nBb|smW<)X$X|Cn6kPq(}IO_kWX`;>q*_{ z3&`j0mEA;h4af%J#!2+!>sYt&v1pvAQ-g!Z&OfbmI+VL(f@ug?_Ii%3&pwq|r~71v zA|r1s9lT%+`h6FM}Z;z9OU?dNU62Fq^mmgAn)q?O59Xl-3aIjLI^!K1>hF<9lh&AP`$Ravx*2ID=gr#Iq%u4 z&91KIxRwZEP@pkR4{Y@G#d-@~s#x2Hh_YF)UZZi~59^*P9V-u*$c#0%n?%)8{{Z!}1z}t1vB@)? z(U?&{N=7QSk`q$xwv_nBE{8q=lG98a1KYcV)>C-YLUv!2yAZ$p1hoO!4z9T zp|fdnyMbvikz_o8K0}V9q36FfuVtr9V zjl^RLM?tt_IP|PXp3>!znY@XK8s|T&4Pfj$Q*Sz z@9kPPQLHWgm;gK+sr2WXsUaftae4NUwY=GN>N~HY;8WJ%#u_&vgo9{SKR3P)Z(6N* z?HdK$1Z)c~I3wI+-mX~0mvTm~h1HiOvB^D$(xSy8jr363TD8Tqmx}-#o>h-vInT9I zu_+E@KQP>l&jcUv>)Mv!UEN=KTMHuKYy@D1_RmpNys7PPi#sX|9H|Gm^yymJrD86b z*1>H7hDKKlDQ(UfhE90|dUI7L)6(F_8j$T97RE_GH$0kTQ?xd1Zn+5iNyr0m9FNwv zu9@D}Cbxh_l14)~>{qW|=DC_{Q$@9mpC&6SVD}6>`3^QmpOha`Y6~0Zj^atC9%O%X zws*L}1B~Ewtodzck%~RT6=B&%4hC|44MQ@UWFW5ObsY5Ec;I?g_Eyx++M8FG?e>Fl z7=5HLJ4ZM?eKK)RwbZUeX$-CwC02|l1RV7G`X747TML9I;cv%6z$XG3*!vj+}L@r%zF*W2XMpvee|uN947> zdTydBGiXo_O{=*B@u2G5HQCBKvw)-s_p+NNrSz*CVIC zIW?5ytn(Z=2-H6>f{ezy@g)6vxiohOR5(m2v-;?zPR-Es+Sg%>Fe_l$aA!* z`H4IqsQy(pnIx030ZCL=C{%SA=jczk_N3Ll0|AdGo}GPb8CGj~RWMRHP~_)nk&CwljmHoPIxuT3>gz6%VjvpCm8Mc*Kc!hBGVGt)#Pao;OD7PpU2Zb06bKdx_MPRs?4M?45KHGNBDL>TCWYwq`_p0F%t~L>>C0_ zJr6zm8j9Cjdwo_rnH45@PcgU5r?;>5rsC{QgD>H^j`Ul=1|czh_v4}1=p`t_)C zwTEp?Js(ZFyp_`248@jU4%5fi)KvHHvUStpQ4a&mX6jF{^c6HR{e^|hEtYP6Zma8& z-mP5U!**g54W?g|xdn=j)+eh4wS13SX&8UlXT>K z=sJMhjt^ox(Q)LYtqg8tLH9`;dj9|;>rq)p3p9nx9pEnFa#z!*iqOci(IC0P1rjPYGe(%D+fZQegPDI@0K=ca!S)djwmEg}*~3}m|F zXYljS6{mM5jbQ|FT#{Mab2kSkwtWxQikiIym64E>+i3R-xqRqnQdI%_x#&KX*=g}D z>NLJckj4qf<#FHqn)8i9>gMk8ZEewGL_9g|k?J_D-5UP?082?y=3(Wx-vID3Il=s? zN}Fh;NvsXh2}3f%pppmO1Fn9R%CgnMM&XulFk<-9-tZ#FLRL7W|JyV8Fw5u zSC4Q_by{>1!6cDIwoj0`>GI>AJ;z~F+u6f!4B0^7uuy@IPg9I{t*GS|=^CIB91?aW zK;x788D2b zw0O_9NBcxnmT?QIW`$yq0N@<(S0C*3ph+>hiddvlu(9NkoR0YJYoLvfn>3fRfU-B3 z893*@dUHxQYQu4{R>fH*l_htY_AV3v0tF+1{?V>}J5aZ77_3(>l?(TBPu|a_J#$*q z>ZujNt+b3xtg5a7=aZ4g8NkMCo76R1n`^XRDTB?A-LU{JPBKqleAT6GiIVDecG1BE zUQ-2@cyLg2yB>_)2%}X|YLMJ7Qg*pe0;yq+JMYMdVlrnJ51B$ctVCGo$9QhG0*=1sF7WqjXF^q6ItlO(8EiEDjQz0%{gAKr-?0qrXu(eqm=T^xoK~leaj(MrA zbu?CnDIa-^hhgp4=FL=O`AJaJ&@%a!@I`RHx^Opy<+&fTz&2+Y+8(Rr47I612j7B+N-8y!qdzH#fe397PMHb-8 z8QxIvap~#rT4!6fo)=3g{>qXl;W4}u!Q2l~isc2&aYWjk;c}n_IUjdE#}!d#vy;nh z#f)T>ErM7#X2&0w^Pxa|+M0GEYe@~(StLNfK6;#Fex0jruigk@l>m@kf{&hap65L{ ztZ1%nq=F@h3ac;723riLq56tR)(e0gQ)!KW88`$lY@XTuDjaXPH)1%gptohZcWvrU z(5H{cbgc*#8s1k8z4^nxAOqYErl?rkOedZ>)NYh~nd$R(7~>VtHI&vi#&aOXI0W$A zV*?$>CZ8`s+-0wkr#!1=CQ{`USg`qnoM!-a6{yyCdaN;NR+kGLVM|Da^=x1dddatJ z*u1j32+@?IZNmZE*EO%GJgF1h#zbSu7%TFVo}=8GN=e)#&W}gex2(AYm^fRBZ**i zRZ`5rDPh@jj@4;&WXd-?T{7<0OZddnmuvumNyh`GPhe@+UR~_cyFZyGKpW3LApJ31 za$JET`GDNqIUz{K0YB{zZq>OBl)_Y5Tm4L%k0&e-1&3^ZoYc5I#|vyP*=CadJ&7Nd z>O8{P0G#?St}A{?ZM0u8Gky*d+l*Nd$D`j!#pcT5Y746I!gZ#<74{N57l{ zfsj8QqNkmup4oA>N5c(>c~Cgy_UGHR5KA1MY_cxhu8D(^7d)N02R(VgtAoS70ry@4giFaXCjt_H#>(;WYo+l4)GLJGML}w)N-<yJ;R zc}mJxI$AjUODnyt_DB8RM&pdGNbT!dc58Mo6sxReJZ#ryWRAm+{{U4bPTdLI z(Sq{Y;uztXHZjVnC!RCO9^I;i{C0sOcvmUE1RSv>cP6V#rkjpIm^015erI0KRInsPxj#LAGF90R#=oaedvRMD}x zb8j#1g0~$q5B~tFwY2+&(frwAd^CV5$os%#@l(nTYIAyhtZgI6!GReeeGhJXVz=z# zHt^hefF0j37#SxVW9d`rECy~FK#i4|pKf;($R3;;;EpVGYNnBlbc-toM){679P@+I@~c|ZD+>Lg&edVJC;P+c zo|THX5?zD^ck&Mho_PAzDBnR{$Dvq{xm0 zWaQv>=B!yH(lJQ>{{TCH?hhFJ`qQ^zT(b;NhYfok}=@ z0(evRl;Cst)|-8(+Zc=OW?n~qr{>SUTCu7>+2(YRFzb!jIVZohVyxMH$PaJ;&QG>Y zOk&vHhEAno1ZwfkzI@|vOy}R)wQTVvk%mOXv2X`s4^PK6P4=;Ab`~QU&$-7RO1Gwn zZ)H1<%>1|=P6cTtp$g@dS^U9}5v7bFAmks)rm>n!cJp$w6eM7EY^s8pnr*^mw#W@9dJvw5vFD<2y zGC;*di~;(uIH~kI`>PwpiI-}z`Lo6`)RWi_^%cgfKGSt9KpS}_E}#w+0l?2=j@1%P z>IDm%n9-EX`E?j!*8@D&bzFSWecT&lkz z+|>#0T6nu`P;77{h|V5C-G#RIVWiIbkDX<>xpD(AJHj zQaVjNG`U(i?!Z@f4|AI3 zPoE{)TZuPifZ*^m^{pXd(6Bc^xFmq2fu5irz|~426SmQ{2;z)9@fo)OeKI`{ztXp~ zE5GeKzb@)>5es>7$Ce{->CZo0*PX?6ICY6-;eJt$nEwDgR;&`kr^wRWf=iCQkGHqh zu$4Z=^B#lZZE2s%wn#joY(noN10Z)JzxA#c#CCpdly{D$mAY*sl6wCDI%S`T+V*9& zxl-{4$Xs^MIW?}L+UHK4WkSLhJ2~Tyobk{36yZ%p+=)A*&kPbwkB$>(k*vAD( z?de-kAh|DX0SWJwjep;NaY0yz4ST@8`QXI!(z z6I!IDW7Q!NzeQ=*cx`;Oi~`}Y^SK!(wg!3*aaSR~v6AUOb|FMVpPM9O*N$qrP(+?fDKD*G z%yX0ns^e+w3FAE1C8x^v?;>0ixMTy4IT)^r{{T~#SHiaV&s85NIOurdvYsOoD_o6| zjtD*Ih}sz%^a|U2y5J*-&K=edQ4DgXdu?v8&RwaDDvtntL)VBm%T=OFdY zJJ(&NPZiuRXp#ulJ=;MT1o!-FnA9}ahDVYI1|yya-p{5fMQ%ARhD->FACMR4b#15)sqC@W|g4Y79hb# zs2^I*xt84Dd9lXG!FG(EN%s2t)YOId2#C6q$9wjVC(H#3>?4ie-p{Y6rF0XeyfDM% zN<5PoXHt3IPBF$m16U~^AssxVZWV~?d*uHB^{BYEmKe%N143|c2pIfNC+S*77j_%a z@ASxFxVFqQG;?5JmE>cf2hjJbI*q&*Vnt^SEMNe<<0s$Nvb6QPngl@Xus}g}&pdSW z{3;z<{zi7QQGmn{d!JrS30aA=4WXBAUQxYH;JN3ot#pVMdtnTWt>!M~J;C%Cte>+q z$crnh`FOxlj1PQO>!WjIi7at$7|6$Rdgh5Cq6n;#+^?L$WC5E$#0PBu0G=uvSeEHx z^8wi#7TmpY{{YviESYsRnXU-6Su#cjGJQGq_o(gKJ1E)mN;k+?ILOX$e@b?2EN^NB zCq7(J>@kn^ndhhL#w!Xz58au90zE!#`ya1**bMg(p<}c+-N@$yv8?$m?*qtF4$ZWe zAQfEn2h*PQHVfFdrCj}z#%p8*@JMXua6Am>+tQzH=kEy$<8TD$AdGbfAO5PQkhw_Z zn<7jOa20)WJ8_DVPY@6i2-gJ$-OK>rgONgxpxJfwwu<^`CmS~5iVzg!j-Y*eRp~d+ zrvlhtk%$<_LNGn}=BUZyC%ZrD)r#XRc`Cz>SoY62sbIckmF=cax;|hB$~O+#=QT4< z;EZWyc-?mVh(Y_kIUEz;ns>=ACWUry00MaDxvlwat!@L{0wO90%12R-nC*(SY2oFY z$dYEtNO8wSKA)dzZQD_#bHXJ1G@g2y9wykQcK~CjKbfsqQ27ZQKP#ae9)kc8?OGFP zgv}+s-0m1sx#t{l^`x`4OG%kpA30Q!$m&l|dY2okjmx1z+6gVz`^7-&I||2EXmZ-7l^oJcw&0c{b8*Hy;PNq8F@2hNB7`^Z zBPBu3TN&dcrFAbY#l@VKnDPnduRD5UKhmMgi zNMsXkM=coYF_y=t;aug-jotK)u|~ldU}W+^^rr}?s}!GOV@$f4_Pwr5Et4ijdiwi& z)}iq9zhd73a^&v>1GhNopRa1kj4qCmTCVdb0i1Oldww`a<>+2&V?8c8QysAIUd zuN?=qS!)XjoeXT|O`)X>FsQ>h7#%?Mt+*C@xK`;wcZ{)*rZ)9C{3?~x?;sTjCR{Uv z!Ou{AeJF8#K@_zMJw7=tj-M%%vgMc!yI7t_C!G4!x~WUHk7zNrHtxsD-(I|ZYP6Bf zXKIlya7hS9IT++~z~ZjkOZJ&!w(_u`<0m;I-1Mc(rNm@K7ucp)=Tjk#gC24St6G+} z*OSX1%2R5pC<7=L)6?*+tIG$47S!9c(k=?P=oIwN*R^v`r~Q^+GDwRv4w>tohJ@2& zcSU>El53>j`@%p6Z>M5F=~X4MDRx>FEY2_q>7Q@LwWW+(B+@egyaEB*-8*BFJ#j$u zZp?8+Rfoy|1Lh!(D@{qZqXfv38Fqb}%utdd6M#lLA5(+%r&>uYGeb9!vo7qgW1Zl3 zIOmg4Ne9{GXf7XX41zig^-z~^D?%3PSuWiC(GLE-xbIeC)7=$(leMK_+kx%rijPRUNbdqo9w1^%=Rc_H zj`;6dR@a(suA?@gCLTE5o+#MkfzW;;rldxhDbpZ~EXGeU`keFt9=QB^Q+&HST<>zK za#vx%;O468H#2H8nP6a%&N2~>2?XagoZ5VnyNDc@7$r_}tJ56*zgmdWd$v=Sx((F4 zQhd=IF@`wC=1?$jc^>}&jbSurP(ria2a(8agdC1~=lWMf)^^TbMu;#3;4#S!j1k9t z)u=R^S%XP$0Y{BS?6)6LpIYAOY)7ewZRAE?8I?osR+Ig%-|X>5BbpQPq5dKC ztlJGlL3Bju5{$jFIO`Y>8Ah~A9&p(xJq@r7cY37)sg+c3uEPHk2 ziXs~&!9QtL8RtJQ(D$u5Y(IWOrG_vG=>P54Ne~>h}QJLQw)bTPgGTz1DeQC0Q5 zLVKGSZdNyh#Km_Ux33xQ4N-X(>Tf0~JfMtl$}{bff2B_pDE|N?)3cx$EI#QVbpzU} zQP$&Z&m2^`Mu%$-@S$aQUE7#;$4{@NBsSMmTbo;T9#Zp`Tw}g-_+q8CeG7_x zO=dsDWeY{Z^Gw_2VOMh=*X6k7Yc@BP+y-Oi zx}TJF$FI}Ym$T|Kqp(=642?U7j#0aJVA%HPN2OVk#Vpx=(4KDWm1S+9FVo(z<3`%5 zqiA!Ce+eTv=ia(2d${hcAbB!MVG82}Fgy=VDq0#>Ijwo`1+Uqf+<8*qkcTJRC(^Sm zEoFmeoAMCAE>BPfbM>y*QNFZ8>J<`YT&s zy|Z(1yEy7cZk5>DTU*U*w%Sl#^4nPPjB}r-Y9$+LR9O;v32LA*PcL!c<&}ufZp729 zwF7+KP5xB3029F^brr2)rl|~B3$RkEIs=|F?^qXhvs>>#oiH*u!0tZ2wT_(%xe#e! zjiQBjmdGRT0qQ-dH~#=>ac6BOm*s*39mjt4z|$*X8cu+qFYB3qr`H}GVRymR%etwP2t-RhBm-mJy80&9NHRs_#H zkqI-Lh8f$FkfYcR^(K{hZyuoQG%CwJL1o|&MTVdcrhh||R&CD34PeY`gvzLlkMKlY3_7tD!mG^{#w=aNYJRb;r1-o`i` zL&EI9g1;*V=>EJB$7(s4a;qHl7cXOPBFurOk&Jt>^Csie=hLN3H7Tt`c2Tj7a6wko??s0P*i!j;{BT7rKb-^Lfb1objBFI`^)K%X1J^jDQn>2+!WA?(E)J zlw4zQ`-(DKaO>^)R|;(#$_bpMgwsuNx^?~9sO$2K_sQ>DQ$3*FdppG>8%m;s#z#~B zd)0@rCIJLdBTbGJ90Q)_vh@uf2$#rrA^!ln2gteW&-u+KYm}3;zE5vvwJ zak!Fm&{njvGMN_W7FKYpk;0yt;|Dd#$KiXmx!++ii(%copO@-8*F$@EEwnJ$U5`AT zte}E>oVRMJrK3!kU1-sM`5_U53x*gxVq}p80*hN>ycWw8eP-K(#E*S?c4LIts%{>7!V_q=Fd(|E`2l~DV=9+E5{5o zs>r|+dgTHC06pt^O*`ze#26BYgpw4FdwqViutt_oB3K8Wp)-;Gv#al05!5Pn@YU$v&R<()5zH4pFm>YKIrcE~#wIw}lW?Ww0K<0FavTgv4r=axw z>r6}~RP$Aa3XlNg3cYPCb4-viCSEYTh6n3cWwyR{Mqr=}`AN_im>hOK1K0>gQ0EOx?#z6HIoix_z zB!(yRLtv>qA9_e*T-{94To0Ky1MC5-wpxm5k|dAv*%RHgT z3IIRDjxc*w*cE1;HAEg*0G#$?{(4Z+HYhAtR~F4~z>k|FXD5z_=z3H(T6N@CG0C{8 zd;)z>O6{#oHhy4!cZ_3iEB<@dRn6R+e|O0a06TC_d-2;94ZeVux|hNzW!}ni2+7DF znH3ANCD@4~SpXa`{t@q03&(J~OEyS5a7pL!svFrz*&$FmpSn#-fp2oW;U>Idso$d$ zjiat{T6$DcF58#~mRY!NK3}N%ReLK*rfJ`JES!w@^}z344ZJF`MGnB69I*uBJpMG< zHXxlOxmgdJx=Bl9bk5$#(?6AE&jiRYpX!`|RCNc^w=QNetx+WlxI|8E-2VWoY!i%U>E4lLl1R6PB;$TcZ(X?TyaVl4h_Rd{5z4lmRfx$PV0!!Fuaov~ zl`zC{p2VN)MWvKdxGbuu&VL=JWIT^wBp|PVG_Du(wBtcj%at|bZ zJ*p9TZ7sT_Q0;NooaY{*wRT4gN|{sFJaznQCf3>%c0kG)j=BE;J?KGV2-P9^nLcCB z)|OdSp?6ep{DfZLH>mgZ>sgmGT`Y{-^PV`R^X_6eh;EWb-U%G^>GZ8Vn=^7WtY>IQ zGe@`r4oLjPPjfuCvyH+2UYm&HJ-(G^Ok1S2dx@i26|hL)@HzcGt1QjBM==t>fL3r2b%x8ws zIgUjXKCx)+dcM}0Iy6D{Ecl{Tof`|->~4ahQ@K+}R3*z4(64T4=1xjZ_MxLz{7IttqD0!yJveG&_+ zYm2C6+YP?p8-TKf7~BWev8^p-)TM&kYs@4#Qaa}y>!}uw5_TzwMnU5WJ5_smN=lDp?SB)(%Jj-y)7{>sPeRv|RM_oW$X_@V=A_sJccPZ`LJl2JkrRDqX z1y0|Yfairh{{Sk3OtX<0w<{1%2**%*S5-Vs4XQ-~6_R!e-d`C5+LVd8j+Sv-6Ey70 z_MC&$8@)Zfsq>2oHpO!>W!uBI%ERh?D@yWon#tn`%Bb6WXFZO6>yf)xcak03c7Sp^ zF!aq4*Klmfv$|HEW?9bEY;7Zk=dMqB*VC?SZY7Xv3FWMxae{&eRhtAU^2V6w<~@sJf)B5@DVmH7XB*om^aiFe8+I>TJ++qD#CxNW zMh_mH@$XqKt9@+xsj)k5ZMG^2foOCZg{_oUi0~58hRc6>e!kU>sp+sro?hW3PNkHO zy`G?&yJqnu5A6jZ5c38Il)kutcOo+M1 zs`J;{wQX0-X~2-n=W^hDyLjWC{L>(wPzp#lmmDw|8T9Q_+DSYOB07-yELRx-4x*)m zR;Fc|O0zP)SQ18D6OwxmPAS)Vc#?3t8C5~R7&zx0eQRp%tfvLGVnto*R||&xd*-!m zw55{BY6M94Anp(V7!i(6bDVQd{X)kxVus!)+(=TmW*{G%wtY$ITG~|5MW`3O`NH6~ zc_a?smjjxHSn(;A2>1_x6lG7Z<|=zDXlJ^aWXh^3b{viuoOA0%kQ>pYcSb{nj@oU+ z1>^?Et_=i1xX?4j0+`|>S z>@K|kJAod9`5M&l^UrZ4R`&!K=y!}U&w5S`D}r|;xUos1^1%i6mp$@(bgcN`h2b%& zWs$gJjP&F1uCr5y+6$&~;u(+-!Ei}#{@5p_b93KVLYa@_sK&yUqDOR@GXczm;W9G5nIv;scDj^L8eEw6?K>N?ocfPU)vGA9P$ctQ zEW2<4?sL#_kF91TliRee{Tt;9FjtQL)lDWei-~ark?w>#eeHmI9$3{OHJtOl6w5dx zZyfdX{yPlr2o3~4y!z7)9 z1KzZ44AM$si9u}iCmVME0QJ8*zJBNoorTIv_N|QmW(n#PWAOZ`qRj#G zV+6?9VwfNv`K==K)GgHM=8(0gmvWwJ47N$f(0&zzZ70Y3^@HVk0>Dz#JXD#c9ZiXIm7v z6E4{T-~)r4gO0iPt4lmq&=-SrmrNx|Up!R=YfC377#H%)a4&f-GE4WZ9GcF(0}-s<=0{zTFFmiPc1at?a?iq8{X zeXJLpChi%JKt7-0TF{83Wrj(HHj$n3tt@XM5?|WxP(yBDagbLBr(!Ej z$+J%6#t@eqnT*o25LvncKf<(bFQxN{W=Cj~04T=a@x@^mxbxzcRtpdq%AAo(E^V6Z zO)LDEY~!gu{{UW;IEBqek|q((Bn}Xez#iRBb4V{f%>lJY{IKLVJ;(F!St*YuM~Cim z!*B9GN?9(2-Lz=R7D&Eb$EFXdqm&yo4W#;t87#}04J!?Hk&aMf)DfQ4B*=9l)5r2T$>=fl>DGr9#Rp<&uiDz#Ma&?ot05(G_kkdB zRBY}@kR)mmNFnkM;n$qzwUXj7Wp;@WLAihLob}19+nDT~g23fia6<8uj8<_>(Y;4b zVw&B2vKmD_SAm~#>sioTKIxgy@Nh}{#CuTzSy`B5qVe+Zed@i;altH48x;p9Eyf0V zWO~)8>LV5#mw9Dra;JdY<25AGPjKqRKv>2z+n-;0S#;-xmUhaQWB0nBr`D}ok1FSU zobCq;o-^9E=tZtcY|w3uWIGAkSZDR)u&u_rw1fkMmS@6@4l;U=!muE-joFRLY?1zD zX5?eI{{RZMY*H8dJaA!T`IUj_dX9OhloKxIM37ub=D?wqxATrvfz%%Ls}OLKT<&RP zKnByt-R+K?RYjKQFo}T;0nU4JbHVA8T`F7|q76J@V*>>AZk@RG6;|rWG1l@~t{Kc? zCRNK4agW34P|b0+2_d*#mH>g&k=nPdE$wC~vP2+7Z{8l8vOAGi^=oZ09b&dn&Y%!^ z!9M=xs@7Kv9BsXrj?!6-WFcMNhu`U1R@#=46`GGFl1E@q@c^f`)9dxBnt~g3S*3q5 zT!H0|7oX`__cr+}J(A;j$-v_yt~2N=6nUPby^$8HcGF!n`*z!g!YJUNK7;95Zwtq$ zq&{J2kZv7M4ann)>TPt`rddAH-!hE!!5)X6)mlqiZ$4I;!z!jT{JEy1t&uTARyQ6? z3s+r{9H<1GeBCkl*I{mwC6Wi3q?R+12Vv>&UUssXFCh}I5s`*f=rTIjdlk%3Z=B2X zNUQ?Beq8jy>BU7@Sh&fY{oK|`ZX|Wg$m~ftKac+aTB%(^w{t-&{GkGYp8kM=>)Z9M z-7snQP|Rm#-EEvJk;@KqMWwpPCzE47_9T!w$>;?xL9a5Nh?ClCYj9Tx{{SxTtF^lG z(w(gvc=yhRHpfg8*ylMvrAH#%7>>zSEQ9xs84spA`c@y=B-~`0R%vtd5siQkPv=jT z?!rw2-%opPut^%pCI;0#w|6J5bIxk*g{`C#Mt2;5M?8Ss=C8e!T6`i%vL#Rs=26O? z{++9xl4))vA7lHu$s}V1y#*43L3GP9P7>h34?so%>wtRI#kae#o?FP*F@iYlpIjQQ zRpTon?)eTIcRxzsH>q}#MaX8yZ$aD|YB$hsM>NpSsK1`ac?XNgAKSjW91A2|bP0QNoWN$r*;^W|YFhYG022M3-9ek!ewplxTsJ62(w zXP>A40Irn9bGXu!nA8ah^ar`f=Nb1km#jxDcXtRmRVOX?y7k&cMPqYzWIjWDx#3S< z4{uu3z6S0kl>C{&IO~r7#-ozK%yaO`6l`L+Z{4=ifQ$_K=bk8%`a8)M+S~}v^OAVU zC!fO{3Qsb~NMj|Q0;FNc-N#+MzY4D)a}&pH0=u>jPv`-v<+)oBO92vXf&kk`IPduN zA4+YNqd_=b+_M}%UA~}!`5M)*-c%KhmDFtnjP>{Ru7cZ4w}CG19EN8q#A65RgUH9F zH3lZmU+nse%^O|(u)s+q@)S2-KU`J2ODGa$5SD3Nu!-1z6X0+?K*=0d&83ya<-=O; z7~1c*-EKTQ^I)cikG06+zBGAA6o~PHJ3wi<_Zl-%Xy{>U0z3K>&_~p1dFB zTT;X(VJI6FNg2*gJMwEjJx*C9kle)>^9q$X`LZ}2IIXK|%S$-Px+UGtGI{_ymd`;# zj-e;m<8@NYhug7P{!nwujyE61qQ92v(#OcSb;IFH58++eAD%hm*0pb~t*_+_(*Yah zKnEp`cmQ?hjC#|GLma7LECb0?hu}Hq0H4FsiPN^ArgIS$ltkI{8eSBRyL*g|;<{ZH z+`;yZs-A2>obAED?T$@Fq^-u4dvhY&#?eS$%V#+#hdDSL4Ej^8W4Deqm(7!TLK&O6 z7$1k@Q^}!sKmXMEIkhXOu_d}0w*n6U_2V_MXwzy6@Ji)(FUoPq+ByUL>ZEUC3)-P7 zR16-Vk~*LMwNGIswVN;7Bq~>&jAMUXdkj}6CsTJK8>w#Xf^V5!7>t!(atBU()UiyL zG5J@ExJWQq0s|cPHCFCRNu8ychf-7@lx{u8rxi-pRWI`8j|ER(uLqB%RG=jEHifjd zyG(o+&N#>e`c?y3rR;_&9k&ue=rVf$04m+MZRr@?OXnwd%0Ex#SuT^w7`JG!`+-&m z3(wP(VP{fKi2~JP&f;m3;?^6p|i=E0D0~H8* zG4Il?zMTpYD@CzXc5aycaZuuE7HZkF2?v!s?MxmI0R3vsui2)SIY3ypP~)@ znuwAgAWjHS4m+=>Q&ptskQ{xEPpVmf4gG+7CwK~!5KiGFR_3;Fk~ zNeo_Tk0o7?E<0oS)_}Q*l?r7Fa#gxF_57(-5hw6V@!<}zdIaCjK)&-1CCLoAWpOag)TgA5+O(ycVI zv=Z%o%NYRUq215xQac%w-rF0aCA?q~Li>G3wO@+rd17@rDhGVvu=Vd%9W>UvNZASi zMnOKF{*|#5)|)0vSj>Mn2dTlU=0vzQbJsT@Fpma3+W=jKF((ZHZV@^59?VeV?4>XZtU@a>)QgWpRk=aAhc+tiK1{o0AwCVe1G-(R*l+P z2^JP0d6+xBJu+(q+g)sElnBC{rcSA?!!x%~OG+wJjS4EC}d&aYfFcCxjLO_MU^W^*;5Rk71^| zj)%xt8_aF8lfXST_cdxL*3Fitn*h#aU;`ebX*nPc z-u~6bn>nz|6mMQnJu%w4eI=dZ*(Mc+7w(V;zyAPUoYF&!I<+>}AxO%~RPEc)`x?zD za~;y9#E0kO0N{Wd>HxwB0=50k;ewP=&z=E%$PD1925NOD95TU{m%N% z($-6P82rU^@{j-^dzzW7?p8JkMhfmDvV+$IdRHKITg|Ad08)PMU%Wc!`c(INy~NVS zfx^Gt$@xYx>OBn#o4Bqv?kJJvg4K+&Ofl>#lG@BIo_Ql<@|98V>OFa?&*ofl84TTX zoO9{#T@97&iirwFl86S`H-klp7jLwQr^HO5wVl6UOMqV;0zql)rLV7a7o3; z$<9bzoB_vQdbKLpTuRWyj~g89CzkdHrBU)yQpVLdU^3*9*0g0=g}DnE^Av3jo=>e> z+?IrrVGW|##z<)SY>W^`f5xiG6nkco6Xhxn^UevYc6egGdBn?{WcL36>(aHn*AFGC z1rf+W1Ch7s{OY`j^D}Jj9pwn>UNz{$g$BBPCJVW59KO>C;4vFi5#0OL7&J*?ca9QD z5JNEGc=hzHn5Tx;C9{o#IXF3Qs=0I(4P&tPXvNH9J(euvalMToxgD;GygI{*{?+GuX!* zaRSVW8zg)7sXo=Iy}E<-ILc_$r$IqU#)8tn-gbCrC!Gng~a%shs>mWpbp*ns~2~B<&knjk@BBF zIqUCS?T?W0K@^f8l0%sa=Z^h7YkCM8`N(l!$OIW zzJu3})al1djOVm@&6WJ-FWt*z`fgF*@Tpz=l`~{acM^8;GI|a=4{u86 z!Is)pP=|AM&rhlMsbRXB-ZK<$<)A+^0q@8@yjE=oQr*Oo-Sip;>@$(j5m@mw5l9oxRv~(~7z5j$YfjSc;#-fM%PW8ZZcBa# zr9MGinenH)K?CpI&R3jOck}Kf0LA8)0E{VPsYVLO?gToKIHrc?6q&mH=Ty=xWSyBFQdakymU4_|y#mh6`(VVrLu zmB|?(cJ}F0M3+X~M5tqoWC!YgT=GZ1PPLPLid~2%k_cwsw9Aq?BaPYXQ_n2#D%_?c z<7m&J`gW;jh(~ILU(H!q{K^hV?ih2AVk3vU|{yOdBj&y0bE~ z;p53w&pmq7-gMV2(j=Z)UJl;f`*qD?#L893<)ryk3~)VaAt`_=6&*k>4^h{TdbvSv ziA?PD+iRF4lIrN08wZ>K*y+-v^X{xBNlP5}!NCVSkEg9xhT?aHBD^Ke&;bky$EH1g zl@0VSQgn%{mi#bE8}1sk&Nf-Rv^9eBvTBaZzCMxh#$|Ndgb7P z;$brR#Tk7&jQ*t5a>sKM#;|2wPgdfhQF??Gf^h9JM_>XS+IsTO7xe~|rXGpjM*mdWj?b@Zk)t?5$5)-D-F^^Hl zY}Y+iT6*V`84M5u3I=VjepDZ4K40NX8P0ohS8EzyO69I=gD~#vs z_}0#$sn2fU+osS+3=z9yy+dtxDt{`?sb@`NIehA3?e_r*RVRxxX zmRnvC$K}Y(>{(cldoSI<>7RU7j2gUGDkNk8oR=q+AK+`9MbqYzC3McwkUzX@ZqH4c z<zdD-O@b$7wq5(O+eyYd0C7*e(@X@* zXh@7?Ho!^a`3lWT$5`2tT%@=Jdk$(;MA-tvB)16f5FS|X_r6{_3S!%ry2|WRAv|Ll z^}w#O!P8PLYiSa^&N9K5leBbSPCL@cZDtpBv&rWGKvKA5=bx_~4LkH7DaT879%YGC zCc%Juk+;cDPZhZ(CRI5+WRH9bOCsqHl&Yy9&Ua^@ zbM)<2mqILUvlo$=0HZrgFw1Q{uzP#etCzP5Ev=;t$_85-dUfgkc&z(t(GwWukIf0m z!vHz-6=o!Xt;~@jGNTl5!|tj6AbMxom$MsWD+=4XG?9rjf z64Nasw3z31bI2Qq2mC9!y@6785-Pl0?Ihzqy+10$duUzpY?~B}klx+Co|U2{qdqIh z?2zGvvJgS^1Evim0!$Pu{;=TV`=_v`NFy(p;S4(Pf2DL*fumUb7L3-BwR9l zykz5=#az1^EB=!l!eEidARDkc?de$8HU*}Z6_g2MK*Ry}N1;Br^yyQJ?L%Wc%KY1b z%8Yte%*Z9SiKC5JDJ;y#4UbBW&UYcL<6kkRI0B)?vXe3GuENXbT`us)89d`3%i6b= zCQ7zejrYd-ucvXZ9};AC)4eW-EQVcn2N1abLO zl`IZ6sN`|!NYb!bLBRy)Ju%Nu!||;Ynp>@+5$CFa2rG@J)BgakS(lE`%Als`#(q+G z{{SMjQ0^wnFPQBhnIsG)e6bv<1ExUeezhE}b#SclAGyhIyMfSgLrV+TiTE+0z(Ig` zsIFu;az!K&g;W^Y4mkrn{xzJVsP0jl%=6<(0c>{0N55KvM7WmQVQql3Y-8W>uBvNB zidb&Q9$d?Uqp|KW*cz>OEE6hNz^xL5D%&xGlgB=p>sK0jicdq0xV@PR>CzV8j1qDI z2Nhc0CvV)y3!&?~jy*l`T@>*y$sv&y-U0!Br2aiPs!_T{5xMg`*%zWW00G*x+d^z@ z>F*pU(0N-VbCeCv;f@7Ty3{VW2xnD_WnIhw;XtIdzjc$&nR4?CjojlM$I_&NExu%P zW?3#W71)N`o<@B|Wy^iaMQtw5++8&A%H^CAM$@#nQ{UFM?8c)Fthdb`(dKN&PI33T zjt}&xG{#LOWQt_-i6ac$W9i%JT3>8tMsF|%91y@2$>;~KT5cUh%yas^lHEuol`|mz z5u7m{@xcbO_FUM+kz3+rl;%VyEIIruqq@z+bD15tf~~akmL8bLUiHqen0(1%UUrZH z0CDV3IUiaTJ1el}HsZR0?f1)Tv}7YOSfPzfY;1$!UgiS zbSujutiV|hE+$X_W6nnhAI_te*;3d}g%F_t4yPUR1yK3!ZUwj>bo{5UC!T5xm|oqa zk{QAnju}{B^NxeluS&mUP0I5|E=sgVBm>p4xR3HGI3ZV+KnmGl#3>veMN;&`WuUFttQti(>!2*N_?8=L(@~5jcvTr z?wIa*=Zt5MOxA>U)A>Y<;GE;3!Rf_hBod3m_K2{OGi@p`NIWP$)z-rd?Gl$`<{g9r zI2h}Z-j8Ok9K?TUxLF!J5gbXC*~VCPX7?2&H_3Gw^G}$-}*h=@=eZRiIBpRemw z*;YGnvnx31o|rv=_RVCbt)ay$S?eBUys@?zls!n}f!o)b^jix(686?P5sO7CFwWu> z1>k|-@igN`;&m)>+IFKQv~j)4`HZ9mZvNR7vezkkh2w4BXk{UeGDlu9`BiOh!}~Vn zlG(w9PDty4#xQ&1-gZ#5>s{^%Z^bK9j> zk`E=>yw4&fW?-rS9=_dbX>R1Yi)28n6P6t^2ta_w zW7v$oSs;^x+wmDRN}pnrKmXPE=3g)&jUx^T;3qlG4oCP^xHQ$d%qm_<23T@H0CICv zTgHxM~iCnSzI`ciQ;EsGU7Po!soK101Zc#`vv^Pl+7Ch7KBAUu#)kDC7*MoZnF9>tcWy9oNu_Dp zjm^osXGY%Vu1Fd59fc_%xkfqCcM;tcTqr6?!6bb<)C5jaKo}Ly?32`2WV$4e8~JD% z%XCtB1HZ3o=Cw;3t3j|2ym=Yyds5{Koa9#V!F1P=E@qU0-y{4hcg~fOp)4E^m!RN| zpEtc^-0oXp7#Sy=`t#2^}kcJpLMd?_5BrAgo)uRK+# z?5wTS&E_5I2n=)2)MliWW0qezmj@dgXBh*h01=;BY<3Fp?+b*+8zkhB(BrKxMu*HY zGL0C0hk5EjCXFA_dVpyN2sJw5A{j5p01Igfbz#PN`So-1-& zyJA^z33cV42Lser9i8kd(x%{0wg3Zn(y9v1$W4|^Qz3L0MbU>$de%tZWeV~# z2{H43Po-$I&^5=Fh1G!h*BArZn{pI@%Zw@GjCD0?{X|!GbvZ0Cj0Zmcp7mzJ(VAVd z4DLBTfc_P3*&~uCGJyD85OO&7H5I?#2^Y$9fJy$8`GKzD%FS!Nc?2AAeR@=O_mS?A z=W@!b23P<lrsQGUz<4V_;bZD-oa~_u&f*S zvyqP2HJqaE36@t&ZOtMKf_nqO>sE@(YJ%zGDyn)857wZyzm4JZ6`Ty?l0g3e>(q?W zJ)?Qgxrp2dT%2~OX|2n-pL=&5#Hb4$y~2)8eQ`+X3@g1bfd>ksEsv-_r7@yORi?Ka zN{^d&@i$zLZaDow zt1DqFlLb&tSdN*;8PA{Ll`1h?1I@nBFTgO$|$lSfVay=6*&Axwe8div#9fc8fM=xqZixBAmioiFO^ef!jGP^c8_~CE#PXDuDq8!>(E((?2Q4O1~Y<@j>M%$p-~bvGt_;jWWr%fbJ0x`;;*t;1TJct$ELg zHvOQyK*bp4dIAaS{{Ysm{jV;fD<6`KyGaKfjd2>7lIBK^c$Y2HC$aYxwK!@^kygi3 z5knc89I-fNJmh^nY8(3)RExVtZJ_+w_w=nBD_DNDwD$JLVItyPXF}^{; zKhCe0sW-8kr%c9Cj7mQF^f==c(c7#y@-y8=(ZokmybodZtP2ZyZ6*_!-5QgDjz)V| zLt^r|kTys-VV`rJY8^6^h%MUHZl;LB${20wjt_ChIjLVxiY-Z*g9wm(fOH4qB2*FZPXvCoE6AHT3QT9 zM2DAN!A(-R)h4#xDyNhI-~*iF{PS5b%N6a$F6RLoCm6{-l~9Wd8WCz1&j3ijc*=4C zIM05yLgrhGtIxC~rArN@cKTK`UcnofRx$#Uz~qzLHFn1H?F>O8E_UGcB!4Q=L==k% z62|l-94<44InQiXiVIfC(q_9qTgUNZhLI4Jvgbsn36EuW@ZY?=of}N&y5N z!x-v4>Mh)NA-=u0xwrDAk_bHFWLd<309!uwMQl(N1-B^fM<+hDK15)_ z0_`IMC;5t{5?d}PWRR{Had}<9(q)BO6;H` z90SyK`g21mcN}fr83b0!8NvI*`BRx>faTi`d|bH{qpD#2twcLSUa-zfC_eW;Bk zg4fPa(5%OU*FLzXu&f$;GRW5cX+3^pou~1wpSDT%V;IEfdIsRB2b^R18p@e%qPCBF zn9BpxgZ@ogv)w6mfQH69@zeFn+aeolIKJap|?R~D%(p;cUP27Nyd>sBqU@1eJN z5cz~S0Gtj!xvBIk)a|VP&kf5q!~uBTc_D`*k51K2<~Y(baLQYE&A4_X=Qyr<+W!D# zjWyzDXUbG@o_gn|N4;o8BnD-;By2noS2+id$23YI7F>qK9JbiZVr~*#^ls-I^{AxN zE^H=J@3^QtvJYS7_|vX+Cc8gnwnZv-=W}Ce9Y__Qe|%?xB+E3o+qj>UsNiE2j3eBs zGR4-ZB5jJ_Awl`b7&Wb+U&n5Rneyz#xxwI${{T+eu1XnXVvBHd8n6d%e_krp<=vc4 zTHSf+o||*(MQpUu6KzYHl<7V3xf7`%jH%8^`uDDiI2veCuVsuzS9r@{?)3VR&2lMy z=L7atP^@rC7$A;LKl=3;mS_|0I1Wdvf<2BsXi?J0V{asYw(uK0M&Z}fA6lUl;m-kfx)t-O#AxKagc-}MD@D&TjZRD0)Wb)Qb?2UOM<46dk^$pCpUwJHb}1qUl45`u#!wx^V;fjwfyb_T)^Z@&(S-!^r`QhQde>WJ zrCxlcTsk*0XOJ=6^{clUWKvB7sq*97xnyMoAFe(B07}Wq$fk}tZ)4K!)=2q~l2w#) zN4|aPy6czM_u_k|RV7pb8iWCT@IN}!n$l@ylgryIO6O}Z##H-pRMNuU(pGucjDn*B zaLzh=3aE(Gm2EXIkhTn54hD0M=e<)lt0YpyN%JxSo{AUvv%x3&RLW zO2P~*#2DMt>;4s(Z7w2zwAty;Izj#*1Oad|uK3PO?h7v5Q zKZI~e^z|d!nvX;Yl&!4V9rL4%V=Mw(9nJ!+g#Hfqld&=ruJ6VZpQUy3V;p%aguIbk> z+L8P1(uFx}^1OEyUe{5$u+!QvEdVUcvJhB;-LMGFb01^-L}E*631t2u&UbaeAJ?UA z6uOf9k4l#3ZL)cQlz+bc^X-mn3hE`5npnBo*&vR@AjJBnPWT9Vtz93VZbkrbFN26@NyspX4Jy@6gvK4Un_V~wNS_swK# z6NmyN1U3d69;48DVy{?S$t}N`8VJsDyNsVxgGV4-p!#~f%ZSNHj!4f=Ij6;O5RfxO zM$TIdMoIRjMRv(>kIbvcDU6?D0Qyy(^S79?s*Rs`9yXKHicSS4U(}vSELvC`D31zP z_>OuJ{{YsmS>8){5@~o=Q_z<0`c>PTN#l$}KkvfSPU^N+~AhjZ_b>qj6q zXP9S1GfGRrG3N&vC$&^~?$~)S1BTB*l0mJg;=8!ZMt8a819$u?ta4qg$xEHlN)J1F zW6*Z0<+j7$a=IJqXwftK$uYwWfW6IY!+AP>;p0F)_XmOQ0pxzQ(o1h`ED^Mv4Wnqm zJo;y@DxRaJ*}~9n2j&>ydXAMU9m#eoBF8$*G;GSmWD++Fuh+NIqu+AziF~lK=L|!i-w?FXOnkZ2432pndUJ}>-HB!m0Mtz-ys-x}@4zRHtCQ+F_p3LycMgImBzFze9zZ?FJ!;*IT3w8S3$`LP`BB1S zB%JcR)biM?=q;qyYY-BR(gH~eIXK1-=UORolre4*Z^O0-EElgIQ`)kxV$<&~(o1F# zbI#&%)7H72L+$a(V`9=3Am%&+fz$G&?wFf4?R8gHF}MkmNp(2MCym@xkEuu{RcL;0 zR5F9Lhtzkja={>$K^@2|A6CH|y?M{SrD?-*v)qNAZLqFXW3GFCIjZE+;!M3HqS%s0 zmhuh;er==HpBu??@R=Mk2EiZfj>n(Mt68j9Cv&3>#EtF!-0*#>^s2r?!y0c?<2-d8 zIj0{XvpVuSYipT4#}hK;inc)+BPTfGsmFCIr;#BbG3YvEbAjt!1-+y4C`a)~_X`i4!`P8&qY0$sK!p)hG`77j12!z4FADEgMJGfxsiKdG+a6 zxy>K`B&9<8m1(}rab`16Y@cvZGUl?e_#pgT3NMW&;b}`5K z_o1}(CzS3lS~=}h!5Mi8RP;Ntf1kBmf@@fyjti3bR>)J+cfazkP90u3qc5l2AQE)$ zLG{7tX~iVEmNsX^g#4}8_ai;Ny=q(vvS)W|q}pm%G2Px;#J5Pt1gUYgKI;?Ef-_w~ zeKyFLB8;lBUP6tmPbA}v`Wd(uJWF>SvHLZ!-5TVB!Di1m2e1OT?LO+;=ZF=?+%`r)-I6n$=jtneRn>-} zG;z-lmOQ)?0l^r+=Z~BD*C#1xU-x5RW3|}wG1vp`Q7Eh34kpN!-Z$S1d2z7!`G_1J zrAqQy>JYb(cSxCDN%@biI@NgN^WYH}Tb@H_jAOC%thRz{B4bb8PazDaImQoBT*nptw)jx;{@&6poJ<9QL)BHLMxrOdxn}>6rJ;z&PZ&W zWrjVv(6;w49{BT-9dv zis)gQT}RAji+DvITaGZl-5*N9hD#l>ti&;kBw%#+&2*O6Vn7-YzEB(#IXE2;_|ax7 zT*em6QX8Q*T0&RcWBh9Ti>Sbx?I!YMLNFYBj5FNR?sXZZQi$suYQc%XENZkD%JLgq zkDXj+Iq8Gim8=b$);i7Auz1;vG31m|06$u%sH~SEky{SAL8T= zI&f*vt4%m79A%j>2|Y3E@A%ZpBTUR1L#@LZoaEzZ!BR)Ct;jU1SlfNmGA2e89w>o) z*a2V&lNlq^uOH!6KGhUX;!M16z;5}Xz%9a$wLjTPg;R_kNCV!v+2?1R#@v&@3O|)^ z2^AJagaESua0ktwucc*AZX{w#7myvJ9Xb5yn$tldt&zY}aJ=N7yfgU`#dLcjc2t@j z!MOuD!0paB&2m>dJ3Ago2ZFqUdFpdru7!Cmj0VP1vd5f_+%O%vInF9nA5yMkYC1)v zq#;efuLS=94ttU-6nJjt)pU{ zG8KRz{zo~c;h`!=nL%XM=%M01WO*c$l0C6iZlJrBOXFZ4a1oBR=vUV9d9oXEhZ)?& zV4U^O*Bym(SCB~)tCAQw&&%ob?Ni8CG0#UB-L^zKh~ZduKA%d_OKqyLl+H)51Mv2% zjcmJ@ExbRW=j+$CU5!4%!*dA&e+U`C9{A_;G`UB9r6k@;6+Hl7|JE%vlcjz>Aq^{z>^dlB=jj`BDkC>-bW#agq}E!r0rvB)Gj zz;@$zxc*fWrtVZ_q0*(3ExP$2D~>k2@ z{W?`hE^RCjrqJ!4Nhjq!>ddZHRb+3M2X5R9cjQ+$EUG5o2Ir9WBLkXnhPEbBxutP` z&Q!iw9JwTM=xQrRmUr_`Hi8$CoM)$A1wm}LGRlE~jIsHYu*V*?(Ty}CAxT1^2L(tV zkFRQ{qp(}4W(ymW6E+yA{`XFu1z)kYmQ*58bBu604&5pVVpweWy55<_)y{fx$>h`H zypiBZS1#$C6l2@D^vzEzdX)6&Xiuf=k95If+&Bab{{Ww@MIuRQYE-mp3h=qhZtQ-z z_pVz}zH-R(GjA*l0yqor?kgkBo>plda08qLUJgGT^rgvdSt@Ag{Knj@;dUS4Kc~Mn z4ehM9s?wDNI0vZd?NG+;w`&qm{G{g_c;huM*{6@^mgABzqwf#LHEnhhxJRYjGz}nN zi;>rYbJHiU=Tzke(T%)>l6&8DwXAo*9J1&;Qs&*C+J5w zsEX<{2;E)nV6x#yPT>1}X_Coyq9>O>n`?dnVCzv z$>rs9$K%qe0dhS>piv-vWb{#vojI!stVt`gysXS}Gy3yb@Up>)2uA~eNy#4deSGwG z60q7wxa9kev<$80qvT}ePCx+v07}#sQrn;jpO|{!o!lNP82O0)bV{wCx^tS+wvJ1K z8{Ns3C-_G{LsxduES@B5nX{0LxCh#v_H93yiy-~Z3n}332PBTwtre}F%q~j5KyjMM zmfWMeFm0|n=La1s>}H77TGb(W85v!71qX}+j=sEfsM=WgNrzY581 zf^e~nZO&Ic2eIa?M|B)ycR1_`#(k*eNVdz+r;!Y9ySIb;!=4U%ik&A@I83Xn0l?&B zbn8=DGE5o908n^i#U-RR?JB}RCPT?!Kp8ZrqP>KNytBf=Wpcm_Hr2*AbO${JT8_YZ zxebQK%u{%E+|9d#p5DZJ*1St7 zgL>R5vCh^V`RGT|vVXNCkhD?)L2ay09CXLO*0h9dMeb3N6HhXx;81We$;ll*3a0W~ z#1=#V?c{Njxc2;OT6LhQ;3CkLta70r!G^hqMNVnTjw4oLT_4|jAE%eQbBA!Noej=gF# zrQeeG8(VHNF~~pX-mWQH#4?lWD{;A{&K0ny0;!KD&L#kH)aQ@DdQ|XR+>48cjM}7YAKA7 zG&bs9N5^ge`c;h<(8+a)BL|c7X9Me#N>0JKn-AMO*A4RmF_YIHk6O~V*=(T7#{-d$ z-_o6Z2r|fFA@&>$bpHVB)?-gCwW@|H%IA!nx4+O+nmf$D9 z)2&pFR<@gL@eo*U0QBdl6wx@;Bv|7hBRJeZB>jDA+~{GEqquzRU8}}2qozC2AtEpB zCUy}z6kvaZ3}@b_7YhZ)BhC_XNZ^C*S<4@qj$i<~jl%~R$K#CGL#63UdZ-wAWbz3o z1GwkCCl2}AniQ&AM8be8r}2tHYZ1Cr=?Bh#%- z1*h6#FR;3(BLnX#Khm;o?5_~-j#DClGmdb3@N$1TzihKhCz9on#z8B}@${slVW)Bl zCyvbocS=JKy4_9Qs1*ZPd>YS2NHRbnxYJwVPgk6vmUze0|3_U=1>^k|6Ogz}(enET^79jY(2 z-AJ24>`Zjo%~ZI&5?m6oubYG1Z68{ZCApqZE>u63GP_U9j)yfa3=ydXvfNuNzFcqvPqNI5kXr|m zM@#~0qY)-@mXa&Xwx|qciQtX}S(?I06{d&~k^SNnlAv`s9V=$&{Vj2>h$ILHS%BhZ76dsdaL{q?QSn_~+?l8)y;G4~y+B$(3f zY$c4L`gu&sNXhEnxB{`YE1Sz15@**#7`|NC4-t>C&j` z5?o8V7TYhE!Ok~v*PhfxSeA>Bi0`cSTVf*^^8@Du@%L~z#~u6C3msBsy7N9|b>WXE zJogp@GPpy7+k19!8~$Etf#QqZm`QgnBZjKk^-XnIG$+=i8nsb6!14N@ed5FVy2qg9$KPsMH zg64KNWjbw(c|n6l+%Q(`I+5C>H=1;h{)ol=v7NXXwcch-#BIQJV-41aa5eo+WGCub3F%fw=eUflpqcb1G>ZFqQen zeq7`O+K41;gm6Z~pOl^n$6<pbi@ZV-?Wr(k818If_;J)ON>mc+b-Y zxmz3g(b@}kc`f8ST@|=*r71^EN{iIfY2Nc^nx$9~+mdOws@7PFM!|L4k=SSY(%foM z*hg5j)ts!?p+JRD0T}I^x7Rgd-%>Jy zvHt+9E46cho`26Zr7o8YsL}|@QI0`5&we`N@v6|+ExV+QN-*RW7$Y6A+*N32t<1Qu zDM_q5H!!j#*n@BvL;vT~ts_o916nkxz)v6+ZO5P^*By8Vt#w`;@m2PZD@7E6?WY@9us^4z zE})DfsNd*U%W0`6Dx>C5G0)bjF0)~>R+-(NKst<$JLjL$m&EsapNK9@YZy3eZ#-ll zrBk(z+fUsc$}6&r6&(RT)X~W8pq}MLx{i5dSsb|JjDz2vJu3W?Li0x*m}r3N**PQA z(yb+wQAW3}6l8@8Nf|!9dVMQ5QwjEXtt{L3tCGb|G3oUby`6=7mhHSlV{XPBzi5nZ z4aU>E*E#Fy?^(LWp=y@^ktA_oZBlm}pL2`~<0OMng6XDZB}N+~kWa39Q=0C3p%PsJ z`*V!x$;u7QkM@OQ zn>g)!$b>KCXQHqtaqe^dE3vV?y}Y#%*~qG_*xFMJG0tIAH0b$px4sTCJwF;_tkeARgXOMCP`E6; z#!Xp`8fa1NpawWO1#+YV*q%C6bMwc{MkQvjC4HUp7k8BBo@Xv)aSW8 z{e7x~YO+YG5-^W5f%VS> zeQQu$>Q_qa?tIP^1Hl|r0h-lFm>uwrtg8u-*dNu4N?v++u!v$NBp1k|@sjX7xOO|wxc6jIR`i?#8eRNBU z7-PA*Rz6@Pv0so3fI#==tCs6xE_nUdg6=IPj#~@jqnw5ZCmp!rv@NgoiwQr{q7%ZP z48~4!Jy-hIscL!@b1WAGx!T8TMUbuaI6s|ae`Ta{w6^EVX##+ui8uoXB=`5Mxfx1E za_S;@LpnFiKtxV3KakIQo_GcEXylK9w{T47aq2f3vn`m2{h(yWALF@>I-jjr@}yuv zRm!kw6yy=Fi*-9L$+mfAM&3r?zQ6ry*?6M9awANvd=OU_yRbV#`ew`1!REN%n-4R@{BxEn#&(PY>9LT1Ot-T0G@|E>Nsw#gr6&ki+TZ(j=t=K*{BO zI^&@CtMep58G^>r1KW&XbQtufaahoj;wcqofaRQXjsQOS#YG0NwxD@|Sg|96kL6s@ zif6bx7izC3Ck$z?WpNvqb`oUg3P*2WdK7`3z`l*+R9O``WUx-Ne^%wz7X`#X4O8?t^Na z@}axu{{YulqPT`Q)G+fM`465)e0IstLsTZWX#+zcJJ@7`KIz9Gntipsy5M>0Q9wCX z90AzmQs%cplu2cl?%|$!Bl(VZbAou|&>FD@p(JHuk;G~+HtoUBa(#a)tk(fs=WVJm zM(hxMIIL5unQmSynE}QExA2_N%!z314AWb-KBj@hM2h4hB z@#{)gu+iVx>Nbe-AY}!RfPcH`fPHDLcy5YCER3Nt0O_Bn*0`uIC6%^b&J~I`lOK*N7yU*hbD^B!E+b-ov2ch2|o>+Dlru@1M$0Nf;dDRox*h zq@9#L|h(TG=M2W-hfj#7E^j^T-|e;}szB1DLn9p44DQ0}dP9kMX3mzPNC( zTP#4y{rt8w&jfq(%|d9aFownupSY38T;p&H{(r4OcWESS)3w2Pi5s~96X;UT%ujf;q1gCYPVJAfyPa2-D(%t{$kq3?8N-UXKoK*E0ns^ZY|jP zMDI8`PCqf+(M_@^W;Vq_e zdNQftkL6o88fLUg-CSCQ+B+Zw5$jgpbVMIx20NLiMrn|%Hy)YCY#i3KQP>+*YlYb^ zPSKB-Y5eM2m~Ll-%Uef?r~`A732$A)7$2Qx3wbTJtl?T&I4U#8;&Knxr%5Xm?uSm~ zC(7YZJg+Q8K{ecwAc{3Ia0xia*ON}Yv$-geE+HKNQgB$Cb3BdDSk zig?0c+4#BOVZKaL}JP~IXT9Drm83y`zDX< z`CRW|xRL-WJ$-8ud!}GQJ`Xr2k;nMfy~J67GOoo>lzN_c0CFoI4>`oUVNyZbarl$# znj2^?RGQ`%VK@Nes8Dn6eKAZ(Bf6F6k~UR1IPH(|t#n9iqcd#tqUV+v2kHL+)~bKn z77C|mW|KMO730vPxj$O71?+{ynt&0+K_Cn-KIGP1+Pe@P z5JE>PSCTXNRfwatz8Se!mE-{Y{DmFJ#cG#wd6Ie^0_%$!3u_q}%%p-x0FIc?PtvG~ zwF@^et;$4?!!KNCjxp5MMA1tOL2aREU{?9g!bT6i-^-e|T1a9@Rl{v1SIkYs3}m0z zflts~PM*ffGa%h@v9ZX{QJ(n&HLSjLB>jy;BIFeqA<6rrC!r^y{cDF)Bh3oL0C)Su zXMySz9y(_u6>`!@1fnNqxR;;fC;{!zfKS$hi+*QFs`K0KySFyL9Aj`}xO;<<&#iOv zO>mc=Xt@a@M}QTEPJ0uMYokq1Oob(mW_2K{rUH=J9FvjjShrTe)g|*bu~XNP*Md5M z`O}iJ&`4mD?NTboly14`N$Y@cc&vN7h_v)iv`dzh{D3ec^s7?bTdcx4{{VJMe5wdv z$Dz;HHIaGt2=1efF^(_`4B&n>5P;<(5Z6R3vcxgl1QU;X(ECl)k*%{cq#*id0RDol z{enL(3yJWtzd@XmJ$R=Js4ZSpF(iom05gy~R;_e1yV$0dcd$g$sl;oNTz1F5ueEIH z`m>`LPRy_KWGB(J{gT@r`oOM3GjZ%T)jy>d!z>JQ+{;X3`9>(6G zIF9LMw~>f`NKg(l*XfFoK?=yF)!n4$lg58D*17pzOBq|`2f6R~RoiA{gUt-YWPHSQ z_7t3Z4)-)J8aPzj!~lNyKai>|d2tQAgYP*!4uo-0o5p5mmx4JM>U}y=MJbWvgC9JH zsTmmh@@qD`k7F83%go?0>zoR?zIjnyV^VSl9QN%@p6*B^ zF+!mu>HgJUDkZX_hm5zFL&(|d(0+A7ahVZIltG_h5B~sOru$UreAvpCPsjPwq`A4c z+OsODen`L>G~9IylSbmE5{upxU60x%cCms4cFe+bnVzh6Wdb z$@L?gR-LfBl!)X53O;6T0rbZisbGq>me#ON>foXg*C)TA^{Fo!*57K#k`!#8GaoS> zxHuhZUm#`XGlpgAI`iAF7^*jVj8THKOkPZlqo~KXYOY(bzJ(dyX0r|e%Qkby4mx7C zwA-eI%y(?hxj;~iep;rNHgo*eqa+WPAPv5}Re^L60dBcN%Mt+~{sNCc-0QUcXvB6k zv5k5$Cp&=k^`>2Fw{y!Rw$6bcfEj=bp1@Z>AD-&v6tcgg41hV{Rz1o7&y;VOoimcV z32u61(zwosOULIDk1%li7!}Xc-jO`ple4H*>@lBQn#r-A(q~ojRRa)7B>w;}TIi*c zHAjt6e9%caIT-Z+04Ay2Eumg}h-_j=V?Q>2W0G_Dim?u_EOLFH%Lq`6vmP;yoN{y0 zux^60kKQtj0f!uC>xzp|Yp9?NA`Sox#@-L0qQd6X+51d@t3KCWMhMSdn|kmn%uA_A z6DfelXk&r$o-x}XdsjbYbG8DctOWqZc`cL39+<^l{?d|G5eZ3V$s@1_+++{ZvvBS< z`y2MQ){w}NUPudp{5%1kfMoMkul$p791+gqGD$pe4@_shb9c92=}H|4R>%cU&Kvv> z{{X7Cbo6PhOpu3?P2EWaMn*A)6)q2;<1Xe&31@L6@}~X74DOk)9h!BtQol$MEs@MmVc+>P`9=f|zZ@Zo!;j zB8JN2u74VgUCSJ*$jSoeJJ%qC*NUM$qTkDaNrera$0P!MDI{>0xdoL#9dJPhza6Ql zfvt6_wZiXpDHi~3Tm}Q20nRE3yufhKktBd|jDe1Ry!zIvrMjZF@XpxUpo|cDupD&j zRj&1d%N$V*%8P&(=E&?x?eytTx6pUfQsuR+qgq66<5gEbd!hWYKMdDvqfO!HA(rOt z-F%cLAP}6lKnVW;6JC5LhQ@eT%tt5=Sw89A&T@K@SFXOnZ84G?wVg`yun-92)C0%3 zqI9mT$IN$D-Zc9pGh4xD`>A93{!}}N&nm=Z0(yXQaa?uYqSKAG(XF#!~9MJw3S39`$kQ;{n$iE|D0{ponj-7cO>!{XNTmJwmEj>QFK_ie)Kr{JQJlb9A zIwZ_bC5T*tKAGbl^<0WO1=*T(=!7xBF(H7?Gmb}IJJwOKQ7DBF1>N_T8TKdG*PuLU zC6Y>ZysW%!8Nuzy!1nK4#4Yw)?bmVcP1*9#0f6_x!Ki5>orvt9SY$9fz^3E1xhy`u z-rZ@pFi9Q8ZTB3IPSA0Wet-Jab5ObRWoNOsR8f*QKJYouBl=ZHbulRp%dlq{4xx!2 z-D-$64Y-OWxRMbj@sF61$m_txVZFV~GRHajL*S4;P!Bjirxnv&>o#|`(AvQeiewvd zPJfxlPip5cWJbuinX;G)PDlgk?d?(2cIZCp1G#QxVf(-URXdOW0AKR0I}2+xXL(Zq z@=ro|?e(ldI|oFDL^x7B%s0*WcJ!;p@5+rG%#sJ224cTUfn`TFTjv%)cnz zoCEp{^r-Y(JL#@mUdjT$7~O&xjt6SPk5B>;Z4oe#NWtKr&mWaK#`Y^4)V!V}E2mK* z$o4#S=|p1K+t}@{HEFb~WPk+`lh6Q3#~o`1`ctS{%X7xyy-;J@2dJzIo5-fRGR(L~ zV~`FNOAg990a`FLw$iGm(wj=MW1Q#Pzr79-z0lm-(Bx%>qG6cXo3481qj|PUptCB0 z#zqh4T@Bk@TsjnlfIGGZeuIpW_|_BW%>~ni0givY+MT)(`|4y)7SK<;=J83Xn%Ul-#VP8PgD1C{Oe9NDR@?SOfkrK-GXuT z^{4FmhcYXwLd>AY&OvV3ABAqsCB3(i7Sd!RCBeWP^zqJUfnZ+T*0%R z;Y_xJ%2wzJ&N1vO&~*zbo*?$F6qC7$7|*X6!Q!!yfaPa|ZDYfx12<24ZMG=E5!yfk zgLouXE0D@~>FRS+Sjh>OW!BbQWl0$Pz&-n#lIq?_WeIBU8xftPVBn8_xfF>gWK@#f zyuf~E#~Xcc268>=4On%|#U^R=_Sngssy82zqVG|aA@Z+ckO#op2g}b=qZ||7p_@v$ zY`R++BXP@y!6f>gpM^~syVH_2lV-%g3P>l9Z|hZL$zwG2T}(MD(fLCkGW1dYeQLI$ z3nXhRN#;h}s2E;-fv(Z@2=y6!fo?6N*ms?wL!V58j+M{e+S@@o!D4*EJ7aOl>%qwX z01BzA4LuGmKG>lojTs6#Bw&pDW7pogaXy`Rk+?$?jsSlD08`icR*b^_NWRN$6Dy$1 zio>^d=b`;84^)EYQMx2C9lt4HLCE(Ub5RcYT>SVv^{L>F8Kn_M z%*u<54^Vw88q-nKu3d!Cg4hbO4iD4cHKS_=srIeR%0lBO1QDO}&0d7vEymtzFJ8RArj$&jHw@vYDsjxHb|OSraMR(!8thR@T?2l$*nEV z*qznM8-p%D_2kwCwyk?=KFg5N%G`o+_~WG=bsJ8`oy!QOG1Hz>o^U?Bb5?J!L5*W5*(_V;!j)dw0Mcsu z2FpVmOoPjqUraa0yzjx}gZ}{5u8UNT3#pIxd@lf)kK*Jg$77zgf{@rr7`3<#vHt+9 z+`F^8u;Q-Uh~qwNx7*$|!iP>3dkw(#qiq7+$@Fn^Zu3FrEUu>k!*ulH{3?5tnt20G zgvzb7j)UqcVAAe)i-|UQEJl2;xa*9bpGvWQw^q=`W-H{3ADD7mJ#spIDOr@Qv5|7u zFhss)a;|#w?a1#^$9r(FoPfX(;|eed;{<1#tEx??YF6nUSB?PAGwbhIFxYDl zDkO<6at7eoBj`EJB_(|cX`Lv;X60d4RvaqiHa>^ny;W^qO}<%%K_~F-1o7XIRs_;n zuij~&rcOb~?m_MCP}yI{bXmo^#>)8GGrJ&lMGN~Y>`MtU~`;|7C7UdLF-JizPG=E;y|TVGu3`#>_1$0 z>&qcp6c`3eUloDORS&TB@6 zZl$>@dB7vTOdRu!_RUbZyGxDm#K27+2$7F|_|NjGm7c{#v#U4O<#xLRDu54c1JwJ9 zWs#mqrIIbAAQ@4|1Nom?=>&`McHOl`0#Ip7zxv-u>n}W9Ng$KF8=iAb|oB1qn z_gmVX(a7H?nm%3LrvviEa(9|kdTr@=SLXRn)fhra&peZibfLl9K+xS5$dSV3mKecM zKp9{^y|f?9Q=iDQd8FUvp!t-Lt(@`Gu&AzeOJa(N15VMlM%C%+0OJ5xHGM72<)Mxx zDIqx^?j)aYT36_T$N$jz4tq&&V|$yJ1F2#Hs-2}ragIiPD>mK;;zM&CuD~d);pCJ9BiXq9EIuaG+WLNa&YoDY7-zH5jcDP7IJ%n4;622<15AXlJinzh44 zZ#JUqwO0TtD&a?NdYaBQdkWUvg)gqI0Gh>>S|$ipfamn-SK?%unWv94liPsDxCDPH zT~2h7Bz+AFoQ65&iSPBUJYHQYozO^UCmTwW&#y|i6t^ds^myd8xh|3*g^*yW<0N{T zrn5$8MTHtdN6bj$+Ze8D%To<*{&X$5Im>5{pv_;0Q1hTtm z$$*lG2JCQ4ZRC2X894e?GYnEF@(%TKakq}0c&x{Ow7zO99G*xV1NEq0TkAB~Kv^3+ za%s9`Ih(hCYPXF;%#*Ira57KRjC1Q$fOd~6yyqthNv>jDOH+4#3++F{#y#so$5xm| z$iazqZv27k+w-MlQf70JK1d0}%IOG|g%y9)AQln!|qBbvYV z+qd~Gg9HaB2aNrD(=9H_xf81GB(wBv=dsNRX=FCeS4`KuNu&|>Sp<;8dUAQkpysX3J;2&Rl*|zY+(nG%1Rwq2D z$*s#*1W21BcFpJNGDq^Nnx>v7 zVF{H{3S=FjKA>a0ZClvMZsJSH0FV+?1B?^yb5h(ZMgf*FB94D}+4=$6lwvm0Gc^4k zGXN$@5On#nihZ~>xo@Z2kR%Fro~I#(dS?Q%EiR;v*#A`Wx1P{wj;H*RFJ&P7t6-MuyOUs{HmSgl1n?nBf(Apj2ypn%A97h zZ*_NMzUXVlw+Pq^}B7n1on0HVKa zd!D^&Pwi-|6vcUQ2lqfy0R!_S{#D3dO?Rv3$Zt4|lA*9ZpE1cEwTowEsXWClHd~0j zxyP|IIP-M`?0O_xh27|pZKO!x>CDUK6?9B z>}{mWbN!)ts9QqFa*?8t#N(zE9DXLeIx%=i7UL`kINR4B%D3&Jm_R0&g**i#ILP%2 z=}psD4rA!eCJP-x&PIynMZA%lYQwY@OmGyj1Fv2Qsuw;UmK$cdNXFI2?%~N`sdaS|hP8^=f<{4ZN&f%}i8g`{ zt;{Irl*o%Jg19{7o}SgOEV0jS9!T=ecMz%p{(b)d3ZkhSo$|uUyRo?m&mNUDi1TA$ zDvi(|zG|Un#Mnc6>u}Hr%z0b}&IS+D-mq^G*5C{RqkvPM3FPyNy>oAK9KK7&Ljm88 zO=mr&+d8z6{HwrS-{H+vp{>JShSXkkFf4J9Sma<~e=*HUf^|R}2o?M9Pe^S3-sff z&cC|T;Qs(r(au|dK_~G8)~l|ir>3U(47M%ySy;`22?U`4`}Y;h3q4X<1dSU6fDCbNp48T zq4o6SRC3tdG?=->cpNH_KN0}JtOdE6<%ChlW0EW#xz8TCsak1dQj@u9Q=tTN_)_Iz z%xEhmtTJY97~sYZcVnNzs?BwIfBVA1GPpeRg&clWrv;2RI&eN%5+@t^$;s{yrE?mM zskf67F1l7KFAo_PoS zD*RF#_VNiq5`stoFCN(MQf#q;BX0o#x)$nAe+o(2jYmyMV6cTE!-F6L?+^3Rsoz8z zHAt{eryz0b?^46&*rO^=#J^s1f%qDNM!KIa+ob$4`C_I?+QW&LKbVo=ot%FpVw#Sc3dby#x}13hiDG$X zCm)R|Q#58d$N+E&7|u^1oYwNB(hT{SW^56H1x&*M{}k;<*DxF7GF zDL%%l&548)UnLJGl{!DDckVZ!b-n1Q-Xx0hecGbY?)6kLcQp09%Lo?+S zh5=$Spne>TRqJ~jFD%=@fyg6swg!8CRPG}tI|%n;7g90XrhPM8Hr6)^P)q}-W7h-g zR^qgRJ<>qS9)E*rWmEXnEWTUsNmX&lJ&5!p{Nk00W#+iq5Gfau>JJ=@+Mb{isv(OVz=ES zQ6XIY7zXwS7!_hW$mX^CJZu4SK4a=S3fr0oSd7uSVB`=}fTO>BRX9@CByTa}QG!8H z^Pg^&Qi=%26*atZVuO>_1!C9TE6 z>K7!T8&_j+2qOf7eY#bYys{S!a`MS@x1t3KGx_84q}O7TMZ1Y@u2mM}_j1RU005wL z0Ats_e@e=TtIqRWMq9~TjzH<^J$uypjq=Lh=#Y@jfWUmiXzicp?^NXSBeP^kUn~I0 z2b1efL9w|at?X)Ld106h*(BhSGss+wf$vSXwrS8u8w79(-;xJTgkbad)jL@NvsuZz zErtXfAD5?p|LHsD2#rS^v0anq79oK?ju>O)VV$-`|Uwjp9s4o^A9ZfmBo zh4x0%+in08wBsk=I2?Z})q=~-i8*_zlZF`Ds0T&PdB@Z7s`qyV6x?0!GNH;7f~=j_ z*ngi&zd;>Vj+X8P;PT*OCKeDr@F4uW@=kka@v3)GO=kB%6AXv=7$WS+$6ma4$Kzb; zMRllbXeRSlBVry13;1J-)R#)Qh6a*JR#^eSLhrwkla2`djYF|^@+n;E5<=f(4Hr_5B3xNr5j1zQTDZyik9>E>9>S%%gHnj1n^rH3;DT|Ugp`i#&Buk?rXSKJy9f=z`UKg_6W=+vjcFOJm=@dsLB|NF-?3ZN^tB2_zqGwAQj-40Cye@(Z57 zUUO8f)N+fyhQ*w|9u_-Z-DjMFq#noA9QOREg4yMV?AF%`6#yq`!vcGMv}-yoF3CP^ z_$~6bcQ6F>JaqkPOEq|@=+?IUxJd-Ls8r?-GxDy|B3JHGaD?b@fB!)PKbA_7SY zp24=Zd-m!4>q-T=IdV{M>yN#k!=+$CQyT-MWNXi$dvvN9VSsrEHp0f~1d z!3IMa-H;XXFb7Z1-m%TY7hTz4InD+L)KR^IIqXGX z$(ZCx6s(F47y=0@CdIu4}%m0~y1(0MmHk%HmCZ<%??>~q)htgSNU*2d{t(f4_S z<_x<=eZzLG4R-d!QBN}KPlL_a6fBQD&R3$TJc8FBopTHi|XRm=zFTf{&J+yOZLc*RUx`GY&lJL^fr zo?5KLsM!0nk?v{MSCPXcimDVR_lWtuM;Wg?I##=EsZUVDfBuGM_AbMJ*SY(5zgFW802Ri%`A7VC9_)U5&3r$m5>OS zFgu5Sc;l}%%1qZ0MfR0g-X$Q9E={K=p(^+_66=~ovZ%O^Vre6gf2$ivQV&pA z_Vg8_4zUa|EO8TV>x`oy8~FAA0P9j|?!=cwP`CcoR+0i5K{&uxUWc*ut5!M&t#Yq3 zMy}Y-3BzP{_xe=Nu3g+ZvRx{_pdh!)*l}6cTDGTd48CNF(~nN4ILJLJmWxt#EUXuj zur~=Mxs2jn%aO-HoE~c`@tJ361V!_f2N)!E@7waL)|%F<9B*$Ozz9b654UzybSJJo zg==ZImvV2C>?n+6mR3>#J-YEw)ylbp9pn9wOz$8I(GN_H$3N1o*vzs<%XEsOLx*jd zz#mSP+*|3|UZWY5Mgpqj9jmzKrZ9VYn&dStGSbpXBDb6n=jAQEGEcDLwDxY-V&=QB z#FiD5$6(CS0o0ZmC$2fbt8hW*;uV%fRQZZCWM{D;n#qJD5_wm%?`0(UK;#acPyYa} zyB#v~Omh^Ig$#aQl|jJuG@})9Ut1ZkV3%kkNacx?XL}6ipUV}SZKz#ZT$pEMkVXiP zk{jIMcNOV(nl+1CLwWt6t0l&G+486zGswaE3iEwaR*okSTspFxf}nX|{v>3Y)}=nE zahawst*#{{$puLJoQ7`QPJOylF{F!xSQJGo5Fa3@aom>cT3T|*vOxB6+d&M#5LlcR z9R^er_3c%!r(0B6rU6}v#^aC(IUsSsrONqkg2=ml91j8eEA+zrt+?Rz=%VtX$h^A&k)nf?!4fa>~D6qorp3Lzl5V z-lXen!cuoHJAmZbJo278muK3_M>mB90%W!ks^oyVci(z7k? zUeyRhOk}q?44+Ty&MIY6U0BjXEp-h}DZb4iQxV{!E?eAsd)Gw{p(T}=N#SXnDN8Mw$C(!+SR#djO z(Wss)fFwbIA3{BI&JHS^k~48+lCvq^36MvYAb>X?TF|x=YPP}^BGOpL%`4z>_pyQ0 z9+|7K?RGB98$&FAD>>X>j-M~x!Rb_QWQN`_?8FH0s0Yejq!=KMyj9sW?lp5((XO+M|C?UeQq{jK9>MLZ5p z2h*+z026iHlFN2C(H+qf8IU*m1|4Y zV4Ca;c_D|)2YYS#0mq>K04B1oHC+o-GD`YEQmw?W;Yj1T$IYJku3aw}8IsXiU_2|H zK=wTIipo;dsH6YU`4Z>DmP)NGijtKW1qcC8rU2*h70At^T)7@X8C6JTJB9!}a&gwS zXGW2dGcj2q=vDfD82)s`dEV&4L2Rx!I3;-W#s}$LjVp~@q--O%a;<9?NX}ca_w^>V zVX%lNpDZfqa7rs4KN2{pn)+u#iykD6hDpab_5&j|vuu2umX>)&;Gmo?LC^5*=aJtg zrcu7Yi#EDEFvNB&lAXKD1>LtlhZwGI=OF!_AiJZ_&dPGf-;-TpU)(j5s)R9L#!y(G;91W+Z*ZeBd zyrG%}Uo*@FuIjIsGW!-BrbTzd{)i2mAc)S z-a_(YAtX3F^*J??@<^qpwA48tbwC*v5^5KSyCi3J##rsfN6=Kc4I^6JVvFS#>mkk$ z9C7d7pl8$k*NrXwsZSUgJReN;9@Wdwb*YwrD4m%HJc0-NS>yGh3vG5%^A=PKkD0kA z*a4cJM)n$#I`)R%7Q&WZ{BTJgo|&xI(_**`W{+g#7J&u|!YK3M_1 zi3Ic&E}L%Y3YM9frR6~6x%9_+(LwCUZCq+-dW@{_Y1v>#aga8TVcwyQXODf2@GB`l zkD&ZpPEosP(AzTWFyfj^SA)$0QXw$9!j}uX@Ar2D5VuF|mz-UI`ny{{VYD zSD##K^W4s{UEpU5N|T?!aA=D{NuG}dv{B|(f8F$Lm<-wf0BfamKVz_#INMLQ*naL> zOtJMRjMo=y=fbhPS1hZ5N}c}zhH4#4RK14a++7ngk=0m?4&I>FodwkNi@T2wq%qjd z`{^GANl!Cr@5mYa>xjO((8bZT-zE^`@r(~ZGC!SV{{X^Pv4obve|v+u&&bEy<;6UB zuRCOpBv}`h5)AJ8gV*z{WUgMFPPHu~men6kS9md;6ab!j^hm8h-Hs3#VjxY zerH@3`U6@v9x=FGrdLQ1ebA>E^}q)evc4|U#DvQ%mm7xzX<&V^lZu~bZBV{Pl}CGV zZ4noklXxQs?=Rt2^tj^GWl-Cr2zri2KiwdT^u~V)UdFPUaFRdX^Ghio?)D#*bK0Jp zYhoVa&Tvt_@6H?y^amVfj&4xrxeV4;I%*o@3G0DfUYS6RS+BLzC%LhLzWFM%{AC(ZhcN5t3zp%*cvFuk> zT>P!Iv*jaf1aY$$0|c%>_4TG~eQseD zrK>kQmE%8BNFSwd%=WO9OZu<&0$d;LpE1hxl1~2sKnE2Sz0A=Ntq#SPouuF$yyWKt z2B)^rE-hi%<*Z;5Nhg***sIB>StBgBG4GW~+yi9b_vZjqHtbU~Ww9=%YcOJBa#2@! zIr?$>)F0V5FKplG8&vQRoB(9(A0^AQIak(U_s;A0hzHG3%w&Y~EO@2JPH z?@=0JzJxaVc#s=n>|_Tx+t(lMHy~Bf9o>u)ExWE|A8}8AT;y_UzxKWKt0JsIXwP(C ze%Pv`QoOvx3G!p6<>!v0r}V1j2cYP0Eti>?A?NVpnerGr4_BpbCWkDvAsykNF!L^?*o(T%$OIoV5zU_a7WI#3ayJk= ziipXsg-Qsbw(&;0pDdWjaq|yuJ5(<5ULr>I2lA*|+#_OA zirDYV0iOA)lk6zRmtn;(A%&t{ioG{8eAxV}HKM+i#A`B?J(rSxm9GT$nMo6L+fEKY znKh*y<*mHC(jfAJNeT~tp{02stYZ+GR-N)i8#lDq#%Cd+=M4WDAEuUXu_|azf3s~l+Tj?a-WSM2hQWqoZ z+*YNnmCWoVx|t!*-y6E)>6(^AYkQ1mDx*8s?&H4zV!DkYO)fL%i)EHf<+vPs`hGQg zk!RfE@9pg^RK2g5(-WV#6nk^mAB9tsOP+nV6EKB<1ObiQ`sbSUiQ?0B5=<7Z3w)yt z1_Zy~uHs`Lk0>z3i7bCwrLeggIqmlmpoLXsl!1Z>C5OFTvyxlb%y%)QB0P_q zpUBnAi$e;A2(gyxe(4{8tXTBx?>Xj_%Hug!0PPgq6Iu^uOLL>E+v8QPzO(5oojN_Lci4E5e$j>r9fg*tU{FKp~m_@7LO^ zwZy3-WbHxFXLe6>oC>vj5~FUWTv|QqGKeH40LydR>FZh(+8H+aTsh!#*Bwh5$(rfo zl)IB0dB*7Y=iF6$b-tDN*<7+9$vGG&>CZI^4&!#cj^5u%p7PD!Fu9D9*vQ@fHOt&v z#cv)_+Cp2E!2_RM`h6>*u)dj5O!pFVYjM2{ zSdd97&ucpwN6Zi@QooKrtzB8JCz)cne4#(`(3b1^*8RNNBuL3Gm>V1f;OE~RzZ$DF zc9X>-+@mYLLJi+=V~p{f)p?+?p9B!k11u7-nQ}5n1Fu2<0PCkiY=YVDZo@B@*dQK0 zr$5q~_UR3}#{+>V#$29%4Am*5n5OHAgym06e8(NL(-ke>K)s81bHOqrK@d{7R&_Wd z>+4yUYkd<17yxs-B%Xb-iqyQYhVxAmeW4Og2t*#evOCsooM{&9%y+MM&OZ-&s|xIz z-YcmHS+0`~!y(j=xb+^Nfv9G=v&WY{{KRkyEa*4-`MQ?x!X0|GZ6W83qrsbG7l z)jZIVa?DOgPQda>`qWzNenj)VtSPk)(!do`207;^pXp6Wqmb-yG87CiBi9^b^{AsE zE{4=u3h|i;9DX%+_f8KOlc8ajDe2f`^!zJD4#YM?HmbJq6xa?1ayiGj{{RZDXM1fk z;iF#U5*r;os+;NW7|S_0Jmhr#m0UNLN=j6*=tuJB6zm5;vx!2-7)2~|(vtBIow@G$_44oT!yON)u*lWaSbmFh=+ z`8_%IqR4E#vI}`*lm!l%34#uN&U@BrK3wl`xn_1Dn2tgA_o>(>_?HXNWOI+9JpL7B zBMmo{P$It}OJD=o`X9!jp^@8{8!)*bWP)%>`g&H~oH}*HS-E6_Gz8^OApWQIsG+i& z&S?ycl6j+O3hMp+v&Yh_2Z9-a5$Bu}&d_`PDKrJybjxUE@*!xVKr(jZmd7IidXIXb z?qfbukCc&A=+2xgt%K+owr|}$F_dH z-D^7LIZ0t?+v6R+==_PrQF}c~P@Za;6mYpY_u%LH)3SOpZqAY^G;6z+c&!Q?<9;~L zLVbmFFFuWK!Yf0{ovKJ;M;)>_uR7Y|O|Fip4oa!W`VQmstJd3D_ZRZZe7SYb7wU75 zPC2Sk*Fd`JZ(T`b>nnY$biF}VBa_(Y99C`3q?ZsZ@V4ODBjyEo>IWd^vn8;K;bSBM z+lT`J2>SHtSFAMKXO))Ud+o*uAZ5Vmlg2&jxm|?KO&ZGKZnru#XcsO+6(k;H&dh}eFQgfVV2*++cGEG^yw7k-`;^H5u*iDjJi}pGbn(BPG)~|ggSc^5%WZ{pPYm|jYkB0hK>2|gUYrbda|0rV{Cw?2CTp*r*sFpUl$a8h0^g(6q~|WpN^tyOmNw$EX;fBTNr1$ z23u&=fZ!=`4o^&0ZnJHwSt`B64+=_gxP0Hrg&Ql5#g;8Ol1Rqb&jCpUjy)@zySZGL z*+3_O#~+4k5=~y_%(Q-7jnCd7^XPMmWxl-}his7j+>$`~j%mkjMA|l@OGzY2F4KG@ zat|l)=riwHwpw_Y(+Kn;XNh>DNgVW`~>GkHRH;1i^%W(`#a-)&7ACzaf z8Rz*|n*RW4c$U^A4>suJKPYf8ao)Rs5BQ5))8|6+{h}f;Oh*{cVgVGXYQlPIgICgK zjZv9e(qv%2HV6Rp;HQT405s3;L zcJYkzLG-OFrIIyRr*rdlRq8!(7xm(@ZQDn<3-V4jf5#W}8CSpENN<2Yv&NH5W z5t`1U6HPaUH}Qu?f4*PhfpMyjLjcsl^~kBZ64L;AgP)&T*02y+YqhWR5aq zadmJrw4KC{_zp&zA$!OTw$MNj zCjgI93jTPki3Qg6%#r~j`!FH?~sYl-)uCu;7=Uu+y7 z(z|;pATf_3axgQ!FeFplWK~Oxm07;TE*zFSgEH?@eGYmN-i}7MDKe^AX%P8Bdua^h z;kS*b!1c+;KhltBwim{D?3AWk3K7RX#}yQ?>VjW3-sk220H$k!?~}$V(rQxL$f+q= zBL|RGau2B_e_A}4a~Fn>d!>HvT&@5rUw2c}1aV1vXSE+`hh(yrT7Axsav1 zFptPQF?=3-9A}TM7LT}zf~W!i0EG4Yjz`k1-`z~|Vp~<*{TXmd`yM;}X~Y`26qnM* zBbjGba0tK(%D{g*(vMLu2wCl;mCj2D@`u;doYpYCw!vADf`I3Pv=Pv8{HgKW+RKHt zMTyEEy~a2kg?Fp4^9jE3Tagm;c)RA3jcM7s!e(-|IxEp%(=}K`! zxy*lTTq$LcOj*YVkVyCEw_+;hmjoJ|>2qamkb^QAGlEZ3&jZ|6oO*N$BO`2rT&PCm zs^_OY>weQtwvO$lKvvNeg5Z3{LOAK#ohUoqiK6wslH*Ga9EdI1_U!fAIpZ1Y-@R41 zir&^~qGFFMQU(AV^=6DmS&DZ9S&Flw2$jnj-mVIGrWR9 z&Kn0mh#%6s3)?Fj3ufC1c^F`2iO0FX=ku;oSdG=XyX33YFnf538TcbOn8s^}x+92N&2pEhbt zkbJ0Z+Xt4wJw3LLm0eN5nn$;3SN@t3e;f{fI&CD%y@nk~yQq$AfHtmI01r&@P^FZy z-7>VK0tawOC;C-^Z3LJwCI&J=;eYzoR^nx~DkV*X{{VF6p~J0+xa*r4;FXq7xYz># zVAW{QEQM1zJQ6!rrLLi;6l9R7-GhfD^z`S7bggf5KbHX!#h;gG3<>wat6Bk8drRmd z4lP~clb!6RA5d}9qtm30&haLa20)n`)w0S@LKN{@@weG`ESC>3P!u3mP`vt8+lym$ z10|eZY^*yFp+31h)mvQza#GJ`E=|LhowJj*h#3d2Gx}D&pNe$*K(Q=KyBl|qOD<1u z{=H|mmmik%URv*U87Dhky*88A@T@ESKtQ3a7GomtP_E#o*EO5H>^t^5TfI~5=*P=P zOyeu^;~hG6{A-lEw%p%ng2*HFGBEvk=A*RN8|=XpkuwjN;Dev2IQ=VH)ZMlKmRAyS z@~{ehi0?_jX&3@4=007lKWJuPat0WF1f17LZ{e%mMO9~5!r%?8%D4yVio=sg)K>M` zP{fj+8NvRYzZ$%nb>hTV?GePo?--GvIreNCsHP1rgC^2+D>r*>(X8rm!*5nUiOpeO z*^=MrHf5K)f&!9$pkP*;XmPeKF0~hB91y4!{&lHor)kp_&C+e@`^g63_%;FjD4OgE zBb<{=mIO&}Vv$)uBg+Cs!Tflt<`ln+7B45uzzzzKd-TnEXP=?z7C}wx70wAz#AN%9 zE0~j7(rvPB%N+D5a1MIpH#Hj}yR(ynPu2vUUBf)(PXh#s+>cAvmkce4LUFl>0RFsH zxOJ&+|VNY3m7?gt;8a5lQd^sR=xbS=?X99w8SrQn>LPjz=`ikJSJJ-HGb1KNK$sw?K_5T3tR&JZ# z<4q%@kegW^OL;^-X8`VFfO?ftT;PJ$9n7rqHysp=pH59a!gXPVx7sm|4%Ph0n%;Zv)KQOyF(*ripLY?|N6Q-$mR9-k-~sy}9iWX-5Z!tSSW9kuc$@i=&?_`!i3=aDjmM0ylx^Jo_J3R}x zR}x#eS&3-)I3Q#2sDE(IWuH0z9mk*RSgSKg(@8Y3{^yle-IMx`D&@SkQiCP+#A@U2 zs^k-&O#c9lPq1A_Dz9PjUc+l7jSBgUeqWsDgV&03-9{c=t@44A005t$;;2h;Zud$A zTRIKF*C*;mE2aAxDkp|@jfmh7Gx>_O1<-MkfbrckEzC$#B2G6q%zbmVsJxJtEpZWI zI_Ero9c!wzwY-qY6Dqd;S)76SRU5w!Pjb0V2;(8M`V&pk>PvDt8;PAsYfRgq>%hi7 zn9uX2w~|#0n}DW6l_&>3x$j$$cx_jCyk%pI5xZ|+=~hREEQ%+WI>N)ZnUR6mbgEHL zNTMR&QIOqg2^!nMJ3L)E3J2x~6`<2zMIQhZLF>MeCe@9GFr>F5o`S2-V{c&s#;mAw zo%@S*_9mHbw?gS|ZRgs{&RGEmKaD2|CR=D?t>iMZx~YhON zp58I%{{X5S;{Y7~BZ{+Y;xni25de;UUCeiWL;BWPznPBter$C^)Ahweb9A>%Ba$Gc z&)!0yW8eP(*Z5T=t+{QpPJa+I`=$A0cJAwzW9!o&tzo~3uPukmCK5x;XgiNV+OFMO zO#o$3tO&>UI%FLQS@{_Mf93@%3A-(G7-*v;JPVevK2KF=gF@5o>rkm0>}JwFP! zajMCF@wTfeTx9Jm6#oF9!nmkeBV0z!6rQ1g{{RotsEeZ0v{JCZ{wC)?jVV6DJIk42 zWh-t=r&am7A90G}W}V}9S=cBCpg2)iR#6;h?2>04Km%)iDo({p)U0cgE8_b$xep?@E3*J(dvj2l=v#|6;TFyemZ5X}TxSE^@G7mv{+fWU^mQj| z?i>T{#z3xNV3O8+w9gpza9CsT6~AFJ-A6Cl7BW;3_i?y-fz$fcb6j`wGHxEuR3#-} z_Cd(}urO)}g!_V8vIaclcE_kSt$4b8fe=Kn%bay5kLgnlGSwDFl2ZZNJMcmJRr@sd zB}~nN-hVkw)2WJ5dG2x4@qjAqv0KFL9C2h5@`dD)pQ$F8x-`+R`ZQz80G4par?@7w z%u-rEnIahrXK4sV-+jQ*$=F`e65RtRQ!GXmPMm>;{6#x32t?mAw%mNg4!+qrsH3=h z*4jcU=LdQ3Ni~f3GxdMUR;6bL)!iFK4t{Q)Oi)58gav=hHYf%{|P^5KJ@f{w$56laemR6~q!-uGs-r z?zq4MwM!FD*65P-Q^r9&dwNx<+Dn^+fzX)xoOM5m=~tFSweCpI3HP!+F;Q!jlOf02 zB|rg;M7*2M`IXLr-KezcrHGP6y4940%3^MSxt$iT;bnf++8 ziQ)lb=2FFg89%2==tJAdF57uLlpy2H9lbaJXX#J3iqvE~oRUuAfr)AXiw^5ic0&QO&ddHU8e*rZTL zG=v!#eZkXjeEXU#t{N+|9kOg6-7W%*`k(8H6js92>&BgIRzWc$F_FL@Gk>4|09{7f zJ93bsNTqlzGH^S4VzS#;zmY^6#6DQ#YK)M2uEppuNlIkZ`T;pn- z1L!fvDd$&vnPZ9k#)ti{lnnl#rB@?EQaX2vCxOVD$oWS7hn8=AWMk5~H?x*j0o?8% zb%)GX(||hGrNzuJ#G>5DcOFnaK{(?eV~Tye!ZiZwGaOuGsKL!jPpH~QI&Fk)jFUlYKH=(8e1!~%@CC;tGg zn!K%LaM8817tbw%4n6rC^V+qIMQ?bXRnX3~(=AkavCA6Cj1n?4k4n6jvb5qTB`PGy zI3)gnV!IgQf@@V-?N%uQ@Wifj>$f${>KCbM<~Yn!W0vyYI6mM~mL@6MBlb&nX3Z9> zrb)Ke>6$*R^5CDKZb+=J?QL8!^A7meBzb`JKDg*8xzv{UnLt!^7{hW$KKTZ^BJx>U zB3WCd%CQX7GL~H9(*yyZYNuLF6YTZ9&SGt2O|^CVUAnl>-;DBq16bOYtES&R=;I0x zKu$6}{p!Z6te8prRBN$vOC)KG`V0*IwTWq~+M@ZaH=|?~*mysW70D!ReF(2VvhCvy zExM?aIp7oc9x+wzzq0NSI&a!I`^WO9yjo79Fpwig?nneF=sibDoBJ-sn7knwmx8$? zKAk#H$wp<)nPYJ&${0cp7&Zy|)@s{aL`-(`$r6Ld0fsBAy3$wWPcCFv1LbxHk77B+ zVBG0K*~x}xRnGy5KdnvJa;?mpi_3_SV~XH02M6VJ$3FaXQ&?YW-!yQ;7sz*IpOg9X z&1*$(a-b^g1YrExBlWA0Pb`^9LdeHB-@p|~3+7XkUe&FG8EpzWfPZ$_9G}*zPvUFY zTg;jnSy%(}DQse`$*IR^+b-e~V~><)AFWIMv1@WdM*_$X@bn}4Q){^VjJb8|dxRcz zjTU$yslfdWNetc}nC2VQjE=j8GyZ;+w6U4v{l&k?dkhYpdeR*-#fyu*ILCpK%%l2I z3U2xeQW*LsY`LjuUEPs$hp$GAKSYG`p- zP8;&9YZzj;5zT3+$>sIOmkXIpb*jfu@Tu8o`+4wpRq;je)bD zLch|Jvs)GOEG~^>9mBHCI-tvLMBH=kGgN2P?QI$34?oNNQlJMuxIELFMe(fD2a3u# zm3a%2nDx$B8liQi_`=;pw_0n;q~mfqW%_rhlr7MIG4}o;x87%awpAPrs2H&HG?!ZK zrlX&*PaU&hZerMx&-=Iw{b^&ivye1emWgx#9QkBqAFoPwn+Jt$uT90ym466P_ezKS zas^6F2_j2-4ONP~SLb#zMiqe{TC?`8drKeb1#VTy;A9*QpyQ5}w3pr-c?(-R!x$eT z%?3WdHy@Q*mr?Mjg&o!?$iO&O13sj3F;t`GH*#AG>w>;^{{SaAXoh`%ha~2oe!89W zg<~Q}M+|vZ9rEA9Sg~tf8huFOM3NO5K@(tPcKLxHrYllE7HM!wh?h&W6ZgX4XV_!; zVy~M^Nt0*TjstBJiu$dY01qv4LY6&_NWsUqTCX%QI5!Cdkojk8y7U9^CyKIltrJ>h z6JG`pHWvy&9)NZqTHDiX^r_ZMD6iIeorx02;YxcE#%O}qQ8aL|+XtHwhFEe=7bIix z{Y6O8$8RFr!W<9_;DfgZ(YWjBT_xqUhuStHMzh26$itL!JE&UaCY9Rgq$T6paCbS| zpY}&;nKgX|h^4%dQN_Gy`Rns!`;SWH?qj)`WRx+Cjt^il>)N;GYuNWh0d2=SlyHAT znw|+DpXGaIl0(A=P&oF^+covVy7O3S3l0WON~0$Qm|`eL2tO@3yhrq0G~?fA+fd~o1!BNovaj={3->q zRNVeq^4mK}0B-jutu*bWiD{lsbKw0_%Ir3shEy3~z%U)Uo)6(c@Z6z9xBmb$KTIx0 zPy44h9`)=EX7fPOc^@)?!ycdE_*MkgPL1a@gh{yks!0G+_DF4>e%f{2rs(!NqVS`h zzP)o-Y@xZHGTD_vV{)<2J{f1Imiu;Xy<0@f^= ze6v6Nd*DVh%AUTaslvh@(rJ?0$!5+<;BHXF;k`yb!lT(G#kyL;MiEtr#yR!&6&%_` zcJ`||w?&g1n`s%_o-xQjoeJX^V$qp^0|aCa-$6=GsYE~7H!Tyh6CwlrBaj&O`WoJ} z(%#zMDX!OKOj{%o&OaK%d;42h#7@l8so<=D4!Oo^NVQbEiP2(`MLz!kb06om5vsbP zQPbMqS%#M76d0N^Hf<%9x?~ebH70`5tfQG?Gaw~^$+TDE#J!#iko7+omBjh#M zDgtqnM5q1tCZ}+VcGR0OSD-$vl*2}K2e4X+dVRAZ)|Nq^DV$HHwqMTe+=}fQW@ZX zmNm-`a1L`_95$YGDxYT#xWi@s@8OJ7TId|MKmXJC;qIlLAG0x%;RgZ8Bj_?QRPygT zHPQ(sO}&2} zYWu_Iw(%kMP!2wv8f1{%+K`Ph0{n&fnEfgz9dsW}O&d*bQPZw`*9=j3D%r^TgU{(n zb>eYxDZGI^xs(vB20+iYaZtypov9V-Ld87^-H${60M`{_ORXm2HD9v%Z5}Yuo(I<) zR*{Rgj7mlXw|a?FAd~lx&)wP$K`fV-8&=^+VZxmM0G=zQyK4)vnGw-YU@{KBon@4^ zDiEEKkT7(69iHVN#>4JBulo z9R@;^`Sh&on~N*H8W9*?3hvM9KfrZCwhkIV3-2UFwB$W)?9uPl-HsR<+RJ*pDR=>r)$&Co)NLZZu^u=l=&76?= z#r9kSf-o=#rVsxBUZb7w5;iuh9eFrX7a9Fc619nwX_)WfjaDUa>F0lSvIzR%nxp-N zsHAPV8E`TO$^rN9T_v#c;0BT)y?b6StV>+s9;G1s`K~~YRC3D zjz8aDNdO}xXKMaK6-Lilk_h+5xF>y~az7JVkn0BTbaJFFxXkXu@* z2_@EJBZBes{Y^;~o|kaNZQE?8r^-MiA8;!oU4K*a2vZHLNyboi_T7_KEj1`n)?GsE zvfy-+oP7YK(`-uJPND4<+^l+z=1>Cz(Lf(gwH4awi3-HBBYA@%q8woMIX|6XYMQ5q zZqCW)dGo}3ivqa%8sy#`JV-=xvZ*`(1Ae2LbvrWBT^Z;NplETT%{ABr4i!T7`gQyb zRl3)#*6Dg43B5qbj> zO-^fwjjXpnX;L^<+!O)ZwKf=Ur$qZI7Akn%_i^cp)c(h}h7!7uE<2_Z`R1(KSXm)2 z6UiuE%_i^BYQ&#m&!ou=KWH~)pB$(vp?$f>^Qdht?fmsJ$Ym-={ImdP{sWR~<6q}C zu|VZI@|axv)w3~ZIUMD}xF4BnW8Z2w3S+o-QV&IqLj64`b3?fM z?Qci&*u!e8>%0^ClbYn_xr$~67YK8}jAUcKdedz($>!TN%8c?xLZ8soiKJNuGAT(E z9tk^-^QF$%T&Zth`j6jmTl=m+Kj-nQ(`ax(7|2CG?(PKrL8%t%Ei&K$SSuV7Fa|2q z_?p1N@eq>#0K8ED0EaYl38ZDmVG_RfF@+t#z#iVUs5Rw+6}OBj9EKp3Kjc5aDx$QF)UaaT;Yc3n9nlO2A2I0I zAB|f(+XEO_U55( zR_5J<>Cz_KS0;1y&*E}%TGQA`EJ9-YU!mOj&*9tiu0-k^S*(_^2KMDh6{duThfnh#lz{4FmCm)6lWXE@77H%$`i}8#$ zN9CH)Z9*49g5btK+8__kvzkwF#jBdO_trNT0xnCA2g*9Kk3|k5QGBL$+ zRy$d?!-)@F#Qy*zT>{=%vY6z!FvvK;Y=ijH_G_U@niFW6Wy1*oV!gv0kI$|tCGhQn z#!Oc09y(y>Kh~*5bg}%g+z0l_Z_<`qyAVIp*ePCzc0aH5tz3z+>M?W$xQUfn5m&Bv zG0)*yui-Sflp;*;Cu|Y`{7!35Jy~r@lEfm0>xMWrVCuXzkCr^0t+0M{kE3ZZ z;OT)SBc|e~@h3U`DI}7*9nNyhYIkbVph+d0mguApPL*C+{6P)eYaC4*1B{Mw{{R9f zoYzl0vf3#{C=NNm&p(A>8_T(OMtVyLGOY&sioEKFQXoGWfb+32mB5ylWh?+ zf@Kk7smT69nxx+4IWC1MZ?h>~vUz{>(aHY+zIs$IICcg}3MzEtKaDw-;Z6{XgvN3c zIR5~FaA}J0N~iY=<7q55 z`;(5JjZF5Y&LML16fg3XK)XhLdz#RmNF+u!Z1BbE7XbZn$LebpqhR?iWL~6a8T@fm z?+(bY^SnqRORNw$3ygksQQA`(!(iYL!0>bLPM+OdEQKK_{o|jrF=ck<2VM`jnVhU1J3BcX9dEd98H>k%I!mx&Hv`ik8|UBnB0eB=zf$z*Y3PLg5;8 zP&h2$llfJvJpjr>F2z)G2;_p_(vno0F2XS|1B~Ep{3}VP&SHS3(0YaI@9R{glHfLB z3m_f&;)x-YmN_L=fI`_k=Qzb!L#f)&<;No`uW)h))}fZ}=&5$fWaA6z^f@)7XD!QT zX+1N_xwtY2q?2GLf^(DjR@_keKp7u#BRp^vdet!+%BVcG&r(-|^ym6f zI@^LlQe1Z=AHto)Zi|~a;wgD9a7G!qeD(v{vsx6D+`D|La1#TQmn6g6~ilVp-0Mn`eLm5qEWy47KI6G!FjayJAenEn|!s6O2RkVdfn?Y`+C5&02P>N0s(LaZ{$ z9ES>K1ZQyr@U4ihVG$|0v=Zdxh9r!A0RUBJw$tvnJPr(sI&L5jrUw;X2E8Dxh4v4+ z6zB2eRJw&KerD0Vu$e$M2?FpjwDI)LI{VZHO+R=MMp!W5aHsXEv0G~Q61u|-w@wFB z7{z9Nr%<%GFiRE~f3uE#G0kTuC!#b~Ix=je7@9Cs01q%^FY*-=+Ss+fpBi~x0);py z@a=! ze4B*?5JvSJ^XPqPmodjQO%1&6j-7$P{4<*6ZhSjBW?1eTW+(WD@8_Cvr4dR@@2)JN z^G(j^n723tXYs{RGhIas3n`7c2Q7v;KG+8p$1ED8Yl9(ZhZw;AfKw$GvJf4jL|;#o zf$n-yDGKLWy1cIz%fPan;1e3Lthc(3X^NOh2s8Hr)dW6VVXc{1gVmWxKcy|i?X?Mw zJly1MJ$|(>QQS-WO+QdYaU;eXux#xk+OqC+XzdrxwYicx6nwy(=iiKfI&4N}5q^0fsv*#og~N6~3o{YmSo&iUG~jflKyLFu&r08Ag}O!DWFHMU_g7e98#LZrj7BzsoJackVZB1M%-#S2}K%ErhFjjKF6A_BRqw^52wUzz%_j z1>)2*5q@j%pcgZD3-eOO%jv zxd?S1i4@Row(mDmO~wg4e>!SGV%(w=zBG+b&5VWG2=xPsr7n(+q2fSSKSQ6yiqe8v zr0H-tBLMBs^QwA{p0a22EaHfU93y1&>%pm&n9&+(c2T)&gv#dwIVAqHPi10<7WWqr zF#hDMzkta#mkMieOhopPIBp42#E+#}3wt6ko(3#W8(DZCr8w#$`K%Vh;Y2H>`3$? zo2by5GDfMc%@HIR_a08u&*RdVPP!w?h|FW3xq3&SCSHPj#*978O2;FV+;BdaJk*!BHrA;m3u^K+fO!KA>*#1v9j5~{qTd5XT(ths)YN*}# z`qq?p8Vstx+8R?Mjy`4G`Si_bMW|cN6HPVbN~}I(v~qp9u3GF%GqUM7YcM@T%DZ#z zk;OT85!lTifErjuzMm|c#wAak5NEoPl0Pc79)s|>Bf;j$ZFEQ~qj_WP(+0RWF1%41 ze&$P8opJ(%AaU*uXhEuY!p;2k(rj8r`_5Z)kD(`uBQERk2Y%+3uc3G*EzwCVkw|)M zZKZwNBQ?oOYvBuUL73ftb>u8L`ti+n5*yu34bG#bE8HIYx99RaRZ$qYQw`;$agLjI z^!&vtjbB6&xrwJkq!J{zyj}kQ_0Z&Ju;#b?)IvPT@CO5HZYS&3tIK1hLmIh-1FuXF z82*(=Lj+H36uDEopP6~9cCs{R%M6)cW5r-yKS33)s|b83Dgh<;C+dzZT13ty+P3kEbZI^-3?`(LUvIl%vC2*z+K-j*WR@tmTxgqH;udCFC+0du9jU2 zBOCehsn|Fe$RFcerQ$~mf;9sgcL-H;?SoLzlQiShB2CRaLgDktU`Zb1AN_iB>Pvko zO+G^zP&%RK@v0EYu7zNY+z;bpl1JAyMmy_kOMpz$!gI*n4u738)y?Vb=avsHXB)x$ z{Q&x@>rS__c)sgK=NvZOr||9iR!P)edHl$48z0?hz{k|o(#d%oiJO#G?ZMAJm=rkQ zVM(2b+bv?V5xjCN?l9P7RX*xKE&10b)4E)FaS0(u9I(zo_dP#Kz4j@jb$$EW9F$YI zeg?DVmgi63=0hX5Mchy7FlcepP*Okt)cD@w+s>3rZyAl0{A^6d8iY{ma$GGl^rqIbgx25bQQdftvxNQBw{1qBLkQF zt)IuQVv# z9UOL=>=PN%DF8hjDGEOxl<90QWS`8to6MMwhiLrx70F%eq#~H-+Iy%hKbbWIemB%% zkVMEPUYU`DU{Y0AP_ew$(pz2pijp|$4HjziU+>dJu3vf~(pf)Z2m~cYz3&;c=Exw3GRBQ?87is(| zt**DAEy~TO?}9_sw{UBqyYUCxBM}7?06y?P&md7arnO+C%sj%XWRBt|1MaMaPCo-s zw3h{3N*U3)K1f}^mN=_|c-J0PxFNdW4CnDUHKtlY27buWA5t&};4(idQE6;bM;mt> zCvTFTSYv`%g#1YV0PEETvx_@M$pPwcNFMplD{|$VIN!h3O735w1b!kffS_Wc)(MS z!l_3TvJAr}Hufqr`DTuEO_^0;yCZx;bpy8VlvHNtT1hh$MHui4p#Flo2%^+L+{+>M zA+Ue%lT{@%d7Gtykxx;EAY7mN{JM{b?I-gBL%n;EgZzb1lT+93nA6{!lK@zY6 zT<5t%pU(oW$EY-Iw$jweo(Mbx_-3YyP@V?f*3ibs_+$X%@M>vTXpSjfSj;hz^ua&Y zwPA|#7zXKMT=qbvkJlX5dDZXae55w$LC#btAC@SZ=UlogF@1S9w`Sc)h`cr9> zb3W%ygaTO_W7l+eKh)MH`0eE{79${k7t5c+n)GVw6|B-i zdSM2CGfR<;GmDc@urO_Scd_Rx*gsAbRY{}NZ&7Y7>>FAhdqpWAD(kt5!~RZ#ubSBtu7nu zjOM0>EnM3b3cgu6B;)y->PuNA#wI8u>5PI$;xcLrmhkLSsz|bY-Gt;RKR_tud)P@B zuqL3A#~el&)c*h$0VDFRt~nYuB577&1{=$D1N5j{L$$ky&$LM+9oRU>>MNeP(=>R4 z3#-r{)VT~kfDUN0>^A()k)^Q_ncsKI{rAZHvsl+2BGZ_!n*yqi30BU1@yGM5l(+D* zubCyoNZy+W2lF+lWntl2K#;`_eOP?okT|BI*)~P7uj#SFkqD4yBP{<=9rJ{fl*KmV(@;I#sJX@t$W&>oG1aX5AAE2k~-*MdJUh+8r z&B`u&EDlfNSPF^a-lQ2WWXT_K0xmxjUGi(b8M=-9>tSpiXrcnP_i9M&esAedk>7DPW>2TzLP`59Uw~uJw$-f*5p=NaXEx)w0O$JDamv>c z1)ll6f+zUmwtC?CFm=+zC2Vd7UPs|!msgnLBx?QaZMRe(f#w#x8 z#M<2NhC<%BAw_LZq!|Gyh#S-{59L%+#w&Ip$i=&=AZ-15(u-_1(2hIJR^dmP8$vrV zaC7+ze(g%-3O&J>9hLHbD!R`gP^QhoXQ5+{t}9y4?a`6;H2XTY@qORdIihY|P}F?N zT6B>|8HQU2kl^ID6n?m@`{-b~TqV4*0(n(m>H)6SH@K4@Y?Qtau0NM1t_^vtiCbid z9+@lG^A(pgpFq&^!C`KsE40ID&-vo5D6%r|kom-QQZRo^S8+C=*Ce~FF|!_iQT)YH zpH711OGMCz^~nDK>l&omT7yWA88j=aWsc!YIOtgk{Xsv{AW5lDQ+VB;)ep ztfjGVhBwZ7@H6=1n#8-*?#i!~A?LDGHnU31MZyR7+njw)1qnqx%W{)P zLv4L4Od?3Ze!0eaezm`EcC#=@V-m57K)Lbz|3w(N32+zvjyE7J7;026En$+L_`PuwSw_>yXdtFJA=A&{@WK_l@3gtWUV z*Esm}n})Vum7+nwZN!66PomC?xLiivJD=yxX-#sj+hUZmp1I9Lu-nStFx~m{M=-f; zQMa&{qefU`vE%cm&8A)qHsHH`Uq9BmA!LLMD<{zZ0QKtP*|~_QK*~F?{{Z#TdxMKO zt9x6QljS4K{`T+cYDx5~*hrgdNJ-D$2l`g6<+SleTygZxXWCzcV-b_fJw9Qd=Tj)j z6QN2gd7Z+f4Zpt8n&_dlpUK}OcmQ*j+E446fA)jgx0z`&Zc)e_6Z(HzST(qiGfn_= z*;gm|)hMyu6j}}P9jIm=gyep8I$0@G=BC}8^PEy0RvDx?XN;fr3I0{DYjTRFJBErzb%;wS`dX(~6ovv#u~`N_W^f1ObDDLPi(HVi zI!3_tEr33NR-Ev~DHBf4asBlQO;IyM80-Ny9t(Wm%B5UxD7ij`G;+pP@uh6!GJqA{^mLS>T69_8-mv41d+4K4u8+%Sj%?T&Kd=g6#Ae3 zy-oI6ZQpa{f&TMQmA5ITb+GE!b^{VmwSS3Sa#(#wPtLP%wObuP6p~R9&T>fpoYXe< zGEAHD3wBW1C-lWA@crDUGR6}G4$e&Y|*>)@hxa+__&ovDvu~ukP;wRb+akg9g(O?h6R%Onyddx#j zunyaCkEU}`{{U<|?(?iSXTDB9D#@Pr&zOi}Xo2hof1PC{GVz{y_Za7Ul07)8Mmx1! zvVrZvHJLS;Ig(Pt(~MPkEl~(BES|h)ik@ODZhes@00@}3qV}xWVZOG@E8v5i6(Emn zinSi4r^1aGS>%6VkJp;cl1q7cF+6|o65pmMWh90PZWT+2(;dhsIjI)vR0Do-)bqxD zvrzq_9s5LW_#fyhe=-?ym`h{ThJP-#O7_r9Q>a9*v_=y>Nx{uBO>QXDV#K75!D{)A z+DL!{X(OC3KbWS$9fWPUop%nI!2WcaVlx+1M^Y9s8TMn(;Z?uVoRb`Y4!9=tV%$7(MFaL10QAtkJ7E| z(~*dH)*!vNH}c}F4M#|W<#pUWhg#Ce5-Gr}6`9v9+!gEiineA9p&eu1z1JZAwOUUR zX|byqVd?mPTB5!ySCDNR3FBzwpU#GmSk{6$H+f?y-n+m0_#&Q{5=PAmOY?UHbDC^d zm$OJ@R3amfl}H5sd8;zqTFBxNDS?k;$^3Y#Pe4eOWQszoEvm`u$o(radsvzBwv89M zpZ@?=U7FGrU8{bQNP1#C{(RP0I?_l)cTl()H>Z7RL$LCqg<0fgbKA$K#>Zd=_ zo1KO1&do38@=8S_@z<*UW35+qh0x1zKqtDB`Ey+4{x?)Arp86v(1HB(#a*`X<)B^D zTQ)rkkLgkE7gj%H%|EoXqsxs;4w>Yi(AB7P>t&3!#j}|k_<|CD9M)QVLDJNck!@bt zQIY!Qr(cMc4$CaBAuIPvp~(LL$G@dlJbQ;DMx0(9u(<$F7Tomx)<2yiXcji2LFFdH z{6lZ*4NiPpZLP)4(UphgR})py?PJ^LZv0R6=B>qFL3)&<(JrJxfTApa1E}NQ z6o<~WPqRh{&vf~}T$*%xoKF7$y7`cF9lu(ZZCczMc?FMr5C`(8XiCH+PO2DANgV?) z!2VSueX2woSo74OAImjB>K2UHdvmwAE(hyMUfIs*C6dvHK%;t}$0CJcTxHFz@f)|Z zC>;ElKdoj6?g#p|BR%%y{*`IvbtPxi0UnIUC-NLrF9a7Ge7Sta_H%*xif&7Bqdx9? zsMlj5B=m3&KP*-#wAE!(GVGC$PnVz971~9oe*u%rKB33>REI`}BatjyyPe>->qj$t z0l=hM;=bHOgm-Q~I@XHP?f(7=?#Z3MlVZ0nts@E;OdW@FjDK3sVQ_deZXSzC#2KTf z$7>nd>*ua<_i=;k!LG8-+ewo?a|IoN&VLbHWwcIC=(4{kG?7StC`qMn0n- z(xz*|sh!MM)o?$;vSoND$eE=p*mL?E)uj|1&7CFnp03cWma|5fJe33=)K@KeZ>&y2 zn}Z=7YF1ZXPI1o~r6k=BBzWGe?mzaIzv1(6=AVb5|N{PH5w$ zwwR6Z`HLGKR1uNyjDh-6$D_tnLum`oaOaKdw0^l2>-G@4g5P6lCOj9293RYLqBiyr z7dO+qE;z$Rr}>dr^=qxg?GHLl7V^n~lFaVv-@O}0;3|8Gb(ag|!i*ys3$(6Bv8}yV zSJCv*x+A>*0KUJ;cUKE9itVmsB#pazVW>a$Ko)ycBY@REN+j8{Z1 zqGStmBi|0;@wfR`7j>-(BLNZ5xKaKU4W;zw=7-H={^viXO1D%8|JC@$ z*^BX6Kk$QwZe@SdAI`cpYn3F)Z0oXY;Fme3|{)Tp;#r59Dh~-uF@AViFH?f`2nl**?Qf99R4yh|=$x zDa!WF*Znh1lf!xqsm)ZRW|{YT7XW@r1!TvgY6~G`Sc&y0Wra5AQ_PNe-PM-3_|3`t2)9$uZrFaj!I`LNK_;_kyqKRqnNh zZM&mJ$8Y}tP^lzaMPkvS!rq~BYBamIkBK(P^^2Mu{KD*n>oe!~FkpKef%poC?fQ-3 z@{SwW9)D3?1Rf&OZR08BDwF7k`eLfwYrYwrmz@D|+$#h6gHg@q7k!MmA-VqmS1q%$ z`>L@01xs(E-pnxqc|iSF^c0eKhr{O!621qhTzr|ofCYcic_CgQ)%s-Gdbv#L@I)fa_#CB;p{{Y8; zquW?TNjx?jV%^G*U90^mpV@aXuE;kt4&*Ipom%$cPuaY(J7z^c$coI9Ue>K!%T+}l z#2@Nu`%8?tmfj&CZk^&@#|QdW?Yw&7j0i8|k%wkS-CT0(7t+4zSSj_$U*u}y>(WNs zUUI|G%t-tOXjKJsrIO!J4jO4upVVbY{b|EYns+{B&O?46ez~q?d`kdu46LMf4V?b9 zeKmU)K65;Uy%m7|hK_sm3!C<~_ZBiRwwf7&^}?_}pGr&3S-BTc#7}Qu(2D2exYDmf zH1SNi^>shesj_H@psE}W?lONcC~5R0zc!~hOhFg!{{Yx*ewn1U)-D8}y|s{IzU5{7 zh^*LeY+-U?^1$`#e=Jn8Y9e9s+&|G%Abzy9THLFaH4SzdKXWy_e2xnRQ~C<$f3sQIRgb;ta2p^tkSA9mBMgwcopP42Bhd{&p z1!B#2cX=so#OJOTBl%Zw+9ilP?cgjAU!N2vm8F7A%ESGf?*3+*bJ%?GI7PRC{!5FU zr_*QnRn^mUq+c$^m~>wc!}BarvHt*QNWa#x8plm}$hUPXj(_daT%RsmVJ3Qfqxs-fgwt-oEFhL7Zr);r{4<)|Iv(S=84!PU6|+*u zqrih6WWzm}bNZT~GQYDf5koqK9_|nFKhmzp4X{Fym`i$RE&PY`tsm^0RU5pglzl+{ zwG3K(ibz=61oaQiUnTkrLL|03bN4+mc>IZ|<(B?61W6cC?Z@d?1&l}iZR2CnrT&zC zk4RJeQxWLL{3$wYSBa9>`hx&gL}TfK5AroyO-omi!lIyI(EkAX#dHodt6)lQjQVna znXK7$O&m5RnpV$cjaYv=j!9o~v?GnYLntdH#CuO~;vbI{URyiJi88x5^j*0AVx@-b zNRjrz9mxmM91qcjYl}S|RQce!1ot2T`4%-?oyBvN^RDAKNU(brAb(n%%i;%*i6PnO zPxx0)7LlN+^B(xypGOKm#-O>6O@}7R_6Zx;DnG)LitY)VqRXra0|`}|&^GVWHF(W!8kKZkI_Qna^gSN`0Og8V zp=0O{PyRiMbsL$X?sRXyy8||Drq%uwIE3*kyr5l019d> z6;z7uE+&-!0HQ2-?oRXi)p=|#_il-m2d3SomFBlWkvyz^nf_HxuMnIoG5X|HU9G{* zGTdo<5&h$X?0@}rBh7g0{;7TV{{S4(4ctmUc=#Xh6H0IFl>DKj{6;Fd)7=yE8yuHe z!F_|#fBkgEmT-2Pk_U0cIqt;VEFgR5nu*d}e6gR+YSdycc!Zf4os;Bx9zT($ubcct zeh2>muSt&1p?%5!0177 z^r(!%bF_>fUVp761X`%gxM#k(<`c;2xs7baCx{{(2%LIgll<$Dk5Rcn`>b*Ain0B# zs<`<|pQ#l2S7EA*=;YM(k&!G&2Ywg&=Bd5Wmm)@3{{Y=V{uPMwYWE}eii{8YL;Pwb zv(#AQ$j{IN{b?wNv~1Fwb^(e&bN%EMK*Ms6zsz7i*ckpsq)j(a&o=M*3Yfup5zD60 z?mxn*v`(dRe8&Cc&!2Yx0PEGkB&Bvmc=+@Lk@?iADh{fo`>js0O6TN^5$LD~>ru-W z(52?gr?$MA!YGlw%VM@5@WtGb<)=vd;I`va7_Kq$TQEMwYP6DG!ZRwoYCTBD=qaR@ z!DZaGx*XP|Fq{xN^r;>@wE3gKAMX$GtWUSb4n)jPpy~Pwlxj0dHlqXe$gB5W;u&;TGohF`qD~^&5}))Pr8sQ0z;*uW-Pcl^Blf z^ciM@IC(b{*Ko=G4O82s63Xgbo9kQ@_wvejwA)YnIjq*!rG>C&k-hfk`qI9-51s6H z4+fnHZPw+`^anKPZtX&m6}AU%zt1(pKB&_#6JYzU5A&#&N6zzdbL~mrdjZzZGf2fe zrNQ-LD?Updr_5_~WB&est!0fu{YJ>-az3V>w^x8 z{26^YKhmI|SGXyMl016ggZ(Ni%}-B|mJ%~#*a7+q$CmLQh*abK&D5Wm@8(Y~tODVp z6MK?J^`b3DB!8oVqtNH|&121Y`NJq*a~3MMo(iAzl^N}{ukxsIUBO7~UsIH)`aO^& zdK3EMvzp@iZ{D;YFSCP>z}5s&+%fqs(Ny&rBm8Q})6RDpkJo!2=}AEi%+_q8hbYJu zU3nl>Zx$?(e_(>%Q;2_dVx1=iKw0N5~=xOfL2EIQ#vZv{Y<%mVTN~jgCp_W`A2gydL;6m{ZE6poaF3=zsrs_%|s@ywcVA9kQ921Z$}>f4hg?BLtat z(>0u4q~=(5)Ksm=Tw09QDw%jSr1~-IQ2RR+veV|YGWwhFzBBHlmpBQUOIb9%J+?j7 zcjYk}iGPho5yh(p1@wbHPt9J*3uQPv{XOV;m9yp?F_hRKds_=tFMils7VpTfm;(z5 zvNoGIv9w2ss7ck-M1R4D9^{#q)SMQB8=a|>Is@MPYn2i|XE|%9!tmz4hPOZLGemlu zx2`;~uIhcm(DrUk8+A)AOVXY$MrM{!A?Tw0*>a%yqdI3X-U-9vC7$P#ZL;oxx~*@2 z{c^iWW7=j1amT0hdia$MjKF4*f!)n^sYY|`to-wWq0#KB&c~_zKvK6wI@`^<=g&!( z5coz9mVUvo;ss_$c$b%Ob7rZn(IZ2+cG1%2>Be&>)P(3FmlyT>8j=Gsflwc0S866z zKs#Zs1Q3_FCO%)b4!%LDqZ)_pgEp&Ee^fECA#*6&daXD26_`<=d$ccAt7Uy=lMJMb z1Q=N~KfdMw5s?c5_VpM&xm)h;3#UX<;*xI_dXB$XtYXrM7ef4RlV>bPm{^M%tsxVQCb{F4iS-2L{jilr#C4H1m{te3vC)PP*dzI(k@t$U%+ zz!ufXbGmen5-=nS{H!y;1rfFy0(7F*xV~+}pM}P9p3oJnO9+ikgVABAD#8!vA#NpUih{xV%39?bQVPv!aUP;^9mFXZY*e-&27`v?|=9RbJbyCZmovoM$_Ab8%p! zBsRB1>-==wS^z1>|67sIUNwz%o!`%)4|<+ax_nI*E645(Xl(P;d35=ek73-`*Px$3 zp$o1}O1jZ})VcTZL=D%^CzSUH-;>Ly>6ak1vxzmA)bF?(SjH{**h?3%4oZpr_80z< z_K)09B)-NBwA0kIk8cI*roB$IV|*XK_-MPn-tvyC%DSOkJ2HYCl~bRG31Efy8Q9kG zAqEK{qmXGURhWSrK<|I>=0-w$*Qvxy3$_g#aut=Y#3ivQD^E?dRZxPYB-nR5)-KyL zI=VayGzh%EtBW>>q*f4cA&ZfRH9C*sw$gzTbP6|)_oes--5jhyhb;Q(wTS@q9{7b_ zwp=#J?fuo#zqHapu8SQJ{w?bWxe;ntp`5$=QHyUII{^EVqkS?lRt7tW2Ud6=qGcmi z97)RtuOZ(EdtW4CvbN(5XTw5=(_APTV@!k1c26r z@8-yb_SEdBx-GDt&mkRGxjjnYJ1(AEXy+j)#PDY_m*t-DkXIDoRR5 z8eEYjNNVU;IWyv^sN#Yx@(w&*rQf(qVqI6w-1^-XM z=fm;ft#^?-h);Z22HSE6p#2Z7hU6y-meSbrv%Bu zqf#4=G2dbt#*d3N{?I=@lmv?e0n#DzM%l|G(%6gp{aKg%JO^ms!GnFU5P6Yle!-e3 z;q(FJL9ZReBT1MfVxbo}*Xo(r@BRL=7^{C$;pV4?D==Kf>+OHLi)V8ZuY9+^rG!@i z?_)6zpPWPDC>H8x9;~3 zTG~NjMU&Ft&;hP*I>TX(8w{N_;--;TjNs_>V@6P|iA1;H1iD#h>s8sPnF2g==)vlF zg?FW-!NU!sdn4X~3C2V;$wf|<2{NocW;EHwobMEzQy}-1mNX~Cc4YmJ6>G_|u_qey z7Ph#|t>xA|zAujHi}2?7JU%&?orF`~F${}?50!}_`j@j7n~s2`BHF3_P$-{65#?LM546YY83a{r(@Yrs6D@!1Xn=edI* zJ>{Gc>vILSUHSXSOpDI8j{Of(3?n%t6lb3wJlK5x?*%$JSK2CJf_a>&3Ug6hR*TJI zT?77btg~h>efPyq=A7v8NCo%6v9eWH<*kYzntS6$;BTyO2;(NLavYh?qyQ7gUg%)w zVDPgHFniZz`u42-h2{8lX^@x8=b~NFUMaAk!mvWJ(SeH-|Hy0bRLxxg=Y|nC{slP$ zT*-$t{QjIXX;NxZq#Oy4_TE8wp|Ad}k1#v|XPn5+-!3%xugvBCSJz~1uF#6foH_vh zUgBwD*6A1mm|C4Wp`4U$c6 zt@*7iXS~LXXM2IUl@kHBAvt6YpU;@Dd%M#Q-6uW^Xwk%Ldy*gcJrsiwW7Nv1=$pxL zR9OgJKdO&kR3gA7EZ=6^dF8F?OwyUO=CsULjF}z8?`Bl53cRD}`Hi<%eiVS8dgv9& zMYm4;GT;KqB{n9j>#%_x1O7Xl{;=r2o&!FU^XmAm{9vvRVTqsT@7}E#QU?*NW`>2v zo3Uw>n6yZ(!&iZEtER9R_Y^;O)Nuy>MhuBrdZVw>lU>^+wR!}wbn^aFr~6Hsb4BO& z=G_NJAh$&Gnl2$hC#m-sojh6A@95PZ{FzT{w%{X>Sg;65g^rnVghX6*;cWlHED9oK zRa%_Ccg~E7RkRALsRu`Vg|9>g&IBNrb^#1aC+DT(El2R>MHyYWngU+r#s8h>bvBT^ zC%+$B9u;DW3T+;pHF`PW-e3WJ+x0LN+4 zBO<|WNfyO zNK&gQo7rGV&y2Nf14UL`v^3(K#kX0F;Oj#z_=So6;NUqZ)rftD*|3+%s9Z9A+j2l3 zm|Ha6(AYt2Z@Bz`hqOtyx@$2*p4&nU`9NqLH*a5a3v>N$_l$S57Qj9mP)=3&)eDXp zO4V?%TIkKs)e@PljT+`=#RENvagziy^MWK zWnMs9GUNgOytg56{^)R9)*VhQ9?vKcxxrC}k9YZy(AEwc*dUG zL4<<|`>hv5onGcoe88=YD33Rn95;x(>jgV?|DH{eqOh@vKe{n-^kQS1v#>{lYi7HA zb;|gTdge$7Z+U!X2tY^2Xc&~dt{I!e^=+kEk{q%lx9Z8!qzJ!``@orvT)6vlCm+^7rCLFZsZ^XMj)4;iFeJ_ zMh1)9WgxUeH>H1C8hLF5`dQyIhJ-EJK3ikag5$n{oWN=YWyCt5<{Q?4$uk$J(V;IR zq~XV7UtX?@hf0B34S%pIDO?pgx-zSt zWOoV`^m&^Ps@p-R-Psnr5nr({M(Uvc^4L6DmhsPXG zZ%ifem_j`tkPoMUNP>stD3*_*@RYiTGv9SPL<>X1vfG;bZhF5wGPl5|WjiDY#}8vN z_%q95>sl6mNIS)`Ro`ma4;J0oW6x2n0Z)cQ*s2hBU0#6bK7(YA!>dc$1eq#(=AOfB zDEGRverI&YZ$>$?=Qw`lR`L`aa~Eu3%9)smHBMThmDssyKhcRk@&GVpdaI7+5x~&| z69QDcE+mXa^*bOSp&64?0@>R}O1)QM0E8d@Kt)h=kUW55QMZ2ZAK;Yi3y3kBm0!;d zR_9r284XM2JScGRNfD1#XAWExRo{Az`vPOJOdar`k;P+_DwLT$W#4_W3oFj52B;}C zMFY%de3*^Vv>o`6w31r5?mv)^WW#N<0@AbIaznaBUO*{AfCPO>gu`7PB>HP%Fej7B`Duj^qn9egj}()w(ew*VI=%|-R(~}Rd(&a z3X{UV`e4u%5s)bKhQqds`f?R`?9==&kgE{V;=bI3d{%U9@DZ?R`VXzzkrA(n^&00I z79Bq}yrRFLlc?abqy*ydTcvWDIBR~04-Uq2>vpR;7~nSs=09TT#WT^osdnHoF^+HV zYpFi`2E9PdJC6*35=O7fGT$ps#Y`=Hg8O~S-7=xgTr9gALRULA`@^`%q91!G6vF8i zh*LFH2rf*+Q`azrH2%_}GNuh>Ogj)?^iqiRvroJTaJpX_Ic=J+IA15!x}mLC%i3mJmGu$iJy5L z^c}&s+yvrazw)BGsjImE^-KzKRTS-`q)f>>0xo948OkU`Ng?Wks+anA5c63P2YviT z?i(C;TJQi%Pk}`2W@*sKSa8NOnCEeA-ZZZOEJJR=XR=?f_+=mx0(KD8Jes{^U{+Aj za9W|!^V;?#;4iu#y$!6xXfkF8r6PyH`E(e`_bYyCXPbQH^^Xk4!u!d+Q{VX@8Ozy2 z_ky9d~BR(En<04>U|tGM!}{5v=<%kh~q`G{N}1bcd^gZS#$49|dGTu0e!W3u+` z&oeWqe^-kkvLY;-2O|V>t)fcTISNg9_=>J_lEWuieBVp0yglyn*b{(CuswN`-8qam zrj~X|!yfwHNXy#|gOpJ{6^R95hxX2W-T!hV-O zj>$*>m-4{`_K4~hkIzMgDu;19~H8VD@g}0E6BCQJ5018V_f^vUYJfynck3iZr5U2n%v+u0nPf>F0yKI isdl>0uJ|Sx#&K$%LTnAvkRmwq61mlvKPySt8T>!MPJ>DS literal 0 HcmV?d00001 diff --git a/backend/upload/texture/pluto_rgb_8k.jpeg b/backend/upload/texture/pluto_rgb_8k.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0bcf618f97044fbae219e6dc056d0b4b40567901 GIT binary patch literal 145172 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 z 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 literal 0 HcmV?d00001 diff --git a/data/.DS_Store b/data/.DS_Store deleted file mode 100644 index 2629684776a6a40d53cca115ed3b7409b02b493d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK&2AGh5FV!~aa1AY0216R^%{vRrGUg`8^WR2ZdDFYg>^P+S9R8_Y|=eMk@ilX zpl`wx@CH0aU!k3`9n^M%$_XLxNaJrjKWqEjmAwW4)}JQd2Rq90E`QSVS|C0BMVkJ52D>^ym|vss*G8j9xoq>N+b`Z7 z4A0ag(_hWRf#FAL&368K@;H{~7(=*^1@C>YB!0i@%Yfa3%JOiGA|C<5Y9|S64 z=&-VAwhnB}6#%h`ZX;;ZPb1X`hoQsDB1TY{Ek(4Y%v~{-+!RBH!~2cn1C{23T_t4f?nwced6R xM`x`-{entDd6mVVC1{wV7<1_;euioU{eld{&|zf}Jt+Q1z|i0u&%hsL;0BqffF1w< diff --git a/data/backups/.DS_Store b/data/backups/.DS_Store deleted file mode 100644 index 4734352474366221098c9122f0c9a85801cc4a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c!5FA5_NHkF@N`FBFh!3!$P*C#$pi9c2LyFR0$LH{gWcC5#bV5o+fo7!L zvDdry-4wTH0A+pL-2w{$bDA;U%}rtJW)oawq>yRcqsKFL=;*okS+LqAwyZqhbyR?ZplM1BSeW(a+H?5Vw5Onyk=fY9)hDB#ZTrw zd2-1cO7YVfubz(5g5{-v6c{UT8PkRJ{|DMH_y2K`W>P>3{3`{@Z1c2P^Odr uZKb`?zQ9~hr}I`!_EyY^wc_g^dDX^TZ^=Wjmox6=Wc>)3E`k*J3k6Q@<{e@H diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..6d55305 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,15 @@ +# Cosmo 文档 + +项目入口文档保留在仓库根目录: + +- [README](../README.md) +- [项目说明](../PROJECT.md) +- [快速开始](../QUICKSTART.md) +- [部署指南](../DEPLOYMENT.md) + +其余文档按用途归档: + +- `architecture/`:架构、数据策略、算法和数据库设计 +- `guides/`:配置、运维和功能使用指南 +- `plans/`:路线图及阶段计划 +- `reports/`:阶段完成报告、问题分析和修复记录 diff --git a/CACHE_ARCHITECTURE.md b/docs/architecture/CACHE_ARCHITECTURE.md similarity index 100% rename from CACHE_ARCHITECTURE.md rename to docs/architecture/CACHE_ARCHITECTURE.md diff --git a/CAMERA_FOCUS_ALGORITHMS.md b/docs/architecture/CAMERA_FOCUS_ALGORITHMS.md similarity index 100% rename from CAMERA_FOCUS_ALGORITHMS.md rename to docs/architecture/CAMERA_FOCUS_ALGORITHMS.md diff --git a/backend/DATABASE_SCHEMA.md b/docs/architecture/DATABASE_SCHEMA.md similarity index 100% rename from backend/DATABASE_SCHEMA.md rename to docs/architecture/DATABASE_SCHEMA.md diff --git a/NASA_DATA_STRATEGY.md b/docs/architecture/NASA_DATA_STRATEGY.md similarity index 100% rename from NASA_DATA_STRATEGY.md rename to docs/architecture/NASA_DATA_STRATEGY.md diff --git a/ORBIT_GENERATION_SYSTEM.md b/docs/architecture/ORBIT_GENERATION_SYSTEM.md similarity index 100% rename from ORBIT_GENERATION_SYSTEM.md rename to docs/architecture/ORBIT_GENERATION_SYSTEM.md diff --git a/ORBIT_INCLINATION_SOLUTION.md b/docs/architecture/ORBIT_INCLINATION_SOLUTION.md similarity index 100% rename from ORBIT_INCLINATION_SOLUTION.md rename to docs/architecture/ORBIT_INCLINATION_SOLUTION.md diff --git a/REDIS.md b/docs/architecture/REDIS.md similarity index 98% rename from REDIS.md rename to docs/architecture/REDIS.md index 851107e..ef6d0b1 100644 --- a/REDIS.md +++ b/docs/architecture/REDIS.md @@ -37,4 +37,4 @@ |------|--------------|-------------|------| | user:tokens:{uid} | Set | 存该用户所有活动的 JWT Token,用于多端登录和注销。 | 随 Token 过期 | | positions:{args} | String (JSON) | API 响应缓存。存前端需要的天体坐标数组。 | 1小时 (实时) / 7天 (历史) | -| cosmo:danmaku:stream | ZSet | 留言板消息流。按时间排序,自动过期。 | 24 小时 (可配) | \ No newline at end of file +| cosmo:danmaku:stream | ZSet | 留言板消息流。按时间排序,自动过期。 | 24 小时 (可配) | diff --git a/backend/CONFIG.md b/docs/guides/BACKEND_CONFIG.md similarity index 100% rename from backend/CONFIG.md rename to docs/guides/BACKEND_CONFIG.md diff --git a/CACHE_PREHEAT_GUIDE.md b/docs/guides/CACHE_PREHEAT_GUIDE.md similarity index 100% rename from CACHE_PREHEAT_GUIDE.md rename to docs/guides/CACHE_PREHEAT_GUIDE.md diff --git a/backend/scripts/UPGRADE_GUIDE_FINAL.md b/docs/guides/DATABASE_UPGRADE.md similarity index 100% rename from backend/scripts/UPGRADE_GUIDE_FINAL.md rename to docs/guides/DATABASE_UPGRADE.md diff --git a/ORBIT_GENERATION_USER_GUIDE.md b/docs/guides/ORBIT_GENERATION_USER_GUIDE.md similarity index 98% rename from ORBIT_GENERATION_USER_GUIDE.md rename to docs/guides/ORBIT_GENERATION_USER_GUIDE.md index 9358973..f9ebda0 100644 --- a/ORBIT_GENERATION_USER_GUIDE.md +++ b/docs/guides/ORBIT_GENERATION_USER_GUIDE.md @@ -307,7 +307,7 @@ GET /celestial/orbits?body_type=planet ## 相关文档 -- [天体轨道生成系统技术文档](./ORBIT_GENERATION_SYSTEM.md) +- [天体轨道生成系统技术文档](../architecture/ORBIT_GENERATION_SYSTEM.md) - [NASA JPL Horizons API文档](https://ssd.jpl.nasa.gov/horizons/) --- diff --git a/frontend/PERFORMANCE_OPTIMIZATION.md b/docs/guides/PERFORMANCE_OPTIMIZATION.md similarity index 100% rename from frontend/PERFORMANCE_OPTIMIZATION.md rename to docs/guides/PERFORMANCE_OPTIMIZATION.md diff --git a/PROXY_SETUP.md b/docs/guides/PROXY_SETUP.md similarity index 100% rename from PROXY_SETUP.md rename to docs/guides/PROXY_SETUP.md diff --git a/PHASE4_PLAN.md b/docs/plans/PHASE4_PLAN.md similarity index 100% rename from PHASE4_PLAN.md rename to docs/plans/PHASE4_PLAN.md diff --git a/PHASE5_PLAN.md b/docs/plans/PHASE5_PLAN.md similarity index 99% rename from PHASE5_PLAN.md rename to docs/plans/PHASE5_PLAN.md index 20babfd..3185d81 100644 --- a/PHASE5_PLAN.md +++ b/docs/plans/PHASE5_PLAN.md @@ -87,4 +87,4 @@ 3. **验证**: * 测试关注/取关。 * 测试频道消息发送与接收(验证 Redis 存储)。 - * 测试 Horizons 缓存生效。 \ No newline at end of file + * 测试 Horizons 缓存生效。 diff --git a/RAODMAP.md b/docs/plans/ROADMAP.md similarity index 99% rename from RAODMAP.md rename to docs/plans/ROADMAP.md index 3caaa1d..275885a 100644 --- a/RAODMAP.md +++ b/docs/plans/ROADMAP.md @@ -328,4 +328,4 @@ function getPlanetTexture(radius, temp) { // 4. 宜居带/岩石行星 (默认) return textureLoader.load(PATH + 'rocky_atmosphere.jpg'); } -``` \ No newline at end of file +``` diff --git a/backend/ADMIN_PROGRESS.md b/docs/reports/ADMIN_PROGRESS.md similarity index 100% rename from backend/ADMIN_PROGRESS.md rename to docs/reports/ADMIN_PROGRESS.md diff --git a/frontend/ASSET_LOADING_ANALYSIS.md b/docs/reports/ASSET_LOADING_ANALYSIS.md similarity index 99% rename from frontend/ASSET_LOADING_ANALYSIS.md rename to docs/reports/ASSET_LOADING_ANALYSIS.md index 4487fe9..bfe163e 100644 --- a/frontend/ASSET_LOADING_ANALYSIS.md +++ b/docs/reports/ASSET_LOADING_ANALYSIS.md @@ -364,7 +364,7 @@ POSITIVE: - **Model Source**: `/Users/jiliu/WorkSpace/cosmo/backend/upload/model/` - **Texture Build Output**: `/Users/jiliu/WorkSpace/cosmo/frontend/dist/textures/` - **Model Build Output**: `/Users/jiliu/WorkSpace/cosmo/frontend/dist/models/` -- **Documentation**: `/Users/jiliu/WorkSpace/cosmo/frontend/PERFORMANCE_OPTIMIZATION.md` +- **Documentation**: `../guides/PERFORMANCE_OPTIMIZATION.md` --- @@ -387,4 +387,3 @@ POSITIVE: 2. Add KTX2/Basis texture compression 3. Implement virtual scrolling for star catalog 4. Add service worker for persistent caching - diff --git a/BINARY_SYSTEMS_COMPLETION.md b/docs/reports/BINARY_SYSTEMS_COMPLETION.md similarity index 100% rename from BINARY_SYSTEMS_COMPLETION.md rename to docs/reports/BINARY_SYSTEMS_COMPLETION.md diff --git a/CELESTIAL_BODY_FIX_SUMMARY.md b/docs/reports/CELESTIAL_BODY_FIX_SUMMARY.md similarity index 100% rename from CELESTIAL_BODY_FIX_SUMMARY.md rename to docs/reports/CELESTIAL_BODY_FIX_SUMMARY.md diff --git a/backend/DATABASE_SCHEMA_MISSING.md b/docs/reports/DATABASE_SCHEMA_MISSING.md similarity index 100% rename from backend/DATABASE_SCHEMA_MISSING.md rename to docs/reports/DATABASE_SCHEMA_MISSING.md diff --git a/DATA_STRATEGY_OPTIMIZATION.md b/docs/reports/DATA_STRATEGY_OPTIMIZATION.md similarity index 100% rename from DATA_STRATEGY_OPTIMIZATION.md rename to docs/reports/DATA_STRATEGY_OPTIMIZATION.md diff --git a/backend/scripts/FIX_PARAMETER_TYPES.md b/docs/reports/FIX_PARAMETER_TYPES.md similarity index 100% rename from backend/scripts/FIX_PARAMETER_TYPES.md rename to docs/reports/FIX_PARAMETER_TYPES.md diff --git a/LOGIN_REDESIGN.md b/docs/reports/LOGIN_REDESIGN.md similarity index 100% rename from LOGIN_REDESIGN.md rename to docs/reports/LOGIN_REDESIGN.md diff --git a/MULTI_STAR_SYSTEMS_ANALYSIS.md b/docs/reports/MULTI_STAR_SYSTEMS_ANALYSIS.md similarity index 100% rename from MULTI_STAR_SYSTEMS_ANALYSIS.md rename to docs/reports/MULTI_STAR_SYSTEMS_ANALYSIS.md diff --git a/PHASE_3_COMPLETION_SUMMARY.md b/docs/reports/PHASE_3_COMPLETION_SUMMARY.md similarity index 100% rename from PHASE_3_COMPLETION_SUMMARY.md rename to docs/reports/PHASE_3_COMPLETION_SUMMARY.md diff --git a/frontend/REMOVE_ASTEROID_COLUMN.md b/docs/reports/REMOVE_ASTEROID_COLUMN.md similarity index 100% rename from frontend/REMOVE_ASTEROID_COLUMN.md rename to docs/reports/REMOVE_ASTEROID_COLUMN.md diff --git a/docs/火箭发送模拟/.env.example b/docs/火箭发送模拟/.env.example new file mode 100644 index 0000000..7a550fe --- /dev/null +++ b/docs/火箭发送模拟/.env.example @@ -0,0 +1,9 @@ +# GEMINI_API_KEY: Required for Gemini AI API calls. +# AI Studio automatically injects this at runtime from user secrets. +# Users configure this via the Secrets panel in the AI Studio UI. +GEMINI_API_KEY="MY_GEMINI_API_KEY" + +# APP_URL: The URL where this applet is hosted. +# AI Studio automatically injects this at runtime with the Cloud Run service URL. +# Used for self-referential links, OAuth callbacks, and API endpoints. +APP_URL="MY_APP_URL" diff --git a/docs/火箭发送模拟/.gitignore b/docs/火箭发送模拟/.gitignore new file mode 100644 index 0000000..5a86d2a --- /dev/null +++ b/docs/火箭发送模拟/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +build/ +dist/ +coverage/ +.DS_Store +*.log +.env* +!.env.example diff --git a/docs/火箭发送模拟/README.md b/docs/火箭发送模拟/README.md new file mode 100644 index 0000000..770beb0 --- /dev/null +++ b/docs/火箭发送模拟/README.md @@ -0,0 +1,20 @@ +

+ +# Run and deploy your AI Studio app + +This contains everything you need to run your app locally. + +View your app in AI Studio: https://ai.studio/apps/60f28484-41b5-453e-beeb-3d312fb598db + +## Run Locally + +**Prerequisites:** Node.js + + +1. Install dependencies: + `npm install` +2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key +3. Run the app: + `npm run dev` diff --git a/docs/火箭发送模拟/index.html b/docs/火箭发送模拟/index.html new file mode 100644 index 0000000..21dfe69 --- /dev/null +++ b/docs/火箭发送模拟/index.html @@ -0,0 +1,13 @@ + + + + + + My Google AI Studio App + + +
+ + + + diff --git a/docs/火箭发送模拟/metadata.json b/docs/火箭发送模拟/metadata.json new file mode 100644 index 0000000..3e62aee --- /dev/null +++ b/docs/火箭发送模拟/metadata.json @@ -0,0 +1,6 @@ +{ + "name": "", + "description": "", + "requestFramePermissions": [], + "majorCapabilities": ["MAJOR_CAPABILITY_SERVER_SIDE_GEMINI_API"] +} diff --git a/docs/火箭发送模拟/package-lock.json b/docs/火箭发送模拟/package-lock.json new file mode 100644 index 0000000..76a7e9f --- /dev/null +++ b/docs/火箭发送模拟/package-lock.json @@ -0,0 +1,4696 @@ +{ + "name": "react-example", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "react-example", + "version": "0.0.0", + "dependencies": { + "@google/genai": "^2.4.0", + "@tailwindcss/vite": "^4.1.14", + "@vitejs/plugin-react": "^5.0.4", + "clsx": "^2.1.1", + "dotenv": "^17.2.3", + "express": "^4.21.2", + "lucide-react": "^0.546.0", + "motion": "^12.23.24", + "react": "^19.0.1", + "react-dom": "^19.0.1", + "recharts": "^3.8.1", + "tailwind-merge": "^3.6.0", + "vite": "^6.2.3" + }, + "devDependencies": { + "@types/express": "^4.17.21", + "@types/node": "^22.14.0", + "autoprefixer": "^10.4.21", + "esbuild": "^0.25.0", + "tailwindcss": "^4.1.14", + "tsx": "^4.21.0", + "typescript": "~5.8.2", + "vite": "^6.2.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@google/genai": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@google/genai/-/genai-2.8.0.tgz", + "integrity": "sha512-pc2ayxqO5+O7AvnHBqpNHIk7PAZkHZgL31tbyx0gJZBSS9qPYiQoqwK7oYOw/ePmG6QY4EMSu+304vD5QlhXAw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "google-auth-library": "^10.3.0", + "p-retry": "^4.6.2", + "protobufjs": "^7.5.4", + "ws": "^8.18.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@modelcontextprotocol/sdk": "^1.25.2" + }, + "peerDependenciesMeta": { + "@modelcontextprotocol/sdk": { + "optional": true + } + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz", + "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz", + "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz", + "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==", + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "license": "BSD-3-Clause" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.1.tgz", + "integrity": "sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==", + "license": "BSD-3-Clause" + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.12.0.tgz", + "integrity": "sha512-KiT+RzZbp6mQET+Mg+h2c97+9j1sNflUxQkIHI7Yuzf6Peu+OYpmkn6nbHWmLLWj+1ZODUJFwGZ7gx3L9R9EOw==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^11.0.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, + "node_modules/@reduxjs/toolkit/node_modules/immer": { + "version": "11.1.8", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.8.tgz", + "integrity": "sha512-/tbkHMW7y10Lx6i1crLjD4/OhNkRG+Fo7byZHtah0547nIeXYcpIXaUh0IAQY6gO5459qpGGYapcEOHtFXkIuA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", + "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.0.tgz", + "integrity": "sha512-IPIQ55ythEHkfEd9jMEi32OQ7SxURsGA43JI22lj01OLZNt2NUbJX8YUHxkVWyQ6daHPNn0truF5nSj3DQp6YQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.0.tgz", + "integrity": "sha512-M6s9cr10MibETyo8JsOkq+Lo1+lU6hcvb1MApnUql5qte/5hMEgzlN8/ReIKNfRV8rrqX50W1BX9zoUhC192RA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.0.tgz", + "integrity": "sha512-BqCoMoIbn0keKys+dEAdBa70EtOwV1bEsQCUgU9FdiZmmMge/Zk7LlkYGqbrdHR+Frnt0E1FOanly+rlwvvQzw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.0.tgz", + "integrity": "sha512-SIMzST3VFNXDAbeIWDWiFCNM5qncUBDWaEV7NfE7oZbDt2mgfW4MvbKdbYiGOLoM32gbTv608UMd0XktEYSD7w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.0.tgz", + "integrity": "sha512-ezjfSQMP7ArdUsbBwbQIfwAlhE84I2iVnzQNCFSveqV42q+BmKlzVpf7mxv5EchLcoWU4y6/heFzVg1F+hodUQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.0.tgz", + "integrity": "sha512-9+qTWGW9AZRhnUgwtTwzNwcPlL87ngkeN0LA+q1bADvmY9aNvWaF2TFW8BZgnQPYxpDI7+rMVLivcd4V737TAQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.0.tgz", + "integrity": "sha512-T1dMEQhXA/jkJ/jyMIw9IovK8bSUq7A8kLIlvZTb/6YIVsp2zLavr4F3oyllHWo7eIVJRyE5n3tUjQJEbE1IuQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.0.tgz", + "integrity": "sha512-2as0LgT7qQpyceQq6VUJYnumUMUrgGQCWIiDIN9DE0/tglsk6o66uCB4f3djRawAltvfCNLyZZrsqbPA6inCsA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.0.tgz", + "integrity": "sha512-bVURMg+6eNN9C/yc0aVjooZcwTTtYF4YW3xta5pP0//r3o1V8gXEHXWCndj47w/HhwsFroZrFhR+6uQP5T0n0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.0.tgz", + "integrity": "sha512-Ful8pM/2yYI83PViWdFdpZhdI8HJ5qsXANe5atypbHDf+KIBBDsZsbyy8hbXnULVvW9NsTh5DHwbcBftyLTfiw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.0.tgz", + "integrity": "sha512-9Gp/DgrkzfUBmNPVTyPTvay+4xEP7M/clXpj3efXBcm6uTIVIgDg4rqUpqKXvLEuFRVuEpSAOkhgNeecvaZ4Cg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.0.tgz", + "integrity": "sha512-m9tsJz54LUXkSYM8+8PG81B9IKK5r+2T0clMq4QrS16xFosufU7firBDAZEsDheDs7wTlP7h3++S7lMsU955HA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.0.tgz", + "integrity": "sha512-3UvJ5PNVU16aJf6M3tFI24pWzAl2/ynfbyRN3ICyQajK1lSkrnVYNnLz3v04J32qKa0FczJc22zeToc0lr2A3w==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.0.tgz", + "integrity": "sha512-vRWUAbYLGHBZS6Q8Msb2sfnf1fvJf+47t8l/TwOerM2qArzy+IeNMTHrYLHXh95h8MoatPHI5hhSZNs+mGXKPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.0.tgz", + "integrity": "sha512-c00T5SYENHAt86cfW47URaP3Us5vLC/4QO7GYud1G5VNRffCwwCuBspwqYrriuJB+5m0WFzClCn9wed0FBjKvg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.0.tgz", + "integrity": "sha512-krrCDilhXOwFkSkO3Wm9I/f9H0L92XHHwy2fwxjukxIbh0dem8gZqOW5Y8BsHrpJv5qwlRBV+Wl4ZFyRWhUpwg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.0.tgz", + "integrity": "sha512-7pfYFSTc4/rUC/FtAI0Qp6QthDBCIi6/AuP1xYqFk5vanI6KnL5dWKP60OM/05LOsbwTmIcvr6eXC4CJuJ75IA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.0.tgz", + "integrity": "sha512-7SDIalKeIpG0Ifogbbdn58HmSotYMlf23K3dCJEmiVd9Fg36Vmni82iPQec27N3wY4Bvbxftkxz6vSx9OcouTg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.0.tgz", + "integrity": "sha512-eRZevouTH2i1HeAVLqJuLnt256krQkGY0TN6WsTmsIhuzbh457HuWDMakKwmi0Cjadux983CoSr8Lim2QhUIFw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.0.tgz", + "integrity": "sha512-3oVS7FLGa4U1qcvao9ylGxrjXZyUQqR8UwxEcnUEyPX53O/C/mKDZegNXTdHCP+h3e6ta/f1EN38Yif1mmZHYg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.0.tgz", + "integrity": "sha512-yTB9TgfWj5wHe5QgktAgXTLLot1gvEjl1NiPPAUiCs4oPrIWFl5V4nC3GrkNdj9LaAU4s94nVrGbGOCqUpyWsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.0.tgz", + "integrity": "sha512-5LOhoaesY3doG1c+ac/2JtgREpKoJr5bUHH8tKY0V8di7+uSV6BwLs2PlR0/yzefGOkR+wE7ZolZphHCsyG5Rw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.0.tgz", + "integrity": "sha512-yYkWHhmbhRTWTnWos5HC4GcPQfjlzzCNbM9e/+GXrLuaBXYA3qSDR9f0Vgufd5S8yX81U8jPKp7ZnAjZFMtRnw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.0.tgz", + "integrity": "sha512-SoTb6lPg25xZlA2ibwQ++ahCCnH+FP0qmEuafMJ4gznZKOlXioKEAeJLgCrqjM98ACziXM9V1amFjICVL4IFoA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.0.tgz", + "integrity": "sha512-5L+T1fMX4RIEBoZzT0+sQ0PhTS36NULFmMXtl1TZo44TMAROIMHbZufSOjVWt/Y622BtxgxtaNOokbTDvfsrZA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz", + "integrity": "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "5.21.6", + "jiti": "^2.7.0", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.1" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.1.tgz", + "integrity": "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==", + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.1", + "@tailwindcss/oxide-darwin-arm64": "4.3.1", + "@tailwindcss/oxide-darwin-x64": "4.3.1", + "@tailwindcss/oxide-freebsd-x64": "4.3.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", + "@tailwindcss/oxide-linux-x64-musl": "4.3.1", + "@tailwindcss/oxide-wasm32-wasi": "4.3.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.1.tgz", + "integrity": "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.1.tgz", + "integrity": "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.1.tgz", + "integrity": "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.1.tgz", + "integrity": "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.1.tgz", + "integrity": "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.1.tgz", + "integrity": "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.1.tgz", + "integrity": "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.1.tgz", + "integrity": "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.1.tgz", + "integrity": "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.1.tgz", + "integrity": "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.10.0", + "@emnapi/runtime": "^1.10.0", + "@emnapi/wasi-threads": "^1.2.1", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.1.tgz", + "integrity": "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.1.tgz", + "integrity": "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.1.tgz", + "integrity": "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.1", + "@tailwindcss/oxide": "4.3.1", + "tailwindcss": "4.3.1" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz", + "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.2.0.tgz", + "integrity": "sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.29.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-rc.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.5.0.tgz", + "integrity": "sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.2", + "caniuse-lite": "^1.0.30001787", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.37", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", + "integrity": "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", + "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.375", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.375.tgz", + "integrity": "sha512-ZWP5eB4BVPW/ZYo9252hQZHZ5XavtsTgpbhcmMmRwymavC5AsLWQWBPaKMeNd2LW0KGby5HPXvj7+sr4ta5j/Q==", + "license": "ISC" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.21.6", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", + "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-toolkit": { + "version": "1.47.1", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.47.1.tgz", + "integrity": "sha512-5RAqEwf4P4E17p+W75KLOWw/nOvKZzSQpxM32IpI2KZLaVonjTrZ0Ai5ghMaVI9eKC2p8eoQgcBdkEDgzFk6+Q==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "12.40.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.40.0.tgz", + "integrity": "sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.40.0", + "motion-utils": "^12.39.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gaxios": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.5.tgz", + "integrity": "sha512-5FZy72Rh8LhtjmvDrKkI+lVhrsQrVKVsItxMoDm5mNQE+xR0WVIIs+jzPSJgBvKVsLi24fZhXJIsNI0bihDzFg==", + "license": "Apache-2.0", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "node-fetch": "^3.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gcp-metadata": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.2.tgz", + "integrity": "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==", + "license": "Apache-2.0", + "dependencies": { + "gaxios": "^7.0.0", + "google-logging-utils": "^1.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/google-auth-library": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.7.0.tgz", + "integrity": "sha512-QpTAbNJ36TliZLx3TTtahR8HG0hN9RllL1e3FymOvQSIKK8JmgV58H924ub2wa2DsS3ANjjP1Aw1N+Ramc8hqQ==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "^7.1.4", + "gcp-metadata": "8.1.2", + "google-logging-utils": "1.1.3", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/google-logging-utils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.3.tgz", + "integrity": "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immer": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", + "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.546.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.546.0.tgz", + "integrity": "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/motion": { + "version": "12.40.0", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.40.0.tgz", + "integrity": "sha512-yjrHUrBFW6kQvjJwRsoiPSAhC5tRwRqNGJWmiJ4CrGnbKp0V88AdzkhBmDoqIsIPfarOe0Uddd37Xq43/gIocA==", + "license": "MIT", + "dependencies": { + "framer-motion": "^12.40.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/motion-dom": { + "version": "12.40.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.40.0.tgz", + "integrity": "sha512-HxU3ZaBwNPVQUBQf1xxgq+7JrPNZvjLVxgbpEZL7RrWJnsxOf0/OM+yrHG9ogLQ31Do/r57Oz2gQWPK+6q62mg==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.39.0" + } + }, + "node_modules/motion-utils": { + "version": "12.39.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.39.0.tgz", + "integrity": "sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-releases": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/protobufjs": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.4.tgz", + "integrity": "sha512-RJJPTTpvFfHcWLkIa2JFWK4XvtSzS0yEWDmunqHXli1h3JlkbcQZXDZdcWxv+JK3Xsl5/UFDPZ0iGm7DAengYw==", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.5", + "@protobufjs/eventemitter": "^1.1.1", + "@protobufjs/fetch": "^1.1.1", + "@protobufjs/float": "^1.0.2", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.1", + "@types/node": ">=13.7.0", + "long": "^5.3.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-is": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz", + "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==", + "license": "MIT", + "peer": true + }, + "node_modules/react-redux": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz", + "integrity": "sha512-KQopgqFo/p/fgmAs5qz6p5RWaNAzq40WAu7fJIXnQpYxFPbJYtsJPWvGeF2rOBaY/kEuV77AVsX8TsQzKm+A/g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recharts": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.8.1.tgz", + "integrity": "sha512-mwzmO1s9sFL0TduUpwndxCUNoXsBw3u3E/0+A+cLcrSfQitSG62L32N69GhqUrrT5qKcAE3pCGVINC6pqkBBQg==", + "license": "MIT", + "workspaces": [ + "www" + ], + "dependencies": { + "@reduxjs/toolkit": "^1.9.0 || 2.x.x", + "clsx": "^2.1.1", + "decimal.js-light": "^2.5.1", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "immer": "^10.1.1", + "react-redux": "8.x.x || 9.x.x", + "reselect": "5.1.1", + "tiny-invariant": "^1.3.3", + "use-sync-external-store": "^1.2.2", + "victory-vendor": "^37.0.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rollup": { + "version": "4.62.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.0.tgz", + "integrity": "sha512-nc72Wgq62I7rtDV4izT5/aaS0zxy3kttkinf9586ApknY3jZO9NYsmtc24fUckA0X7Q2v+ML4a15pdUlV5V/jA==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.62.0", + "@rollup/rollup-android-arm64": "4.62.0", + "@rollup/rollup-darwin-arm64": "4.62.0", + "@rollup/rollup-darwin-x64": "4.62.0", + "@rollup/rollup-freebsd-arm64": "4.62.0", + "@rollup/rollup-freebsd-x64": "4.62.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.0", + "@rollup/rollup-linux-arm-musleabihf": "4.62.0", + "@rollup/rollup-linux-arm64-gnu": "4.62.0", + "@rollup/rollup-linux-arm64-musl": "4.62.0", + "@rollup/rollup-linux-loong64-gnu": "4.62.0", + "@rollup/rollup-linux-loong64-musl": "4.62.0", + "@rollup/rollup-linux-ppc64-gnu": "4.62.0", + "@rollup/rollup-linux-ppc64-musl": "4.62.0", + "@rollup/rollup-linux-riscv64-gnu": "4.62.0", + "@rollup/rollup-linux-riscv64-musl": "4.62.0", + "@rollup/rollup-linux-s390x-gnu": "4.62.0", + "@rollup/rollup-linux-x64-gnu": "4.62.0", + "@rollup/rollup-linux-x64-musl": "4.62.0", + "@rollup/rollup-openbsd-x64": "4.62.0", + "@rollup/rollup-openharmony-arm64": "4.62.0", + "@rollup/rollup-win32-arm64-msvc": "4.62.0", + "@rollup/rollup-win32-ia32-msvc": "4.62.0", + "@rollup/rollup-win32-x64-gnu": "4.62.0", + "@rollup/rollup-win32-x64-msvc": "4.62.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/tailwind-merge": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.6.0.tgz", + "integrity": "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.1.tgz", + "integrity": "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.22.4", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.4.tgz", + "integrity": "sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "devOptional": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/victory-vendor": { + "version": "37.3.6", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", + "integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/ws": { + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + } + } +} diff --git a/docs/火箭发送模拟/package.json b/docs/火箭发送模拟/package.json new file mode 100644 index 0000000..54ab744 --- /dev/null +++ b/docs/火箭发送模拟/package.json @@ -0,0 +1,38 @@ +{ + "name": "react-example", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite --port=3000 --host=0.0.0.0", + "build": "vite build", + "preview": "vite preview", + "clean": "rm -rf dist server.js", + "lint": "tsc --noEmit" + }, + "dependencies": { + "@google/genai": "^2.4.0", + "@tailwindcss/vite": "^4.1.14", + "@vitejs/plugin-react": "^5.0.4", + "clsx": "^2.1.1", + "dotenv": "^17.2.3", + "express": "^4.21.2", + "lucide-react": "^0.546.0", + "motion": "^12.23.24", + "react": "^19.0.1", + "react-dom": "^19.0.1", + "recharts": "^3.8.1", + "tailwind-merge": "^3.6.0", + "vite": "^6.2.3" + }, + "devDependencies": { + "@types/express": "^4.17.21", + "@types/node": "^22.14.0", + "autoprefixer": "^10.4.21", + "esbuild": "^0.25.0", + "tailwindcss": "^4.1.14", + "tsx": "^4.21.0", + "typescript": "~5.8.2", + "vite": "^6.2.3" + } +} diff --git a/docs/火箭发送模拟/simtest.js b/docs/火箭发送模拟/simtest.js new file mode 100644 index 0000000..bacd125 --- /dev/null +++ b/docs/火箭发送模拟/simtest.js @@ -0,0 +1,118 @@ +import { CONSTANTS, PRESETS } from "./src/types"; + +let h = 0, x = 0, vx = 0, vy = 0, v = 0, pitch = 90, t = 0; +let currentStage = 0; +let fuel = PRESETS[0].stages[0].fuelMass; +const currentEvents = []; + +let maxQ = 0; +let isRunning = true; + +for (let i = 0; i < 50000; i++) { + const dt = 0.1; + const rocket = PRESETS[0]; + const { area, cd, stages } = rocket; + const stage = stages[currentStage]; + const { dryMass, maxThrust, isp } = stage; + + let upperStagesMass = 0; + for (let j = currentStage + 1; j < stages.length; j++) { + upperStagesMass += stages[j].dryMass + stages[j].fuelMass; + } + + const m = dryMass + fuel + upperStagesMass; + const mDotMax = maxThrust / (isp * CONSTANTS.g0); + let actualThrottle = 1; + + if (fuel <= 0 && currentStage < stages.length - 1) { + currentStage++; + fuel = stages[currentStage].fuelMass; + if (!currentEvents.find((e) => e.name === `stageSep${currentStage}`)) { + currentEvents.push({ name: `stageSep${currentStage}`, time: t }); + } + } else if (fuel <= 0) { + actualThrottle = 0; + fuel = 0; + } + + const currentThrust = maxThrust * actualThrottle; + const mDot = mDotMax * actualThrottle; + + if (actualThrottle > 0) { + fuel -= mDot * dt; + if (fuel < 0) fuel = 0; + } + + v = Math.sqrt(vx * vx + vy * vy); + + const pitching = h > 500; + if (pitching) { + pitch = 90 * Math.exp(-h / 30000); + } + if (h <= 500) { + pitch = 90; + } + + const pitchRad = (pitch * Math.PI) / 180; + const fg = (CONSTANTS.G * (CONSTANTS.M_EARTH * m)) / Math.pow(CONSTANTS.R_EARTH + h, 2); + const centrifugalY = (m * vx * vx) / (CONSTANTS.R_EARTH + h); + const rho = h > 100000 ? 0 : CONSTANTS.RHO_0 * Math.exp(-h / CONSTANTS.H); + + const currentQ = 0.5 * rho * v * v; + const fd = currentQ * cd * area; + + const thrustX = currentThrust * Math.cos(pitchRad); + const thrustY = currentThrust * Math.sin(pitchRad); + + const vDirX = v > 0 ? vx / v : 0; + const vDirY = v > 0 ? vy / v : 1; + + const dragX = fd * vDirX; + const dragY = fd * vDirY; + + const netForceX = thrustX - dragX; + const netForceY = thrustY - dragY - fg + centrifugalY; + + let ax = netForceX / m; + let ay = netForceY / m; + + if (h <= 0 && vy <= 0 && netForceY <= 0) { + ay = 0; ax = 0; vx = 0; vy = 0; h = 0; pitch = 90; + } + + vx += ax * dt; + vy += ay * dt; + x += vx * dt; + h += vy * dt; + if (h < 0) h = 0; + t += dt; + + v = Math.sqrt(vx * vx + vy * vy); + + if (h > 10 && v > 1 && !currentEvents.find((e) => e.name === "liftoff")) { + currentEvents.push({ name: "liftoff", time: t }); + } + if (currentQ > maxQ) maxQ = currentQ; + if (maxQ > 20000 && currentQ < maxQ * 0.95 && !currentEvents.find((e) => e.name === "maxq")) { + currentEvents.push({ name: "maxq", time: t }); + } + if (currentStage === stages.length - 1 && fuel <= 0 && t > 10 && !currentEvents.find((e) => e.name === "meco")) { + currentEvents.push({ name: "meco", time: t }); + } + if (h >= 100000 && !currentEvents.find((e) => e.name === "karman")) { + currentEvents.push({ name: "karman", time: t }); + } + if (vx >= 7800 && !currentEvents.find((e) => e.name === "orbit")) { + currentEvents.push({ name: "orbit", time: t }); + } + + if (i % 500 === 0) { + console.log(`t: ${t.toFixed(1)}, stage: ${currentStage}, h: ${(h/1000).toFixed(1)}km, v: ${v.toFixed(1)}m/s, vx: ${vx.toFixed(1)}, pitch: ${pitch.toFixed(1)}, fuel: ${fuel.toFixed(0)}, FnetY: ${netForceY.toFixed(0)}`); + } + + if (currentEvents.find((e) => e.name === "meco") && t > currentEvents.find((e) => e.name === "meco").time + 3) { + console.log("SIM ENDED"); + break; + } +} +console.log(currentEvents); diff --git a/docs/火箭发送模拟/src/App.tsx b/docs/火箭发送模拟/src/App.tsx new file mode 100644 index 0000000..e8a7d40 --- /dev/null +++ b/docs/火箭发送模拟/src/App.tsx @@ -0,0 +1,466 @@ +import { useState, useRef, useEffect } from "react"; +import { + Rocket, + Play, + Pause, + RotateCcw, + Activity, + Globe, + Camera, + Volume2, + VolumeX, + Music, +} from "lucide-react"; +import { useSimulation } from "./useSimulation"; +import { PRESETS } from "./types"; +import { DashboardChart } from "./components/DashboardChart"; +import { FlightVisualizer } from "./components/FlightVisualizer"; +import { TelemetryGauge } from "./components/TelemetryGauge"; +import { Navball } from "./components/Navball"; +import { i18n, Lang } from "./i18n"; + +export default function App() { + const [lang, setLang] = useState("en"); + const [cameraMode, setCameraMode] = useState<"dynamic" | "follow">("dynamic"); + const [audioOn, setAudioOn] = useState(false); + const [bgmUrl, setBgmUrl] = useState(""); + const { rocket, state, setThrottle, changePreset, toggleSimulation, reset } = + useSimulation(PRESETS[0]); + + const t = i18n[lang]; + + const formatNumber = (num: number, decimals: number = 1) => + num.toLocaleString("en-US", { + minimumFractionDigits: decimals, + maximumFractionDigits: decimals, + }); + + let totalDryMass = 0; + let totalFuelMass = 0; + let maxPossibleThrust = 0; + rocket.stages.forEach((s) => { + totalDryMass += s.dryMass; + totalFuelMass += s.fuelMass; + if (s.maxThrust > maxPossibleThrust) maxPossibleThrust = s.maxThrust; + }); + + const totalMass = totalDryMass + state.fuel; // Simplified for TWR calc + const currentThrust = + rocket.stages[state.currentStage].maxThrust * state.throttle; + const tWR = currentThrust / (totalMass * 9.80665); + + const drag = state.q * rocket.cd * rocket.area; + let tempC = 15 - 0.0065 * Math.min(state.altitude, 11000); + if (state.altitude > 11000) tempC = -56.5; + const speedOfSound = Math.sqrt(1.4 * 287 * (tempC + 273.15)); + const mach = state.velocity / speedOfSound; + + const gForce = + state.altitude <= 0 && currentThrust < totalMass * 9.80665 + ? 1 + : Math.max(0, currentThrust - drag) / (totalMass * 9.80665); + + const formatTime = (totalSeconds: number) => { + const mins = Math.floor(totalSeconds / 60); + const secs = Math.floor(totalSeconds % 60); + return `T+ ${mins.toString().padStart(2, "0")}:${secs.toString().padStart(2, "0")}`; + }; + + const isFinished = state.events.some((e) => e.name === "simEnded"); + + return ( +
+ {bgmUrl &&
+ {["liftoff", "maxq", "stageSep1", "karman", "orbit"].map( + (evName, idx, arr) => { + const ev = state.events.find((e) => e.name === evName); + const isReached = !!ev; + return ( +
+
+ {/* Light */} +
+ {/* Label */} +
+ {t[evName as keyof typeof t]} +
+ {/* Time */} +
+ {isReached ? formatTime(ev.time) : "--:--"} +
+
+ {idx < arr.length - 1 && ( +
+ )} +
+ ); + }, + )} +
+ + {/* Bottom Center: Broadcast Telemetry Style HUD */} +
+ {/* Speed */} + + + {/* Center Stage Info */} +
+
+ {formatTime(state.time)} +
+ +
+ {/* Throttle Bar */} +
+
+ {t.hudThrottle} + + {Math.round(state.throttle * 100)}% + +
+
+
+
+
+ + {/* Fuel Bar */} +
+
+ + {t.hudProp} (S{state.currentStage + 1}) + + + {Math.round( + (state.fuel / rocket.stages[state.currentStage].fuelMass) * + 100, + )} + % + +
+
+
+
+
+
+
+ + {/* Altitude */} + + + {/* Navball */} + +
+
+ ); +} diff --git a/docs/火箭发送模拟/src/components/DashboardChart.tsx b/docs/火箭发送模拟/src/components/DashboardChart.tsx new file mode 100644 index 0000000..c48c542 --- /dev/null +++ b/docs/火箭发送模拟/src/components/DashboardChart.tsx @@ -0,0 +1,103 @@ +import { + LineChart, + Line, + XAxis, + YAxis, + CartesianGrid, + Tooltip, + ResponsiveContainer, +} from "recharts"; +import { DataPoint } from "../types"; + +interface ChartProps { + data: DataPoint[]; + dataKey: keyof DataPoint; + color: string; + unit: string; + title: string; +} + +export function DashboardChart({ + data, + dataKey, + color, + unit, + title, +}: ChartProps) { + // Simple formatter for Y Axis + const formatYAxis = (tickItem: number) => { + if (tickItem > 1000) { + return `${(tickItem / 1000).toFixed(1)}k`; + } + return tickItem.toFixed(0); + }; + + return ( +
+

+ {title} +

+
+ + + + `${t.toFixed(0)}s`} + stroke="rgba(255,255,255,0.4)" + fontSize={10} + tickMargin={8} + tickLine={false} + axisLine={false} + /> + + [ + `${value.toFixed(1)} ${unit}`, + title, + ]} + labelFormatter={(label: number) => `T+ ${label.toFixed(1)}s`} + /> + + + +
+
+ ); +} diff --git a/docs/火箭发送模拟/src/components/FlightVisualizer.tsx b/docs/火箭发送模拟/src/components/FlightVisualizer.tsx new file mode 100644 index 0000000..a9ac789 --- /dev/null +++ b/docs/火箭发送模拟/src/components/FlightVisualizer.tsx @@ -0,0 +1,428 @@ +import { ReactNode } from "react"; +import { RocketPreset, SimulationState } from "../types"; + +interface FlightVisualizerProps { + rocket: RocketPreset; + state: SimulationState; + cameraMode: "dynamic" | "follow"; +} + +export function FlightVisualizer({ + rocket, + state, + cameraMode, +}: FlightVisualizerProps) { + // Atmosphere gradient based on altitude: fades to black at 80km + const getAtmosphereOpacity = () => { + return Math.max(0, 1 - state.altitude / 80000); + }; + + // Map physical coords to SVG viewbox + const aspect = + typeof window !== "undefined" ? window.innerWidth / window.innerHeight : 2; + const minVHeight = cameraMode === "dynamic" ? 2500 : 500; + const viewHeight = + cameraMode === "dynamic" + ? Math.max(minVHeight, state.altitude * 0.8 + 500) + : minVHeight; + const viewWidth = viewHeight * aspect; + + const physX = state.downrange || 0; + const physY = state.altitude || 0; + + // Center camera on rocket + const minY = + cameraMode === "dynamic" + ? -physY - viewHeight * 0.35 + : -physY - viewHeight * 0.6; + const minX = physX - viewWidth * 0.5; + + const viewBox = `${minX} ${minY} ${viewWidth} ${viewHeight}`; + + const trailPoints = (state.history || []) + .map((p) => `${p.downrange},${-p.altitude}`) + .join(" "); + + // visualScale controls the visual size of the rocket. + const visualScale = + cameraMode === "dynamic" + ? Math.max(1, Math.pow(viewHeight / minVHeight, 0.95)) * 1.5 + : 3.5; + + const getStageOffset = (stageIndex: number) => { + if (state.currentStage <= stageIndex) return 0; + const sepEventName = `stageSep${stageIndex + 1}`; + const sepEvent = state.events.find((e) => e.name === sepEventName); + if (!sepEvent) return 0; + const dt = state.time - sepEvent.time; + if (dt < 0) return 0; + // Quadratic falling back effect + return (dt * 15 + 0.5 * 10 * Math.pow(Math.min(dt, 20), 2)) * visualScale; + }; + + // Custom render for each rocket type + const renderRocketSvg = (id: string, scale: number) => { + let activeEngineY = 0; + let nodes: ReactNode = null; + + if (id === "saturnv") { + const w = 10 * scale; + const l = 111 * scale; + + const s3Bottom = l * 0.3; + const s2Bottom = l * 0.7; + const s1Bottom = l; + + if (state.currentStage === 0) activeEngineY = s1Bottom; + else if (state.currentStage === 1) activeEngineY = s2Bottom; + else activeEngineY = s3Bottom; + + const offset1 = getStageOffset(0); + const offset2 = getStageOffset(1); + + nodes = ( + <> + {/* Stage 3 + Apollo */} + + + {/* Decal */} + + + + {/* Stage 2 */} + + + + + + {/* Stage 1 */} + + + + + + ); + } else if (id === "starship") { + const w = 9 * scale; + const l = 120 * scale; + + const s2Bottom = l * 0.4; + const s1Bottom = l; + + if (state.currentStage === 0) activeEngineY = s1Bottom; + else activeEngineY = s2Bottom; + + const offset1 = getStageOffset(0); + + nodes = ( + <> + {/* Stage 2 (Starship) */} + + + + + + + + + {/* Stage 1 (Super Heavy) */} + + + + + + ); + } else { + // Falcon 9 default + const w = 3.7 * scale; + const l = 70 * scale; + + const s2Bottom = l * 0.35; + const s1Bottom = l; + + if (state.currentStage === 0) activeEngineY = s1Bottom; + else activeEngineY = s2Bottom; + + const offset1 = getStageOffset(0); + + nodes = ( + <> + {/* Stage 2 + Fairing */} + + + + + {/* Stage 1 */} + + + {/* Interstage (top of Stage 1) */} + + {/* Landing Legs */} + + + + + ); + } + + return { activeEngineY, nodes }; + }; + + const getFlameScale = () => { + if (rocket.id === "saturnv") return 11 * visualScale; + if (rocket.id === "starship") return 10 * visualScale; + return 4 * visualScale; // falcon 9 + }; + + const flameWidth = getFlameScale(); + const { activeEngineY, nodes } = renderRocketSvg(rocket.id, visualScale); + + return ( +
+ {/* Atmosphere background */} +
+ + {/* Stars - Deep layer */} +
+ {/* Stars - Mid layer */} +
+ {/* Stars - Close layer */} +
+ + {/* Screen Effects (Cinematic Vignette) */} +
+ + + {/* Ground */} + + + + {/* Launch Pad Base */} + + + + {/* Trajectory Trail */} + {trailPoints.length > 0 && ( + + )} + + {/* The Rocket Container */} + + {/* Engine Flame */} + {state.throttle > 0 && state.fuel > 0 && ( + + {/* Outer Glow */} + + {/* Inner Core */} + + {/* Mach Diamonds (visible at higher speeds/altitudes) */} + {state.throttle > 0.5 && + state.altitude > 8000 && + state.altitude < 60000 && ( + + + + + + )} + + )} + + {/* Render Detailed Rocket Specific to Model with Active Engine aligned to (0,0) */} + {nodes} + + + + + + + + + + + + + + + + +
+ ); +} diff --git a/docs/火箭发送模拟/src/components/Navball.tsx b/docs/火箭发送模拟/src/components/Navball.tsx new file mode 100644 index 0000000..b501f06 --- /dev/null +++ b/docs/火箭发送模拟/src/components/Navball.tsx @@ -0,0 +1,46 @@ +import React from "react"; + +interface NavballProps { + pitch: number; // 90 is up, 0 is horizontal, -90 is down +} + +export function Navball({ pitch }: NavballProps) { + // For SpaceX broadcast style, we show a rocket silhouette that rotates based on pitch. + // pitch 90 = pointing straight up = 0 deg rotation + // pitch 0 = pointing horizontal = 90 deg rotation + const rotation = 90 - pitch; + + return ( +
+
+ {/* Horizontal reference line */} +
+ {/* Vertical reference line */} +
+ + {/* Rocket outline rotating */} +
+ {/* Simple rocket silhouette */} + + {/* Rocket body */} + + {/* Fins */} + + + {/* Engine bell */} + + +
+
+
+ PITCH {Math.round(pitch)}° +
+
+ ); +} diff --git a/docs/火箭发送模拟/src/components/TelemetryGauge.tsx b/docs/火箭发送模拟/src/components/TelemetryGauge.tsx new file mode 100644 index 0000000..d5aaa41 --- /dev/null +++ b/docs/火箭发送模拟/src/components/TelemetryGauge.tsx @@ -0,0 +1,68 @@ +import React from "react"; + +interface TelemetryGaugeProps { + label: string; + value: number; + unit: string; + maxValue: number; +} + +export function TelemetryGauge({ + label, + value, + unit, + maxValue, +}: TelemetryGaugeProps) { + const radius = 32; + const stroke = 3; + const normalizedRadius = radius - stroke * 2; + const circumference = normalizedRadius * 2 * Math.PI; + const fillRatio = Math.min(Math.max(value / maxValue, 0), 1); + const strokeDashoffset = circumference - fillRatio * circumference; + + return ( +
+
+ + + + +
+ + {Math.floor(value).toLocaleString()} + + + {unit} + +
+
+
+ {label} +
+
+ ); +} diff --git a/docs/火箭发送模拟/src/i18n.ts b/docs/火箭发送模拟/src/i18n.ts new file mode 100644 index 0000000..a80f361 --- /dev/null +++ b/docs/火箭发送模拟/src/i18n.ts @@ -0,0 +1,78 @@ +export const i18n = { + en: { + appTitle: "Orbital Ascent", + appSub: "Orbital Launch Telemetry", + directives: "Flight Directives", + launch: "LAUNCH", + pause: "PAUSE", + throttle: "Engine Throttle", + twr: "TWR", + mach: "MACH", + gforce: "G-FORCE", + maxT: "MAX T", + altProfile: "Altitude Profile", + velProfile: "Velocity Profile", + qProfile: "Dynamic Pressure (Q)", + speed: "SPEED", + altitude: "ALTITUDE", + hudThrottle: "THROTTLE", + hudProp: "PROPELLANT", + liftoff: "Liftoff", + maxq: "Max-Q", + meco: "MECO", + karman: "Karman Line", + stageSep1: "Stage 1 Sep", + stageSep2: "Stage 2 Sep", + stageSep3: "Stage 3 Sep", + orbit: "Orbital Insertion", + simEnded: "Simulation Ended", + vehicleParams: "Vehicle Parameters", + dryMass: "Dry Mass", + fuelMass: "Propellant", + maxThrust: "Max Thrust", + isp: "Vacuum ISP", + engines: "Engines", + cameraDynamic: "Dynamic Cam", + cameraFollow: "Follow Cam", + ended: "ENDED", + }, + zh: { + appTitle: "火箭发射模拟器", + appSub: "轨道发射实时遥测", + directives: "飞行控制", + launch: "发射", + pause: "暂停", + throttle: "主引擎推力调节", + twr: "推重比 (TWR)", + mach: "马赫数 (MACH)", + gforce: "G力 (G-FORCE)", + maxT: "最大推力", + altProfile: "高度-时间曲线", + velProfile: "速度-时间曲线", + qProfile: "空气动压 (Q)", + speed: "速度", + altitude: "高度", + hudThrottle: "当前推力", + hudProp: "推进剂", + liftoff: "起飞", + maxq: "最大动压", + meco: "引擎熄火", + karman: "卡门线", + stageSep1: "一级分离", + stageSep2: "二级分离", + stageSep3: "三级分离", + orbit: "入轨", + simEnded: "结束", + vehicleParams: "载具参数", + dryMass: "干质量", + fuelMass: "燃料质量", + maxThrust: "最大推力", + isp: "真空比冲", + engines: "发动机数量", + cameraDynamic: "动态视角", + cameraFollow: "跟随视角", + ended: "已结束", + }, +}; + +export type Lang = "en" | "zh"; diff --git a/docs/火箭发送模拟/src/index.css b/docs/火箭发送模拟/src/index.css new file mode 100644 index 0000000..c395a53 --- /dev/null +++ b/docs/火箭发送模拟/src/index.css @@ -0,0 +1,20 @@ +@import "tailwindcss"; + +@layer utilities { + .custom-scrollbar::-webkit-scrollbar { + width: 6px; + } + + .custom-scrollbar::-webkit-scrollbar-track { + background: transparent; + } + + .custom-scrollbar::-webkit-scrollbar-thumb { + background: #334155; + border-radius: 10px; + } + + .custom-scrollbar::-webkit-scrollbar-thumb:hover { + background: #475569; + } +} diff --git a/docs/火箭发送模拟/src/lib/utils.ts b/docs/火箭发送模拟/src/lib/utils.ts new file mode 100644 index 0000000..a5ef193 --- /dev/null +++ b/docs/火箭发送模拟/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/docs/火箭发送模拟/src/main.tsx b/docs/火箭发送模拟/src/main.tsx new file mode 100644 index 0000000..ef474bf --- /dev/null +++ b/docs/火箭发送模拟/src/main.tsx @@ -0,0 +1,10 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import App from "./App.tsx"; +import "./index.css"; + +createRoot(document.getElementById("root")!).render( + + + , +); diff --git a/docs/火箭发送模拟/src/types.ts b/docs/火箭发送模拟/src/types.ts new file mode 100644 index 0000000..5c888ba --- /dev/null +++ b/docs/火箭发送模拟/src/types.ts @@ -0,0 +1,140 @@ +export interface RocketStage { + name: string; + dryMass: number; // kg + fuelMass: number; // kg + maxThrust: number; // N + isp: number; // seconds + engines: number; +} + +export interface RocketPreset { + id: string; + name: string; + stages: RocketStage[]; + area: number; // m^2 + cd: number; // drag coefficient + color: string; +} + +export interface SimulationState { + time: number; // s + altitude: number; // m + downrange: number; // m + velocity: number; // m/s + vx: number; + vy: number; + pitch: number; // degrees, 90 is straight up + acceleration: number; // m/s^2 + q: number; // dynamic pressure (Pa) + currentStage: number; // index of active stage + fuel: number; // kg of current active stage + throttle: number; // 0 to 1 + isRunning: boolean; + history: DataPoint[]; // For charts + events: { name: string; time: number }[]; +} + +export interface DataPoint { + time: number; + altitude: number; // m + downrange: number; // m + velocity: number; // m/s + acceleration: number; // m/s^2 + thrust: number; // N + q: number; // Pa +} + +export const CONSTANTS = { + G: 6.6743e-11, + M_EARTH: 5.972e24, + R_EARTH: 6371000, + RHO_0: 1.225, // Sea level density kg/m^3 + H: 8500, // Scale height m + g0: 9.80665, // Standard gravity +}; + +export const PRESETS: RocketPreset[] = [ + { + id: "falcon9", + name: "Falcon 9", + stages: [ + { + name: "Stage 1", + dryMass: 25600, + fuelMass: 411000, + maxThrust: 7607000, + isp: 282, + engines: 9, + }, + { + name: "Stage 2", + dryMass: 4000, + fuelMass: 107500, + maxThrust: 981000, + isp: 348, + engines: 1, + }, + ], + area: 10.75, + cd: 0.4, + color: "#ffffff", // falcon 9 white + }, + { + id: "saturnv", + name: "Saturn V", + stages: [ + { + name: "S-IC (Stage 1)", + dryMass: 131000, + fuelMass: 2149000, + maxThrust: 35100000, + isp: 263, + engines: 5, + }, + { + name: "S-II (Stage 2)", + dryMass: 36000, + fuelMass: 444000, + maxThrust: 5100000, + isp: 421, + engines: 5, + }, + { + name: "S-IVB (Stage 3)", + dryMass: 10000, + fuelMass: 109000, + maxThrust: 1000000, + isp: 421, + engines: 1, + }, + ], + area: 80, + cd: 0.5, + color: "#f59e0b", // amber-500 + }, + { + id: "starship", + name: "Starship", + stages: [ + { + name: "Super Heavy", + dryMass: 200000, + fuelMass: 3400000, + maxThrust: 74000000, + isp: 330, + engines: 33, + }, + { + name: "Starship", + dryMass: 100000, + fuelMass: 1200000, + maxThrust: 15000000, + isp: 380, + engines: 6, + }, + ], + area: 63.6, + cd: 0.4, + color: "#a8a29e", // stone-400 + }, +]; diff --git a/docs/火箭发送模拟/src/useSimulation.ts b/docs/火箭发送模拟/src/useSimulation.ts new file mode 100644 index 0000000..ab84b45 --- /dev/null +++ b/docs/火箭发送模拟/src/useSimulation.ts @@ -0,0 +1,332 @@ +import { useState, useEffect, useRef, useCallback } from "react"; +import { RocketPreset, SimulationState, DataPoint, CONSTANTS } from "./types"; + +export function useSimulation(initialPreset: RocketPreset) { + const [rocket, setRocket] = useState(initialPreset); + const [state, setState] = useState({ + time: 0, + altitude: 0, + downrange: 0, + velocity: 0, + vx: 0, + vy: 0, + pitch: 90, + acceleration: 0, + q: 0, + fuel: initialPreset.stages[0].fuelMass, + currentStage: 0, + throttle: 0, + isRunning: false, + history: [], + events: [], + }); + + const stateRef = useRef(state); + const rocketRef = useRef(rocket); + + const lastTimeRef = useRef(0); + const frameRef = useRef(0); + const maxQRef = useRef(0); + + const setThrottle = useCallback((val: number) => { + setState((prev) => { + const newState = { ...prev, throttle: Math.max(0, Math.min(1, val)) }; + stateRef.current = newState; + return newState; + }); + }, []); + + const changePreset = useCallback((preset: RocketPreset) => { + maxQRef.current = 0; + setRocket(preset); + rocketRef.current = preset; + const newState = { + time: 0, + altitude: 0, + downrange: 0, + velocity: 0, + vx: 0, + vy: 0, + pitch: 90, + acceleration: 0, + q: 0, + currentStage: 0, + fuel: preset.stages[0].fuelMass, + throttle: 0, + isRunning: false, + history: [], + events: [], + }; + stateRef.current = newState; + setState(newState); + }, []); + + const reset = useCallback(() => { + maxQRef.current = 0; + const newState = { + time: 0, + altitude: 0, + downrange: 0, + velocity: 0, + vx: 0, + vy: 0, + pitch: 90, + acceleration: 0, + q: 0, + currentStage: 0, + fuel: rocketRef.current.stages[0].fuelMass, + throttle: 0, + isRunning: false, + history: [], + events: [], + }; + stateRef.current = newState; + setState(newState); + }, []); + + const toggleSimulation = useCallback(() => { + setState((prev) => { + const isFinished = prev.events.some((e) => e.name === "simEnded"); + if (isFinished) return prev; + const isRunning = !prev.isRunning; + if (isRunning) { + lastTimeRef.current = performance.now(); + } + const newState = { + ...prev, + isRunning, + throttle: isRunning && prev.throttle === 0 ? 1 : prev.throttle, + }; + stateRef.current = newState; + return newState; + }); + }, []); + + useEffect(() => { + const loop = (time: number) => { + if (!stateRef.current.isRunning) { + frameRef.current = requestAnimationFrame(loop); + return; + } + + const { G, M_EARTH, R_EARTH, RHO_0, H, g0 } = CONSTANTS; + const dtSystem = (time - lastTimeRef.current) / 1000; + lastTimeRef.current = time; + + // Physics Sub-stepping to prevent Euler integration explosion + const PHYSICS_STEPS = 5; + const dt = Math.min(dtSystem, 0.1) / PHYSICS_STEPS; + + let { + time: t, + altitude: h, + downrange: x, + vx, + vy, + pitch, + currentStage, + fuel, + throttle, + history, + } = stateRef.current; + const { area, cd, stages, payloadMass } = rocketRef.current; + const stage = stages[currentStage]; + const { dryMass, maxThrust, isp } = stage; + + let upperStagesMass = 0; + for (let i = currentStage + 1; i < stages.length; i++) { + upperStagesMass += stages[i].dryMass + stages[i].fuelMass; + } + + const mDotMax = maxThrust / (isp * g0); + let actualThrottle = throttle; + let currentEvents = [...stateRef.current.events]; + let currentQ = stateRef.current.q; + let a = stateRef.current.acceleration; + let finalThrust = 0; + + for (let step = 0; step < PHYSICS_STEPS; step++) { + const m = dryMass + fuel + upperStagesMass + (payloadMass || 0); + + if (fuel <= 0 && currentStage < stages.length - 1) { + currentStage++; + fuel = stages[currentStage].fuelMass; + if (!currentEvents.find((e) => e.name === `stageSep${currentStage}`)) { + currentEvents.push({ name: `stageSep${currentStage}`, time: t }); + } + } else if (fuel <= 0) { + actualThrottle = 0; + fuel = 0; + } + + const currentThrust = maxThrust * actualThrottle; + finalThrust = currentThrust; + const mDot = mDotMax * actualThrottle; + + if (actualThrottle > 0) { + fuel -= mDot * dt; + if (fuel < 0) fuel = 0; + } + + let v = Math.sqrt(vx * vx + vy * vy); + + // Improved pitch program to prevent deep atmospheric dips and orbit bounce + const pitching = h > 500 && v > 50; + if (pitching) { + // Smooth horizontal transition aiming for 0 pitch at ~120km + pitch = Math.max(0, 90 * (1 - Math.min(1, (h - 500) / 120000))); + } + if (h <= 500) { + pitch = 90; + } + + const pitchRad = (pitch * Math.PI) / 180; + + const fg = (G * (M_EARTH * m)) / Math.pow(R_EARTH + h, 2); + const centrifugalY = (m * vx * vx) / (R_EARTH + h); + const rho = h > 100000 ? 0 : RHO_0 * Math.exp(-h / H); + + // Dynamic pressure (q) in Pa + currentQ = 0.5 * rho * v * v; + let fd = currentQ * cd * area; + + // Prevent drag from reversing velocity in a single step (numerical stability) + const maxDragForce = (m * v) / dt; + if (fd > maxDragForce * 0.9) fd = maxDragForce * 0.9; + + const thrustX = currentThrust * Math.cos(pitchRad); + const thrustY = currentThrust * Math.sin(pitchRad); + + const vDirX = v > 0 ? vx / v : 0; + const vDirY = v > 0 ? vy / v : 1; + + const dragX = fd * vDirX; + const dragY = fd * vDirY; + + const netForceX = thrustX - dragX; + const netForceY = thrustY - dragY - fg + centrifugalY; + + let ax = netForceX / m; + let ay = netForceY / m; + + // Ground constraint + if (h <= 0 && vy <= 0 && netForceY <= 0) { + ay = 0; + ax = 0; + vx = 0; + vy = 0; + h = 0; + pitch = 90; + } + + vx += ax * dt; + vy += ay * dt; + x += vx * dt; + h += vy * dt; + if (h < 0) h = 0; + t += dt; + a = Math.sqrt(ax * ax + ay * ay); + } + + let v = Math.sqrt(vx * vx + vy * vy); + + // Event Tracking + if (h > 10 && v > 1 && !currentEvents.find((e) => e.name === "liftoff")) { + currentEvents.push({ name: "liftoff", time: t }); + } + if (currentQ > maxQRef.current) { + maxQRef.current = currentQ; + } + // Trigger Max-Q if it drops to 95% of peak after reaching at least 20kPa + if ( + maxQRef.current > 20000 && + currentQ < maxQRef.current * 0.95 && + !currentEvents.find((e) => e.name === "maxq") + ) { + currentEvents.push({ name: "maxq", time: t }); + } + + if ( + currentStage === stages.length - 1 && + fuel <= 0 && + t > 10 && + !currentEvents.find((e) => e.name === "meco") + ) { + currentEvents.push({ name: "meco", time: t }); + } + if (h >= 100000 && !currentEvents.find((e) => e.name === "karman")) { + currentEvents.push({ name: "karman", time: t }); + } + if (vx >= 7800 && !currentEvents.find((e) => e.name === "orbit")) { + currentEvents.push({ name: "orbit", time: t }); + } + + let shouldEnd = false; + const mecoEvent = currentEvents.find((e) => e.name === "meco"); + if ( + mecoEvent && + t > mecoEvent.time + 3 && + !currentEvents.find((e) => e.name === "simEnded") + ) { + currentEvents.push({ name: "simEnded", time: t }); + shouldEnd = true; + } + + const lastHistoryTime = + history.length > 0 ? history[history.length - 1].time : -1; + let newHistory = history; + if (t - lastHistoryTime >= 0.5) { + newHistory = [ + ...history, + { + time: t, + altitude: h, + downrange: x, + velocity: v, + acceleration: a, + thrust: finalThrust, + q: currentQ, + }, + ]; + } + + const newState = { + ...stateRef.current, + time: t, + altitude: h, + downrange: x, + velocity: v, + vx, + vy, + pitch, + acceleration: a, + q: currentQ, + currentStage, + fuel, + throttle: + fuel <= 0 && currentStage === stages.length - 1 ? 0 : throttle, + isRunning: shouldEnd ? false : stateRef.current.isRunning, + history: newHistory, + events: currentEvents, + }; + + stateRef.current = newState; + setState(newState); + + frameRef.current = requestAnimationFrame(loop); + }; + + frameRef.current = requestAnimationFrame(loop); + + return () => cancelAnimationFrame(frameRef.current); + }, []); + + return { + rocket, + state, + setThrottle, + changePreset, + toggleSimulation, + reset, + }; +} diff --git a/docs/火箭发送模拟/tsconfig.json b/docs/火箭发送模拟/tsconfig.json new file mode 100644 index 0000000..d88f175 --- /dev/null +++ b/docs/火箭发送模拟/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ES2022", + "experimentalDecorators": true, + "useDefineForClassFields": false, + "module": "ESNext", + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], + "skipLibCheck": true, + "moduleResolution": "bundler", + "isolatedModules": true, + "moduleDetection": "force", + "allowJs": true, + "jsx": "react-jsx", + "paths": { + "@/*": [ + "./*" + ] + }, + "allowImportingTsExtensions": true, + "noEmit": true + } +} diff --git a/docs/火箭发送模拟/vite.config.ts b/docs/火箭发送模拟/vite.config.ts new file mode 100644 index 0000000..fc23e76 --- /dev/null +++ b/docs/火箭发送模拟/vite.config.ts @@ -0,0 +1,22 @@ +import tailwindcss from '@tailwindcss/vite'; +import react from '@vitejs/plugin-react'; +import path from 'path'; +import {defineConfig} from 'vite'; + +export default defineConfig(() => { + return { + plugins: [react(), tailwindcss()], + resolve: { + alias: { + '@': path.resolve(__dirname, '.'), + }, + }, + server: { + // HMR is disabled in AI Studio via DISABLE_HMR env var. + // Do not modify—file watching is disabled to prevent flickering during agent edits. + hmr: process.env.DISABLE_HMR !== 'true', + // Disable file watching when DISABLE_HMR is true to save CPU during agent edits. + watch: process.env.DISABLE_HMR === 'true' ? null : {}, + }, + }; +}); diff --git a/frontend/package.json b/frontend/package.json index 08bcc4f..e14801f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -34,6 +34,7 @@ "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.1", "autoprefixer": "^10.4.0", + "baseline-browser-mapping": "^2.10.43", "eslint": "^9.39.1", "eslint-plugin-react-hooks": "^7.0.1", "eslint-plugin-react-refresh": "^0.4.24", diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index b297dfb..47e32fb 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -14,6 +14,7 @@ import { TimelineController } from './components/TimelineController'; import { Loading } from './components/Loading'; import { ControlPanel } from './components/ControlPanel'; import { AuthModal } from './components/AuthModal'; +import { BodyDetailOverlay } from './components/BodyDetailOverlay'; import { auth } from './utils/auth'; import type { CelestialBody } from './types'; import { useToast } from './contexts/ToastContext'; @@ -21,7 +22,6 @@ import { useToast } from './contexts/ToastContext'; // Lazy load non-critical components for better performance const InterstellarTicker = lazy(() => import('./components/InterstellarTicker').then(m => ({ default: m.InterstellarTicker }))); const MessageBoard = lazy(() => import('./components/MessageBoard').then(m => ({ default: m.MessageBoard }))); -const BodyDetailOverlay = lazy(() => import('./components/BodyDetailOverlay').then(m => ({ default: m.BodyDetailOverlay }))); // Timeline configuration - will be fetched from backend later const TIMELINE_DAYS = 30; // Total days in timeline range @@ -223,6 +223,7 @@ function App() { setViewMode(prev => prev === 'solar' ? 'galaxy' : 'solar'); setSelectedBody(null); // Reset selection when switching }} + onOpenRocketSimulator={() => navigate('/rocket-simulator')} /> {/* Auth Modal */} diff --git a/frontend/src/Router.tsx b/frontend/src/Router.tsx index 1a5322a..3243ab5 100644 --- a/frontend/src/Router.tsx +++ b/frontend/src/Router.tsx @@ -1,25 +1,37 @@ /** * Router configuration */ +import { lazy, Suspense } from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; -import { Login } from './pages/Login'; -import { AdminLayout } from './pages/admin/AdminLayout'; -import { Dashboard } from './pages/admin/Dashboard'; -import { CelestialBodies } from './pages/admin/CelestialBodies'; -import { CelestialEvents } from './pages/admin/CelestialEvents'; -import { StarSystems } from './pages/admin/StarSystems'; -import { StaticData } from './pages/admin/StaticData'; -import { Users } from './pages/admin/Users'; -import { NASADownload } from './pages/admin/NASADownload'; -import { SystemSettings } from './pages/admin/SystemSettings'; -import { Tasks } from './pages/admin/Tasks'; -import { ScheduledJobs } from './pages/admin/ScheduledJobs'; -import { UserProfile } from './pages/admin/UserProfile'; -import { ChangePassword } from './pages/admin/ChangePassword'; -import { MyCelestialBodies } from './pages/admin/MyCelestialBodies'; import { auth } from './utils/auth'; import { ToastProvider } from './contexts/ToastContext'; -import App from './App'; + +const App = lazy(() => import('./App')); +const Login = lazy(() => import('./pages/Login').then((module) => ({ default: module.Login }))); +const RocketSimulator = lazy(() => import('./pages/RocketSimulator').then((module) => ({ default: module.RocketSimulator }))); +const AdminLayout = lazy(() => import('./pages/admin/AdminLayout').then((module) => ({ default: module.AdminLayout }))); +const Dashboard = lazy(() => import('./pages/admin/Dashboard').then((module) => ({ default: module.Dashboard }))); +const CelestialBodies = lazy(() => import('./pages/admin/CelestialBodies').then((module) => ({ default: module.CelestialBodies }))); +const CelestialEvents = lazy(() => import('./pages/admin/CelestialEvents').then((module) => ({ default: module.CelestialEvents }))); +const StarSystems = lazy(() => import('./pages/admin/StarSystems').then((module) => ({ default: module.StarSystems }))); +const StaticData = lazy(() => import('./pages/admin/StaticData').then((module) => ({ default: module.StaticData }))); +const Users = lazy(() => import('./pages/admin/Users').then((module) => ({ default: module.Users }))); +const NASADownload = lazy(() => import('./pages/admin/NASADownload').then((module) => ({ default: module.NASADownload }))); +const SystemSettings = lazy(() => import('./pages/admin/SystemSettings').then((module) => ({ default: module.SystemSettings }))); +const Tasks = lazy(() => import('./pages/admin/Tasks').then((module) => ({ default: module.Tasks }))); +const ScheduledJobs = lazy(() => import('./pages/admin/ScheduledJobs').then((module) => ({ default: module.ScheduledJobs }))); +const UserProfile = lazy(() => import('./pages/admin/UserProfile').then((module) => ({ default: module.UserProfile }))); +const ChangePassword = lazy(() => import('./pages/admin/ChangePassword').then((module) => ({ default: module.ChangePassword }))); +const MyCelestialBodies = lazy(() => import('./pages/admin/MyCelestialBodies').then((module) => ({ default: module.MyCelestialBodies }))); +const Rockets = lazy(() => import('./pages/admin/Rockets').then((module) => ({ default: module.Rockets }))); + +function RouteFallback() { + return ( +
+
+
+ ); +} // Protected Route wrapper function ProtectedRoute({ children }: { children: React.ReactNode }) { @@ -33,12 +45,14 @@ export function Router() { return ( - + }> + {/* Public routes */} } /> {/* Main app (3D visualization) */} } /> + } /> {/* User routes (protected) */} } /> } /> } /> + } /> {/* Fallback */} } /> - + + ); diff --git a/frontend/src/components/AsteroidBelts.tsx b/frontend/src/components/AsteroidBelts.tsx index 06ccd03..4474b4b 100644 --- a/frontend/src/components/AsteroidBelts.tsx +++ b/frontend/src/components/AsteroidBelts.tsx @@ -15,13 +15,6 @@ interface BeltProps { rotationSpeed: number; } -interface BeltData { - category: string; - name: string; - name_zh: string; - data: BeltProps; -} - function Belt({ innerRadiusAU, outerRadiusAU, diff --git a/frontend/src/components/BodyDetailOverlay.tsx b/frontend/src/components/BodyDetailOverlay.tsx index 7652fcc..a60fb56 100644 --- a/frontend/src/components/BodyDetailOverlay.tsx +++ b/frontend/src/components/BodyDetailOverlay.tsx @@ -39,20 +39,30 @@ export function BodyDetailOverlay({ bodyId, preloadedData, onClose }: BodyDetail return; } + // Guard against out-of-order responses and setState-after-unmount. + let active = true; setLoading(true); request.get(`/celestial/info/${bodyId}`) .then(response => { - setBodyData(response.data); + if (active) setBodyData(response.data); }) .catch(error => { + if (!active) return; console.error("Failed to fetch body details:", error); toast.error("加载天体详情失败"); onClose(); // Close overlay on error }) .finally(() => { - setLoading(false); + if (active) setLoading(false); }); - }, [bodyId, preloadedData, onClose, toast]); + + return () => { + active = false; + }; + // Only refetch when the target body changes. `onClose`/`toast` are stable in + // behavior but not identity, so excluding them avoids refetch on every parent render. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [bodyId, preloadedData]); if ((!bodyId && !preloadedData) || !bodyData) { return null; diff --git a/frontend/src/components/BodyViewer.tsx b/frontend/src/components/BodyViewer.tsx index 03fe8c5..1b789eb 100644 --- a/frontend/src/components/BodyViewer.tsx +++ b/frontend/src/components/BodyViewer.tsx @@ -1,12 +1,13 @@ import { useRef, useMemo, useState, useEffect, Suspense } from 'react'; import { Mesh, Group, DoubleSide } from 'three'; import * as THREE from 'three'; -import { useGLTF, useTexture } from '@react-three/drei'; +import { useGLTF } from '@react-three/drei'; import { useFrame } from '@react-three/fiber'; import type { CelestialBody as CelestialBodyType } from '../types'; import { fetchBodyResources } from '../utils/api'; import { getCelestialSize } from '../config/celestialSizes'; import { useSystemSetting } from '../hooks/useSystemSetting'; +import { useOptionalTexture } from '../hooks/useOptionalTexture'; interface BodyViewerProps { body: CelestialBodyType; @@ -15,7 +16,7 @@ interface BodyViewerProps { // Planetary Rings component - handles texture-based rings function PlanetaryRings({ texturePath, planetRadius }: { texturePath?: string | null, planetRadius: number }) { - const texture = texturePath ? useTexture(texturePath) : null; + const texture = useOptionalTexture(texturePath); const meshRef = useRef(null); // Dynamic ring dimensions based on planet size @@ -273,6 +274,142 @@ function ProbeModelViewer({ modelPath, modelScale }: { modelPath: string; modelS ); } +// Irregular Comet Nucleus - potato-like shape (module scope to avoid remount每次渲染) +function IrregularNucleus({ size, texture }: { size: number; texture: THREE.Texture | null }) { + const nucleusRef = useRef(null); + + // Create irregular geometry by deforming a sphere + const geometry = useMemo(() => { + const geo = new THREE.SphereGeometry(size, 64, 64); // Higher resolution for detail view + const positions = geo.attributes.position; + + // Deform vertices to create irregular shape + for (let i = 0; i < positions.count; i++) { + const x = positions.getX(i); + const y = positions.getY(i); + const z = positions.getZ(i); + + // Create multiple noise frequencies for complex shape + const noise1 = Math.sin(x * 3.5) * Math.cos(y * 2.7) * Math.sin(z * 4.2); + const noise2 = Math.cos(x * 5.1) * Math.sin(y * 4.3) * Math.cos(z * 3.8); + const noise3 = Math.sin(x * 7.2) * Math.sin(y * 6.1) * Math.cos(z * 5.5); + + const deformation = 1 + (noise1 * 0.25 + noise2 * 0.15 + noise3 * 0.1); + + positions.setXYZ(i, x * deformation, y * deformation, z * deformation); + } + + geo.computeVertexNormals(); + return geo; + }, [size]); + + // Slow rotation + useFrame((_, delta) => { + if (nucleusRef.current) { + nucleusRef.current.rotation.y += delta * 0.05; + nucleusRef.current.rotation.z += delta * 0.02; + } + }); + + return ( + + {texture ? ( + + ) : ( + + )} + + ); +} + +// Enhanced Coma (gas/dust cloud) around comet nucleus (module scope) +function CometComa({ radius }: { radius: number }) { + const positions = useMemo(() => { + const count = 300; // More particles for detail view + const p = new Float32Array(count * 3); + for (let i = 0; i < count; i++) { + // Denser near center, spreading outward + const r = radius * (0.8 + Math.pow(Math.random(), 1.5) * 4); // 0.8x to 4.8x radius + const theta = Math.random() * Math.PI * 2; + const phi = Math.acos(2 * Math.random() - 1); + + p[i * 3] = r * Math.sin(phi) * Math.cos(theta); + p[i * 3 + 1] = r * Math.sin(phi) * Math.sin(theta); + p[i * 3 + 2] = r * Math.cos(phi); + } + return p; + }, [radius]); + + const pointsRef = useRef(null); + + // Animate coma + useFrame((state, delta) => { + if (pointsRef.current) { + pointsRef.current.rotation.y += delta * 0.05; + // Pulsing effect + const scale = 1 + Math.sin(state.clock.elapsedTime * 0.5) * 0.1; + pointsRef.current.scale.setScalar(scale); + } + }); + + return ( + <> + {/* Inner bright coma */} + + + + + + + + {/* Middle glow layer */} + + + + + + {/* Outer diffuse glow */} + + + + + + ); +} + // Sub-component for Planet models function PlanetModelViewer({ body, size, emissive, emissiveIntensity, texturePath, ringTexturePath, meshRef, disableGlow = false }: { body: CelestialBodyType; @@ -281,10 +418,10 @@ function PlanetModelViewer({ body, size, emissive, emissiveIntensity, texturePat emissiveIntensity: number; texturePath: string | null; ringTexturePath?: string | null; - meshRef: React.RefObject; + meshRef: React.RefObject; disableGlow?: boolean; }) { - const texture = texturePath ? useTexture(texturePath) : null; + const texture = useOptionalTexture(texturePath); // Rotation animation useFrame((_, delta) => { @@ -293,140 +430,6 @@ function PlanetModelViewer({ body, size, emissive, emissiveIntensity, texturePat } }); - // Irregular Comet Nucleus - potato-like shape - function IrregularNucleus({ size, texture }: { size: number; texture: THREE.Texture | null }) { - const nucleusRef = useRef(null); - - // Create irregular geometry by deforming a sphere - const geometry = useMemo(() => { - const geo = new THREE.SphereGeometry(size, 64, 64); // Higher resolution for detail view - const positions = geo.attributes.position; - - // Deform vertices to create irregular shape - for (let i = 0; i < positions.count; i++) { - const x = positions.getX(i); - const y = positions.getY(i); - const z = positions.getZ(i); - - // Create multiple noise frequencies for complex shape - const noise1 = Math.sin(x * 3.5) * Math.cos(y * 2.7) * Math.sin(z * 4.2); - const noise2 = Math.cos(x * 5.1) * Math.sin(y * 4.3) * Math.cos(z * 3.8); - const noise3 = Math.sin(x * 7.2) * Math.sin(y * 6.1) * Math.cos(z * 5.5); - - const deformation = 1 + (noise1 * 0.25 + noise2 * 0.15 + noise3 * 0.1); - - positions.setXYZ(i, x * deformation, y * deformation, z * deformation); - } - - geo.computeVertexNormals(); - return geo; - }, [size]); - - // Slow rotation - useFrame((_, delta) => { - if (nucleusRef.current) { - nucleusRef.current.rotation.y += delta * 0.05; - nucleusRef.current.rotation.z += delta * 0.02; - } - }); - - return ( - - {texture ? ( - - ) : ( - - )} - - ); - } - - // Enhanced Coma (gas/dust cloud) around comet nucleus - function CometComa({ radius }: { radius: number }) { - const positions = useMemo(() => { - const count = 300; // More particles for detail view - const p = new Float32Array(count * 3); - for (let i = 0; i < count; i++) { - // Denser near center, spreading outward - const r = radius * (0.8 + Math.pow(Math.random(), 1.5) * 4); // 0.8x to 4.8x radius - const theta = Math.random() * Math.PI * 2; - const phi = Math.acos(2 * Math.random() - 1); - - p[i * 3] = r * Math.sin(phi) * Math.cos(theta); - p[i * 3 + 1] = r * Math.sin(phi) * Math.sin(theta); - p[i * 3 + 2] = r * Math.cos(phi); - } - return p; - }, [radius]); - - const pointsRef = useRef(null); - - // Animate coma - useFrame((state, delta) => { - if (pointsRef.current) { - pointsRef.current.rotation.y += delta * 0.05; - // Pulsing effect - const scale = 1 + Math.sin(state.clock.elapsedTime * 0.5) * 0.1; - pointsRef.current.scale.setScalar(scale); - } - }); - - return ( - <> - {/* Inner bright coma */} - - - - - - - - {/* Middle glow layer */} - - - - - - {/* Outer diffuse glow */} - - - - - - ); - } - return ( {/* Use irregular nucleus for comets, regular sphere for others */} @@ -440,6 +443,7 @@ function PlanetModelViewer({ body, size, emissive, emissiveIntensity, texturePat {/* Higher resolution for detail view */} {texture ? ( ) : ( void; +} + +type CelestialTypeConfigs = Record | null; interface CameraControllerProps { focusTarget: CelestialBody | null; @@ -13,6 +21,8 @@ interface CameraControllerProps { onAnimationComplete?: () => void; resetTrigger?: number; defaultPosition?: [number, number, number]; + typeConfigs?: CelestialTypeConfigs; + controlsRef: RefObject; } export function CameraController({ @@ -20,83 +30,78 @@ export function CameraController({ allBodies, onAnimationComplete, resetTrigger = 0, - defaultPosition = [10, 8, 10] // Default closer to inner solar system + defaultPosition = [10, 8, 10], + typeConfigs, + controlsRef, }: CameraControllerProps) { const { camera } = useThree(); const targetPosition = useRef(new Vector3()); + const targetLookPosition = useRef(new Vector3()); const isAnimating = useRef(false); const isResetting = useRef(false); const animationProgress = useRef(0); const startPosition = useRef(new Vector3()); + const startLookPosition = useRef(new Vector3()); + const trackedLookPosition = useRef(new Vector3()); const lastResetTrigger = useRef(0); + // Keep the latest bodies list without making it a trigger for the focus effect. + // `allBodies` gets a new array reference on every timeline/historical frame, and we + // don't want that to re-fire the fly-to animation while the user is watching playback. + const allBodiesRef = useRef(allBodies); + allBodiesRef.current = allBodies; + // Handle manual reset trigger useEffect(() => { if (resetTrigger !== lastResetTrigger.current) { lastResetTrigger.current = resetTrigger; // Force reset targetPosition.current.set(...defaultPosition); + targetLookPosition.current.set(0, 0, 0); startPosition.current.copy(camera.position); + startLookPosition.current.copy(controlsRef.current?.target ?? new Vector3()); isAnimating.current = true; isResetting.current = true; animationProgress.current = 0; } - }, [resetTrigger, camera, defaultPosition]); // Only run when resetTrigger changes + }, [resetTrigger, camera, defaultPosition, controlsRef]); // Only run when resetTrigger changes // Handle focus target changes + // Trigger only on the SELECTED body changing (by id), not on every new bodies array. useEffect(() => { + const bodies = allBodiesRef.current; if (focusTarget) { isResetting.current = false; // Cancel reset if target selected - + // Focus on target - use smart rendered position - const renderPos = calculateRenderPosition(focusTarget, allBodies); + const latestBody = bodies.find((body) => body.id === focusTarget.id) ?? focusTarget; + const renderPos = calculateRenderPosition(latestBody, bodies, typeConfigs); const currentTargetPos = new Vector3(renderPos.x, renderPos.z, renderPos.y); + const bodySize = getCelestialSize(latestBody, undefined, typeConfigs); + const parentInfo = findParentPlanet(latestBody, bodies); + const focusDistance = latestBody.type === 'star' + ? Math.max(5, bodySize * 9) + : latestBody.type === 'planet' + ? Math.max(4, bodySize * 7) + : latestBody.type === 'dwarf_planet' + ? Math.max(2.4, bodySize * 8) + : parentInfo + ? Math.max(1.4, bodySize * 8) + : Math.max(1.6, bodySize * 9); + const previousLook = controlsRef.current?.target ?? new Vector3(); + const viewDirection = camera.position.clone().sub(previousLook); + if (viewDirection.lengthSq() < 0.0001) viewDirection.set(1, 0.65, 1); + viewDirection.normalize(); - // Calculate ideal camera position based on target - const pos = focusTarget.positions[0]; - const distance = Math.sqrt(pos.x ** 2 + pos.y ** 2 + pos.z ** 2); - const parentInfo = findParentPlanet(focusTarget, allBodies); - - let offset: number; - let heightMultiplier = 1; - let sideMultiplier = 1; - - if (focusTarget.type === 'planet') { - offset = 4; - heightMultiplier = 1.5; - sideMultiplier = 1; - } else if (focusTarget.type === 'probe') { - if (parentInfo) { - offset = 3; - heightMultiplier = 0.8; - sideMultiplier = 1.2; - } else if (distance < 10) { - offset = 5; - heightMultiplier = 0.6; - sideMultiplier = 1.5; - } else if (distance > 50) { - offset = 4; - heightMultiplier = 0.8; - sideMultiplier = 1; - } else { - offset = 6; - heightMultiplier = 0.8; - sideMultiplier = 1.2; - } - } else { - offset = 10; - heightMultiplier = 1; - sideMultiplier = 1; - } - - targetPosition.current.set( - currentTargetPos.x + (offset * sideMultiplier), - currentTargetPos.y + (offset * heightMultiplier), - currentTargetPos.z + offset - ); + targetLookPosition.current.copy(currentTargetPos); + targetPosition.current.copy(currentTargetPos) + .addScaledVector(viewDirection, focusDistance) + .add(new Vector3(0, focusDistance * 0.12, 0)); // Start animation to target startPosition.current.copy(camera.position); + startLookPosition.current.copy(previousLook); + trackedLookPosition.current.copy(currentTargetPos); isAnimating.current = true; animationProgress.current = 0; @@ -108,9 +113,11 @@ export function CameraController({ animationProgress.current = 0; } } - }, [focusTarget, allBodies, camera]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [focusTarget?.id, camera, controlsRef, typeConfigs]); useFrame((_, delta) => { + const orbitControls = controlsRef.current; if (isAnimating.current) { // Smooth animation using easing animationProgress.current += delta * 0.8; // Animation speed @@ -129,15 +136,24 @@ export function CameraController({ // Interpolate camera position camera.position.lerpVectors(startPosition.current, targetPosition.current, eased); - // Look at target - use smart rendered position (only during animation) - if (focusTarget) { - const renderPos = calculateRenderPosition(focusTarget, allBodies); - camera.lookAt(renderPos.x, renderPos.z, renderPos.y); - } else { - camera.lookAt(0, 0, 0); + if (orbitControls) { + orbitControls.target.lerpVectors(startLookPosition.current, targetLookPosition.current, eased); + orbitControls.update(); + } + camera.lookAt(targetLookPosition.current); + } else if (focusTarget && orbitControls) { + const bodies = allBodiesRef.current; + const latestBody = bodies.find((body) => body.id === focusTarget.id) ?? focusTarget; + const renderPos = calculateRenderPosition(latestBody, bodies, typeConfigs); + const nextLook = new Vector3(renderPos.x, renderPos.z, renderPos.y); + const movement = nextLook.sub(trackedLookPosition.current); + if (movement.lengthSq() > 0.00000001) { + camera.position.add(movement); + orbitControls.target.add(movement); + trackedLookPosition.current.add(movement); + orbitControls.update(); } } - // After animation completes, OrbitControls will take over }); return null; diff --git a/frontend/src/components/CelestialBody.tsx b/frontend/src/components/CelestialBody.tsx index f2707a9..4df588a 100644 --- a/frontend/src/components/CelestialBody.tsx +++ b/frontend/src/components/CelestialBody.tsx @@ -5,24 +5,26 @@ import { useRef, useMemo, useState, useEffect } from 'react'; import { Mesh, DoubleSide } from 'three'; // Removed AdditiveBlending here import * as THREE from 'three'; // Imported as * to access AdditiveBlending, SpriteMaterial, CanvasTexture import { useFrame } from '@react-three/fiber'; -import { useTexture, Billboard } from '@react-three/drei'; +import { Billboard } from '@react-three/drei'; import type { CelestialBody as CelestialBodyType } from '../types'; import { calculateRenderPosition, getOffsetDescription } from '../utils/renderPosition'; import { fetchBodyResources } from '../utils/api'; import { getCelestialSize } from '../config/celestialSizes'; import { createLabelTexture } from '../utils/labelTexture'; +import { useOptionalTexture } from '../hooks/useOptionalTexture'; interface CelestialBodyProps { body: CelestialBodyType; allBodies: CelestialBodyType[]; isSelected?: boolean; + showLabel?: boolean; onBodySelect?: (body: CelestialBodyType) => void; typeConfigs?: any; } // Planetary Rings component - handles texture-based rings function PlanetaryRings({ texturePath, planetRadius }: { texturePath?: string | null, planetRadius: number }) { - const texture = texturePath ? useTexture(texturePath) : null; + const texture = useOptionalTexture(texturePath); const meshRef = useRef(null); // Dynamic ring dimensions based on planet size @@ -87,13 +89,14 @@ function PlanetaryRings({ texturePath, planetRadius }: { texturePath?: string | } // Planet component with texture -function Planet({ body, size, emissive, emissiveIntensity, allBodies, isSelected = false, onBodySelect, typeConfigs }: { +function Planet({ body, size, emissive, emissiveIntensity, allBodies, isSelected = false, showLabel = true, onBodySelect, typeConfigs }: { body: CelestialBodyType; size: number; emissive: string; emissiveIntensity: number; allBodies: CelestialBodyType[]; isSelected?: boolean; + showLabel?: boolean; onBodySelect?: (body: CelestialBodyType) => void; typeConfigs?: any; }) { @@ -164,6 +167,7 @@ function Planet({ body, size, emissive, emissiveIntensity, allBodies, isSelected hasOffset={renderPosition.hasOffset} allBodies={allBodies} isSelected={isSelected} + showLabel={showLabel} onBodySelect={onBodySelect} />; } @@ -215,6 +219,7 @@ function IrregularNucleus({ size, texture, onClick }: { size: number; texture: T > {texture ? ( ) : ( ; + meshRef: React.RefObject; hasOffset: boolean; allBodies: CelestialBodyType[]; isSelected?: boolean; + showLabel?: boolean; onBodySelect?: (body: CelestialBodyType) => void; }) { - // Load texture if path is provided - const texture = texturePath ? useTexture(texturePath) : null; + const texture = useOptionalTexture(texturePath); // Slow rotation for visual effect useFrame((_, delta) => { @@ -380,6 +386,7 @@ function PlanetMesh({ body, size, emissive, emissiveIntensity, scaledPos, textur {texture ? ( ) : ( { if (body.type === 'star') { return { @@ -534,6 +537,13 @@ export function CelestialBody({ body, allBodies, isSelected = false, onBodySelec }; }, [body, typeConfigs]); + if (!position) return null; + + // Skip probes - they will use 3D models + if (body.type === 'probe') { + return null; + } + return ( diff --git a/frontend/src/components/ControlPanel.tsx b/frontend/src/components/ControlPanel.tsx index 6c3b533..d42adaa 100644 --- a/frontend/src/components/ControlPanel.tsx +++ b/frontend/src/components/ControlPanel.tsx @@ -1,6 +1,5 @@ import { Calendar, - Orbit, Volume2, VolumeX, MessageSquare, @@ -9,6 +8,7 @@ import { Camera, Globe, Sparkles + ,Rocket } from 'lucide-react'; interface ControlPanelProps { @@ -23,6 +23,7 @@ interface ControlPanelProps { onScreenshot: () => void; viewMode: 'solar' | 'galaxy'; onToggleViewMode: () => void; + onOpenRocketSimulator: () => void; } export function ControlPanel({ @@ -37,6 +38,7 @@ export function ControlPanel({ onScreenshot, viewMode, onToggleViewMode, + onOpenRocketSimulator, }: ControlPanelProps) { const buttonClass = (isActive: boolean) => ` p-2 rounded-lg transition-all duration-200 relative group @@ -50,6 +52,15 @@ export function ControlPanel({ return (
+ + {/* View Mode Toggle */}
); -} \ No newline at end of file +} diff --git a/frontend/src/components/Probe.tsx b/frontend/src/components/Probe.tsx index ab812d4..c5b953c 100644 --- a/frontend/src/components/Probe.tsx +++ b/frontend/src/components/Probe.tsx @@ -15,17 +15,18 @@ interface ProbeProps { body: CelestialBody; allBodies: CelestialBody[]; isSelected?: boolean; + showLabel?: boolean; onBodySelect?: (body: CelestialBody) => void; typeConfigs?: any; } // Separate component for each probe type to properly use hooks -function ProbeModel({ body, modelPath, allBodies, isSelected = false, onError, resourceScale = 1.0, onBodySelect, typeConfigs }: { +function ProbeModel({ body, modelPath, allBodies, isSelected = false, showLabel = true, resourceScale = 1.0, onBodySelect, typeConfigs }: { body: CelestialBody; modelPath: string; allBodies: CelestialBody[]; isSelected?: boolean; - onError: () => void; + showLabel?: boolean; resourceScale?: number; onBodySelect?: (body: CelestialBody) => void; typeConfigs?: any; @@ -111,25 +112,13 @@ function ProbeModel({ body, modelPath, allBodies, isSelected = false, onError, r } }); - // Render Logic - if (!scene || !configuredScene) return null; - // Calculate ACTUAL distance from Sun (not scaled) const distance = Math.sqrt(position.x ** 2 + position.y ** 2 + position.z ** 2); // Get offset description if this probe has one const offsetDesc = renderPosition.hasOffset ? getOffsetDescription(body, allBodies) : null; - // Handle click event - const handleClick = (e: any) => { - e.stopPropagation(); - if (onBodySelect) { - onBodySelect(body); - } - }; - - // Generate label texture - // eslint-disable-next-line react-hooks/rules-of-hooks + // 6. Hook: Label texture (must be called before any early return to keep hook order stable) const labelTexture = useMemo(() => { return createLabelTexture( body.name_zh || body.name, @@ -139,6 +128,17 @@ function ProbeModel({ body, modelPath, allBodies, isSelected = false, onError, r ); }, [body.name, body.name_zh, offsetDesc, distance]); + // Render Logic + if (!scene || !configuredScene) return null; + + // Handle click event + const handleClick = (e: any) => { + e.stopPropagation(); + if (onBodySelect) { + onBodySelect(body); + } + }; + return ( {/* Name label with CanvasTexture */} - {labelTexture && ( + {showLabel && labelTexture && ( void; typeConfigs?: any; }) { @@ -231,7 +232,7 @@ function ProbeFallback({ body, allBodies, isSelected = false, onBodySelect, type
{/* Name label with CanvasTexture */} - {labelTexture && ( + {showLabel && labelTexture && ( (undefined); const [loadError, setLoadError] = useState(false); @@ -312,11 +313,9 @@ export function Probe({ body, allBodies, isSelected = false, onBodySelect, typeC modelPath={modelPath} allBodies={allBodies} isSelected={isSelected} + showLabel={showLabel} resourceScale={resourceScale} onBodySelect={onBodySelect} - onError={() => { - setLoadError(true); - }} typeConfigs={typeConfigs} />; } @@ -325,6 +324,7 @@ export function Probe({ body, allBodies, isSelected = false, onBodySelect, typeC body={body} allBodies={allBodies} isSelected={isSelected} + showLabel={showLabel} onBodySelect={onBodySelect} typeConfigs={typeConfigs} />; diff --git a/frontend/src/components/ProbeList.tsx b/frontend/src/components/ProbeList.tsx index 29c18c8..9b01047 100644 --- a/frontend/src/components/ProbeList.tsx +++ b/frontend/src/components/ProbeList.tsx @@ -18,10 +18,6 @@ export function ProbeList({ probes, planets, onBodySelect, selectedBody, onReset // Auto-expand the group when a body is selected from the 3D scene useEffect(() => { if (selectedBody) { - // Don't auto-collapse panel if it's already open - // Only auto-collapse if panel was already collapsed - // This allows users to keep the panel open while browsing bodies - // Auto-expand the group that contains the selected body setExpandedGroup(selectedBody.type); } @@ -79,6 +75,10 @@ export function ProbeList({ probes, planets, onBodySelect, selectedBody, onReset setExpandedGroup(prev => prev === groupName ? null : groupName); }; + const handleBodySelect = (body: CelestialBody) => { + onBodySelect(body); + }; + return (
toggleGroup('star')} selectedBody={selectedBody} - onBodySelect={onBodySelect} + onBodySelect={handleBodySelect} /> )} @@ -175,7 +175,7 @@ export function ProbeList({ probes, planets, onBodySelect, selectedBody, onReset isExpanded={expandedGroup === 'planet'} onToggle={() => toggleGroup('planet')} selectedBody={selectedBody} - onBodySelect={onBodySelect} + onBodySelect={handleBodySelect} /> )} @@ -189,7 +189,7 @@ export function ProbeList({ probes, planets, onBodySelect, selectedBody, onReset isExpanded={expandedGroup === 'dwarf_planet'} onToggle={() => toggleGroup('dwarf_planet')} selectedBody={selectedBody} - onBodySelect={onBodySelect} + onBodySelect={handleBodySelect} /> )} @@ -203,7 +203,7 @@ export function ProbeList({ probes, planets, onBodySelect, selectedBody, onReset isExpanded={expandedGroup === 'satellite'} onToggle={() => toggleGroup('satellite')} selectedBody={selectedBody} - onBodySelect={onBodySelect} + onBodySelect={handleBodySelect} /> )} @@ -217,7 +217,7 @@ export function ProbeList({ probes, planets, onBodySelect, selectedBody, onReset isExpanded={expandedGroup === 'comet'} onToggle={() => toggleGroup('comet')} selectedBody={selectedBody} - onBodySelect={onBodySelect} + onBodySelect={handleBodySelect} /> )} @@ -231,7 +231,7 @@ export function ProbeList({ probes, planets, onBodySelect, selectedBody, onReset isExpanded={expandedGroup === 'probe'} onToggle={() => toggleGroup('probe')} selectedBody={selectedBody} - onBodySelect={onBodySelect} + onBodySelect={handleBodySelect} /> )} diff --git a/frontend/src/components/Scene.tsx b/frontend/src/components/Scene.tsx index d3afe8b..1e61b2a 100644 --- a/frontend/src/components/Scene.tsx +++ b/frontend/src/components/Scene.tsx @@ -3,7 +3,9 @@ */ import { Canvas } from '@react-three/fiber'; import { OrbitControls, Stars as BackgroundStars, Html } from '@react-three/drei'; -import { useMemo, useState, useEffect } from 'react'; +import * as THREE from 'three'; +import { useMemo, useState, useEffect, useCallback, useRef } from 'react'; +import type { OrbitControls as OrbitControlsImpl } from 'three-stdlib'; import { CelestialBody } from './CelestialBody'; import { Probe } from './Probe'; import { CameraController } from './CameraController'; @@ -15,7 +17,6 @@ import { Galaxies } from './Galaxies'; import { Nebulae } from './Nebulae'; import { FocusInfo } from './FocusInfo'; import { AsteroidBelts } from './AsteroidBelts'; -import { scalePosition } from '../utils/scaleDistance'; import { calculateRenderPosition } from '../utils/renderPosition'; import type { CelestialBody as CelestialBodyType, Position } from '../types'; import type { ToastContextValue } from '../contexts/ToastContext'; // Import ToastContextValue @@ -35,6 +36,29 @@ interface SceneProps { export function Scene({ bodies, selectedBody, trajectoryPositions = [], showOrbits = true, onBodySelect, resetTrigger = 0, toast, onViewDetails }: SceneProps) { const [typeConfigs] = useSystemSetting('celestial_type_configs', null); const [rawCameraPos] = useSystemSetting('default_camera_position', [10, 8, 10]); + const [rendererGeneration, setRendererGeneration] = useState(0); + const recoveryAttemptedRef = useRef(false); + const contextListenerCleanupRef = useRef<(() => void) | null>(null); + const orbitControlsRef = useRef(null); + + useEffect(() => () => contextListenerCleanupRef.current?.(), []); + + const handleCanvasCreated = useCallback(({ gl, camera }: { gl: THREE.WebGLRenderer; camera: THREE.Camera }) => { + gl.sortObjects = true; + gl.setClearColor(0x000000, 1); + camera.lookAt(0, 0, 0); + + contextListenerCleanupRef.current?.(); + const canvas = gl.domElement; + const handleContextLost = (event: Event) => { + event.preventDefault(); + if (recoveryAttemptedRef.current) return; + recoveryAttemptedRef.current = true; + setRendererGeneration((generation) => generation + 1); + }; + canvas.addEventListener('webglcontextlost', handleContextLost, { once: true }); + contextListenerCleanupRef.current = () => canvas.removeEventListener('webglcontextlost', handleContextLost); + }, []); // Parse camera position if it's a string (from system settings) const defaultCameraPos = useMemo(() => { @@ -85,31 +109,21 @@ export function Scene({ bodies, selectedBody, trajectoryPositions = [], showOrbi // Always show all probes (changed from previous behavior) const visibleProbes = probes; - // Calculate target position for OrbitControls - const controlsTarget = useMemo(() => { - if (selectedBody) { - const pos = selectedBody.positions[0]; - const scaledPos = scalePosition(pos.x, pos.y, pos.z); - return [scaledPos.x, scaledPos.z, scaledPos.y] as [number, number, number]; - } - return [0, 0, 0] as [number, number, number]; - }, [selectedBody]); - - // Calculate position for FocusInfo (needs to match rendered position of body) + const currentSelectedBody = useMemo( + () => selectedBody ? bodies.find((body) => body.id === selectedBody.id) ?? selectedBody : null, + [bodies, selectedBody], + ); const focusInfoPosition = useMemo(() => { - if (!selectedBody) return [0, 0, 0] as [number, number, number]; - - // We need to use the EXACT same logic as CelestialBody/Probe components - // to ensure the label sticks to the object - const renderPos = calculateRenderPosition(selectedBody, bodies, typeConfigs); - - // Convert to Three.js coordinates (x, z, y) - return [renderPos.x, renderPos.z, renderPos.y] as [number, number, number]; - }, [selectedBody, bodies, typeConfigs]); + if (!currentSelectedBody) return [0, 0, 0] as [number, number, number]; + const position = calculateRenderPosition(currentSelectedBody, bodies, typeConfigs); + return [position.x, position.z, position.y] as [number, number, number]; + }, [bodies, currentSelectedBody, typeConfigs]); return (
{ - gl.sortObjects = true; // Enable object sorting by renderOrder - camera.lookAt(0, 0, 0); // Look at the Sun (center) - }} + onCreated={handleCanvasCreated} > - {/* Camera controller for smooth transitions */} - - {/* Increase ambient light to see textures better */} @@ -171,6 +174,7 @@ export function Scene({ bodies, selectedBody, trajectoryPositions = [], showOrbi body={body} allBodies={bodies} isSelected={selectedBody?.id === body.id} + showLabel={!selectedBody || selectedBody.id === body.id} onBodySelect={onBodySelect} typeConfigs={typeConfigs} /> @@ -186,6 +190,7 @@ export function Scene({ bodies, selectedBody, trajectoryPositions = [], showOrbi body={body} allBodies={bodies} isSelected={selectedBody?.id === body.id} + showLabel={!selectedBody || selectedBody.id === body.id} onBodySelect={onBodySelect} typeConfigs={typeConfigs} /> @@ -202,23 +207,36 @@ export function Scene({ bodies, selectedBody, trajectoryPositions = [], showOrbi {/* Camera controls */} + {/* Run after OrbitControls so focus interpolation owns the final camera transform. */} + + {/* Dynamic Focus Info Label */} - {selectedBody && showInfoPanel && ( - - setShowInfoPanel(false)} - toast={toast} - onViewDetails={onViewDetails} + {currentSelectedBody && showInfoPanel && ( + + setShowInfoPanel(false)} + toast={toast} + onViewDetails={onViewDetails} /> )} diff --git a/frontend/src/components/TimelineController.tsx b/frontend/src/components/TimelineController.tsx index df30cde..cc38bff 100644 --- a/frontend/src/components/TimelineController.tsx +++ b/frontend/src/components/TimelineController.tsx @@ -1,7 +1,7 @@ /** * TimelineController - controls time for viewing historical positions */ -import { useState, useEffect, useCallback, useRef } from 'react'; +import { useState, useEffect, useCallback, useRef, useMemo } from 'react'; import { Play, Pause, RotateCcw, FastForward, CalendarClock } from 'lucide-react'; export interface TimelineState { @@ -19,14 +19,19 @@ interface TimelineControllerProps { } export function TimelineController({ onTimeChange, minDate, maxDate }: TimelineControllerProps) { - // Swap: startDate is now (maxDate), endDate is past (minDate) - const startDate = maxDate || new Date(); // Start from now - const endDate = minDate || new Date(Date.now() - 365 * 24 * 60 * 60 * 1000); // End at past + // Swap: startDate is now (maxDate), endDate is past (minDate). + // Reduce to primitive timestamps so identity is stable across parent re-renders + // (minDate/maxDate are frequently passed as fresh `new Date(...)` objects). + const startTime = maxDate ? maxDate.getTime() : Date.now(); + const endTime = minDate ? minDate.getTime() : Date.now() - 365 * 24 * 60 * 60 * 1000; - const [currentDate, setCurrentDate] = useState(startDate); // Start from now + const startDate = useMemo(() => new Date(startTime), [startTime]); + const endDate = useMemo(() => new Date(endTime), [endTime]); + + const [currentDate, setCurrentDate] = useState(() => new Date(startTime)); // Start from now const [isPlaying, setIsPlaying] = useState(false); const [speed, setSpeed] = useState(1); // 1 day per second - const animationFrameRef = useRef(); + const animationFrameRef = useRef(undefined); const lastUpdateRef = useRef(Date.now()); // Animation loop diff --git a/frontend/src/components/UserAuth.tsx b/frontend/src/components/UserAuth.tsx index 7ff2394..60d67fc 100644 --- a/frontend/src/components/UserAuth.tsx +++ b/frontend/src/components/UserAuth.tsx @@ -1,9 +1,9 @@ import { useState } from 'react'; import { User, LogOut, LayoutDashboard, LogIn } from 'lucide-react'; -import { API_BASE_URL } from '../utils/request'; +import type { AuthUser } from '../utils/auth'; interface UserAuthProps { - user: any; + user: AuthUser | null | undefined; onOpenAuth: () => void; onLogout: () => void; onNavigateToAdmin: () => void; @@ -26,7 +26,7 @@ export function UserAuth({ user, onOpenAuth, onLogout, onNavigateToAdmin }: User // Helper to get full avatar URL const getAvatarUrl = () => { - if (!user?.avatar_url) return null; + if (!user?.avatar_url) return undefined; return `/upload/${user.avatar_url}`; }; @@ -77,8 +77,7 @@ export function UserAuth({ user, onOpenAuth, onLogout, onNavigateToAdmin }: User
@@ -162,7 +166,7 @@ export function DataTable({ showTotal: (total) => `共 ${total} 条`, } } - scroll={{ x: 'max-content' }} + scroll={scroll} /> ); diff --git a/frontend/src/features/rocket-simulator/RocketFlightScene.tsx b/frontend/src/features/rocket-simulator/RocketFlightScene.tsx new file mode 100644 index 0000000..a99ec40 --- /dev/null +++ b/frontend/src/features/rocket-simulator/RocketFlightScene.tsx @@ -0,0 +1,409 @@ +import { useEffect, useLayoutEffect, useMemo, useRef } from 'react'; +import { Canvas, useFrame } from '@react-three/fiber'; +import { OrbitControls, Stars } from '@react-three/drei'; +import * as THREE from 'three'; +import type { OrbitControls as OrbitControlsImpl } from 'three-stdlib'; +import type { RocketConfig, SimulationState } from './types'; +import { useOptionalTexture } from '../../hooks/useOptionalTexture'; +import { RocketModel } from './RocketModel'; +import { clamp, fogColor, groundDrop, separationAge, skyColor, starOpacity } from './sceneMath'; + +export type CameraMode = 'follow' | 'global'; + +interface RocketFlightSceneProps { + rocket: RocketConfig; + state: SimulationState; + cameraMode: CameraMode; + viewScale: number; + viewScaleResetTrigger: number; + onViewScaleChange: (scale: number) => void; +} + +const EARTH_RADIUS_METERS = 6_371_000; +const EARTH_RADIUS = 34; +const EARTH_TEXTURE = '/upload/texture/2k_earth_daymap.jpg'; +const EARTH_CENTER = new THREE.Vector3(0, -EARTH_RADIUS, 0); +const EARTH_ROTATION = new THREE.Euler(0, -1.25, -0.08); +const VIEW_SCALE_CALIBRATION = 0.7; + +interface LaunchSite { + latitude: number; + longitude: number; +} + +interface ManualCameraRef { + current: boolean; +} + +function launchSiteForRocket(rocket: RocketConfig) { + return { + latitude: rocket.launch_latitude_deg, + longitude: rocket.launch_longitude_deg, + }; +} + +function orbitLift(targetAltitude: number) { + return clamp(targetAltitude / 200_000 * 11, 8, 18); +} + +function globalFlightFrame(altitude: number, downrange: number, targetAltitude: number, site: LaunchSite) { + const radius = EARTH_RADIUS + clamp(altitude / targetAltitude, 0, 1.45) * orbitLift(targetAltitude); + const angle = downrange / EARTH_RADIUS_METERS; + const latitude = THREE.MathUtils.degToRad(site.latitude); + const longitude = THREE.MathUtils.degToRad(site.longitude); + const launchNormal = new THREE.Vector3( + Math.cos(latitude) * Math.cos(longitude), + Math.sin(latitude), + -Math.cos(latitude) * Math.sin(longitude), + ); + const east = new THREE.Vector3(-Math.sin(longitude), 0, -Math.cos(longitude)); + const normal = launchNormal.multiplyScalar(Math.cos(angle)).addScaledVector(east, Math.sin(angle)).applyEuler(EARTH_ROTATION); + const tangent = east.multiplyScalar(Math.cos(angle)).addScaledVector( + new THREE.Vector3( + Math.cos(latitude) * Math.cos(longitude), + Math.sin(latitude), + -Math.cos(latitude) * Math.sin(longitude), + ), + -Math.sin(angle), + ).applyEuler(EARTH_ROTATION); + + return { + normal, + tangent, + position: EARTH_CENTER.clone().addScaledVector(normal, radius), + }; +} + +/** Stable single-plane ground, simple launch platform and service rack. */ +function LaunchRack({ state }: { state: SimulationState }) { + const groupRef = useRef(null); + + useFrame(() => { + if (groupRef.current) { + groupRef.current.position.y = -groundDrop(state.altitude); + // Slide sideways with downrange travel so the pad falls behind. + groupRef.current.position.x = -clamp(state.downrange / 4000, 0, 60); + } + }); + + return ( + + + + + + + + + + + + + + + {[5.4, 9.2].map((y) => ( + + + + + ))} + + + ); +} + +function EarthSurface({ texture, state }: { texture: THREE.Texture | null; state?: SimulationState }) { + const highAltitude = state ? state.altitude >= 9_000 : true; + if (!highAltitude) return null; + + const gap = state ? 7 + clamp((state.altitude - 9_000) / 91_000, 0, 1) * 5 : 0; + const radius = state ? 62 : EARTH_RADIUS; + const centerY = state ? -radius - gap : -EARTH_RADIUS; + + return ( + + + + + + + + + + + + + + + ); +} + +function TargetOrbit({ targetAltitude, launchSite }: { targetAltitude: number; launchSite: LaunchSite }) { + const orbit = useMemo(() => { + const radius = EARTH_RADIUS + orbitLift(targetAltitude); + const points = Array.from({ length: 181 }, (_, index) => { + const angle = index / 180 * Math.PI * 2; + return globalFlightFrame(0, angle * EARTH_RADIUS_METERS, targetAltitude, launchSite) + .normal.multiplyScalar(radius).add(EARTH_CENTER); + }); + const geometry = new THREE.BufferGeometry().setFromPoints(points); + const material = new THREE.LineDashedMaterial({ color: '#8a9496', dashSize: 1.2, gapSize: 0.75, transparent: true, opacity: 0.65 }); + const line = new THREE.LineLoop(geometry, material); + line.computeLineDistances(); + return line; + }, [launchSite, targetAltitude]); + + useEffect(() => () => { + orbit.geometry.dispose(); + (orbit.material as THREE.Material).dispose(); + }, [orbit]); + + return ; +} + +function FlightPath({ state, targetAltitude, launchSite }: { state: SimulationState; targetAltitude: number; launchSite: LaunchSite }) { + const line = useMemo(() => new THREE.Line( + new THREE.BufferGeometry(), + new THREE.LineBasicMaterial({ color: '#59c78f', transparent: true, opacity: 0.95 }), + ), []); + const lineRef = useRef(null); + + useLayoutEffect(() => { + const activeLine = lineRef.current; + if (!activeLine) return; + const points = [globalFlightFrame(0, 0, targetAltitude, launchSite).position]; + state.history.forEach((point) => { + points.push(globalFlightFrame(point.altitude, point.downrange, targetAltitude, launchSite).position); + }); + points.push(globalFlightFrame(state.altitude, state.downrange, targetAltitude, launchSite).position); + const previousGeometry = activeLine.geometry; + activeLine.geometry = new THREE.BufferGeometry().setFromPoints(points); + previousGeometry.dispose(); + }, [launchSite, state.altitude, state.downrange, state.history, targetAltitude]); + + useEffect(() => () => { + lineRef.current?.geometry.dispose(); + (line.material as THREE.Material).dispose(); + }, [line]); + + return ; +} + +function GlobalEarthView({ rocket, state, texture }: { rocket: RocketConfig; state: SimulationState; texture: THREE.Texture | null }) { + const targetAltitude = rocket.target_orbit_km * 1000; + const launchSite = launchSiteForRocket(rocket); + const frame = globalFlightFrame(state.altitude, state.downrange, targetAltitude, launchSite); + const launchFrame = globalFlightFrame(0, 0, targetAltitude, launchSite); + const pitchFromVertical = THREE.MathUtils.degToRad(90 - state.pitch); + const direction = frame.normal.clone().multiplyScalar(Math.cos(pitchFromVertical)) + .addScaledVector(frame.tangent, Math.sin(pitchFromVertical)).normalize(); + const orientation = new THREE.Quaternion().setFromUnitVectors(new THREE.Vector3(0, 1, 0), direction); + const markerPosition = launchFrame.position.clone().addScaledVector(launchFrame.normal, 0.25); + + return ( + <> + + + + + + + + + + + + + ); +} + +function FollowVehicle({ rocket, state }: { rocket: RocketConfig; state: SimulationState }) { + const pitchFromVertical = THREE.MathUtils.degToRad(90 - state.pitch); + + return ( + + + + + ); +} + +/** Expanding shockwave ring shown briefly at stage separation. */ +function SeparationBurst({ state }: { state: SimulationState }) { + const ringRef = useRef(null); + const age = separationAge(state); + + useFrame(() => { + if (!ringRef.current) return; + const visible = age !== null && age < 1.1; + ringRef.current.visible = visible; + if (visible && age !== null) { + const scale = 1 + age * 9; + ringRef.current.scale.set(scale, scale, scale); + const mat = ringRef.current.material as THREE.MeshBasicMaterial; + mat.opacity = clamp(1 - age / 1.1, 0, 1) * 0.7; + } + }); + + return ( + + + + + ); +} + +const _camPos = new THREE.Vector3(); +const _lookAt = new THREE.Vector3(); + +/** + * Two webcast-style camera modes: + * - follow: tight tracking shot that stays close to the vehicle, gently + * pulling back with altitude (like an onboard/tracking-dish view). + * - global: wide cinematic establishing shot that pulls far back so the + * receding pad, downrange arc and darkening sky are all in frame. + */ +function FlightCamera({ rocket, state, mode, viewScale, viewScaleResetTrigger, manualCameraRef }: { rocket: RocketConfig; state: SimulationState; mode: CameraMode; viewScale: number; viewScaleResetTrigger: number; manualCameraRef: ManualCameraRef }) { + useEffect(() => { + manualCameraRef.current = false; + }, [manualCameraRef, mode, rocket.code, viewScaleResetTrigger]); + + useFrame(({ camera, size }, delta) => { + if (manualCameraRef.current) return; + const perspectiveCamera = camera as THREE.PerspectiveCamera; + if (mode === 'follow') { + const zoom = VIEW_SCALE_CALIBRATION * clamp(viewScale, 50, 250) / 100; + const portraitScale = size.width / size.height < 0.8 ? 1.55 : 1; + const pullback = (22 + clamp(state.altitude / 4000, 0, 14)) / zoom * portraitScale; + const height = (7 + clamp(state.altitude / 7000, 0, 7)) / Math.sqrt(zoom); + const pitchFromVertical = THREE.MathUtils.degToRad(90 - state.pitch); + _camPos.set(pullback * 0.32, height, pullback); + _lookAt.set( + Math.sin(pitchFromVertical) * 5.2, + Math.cos(pitchFromVertical) * 5.2, + 0, + ); + perspectiveCamera.fov = THREE.MathUtils.lerp(perspectiveCamera.fov, 42, 0.08); + } else { + const portrait = size.width / size.height < 0.8; + const zoom = clamp(viewScale, 50, 250) / 100; + const targetAltitude = rocket.target_orbit_km * 1000; + const launchFrame = globalFlightFrame(0, 0, targetAltitude, launchSiteForRocket(rocket)); + const viewDirection = launchFrame.normal.clone() + .addScaledVector(launchFrame.tangent, -0.72) + .add(new THREE.Vector3(0, 0.16, 0)) + .normalize(); + _camPos.copy(EARTH_CENTER).addScaledVector(viewDirection, (portrait ? 320 : 165) / zoom); + _lookAt.copy(EARTH_CENTER); + perspectiveCamera.fov = THREE.MathUtils.lerp(perspectiveCamera.fov, 38, 0.08); + } + // Frame-rate independent smoothing. + const t = 1 - Math.pow(0.001, delta); + camera.position.lerp(_camPos, t * 0.9); + camera.lookAt(_lookAt); + perspectiveCamera.updateProjectionMatrix(); + }); + return null; +} + +/** Sky + fog that shift color with altitude to sell the climb into space. */ +function Atmosphere({ state, mode }: { state: SimulationState; mode: CameraMode }) { + useFrame(({ scene }) => { + if (mode === 'global') { + scene.background = new THREE.Color('#020408'); + scene.fog = null; + return; + } + const sky = new THREE.Color(skyColor(state.altitude)); + scene.background = sky; + if (!scene.fog) scene.fog = new THREE.Fog(sky, 40, 260); + const fog = scene.fog as THREE.Fog; + fog.color.set(fogColor(state.altitude)); + // Thin the fog out with altitude so orbit reads crisp and dark. + const density = clamp(1 - state.altitude / 45_000, 0, 1); + fog.near = 40 + (1 - density) * 400; + fog.far = 260 + (1 - density) * 1400; + }); + return null; +} + +function SceneContents({ rocket, state, cameraMode, viewScale, viewScaleResetTrigger, onViewScaleChange }: RocketFlightSceneProps) { + const earthTexture = useOptionalTexture(EARTH_TEXTURE); + const manualCameraRef = useRef(false); + const orbitControlsRef = useRef(null); + const manualDistanceRef = useRef(null); + const viewScaleRef = useRef(viewScale); + viewScaleRef.current = viewScale; + const controlTarget = useMemo<[number, number, number]>( + () => cameraMode === 'follow' ? [0, 5.2, 0] : [EARTH_CENTER.x, EARTH_CENTER.y, EARTH_CENTER.z], + [cameraMode], + ); + + return ( + <> + + { + manualCameraRef.current = true; + manualDistanceRef.current = orbitControlsRef.current?.getDistance() ?? null; + }} + onChange={() => { + if (!manualCameraRef.current || manualDistanceRef.current === null || !orbitControlsRef.current) return; + const distance = orbitControlsRef.current.getDistance(); + if (distance <= 0) return; + const nextScale = Math.round(clamp(viewScaleRef.current * manualDistanceRef.current / distance, 50, 250) / 5) * 5; + manualDistanceRef.current = distance; + if (nextScale !== viewScaleRef.current) { + viewScaleRef.current = nextScale; + onViewScaleChange(nextScale); + } + }} + /> + + + + + 0.02}> + + + {cameraMode === 'follow' ? ( + <> + + + + + ) : ( + + )} + + ); +} + +export function RocketFlightScene({ rocket, state, cameraMode, viewScale, viewScaleResetTrigger, onViewScaleChange }: RocketFlightSceneProps) { + const initialSky = useMemo(() => skyColor(0), []); + return ( +
+ { + scene.background = new THREE.Color(initialSky); + camera.lookAt(0, 5.2, 0); + }} + > + + +
+ ); +} diff --git a/frontend/src/features/rocket-simulator/RocketModel.tsx b/frontend/src/features/rocket-simulator/RocketModel.tsx new file mode 100644 index 0000000..b9a47b2 --- /dev/null +++ b/frontend/src/features/rocket-simulator/RocketModel.tsx @@ -0,0 +1,320 @@ +import { useMemo, useRef } from 'react'; +import { useFrame } from '@react-three/fiber'; +import * as THREE from 'three'; +import type { RocketConfig, SimulationState } from './types'; +import { engineState, separationAge, separationTransform, stageGeometry } from './sceneMath'; + +const DARK = '#20262d'; +const METAL = '#8b96a1'; + +/** + * Animated exhaust plume. The whole plume is anchored at the engine bell (local + * y = 0) and grows DOWNWARD; we scale an anchored group (not a center-origin + * mesh) so the flame root always stays glued to the nozzle regardless of + * throttle/flicker. `nozzleY` is where the engine bell sits in the parent. + */ +function EnginePlume({ + radius, + length, + throttle, + active, + running, + nozzleY = 0, +}: { + radius: number; + length: number; + throttle: number; + active: boolean; + running: boolean; + nozzleY?: number; +}) { + const anchorRef = useRef(null); + const lightRef = useRef(null); + + useFrame(({ clock }) => { + if (!anchorRef.current || !running) return; + const flicker = 0.85 + Math.sin(clock.elapsedTime * 45) * 0.12 + Math.random() * 0.06; + const stretch = flicker * (0.5 + throttle * 0.7); + // Only Y is animated; the group origin stays at the nozzle so the flame + // never detaches from the tail. + anchorRef.current.scale.set(0.75 + throttle * 0.35, stretch, 0.75 + throttle * 0.35); + if (lightRef.current) lightRef.current.intensity = 5 + flicker * 3; + }); + + if (!active) return null; + // Cones are built with their tip up and base down, positioned so the base + // (top of cone) sits exactly at the nozzle and the tip points away. + return ( + + + + + + + + + + + + ); +} + +/** Nozzle cluster drawn as a dark boat-tail plus a few nozzle cones. */ +function EngineCluster({ radius, count }: { radius: number; count: number }) { + const nozzles = Math.min(count, 9); + const ring = useMemo(() => { + if (nozzles <= 1) return [[0, 0]] as Array<[number, number]>; + const points: Array<[number, number]> = [[0, 0]]; + const outer = nozzles - 1; + for (let i = 0; i < outer; i += 1) { + const angle = (i / outer) * Math.PI * 2; + points.push([Math.cos(angle) * radius * 0.5, Math.sin(angle) * radius * 0.5]); + } + return points; + }, [nozzles, radius]); + + return ( + + + + + + {ring.map(([x, z], i) => ( + + + + + ))} + + ); +} + +/** Grid-fin / stabiliser fins around the base of the first stage. */ +function Fins({ radius, height }: { radius: number; height: number }) { + return ( + + {[0, 1, 2, 3].map((i) => ( + + + + + ))} + + ); +} + +interface StageProps { + radius: number; + height: number; + color: string; +} + +/** First-stage airframe with fins and engine cluster; base sits at local y=0. */ +function FirstStageBody({ radius, height, color, engineCount }: StageProps & { engineCount: number }) { + return ( + + + + + + {/* Livery band near the top of the stage */} + + + + + + + + + + ); +} + +/** Interstage + second stage + payload fairing/nose; base sits at local y=0. */ +function UpperStack({ + radius, + interstageHeight, + stage2Height, + noseHeight, + color, + engineCount, +}: { + radius: number; + interstageHeight: number; + stage2Height: number; + noseHeight: number; + color: string; + engineCount: number; +}) { + const stage2Base = interstageHeight; + const noseBase = interstageHeight + stage2Height; + return ( + + {/* Interstage (dark) */} + + + + + {/* Second-stage engine bell tucked under the interstage */} + + + + {/* Second-stage body */} + + + + + {/* Payload fairing / nose cone */} + + + + + + ); +} + +function PayloadSatellite({ radius, panelProgress }: { radius: number; panelProgress: number }) { + const satelliteRef = useRef(null); + const easedProgress = 1 - Math.pow(1 - panelProgress, 3); + + useFrame((_, delta) => { + if (satelliteRef.current) satelliteRef.current.rotation.y += delta * 0.18; + }); + + return ( + + + + + + + + + + + + + + {[-1, 1].map((direction) => ( + + + + + + + + + + + ))} + + ); +} + +interface RocketModelProps { + rocket: RocketConfig; + state: SimulationState; +} + +/** + * Full launch vehicle. Each discarded stage drifts away from the active stack; + * after orbital insertion, the payload separates and deploys its solar arrays. + */ +export function RocketModel({ rocket, state }: RocketModelProps) { + const geo = useMemo(() => stageGeometry(rocket), [rocket]); + const engines = engineState(state); + const age = separationAge(state); + const sep = separationTransform(age); + const deployEvent = state.events.find((event) => event.id === 'deploy'); + const deployAge = deployEvent ? Math.max(0, state.time - deployEvent.time) : null; + const deployProgress = deployAge === null ? 0 : Math.min(1, deployAge / 2.4); + + const firstStageRef = useRef(null); + const upperStackRef = useRef(null); + + // The upper stack stays anchored until payload deployment. The first stage + // sits directly below it (base at local y=0) until stage separation. + const upperBaseY = geo.stage1Height; + const payloadY = upperBaseY + geo.interstageHeight + geo.stage2Height + geo.noseHeight * 0.58; + + useFrame(() => { + if (firstStageRef.current) { + if (sep) { + firstStageRef.current.position.set(sep.drift, -sep.drop, 0); + firstStageRef.current.rotation.set(sep.tumble * 0.6, sep.tumble * 0.3, sep.tumble); + firstStageRef.current.visible = sep.opacity > 0.02; + } else { + firstStageRef.current.position.set(0, 0, 0); + firstStageRef.current.rotation.set(0, 0, 0); + firstStageRef.current.visible = true; + } + } + + if (upperStackRef.current) { + if (deployAge === null) { + upperStackRef.current.position.set(0, upperBaseY, 0); + upperStackRef.current.rotation.set(0, 0, 0); + upperStackRef.current.visible = true; + } else { + upperStackRef.current.position.set(-deployAge * 0.72, upperBaseY - deployAge * 0.82, deployAge * 0.18); + upperStackRef.current.rotation.set(deployAge * 0.16, deployAge * 0.08, -deployAge * 0.3); + upperStackRef.current.visible = deployAge < 5.2; + } + } + }); + + return ( + + {/* Upper stack: active through insertion, then discarded after deployment. */} + + + {/* Stage-2 plume: fires from the second-stage bell (above interstage) */} + + + + + + {deployAge !== null && ( + + + + )} + + {/* First stage: attached below the stack, or detached and falling */} + + + {/* Stage-1 plume: fires from the engine cluster at the base (y≈0) */} + + + + ); +} diff --git a/frontend/src/features/rocket-simulator/TelemetryChart.tsx b/frontend/src/features/rocket-simulator/TelemetryChart.tsx new file mode 100644 index 0000000..6c25819 --- /dev/null +++ b/frontend/src/features/rocket-simulator/TelemetryChart.tsx @@ -0,0 +1,25 @@ +import type { TelemetryPoint } from './types'; + +export function TelemetryChart({ history }: { history: TelemetryPoint[] }) { + if (history.length < 2) { + return
点火后开始记录飞行曲线
; + } + const points = history.slice(-100); + const maxAltitude = Math.max(...points.map((point) => point.altitude), 1); + const maxVelocity = Math.max(...points.map((point) => point.velocity), 1); + const altitudeLine = points.map((point, index) => `${index / (points.length - 1) * 100},${38 - point.altitude / maxAltitude * 34}`).join(' '); + const velocityLine = points.map((point, index) => `${index / (points.length - 1) * 100},${38 - point.velocity / maxVelocity * 34}`).join(' '); + + return ( +
+
高度速度
+ + + + + + +
+ ); +} + diff --git a/frontend/src/features/rocket-simulator/api.ts b/frontend/src/features/rocket-simulator/api.ts new file mode 100644 index 0000000..309f383 --- /dev/null +++ b/frontend/src/features/rocket-simulator/api.ts @@ -0,0 +1,8 @@ +import { api } from '../../utils/api'; +import type { RocketConfig } from './types'; + +export async function fetchRocketConfigs(): Promise { + const response = await api.get('/rockets'); + return response.data; +} + diff --git a/frontend/src/features/rocket-simulator/rocket-simulator.css b/frontend/src/features/rocket-simulator/rocket-simulator.css new file mode 100644 index 0000000..d554531 --- /dev/null +++ b/frontend/src/features/rocket-simulator/rocket-simulator.css @@ -0,0 +1,925 @@ +.rocket-simulator-page { + --panel: rgba(10, 12, 13, 0.88); + --panel-solid: #0b0d0e; + --line: rgba(255, 255, 255, 0.16); + --line-strong: rgba(255, 255, 255, 0.3); + --text: #f4f6f5; + --muted: #929998; + --green: #2ea66f; + --green-bright: #54d497; + --amber: #f2b84b; + position: relative; + width: 100vw; + height: 100vh; + overflow: hidden; + color: var(--text); + background: #020304; + font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; + letter-spacing: 0; +} + +.rocket-simulator-page button, +.rocket-simulator-page select { + font: inherit; + letter-spacing: 0; +} + +.rocket-flight-scene { + position: absolute; + inset: 0; + overflow: hidden; + background: #020304; +} + +.rocket-flight-scene canvas { + position: absolute; + inset: 0; + width: 100% !important; + height: 100% !important; + display: block; +} + +.sx-icon-btn { + width: 34px; + height: 34px; + flex: 0 0 34px; + border: 1px solid var(--line); + border-radius: 4px; + color: #dfe3e2; + background: rgba(13, 16, 17, 0.82); + display: inline-flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: border-color 150ms, background 150ms, color 150ms; +} + +.sx-icon-btn:hover, +.sx-icon-btn:focus-visible { + color: #fff; + border-color: var(--line-strong); + background: #202425; + outline: none; +} + +.sx-topbar { + position: absolute; + z-index: 6; + left: 0; + right: 0; + top: 0; + height: 64px; + display: flex; + align-items: center; + gap: 14px; + padding: 0 20px; + background: rgba(5, 7, 8, 0.92); + border-bottom: 1px solid var(--line); + backdrop-filter: blur(12px); +} + +.sx-brand { + display: flex; + align-items: center; + gap: 10px; + min-width: 210px; +} + +.sx-brand > svg { + color: var(--text); +} + +.sx-brand div { + display: flex; + min-width: 0; + flex-direction: column; +} + +.sx-brand strong { + font-size: 13px; + font-weight: 750; + line-height: 1.2; +} + +.sx-brand span { + margin-top: 2px; + overflow: hidden; + color: var(--muted); + font-size: 10px; + line-height: 1.2; + text-overflow: ellipsis; + white-space: nowrap; +} + +.sx-mission-status { + height: 38px; + min-width: 150px; + display: flex; + align-items: center; + gap: 9px; + padding: 0 12px; + border-left: 2px solid #606766; + background: rgba(255, 255, 255, 0.04); +} + +.sx-mission-status > span { + width: 7px; + height: 7px; + flex: 0 0 7px; + border-radius: 50%; + background: #68706e; +} + +.sx-mission-status > .sx-live { + background: var(--green-bright); + box-shadow: 0 0 0 4px rgba(84, 212, 151, 0.12); + animation: sxPulse 1.4s ease-in-out infinite; +} + +.sx-mission-status div { + display: flex; + flex-direction: column; +} + +.sx-mission-status small { + color: #777f7d; + font-size: 8px; + font-weight: 700; +} + +.sx-mission-status strong { + margin-top: 1px; + color: #e9edec; + font-size: 11px; + font-weight: 650; +} + +@keyframes sxPulse { + 50% { opacity: 0.45; } +} + +.sx-topbar-right { + margin-left: auto; + display: flex; + align-items: center; + gap: 10px; +} + +.sx-select { + width: 274px; + display: flex; + align-items: center; + gap: 9px; +} + +.sx-select > span { + flex: 0 0 auto; + color: #777f7d; + font-size: 8px; + font-weight: 700; +} + +.sx-select > div { + position: relative; + flex: 1 1 auto; + display: flex; + align-items: center; +} + +.sx-select select { + width: 100%; + height: 30px; + appearance: none; + padding: 0 28px 0 9px; + border: 1px solid var(--line); + border-radius: 4px; + outline: 0; + color: #edf0ef; + background: #111415; + cursor: pointer; + font-size: 11px; + font-weight: 600; +} + +.sx-select select:hover, +.sx-select select:focus-visible { + border-color: var(--line-strong); +} + +.sx-select svg { + position: absolute; + right: 9px; + color: #89908f; + pointer-events: none; +} + +.sx-select option { + color: #edf0ef; + background: #111415; +} + +.sx-seg { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + border: 1px solid var(--line); + border-radius: 4px; + overflow: hidden; +} + +.sx-seg button { + height: 34px; + min-width: 68px; + padding: 0 10px; + border: 0; + border-right: 1px solid var(--line); + color: #a9afad; + background: #111415; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; + cursor: pointer; + font-size: 11px; + font-weight: 650; + transition: background 150ms, color 150ms; +} + +.sx-seg button:last-child { + border-right: 0; +} + +.sx-seg button:hover, +.sx-seg button:focus-visible { + color: #fff; + background: #222627; + outline: none; +} + +.sx-seg button.active { + color: #fff; + background: #2a6048; +} + +.sx-camera-slider { + height: 34px; + min-width: 172px; + padding: 0 8px; + display: flex; + align-items: center; + gap: 6px; + border: 1px solid var(--line); + border-radius: 4px; + color: #8c9592; + background: #111415; +} + +.sx-camera-slider input { + width: 72px; + height: 3px; + accent-color: var(--green-bright); + cursor: pointer; +} + +.sx-camera-slider span { + width: 34px; + color: #c6ccca; + font-size: 9px; + font-variant-numeric: tabular-nums; + text-align: center; +} + +.sx-environment { + position: absolute; + z-index: 5; + left: 20px; + top: 84px; + width: 190px; + padding: 11px 13px; + display: flex; + flex-direction: column; + border-left: 2px solid var(--amber); + background: rgba(9, 11, 12, 0.72); + backdrop-filter: blur(8px); +} + +.sx-environment span { + color: var(--amber); + font-size: 8px; + font-weight: 750; +} + +.sx-environment strong { + margin-top: 2px; + font-size: 13px; + font-weight: 650; +} + +.sx-environment small { + margin-top: 3px; + color: var(--muted); + font-size: 9px; +} + +.sx-side { + position: absolute; + z-index: 5; + right: 20px; + top: 84px; + width: 208px; + padding: 0 15px 14px; + background: var(--panel); + border: 1px solid var(--line); + border-radius: 4px; + backdrop-filter: blur(10px); +} + +.sx-panel-title { + height: 44px; + margin: 0 -15px 8px; + padding: 0 15px; + display: flex; + align-items: center; + justify-content: space-between; + border-bottom: 1px solid var(--line); +} + +.sx-panel-title span { + color: #7f8785; + font-size: 9px; + font-weight: 750; +} + +.sx-panel-title b { + font-size: 11px; + font-weight: 650; +} + +.sx-side-row { + min-height: 29px; + display: flex; + align-items: baseline; + justify-content: space-between; +} + +.sx-side-row span { + color: #939a98; + font-size: 10px; +} + +.sx-side-row strong { + color: #f2f4f3; + font-size: 14px; + font-weight: 600; + font-variant-numeric: tabular-nums; +} + +.sx-side-row strong em { + margin-left: 4px; + color: #858c8a; + font-size: 9px; + font-style: normal; + font-weight: 500; +} + +.sx-side-divider { + height: 1px; + margin: 9px 0 12px; + background: var(--line); +} + +.sx-fuel-head { + margin-bottom: 7px; + display: flex; + align-items: baseline; + justify-content: space-between; +} + +.sx-fuel-head span { + color: #939a98; + font-size: 10px; +} + +.sx-fuel-head strong { + font-size: 13px; + font-weight: 700; +} + +.sx-fuel-track { + height: 4px; + overflow: hidden; + border-radius: 2px; + background: #292d2e; +} + +.sx-fuel-track i { + display: block; + height: 100%; + transition: width 200ms linear; +} + +.sx-fuel-track .s1 { background: var(--green-bright); } +.sx-fuel-track .s2 { background: var(--amber); } + +.sx-fuel-row { + display: grid; + grid-template-columns: 25px minmax(0, 1fr) 30px; + align-items: center; + gap: 6px; + min-height: 20px; +} + +.sx-fuel-row > span { + color: #8d9593; + font-size: 9px; +} + +.sx-fuel-row > b { + color: #dde2df; + font-size: 9px; + font-variant-numeric: tabular-nums; + text-align: right; +} + +.sx-fuel-total-row { + margin-top: 5px; + padding-top: 6px; + display: flex; + justify-content: space-between; + border-top: 1px solid var(--line); + color: #8d9593; + font-size: 9px; +} + +.sx-fuel-total-row b { + color: #dfe4e1; + font-variant-numeric: tabular-nums; +} + +.sx-bottom { + position: absolute; + z-index: 6; + left: 0; + right: 0; + bottom: 0; + padding: 0 0 14px; + background: linear-gradient(0deg, rgba(4, 5, 6, 0.98) 52%, rgba(4, 5, 6, 0.72) 78%, transparent); +} + +.sx-track { + padding: 18px 20px 10px; + display: flex; + justify-content: center; +} + +.sx-node { + position: relative; + min-width: 88px; + padding-top: 14px; + display: flex; + flex-direction: column; + align-items: center; +} + +.sx-node::before { + content: ""; + position: absolute; + top: 5px; + left: 50%; + width: 100%; + height: 1px; + background: rgba(255, 255, 255, 0.16); +} + +.sx-node:last-child::before { display: none; } + +.sx-node i { + position: absolute; + z-index: 2; + top: 1px; + width: 9px; + height: 9px; + border: 2px solid #626866; + border-radius: 50%; + background: #16191a; +} + +.sx-node b { + color: #737a78; + font-size: 10px; + font-weight: 750; +} + +.sx-node time { + margin-top: 2px; + color: #676d6c; + font-size: 9px; + font-variant-numeric: tabular-nums; +} + +.sx-node.reached::before { background: var(--green); } +.sx-node.reached i { border-color: #98e3bd; background: var(--green-bright); } +.sx-node.reached b { color: #dff5e9; } +.sx-node.reached time { color: #8bc6a7; } +.sx-node.next i { border-color: #ffe0a1; background: var(--amber); animation: sxPulse 1s ease-in-out infinite; } +.sx-node.next b { color: #f4d391; } + +.sx-hud { + min-height: 104px; + padding: 2px 24px 0; + display: flex; + align-items: center; + justify-content: center; + gap: 34px; +} + +.sx-gauge-cluster { + width: 292px; + display: flex; + align-items: center; + justify-content: flex-end; + gap: 18px; +} + +.sx-gauge-cluster-right { + justify-content: flex-start; +} + +.sx-arc-gauge { + position: relative; + width: 124px; + height: 92px; + flex: 0 0 124px; + color: #f4f6f5; + text-align: center; +} + +.sx-arc-gauge svg { + position: absolute; + inset: 0 auto auto 2px; + width: 120px; + height: 72px; + overflow: visible; +} + +.sx-arc-gauge path { + fill: none; + stroke-linecap: square; + stroke-width: 3; +} + +.sx-arc-track { stroke: rgba(255, 255, 255, 0.22); } +.sx-arc-value { stroke: #e7ecea; } +.sx-arc-needle { stroke: var(--amber); stroke-width: 1.5; } +.sx-arc-gauge circle { fill: var(--amber); } + +.sx-arc-gauge > span, +.sx-arc-gauge > strong, +.sx-arc-gauge > small { + position: absolute; + left: 0; + width: 100%; + font-variant-numeric: tabular-nums; +} + +.sx-arc-gauge > span { + top: 21px; + color: #929a97; + font-size: 8px; + font-weight: 750; +} + +.sx-arc-gauge > strong { + top: 33px; + font-size: 24px; + font-weight: 420; + line-height: 1; +} + +.sx-arc-gauge > small { + top: 61px; + color: #9da4a2; + font-size: 8px; + font-weight: 650; +} + +.sx-engine-gauge { + position: relative; + width: 124px; + height: 92px; + flex: 0 0 124px; + text-align: center; +} + +.sx-engine-ring { + --engine-radius: 23px; + position: relative; + width: 70px; + height: 70px; + margin: 0 auto; + border: 3px solid rgba(235, 240, 238, 0.8); + border-radius: 50%; + box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.08); +} + +.sx-engine-ring i { + position: absolute; + top: 50%; + left: 50%; + width: 9px; + height: 9px; + border: 1px solid #747c79; + border-radius: 50%; + background: #262b29; + transition: background 180ms, border-color 180ms, box-shadow 180ms; +} + +.sx-engine-center { + transform: translate(-50%, -50%); +} + +.sx-engine-outer { + transform: translate(-50%, -50%) rotate(var(--engine-angle)) translateY(calc(var(--engine-radius) * -1)); +} + +.sx-engine-ring i.active { + border-color: #ffe2a4; + background: var(--amber); + box-shadow: 0 0 6px rgba(242, 184, 75, 0.7); +} + +.sx-engine-gauge > span { + display: block; + margin-top: 2px; + color: #858d8a; + font-size: 7px; + font-weight: 750; +} + +.sx-attitude-gauge { + position: relative; + width: 124px; + height: 92px; + flex: 0 0 124px; + text-align: center; +} + +.sx-attitude-dial { + position: relative; + width: 70px; + height: 70px; + margin: 0 auto; + overflow: hidden; + border: 2px solid rgba(235, 240, 238, 0.72); + border-radius: 50%; + background: linear-gradient(180deg, rgba(50, 63, 69, 0.72) 0 49%, rgba(21, 25, 27, 0.88) 49% 100%); + box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.05); +} + +.sx-attitude-axis { + position: absolute; + z-index: 1; + background: rgba(230, 235, 233, 0.34); +} + +.sx-attitude-axis.horizontal { + top: 50%; + left: 7px; + right: 7px; + height: 1px; +} + +.sx-attitude-axis.vertical { + top: 7px; + bottom: 7px; + left: 50%; + width: 1px; +} + +.sx-attitude-vehicle { + position: absolute; + z-index: 2; + top: 50%; + left: 50%; + width: 26px; + height: 26px; + color: #f4f7f5; + filter: drop-shadow(0 0 5px rgba(242, 184, 75, 0.55)); + transform-origin: center; + transition: transform 120ms linear; +} + +.sx-attitude-gauge > span { + display: block; + margin-top: 2px; + color: #858d8a; + font-size: 7px; + font-weight: 750; +} + +.sx-attitude-gauge > strong { + position: absolute; + right: 13px; + bottom: 14px; + color: #dfe4e1; + font-size: 9px; + font-weight: 650; + font-variant-numeric: tabular-nums; +} + +.sx-clock { + width: 176px; + display: flex; + flex-direction: column; + align-items: center; + gap: 5px; +} + +.sx-clock-time { + font-size: 28px; + font-weight: 650; + line-height: 1; + font-variant-numeric: tabular-nums; + text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75); +} + +.sx-realtime { + color: #8e9593; + display: flex; + align-items: center; + gap: 5px; + font-size: 8px; + font-weight: 700; +} + +.sx-controls { + margin-top: 3px; + display: flex; + align-items: center; + gap: 7px; +} + +.sx-launch { + width: 122px; + height: 34px; + padding: 0 14px; + border: 1px solid #3eaa78; + border-radius: 4px; + color: #fff; + background: #237b55; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 7px; + cursor: pointer; + font-size: 11px; + font-weight: 700; + transition: border-color 150ms, background 150ms; +} + +.sx-launch:hover, +.sx-launch:focus-visible { + border-color: #67d59f; + background: #2b9165; + outline: none; +} + +.rocket-page-message { + width: 100vw; + height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 16px; + color: #eef1f0; + background: #050607; + font: 14px Inter, system-ui, sans-serif; +} + +.rocket-page-message svg { color: var(--amber, #f2b84b); } +.rocket-page-message a { color: #62ce98; } +.loading-rocket { animation: loadingRocket 1.2s ease-in-out infinite alternate; } + +@keyframes loadingRocket { + to { transform: translateY(-12px); } +} + +@media (max-width: 1050px) { + .sx-brand { min-width: 160px; } + .sx-brand span { max-width: 145px; } + .sx-mission-status { min-width: 128px; } + .sx-select { width: 274px; } + .sx-side { width: 180px; } + .sx-hud { gap: 15px; } + .sx-gauge-cluster { width: 250px; gap: 6px; } + .sx-node { min-width: 70px; } +} + +@media (max-width: 760px) { + .sx-topbar { + height: 56px; + gap: 9px; + padding: 0 12px; + } + + .sx-brand { + min-width: 24px; + } + + .sx-brand div, + .sx-select, + .sx-camera-slider, + .sx-side { + display: none; + } + + .sx-mission-status { + min-width: 116px; + height: 34px; + padding: 0 8px; + } + + .sx-mission-status small { display: none; } + .sx-mission-status strong { font-size: 10px; } + .sx-topbar-right { gap: 7px; } + + .sx-seg button { + min-width: 38px; + width: 38px; + padding: 0; + gap: 0; + font-size: 0; + } + + .sx-seg button svg { width: 15px; height: 15px; } + + .sx-environment { + top: 70px; + left: 12px; + width: 154px; + padding: 9px 11px; + } + + .sx-environment strong { font-size: 11px; } + .sx-environment small { font-size: 8px; } + + .sx-bottom { padding-bottom: 10px; } + + .sx-track { + padding: 13px 8px 7px; + justify-content: flex-start; + overflow-x: auto; + scrollbar-width: none; + } + + .sx-track::-webkit-scrollbar { display: none; } + .sx-node { min-width: 64px; flex: 0 0 64px; } + .sx-node b { font-size: 8px; } + .sx-node time { display: none; } + + .sx-hud { + min-height: 75px; + gap: 9px; + padding: 3px 9px 0; + } + + .sx-gauge-cluster { width: 112px; gap: 2px; } + .sx-arc-gauge, + .sx-engine-gauge, + .sx-attitude-gauge { width: 55px; height: 64px; flex-basis: 55px; } + .sx-arc-gauge svg { left: 0; width: 55px; height: 42px; } + .sx-arc-gauge > span { top: 12px; font-size: 6px; } + .sx-arc-gauge > strong { top: 21px; font-size: 14px; } + .sx-arc-gauge > small { top: 39px; font-size: 6px; } + .sx-engine-ring { --engine-radius: 14px; width: 43px; height: 43px; border-width: 2px; } + .sx-engine-ring i { width: 5px; height: 5px; } + .sx-engine-gauge > span { font-size: 5px; } + .sx-attitude-dial { width: 43px; height: 43px; border-width: 1px; } + .sx-attitude-axis.horizontal { left: 5px; right: 5px; } + .sx-attitude-axis.vertical { top: 5px; bottom: 5px; } + .sx-attitude-vehicle { width: 18px; height: 18px; } + .sx-attitude-vehicle svg { width: 18px; height: 18px; } + .sx-attitude-gauge > span { font-size: 5px; } + .sx-attitude-gauge > strong { right: 0; bottom: 12px; font-size: 7px; } + + .sx-clock { width: 126px; gap: 4px; } + .sx-clock-time { font-size: 21px; } + .sx-realtime { font-size: 7px; } + .sx-launch { width: 98px; padding: 0 9px; } +} + +@media (max-width: 380px) { + .sx-hud { gap: 3px; padding-inline: 4px; } + .sx-clock { width: 96px; } + .sx-clock-time { font-size: 18px; } + .sx-launch { width: 82px; font-size: 9px; } +} + +@media (max-height: 650px) { + .sx-environment { top: 70px; } + .sx-side { top: 74px; } + .sx-panel-title { height: 36px; } + .sx-side-row { min-height: 24px; } + .sx-track { padding-top: 10px; } + .sx-hud { min-height: 72px; } +} diff --git a/frontend/src/features/rocket-simulator/sceneMath.ts b/frontend/src/features/rocket-simulator/sceneMath.ts new file mode 100644 index 0000000..7562573 --- /dev/null +++ b/frontend/src/features/rocket-simulator/sceneMath.ts @@ -0,0 +1,140 @@ +import type { RocketConfig, SimulationState } from './types'; + +/** + * Visual constants for the 3D flight scene. The rocket is always drawn at a + * fixed on-screen height (VEHICLE_HEIGHT world units); real-world dimensions + * only drive proportions, never absolute size. + */ +export const VEHICLE_HEIGHT = 12; + +export interface StageGeometry { + totalHeight: number; + radius: number; + stage1Height: number; + stage2Height: number; + interstageHeight: number; + noseHeight: number; +} + +/** + * Derive drawable proportions from a rocket config. length_ratio on each stage + * describes how much of the airframe that stage occupies; the remainder is the + * nose/fairing. Diameter maps to a slender radius so tall vehicles read well. + */ +export function stageGeometry(rocket: RocketConfig): StageGeometry { + const s1 = Math.max(0.15, Math.min(0.85, rocket.stage_1.length_ratio)); + const s2 = Math.max(0.1, Math.min(0.7, rocket.stage_2.length_ratio)); + const slenderness = Math.max(6, Math.min(16, rocket.height_m / rocket.diameter_m)); + const radius = VEHICLE_HEIGHT / slenderness / 2; + + const stage1Height = VEHICLE_HEIGHT * s1; + const interstageHeight = VEHICLE_HEIGHT * 0.03; + const stage2Height = VEHICLE_HEIGHT * s2; + const noseHeight = Math.max( + VEHICLE_HEIGHT * 0.12, + VEHICLE_HEIGHT - stage1Height - interstageHeight - stage2Height, + ); + + return { + totalHeight: VEHICLE_HEIGHT, + radius, + stage1Height, + stage2Height, + interstageHeight, + noseHeight, + }; +} + +/** Clamp helper. */ +export function clamp(value: number, min: number, max: number): number { + return Math.max(min, Math.min(max, value)); +} + +/** Linear interpolation. */ +export function lerp(a: number, b: number, t: number): number { + return a + (b - a) * t; +} + +function mixColor(a: [number, number, number], b: [number, number, number], t: number): string { + const c = a.map((channel, i) => Math.round(lerp(channel, b[i], clamp(t, 0, 1)))); + return `rgb(${c[0]}, ${c[1]}, ${c[2]})`; +} + +/** + * Sky/background color for a given altitude (metres). Fades day-blue → deep + * blue → near-black space as the vehicle climbs past the Karman line. + */ +export function skyColor(altitude: number): string { + const groundBlue: [number, number, number] = [91, 151, 196]; + const lowerStratosphere: [number, number, number] = [28, 72, 125]; + const upperStratosphere: [number, number, number] = [7, 20, 43]; + const space: [number, number, number] = [2, 4, 8]; + + if (altitude < 12_000) { + return mixColor(groundBlue, lowerStratosphere, altitude / 12_000); + } + if (altitude < 42_000) { + return mixColor(lowerStratosphere, upperStratosphere, (altitude - 12_000) / 30_000); + } + return mixColor(upperStratosphere, space, (altitude - 42_000) / 58_000); +} + +/** Fog density fades out as the atmosphere thins, so space looks crisp. */ +export function fogColor(altitude: number): string { + return skyColor(altitude); +} + +/** + * How far the ground/launch-pad plane sits below the vehicle, in world units. + * Uses a compressed (sqrt) mapping so the pad stays visible for the first few + * hundred metres, then recedes out of frame by ~4 km. + */ +export function groundDrop(altitude: number): number { + return Math.sqrt(altitude) * 1.6; +} + +/** Star field opacity: invisible at sea level, full above ~60 km. */ +export function starOpacity(altitude: number): number { + return clamp((altitude - 32_000) / 48_000, 0, 1); +} + +/** + * Seconds elapsed since the first stage physically separated, or null if it is + * still attached. Reads the recorded 'separation' event so it survives pauses. + */ +export function separationAge(state: SimulationState): number | null { + const attached = ['ready', 'stage1_burn', 'stage1_cutoff'].includes(state.phase); + if (attached) return null; + const event = state.events.find((e) => e.id === 'separation'); + if (!event) return Math.max(0, state.time - state.phaseStartedAt); + return Math.max(0, state.time - event.time); +} + +export interface SeparationTransform { + drop: number; + drift: number; + tumble: number; + opacity: number; +} + +/** + * Position/rotation/fade of the discarded first stage relative to the still + * climbing upper stage. It accelerates away (drag + relative deceleration), + * drifts sideways, tumbles, and fades once it is well clear of frame. + */ +export function separationTransform(age: number | null): SeparationTransform | null { + if (age === null) return null; + const drop = 1.5 + age * 3.2 + 0.5 * 1.1 * age * age; + const drift = Math.sin(age * 0.6) * (1.2 + age * 0.25); + const tumble = age * 0.9; + const opacity = clamp(1 - (drop - 26) / 14, 0, 1); + return { drop, drift, tumble, opacity }; +} + +/** Which engines should be visibly firing in the current phase. */ +export function engineState(state: SimulationState): { stage1: boolean; stage2: boolean } { + return { + stage1: state.phase === 'stage1_burn', + stage2: state.phase === 'stage2_ignition' || state.phase === 'stage2_burn', + }; +} diff --git a/frontend/src/features/rocket-simulator/types.ts b/frontend/src/features/rocket-simulator/types.ts new file mode 100644 index 0000000..aa091c0 --- /dev/null +++ b/frontend/src/features/rocket-simulator/types.ts @@ -0,0 +1,94 @@ +export interface RocketStage { + name: string; + dry_mass_kg: number; + fuel_mass_kg: number; + max_thrust_n: number; + specific_impulse_s: number; + engine_count: number; + length_ratio: number; +} + +export interface RocketConfig { + id: number; + code: string; + name: string; + name_zh: string | null; + manufacturer: string | null; + country: string | null; + launch_site_name: string; + launch_latitude_deg: number; + launch_longitude_deg: number; + description: string | null; + color: string; + height_m: number; + diameter_m: number; + payload_mass_kg: number; + drag_coefficient: number; + reference_area_m2: number; + target_orbit_km: number; + target_velocity_mps: number; + separation_delay_seconds: number; + second_stage_ignition_delay_seconds: number; + stage_1: RocketStage; + stage_2: RocketStage; + is_active: boolean; + sort_order: number; + created_at?: string; + updated_at?: string; +} + +export type FlightPhase = + | 'ready' + | 'stage1_burn' + | 'stage1_cutoff' + | 'separating' + | 'stage2_ignition' + | 'stage2_burn' + | 'orbit' + | 'payload_deploy' + | 'mission_complete'; + +export interface FlightEvent { + id: string; + label: string; + time: number; +} + +export interface TelemetryPoint { + time: number; + altitude: number; + downrange: number; + velocity: number; +} + +export interface SimulationState { + time: number; + altitude: number; + downrange: number; + velocity: number; + horizontalVelocity: number; + verticalVelocity: number; + acceleration: number; + pitch: number; + dynamicPressure: number; + stage1Fuel: number; + stage2Fuel: number; + throttle: number; + phase: FlightPhase; + phaseStartedAt: number; + isRunning: boolean; + events: FlightEvent[]; + history: TelemetryPoint[]; +} + +export const PHASE_LABELS: Record = { + ready: '等待点火', + stage1_burn: '一级动力飞行', + stage1_cutoff: '一级发动机关机', + separating: '一二级分离', + stage2_ignition: '二级发动机点火', + stage2_burn: '二级动力飞行', + orbit: '轨道注入', + payload_deploy: '载荷部署', + mission_complete: '任务完成', +}; diff --git a/frontend/src/features/rocket-simulator/useRocketSimulation.ts b/frontend/src/features/rocket-simulator/useRocketSimulation.ts new file mode 100644 index 0000000..a47128b --- /dev/null +++ b/frontend/src/features/rocket-simulator/useRocketSimulation.ts @@ -0,0 +1,230 @@ +import { useCallback, useEffect, useRef, useState } from 'react'; +import type { FlightEvent, FlightPhase, RocketConfig, SimulationState } from './types'; + +const G0 = 9.80665; +const EARTH_RADIUS = 6_371_000; +const SEA_LEVEL_DENSITY = 1.225; +const SCALE_HEIGHT = 8_500; + +function initialState(rocket: RocketConfig): SimulationState { + return { + time: 0, + altitude: 0, + downrange: 0, + velocity: 0, + horizontalVelocity: 0, + verticalVelocity: 0, + acceleration: 0, + pitch: 90, + dynamicPressure: 0, + stage1Fuel: rocket.stage_1.fuel_mass_kg, + stage2Fuel: rocket.stage_2.fuel_mass_kg, + throttle: 1, + phase: 'ready', + phaseStartedAt: 0, + isRunning: false, + events: [], + history: [], + }; +} + +function addEvent(events: FlightEvent[], id: string, label: string, time: number) { + if (events.some((event) => event.id === id)) return events; + return [...events, { id, label, time }]; +} + +export function useRocketSimulation(rocket: RocketConfig) { + const [state, setState] = useState(() => initialState(rocket)); + const stateRef = useRef(state); + const rocketRef = useRef(rocket); + const frameRef = useRef(0); + const lastFrameRef = useRef(0); + const maxQRef = useRef(0); + + const commit = useCallback((next: SimulationState) => { + stateRef.current = next; + setState(next); + }, []); + + const reset = useCallback(() => { + const next = initialState(rocketRef.current); + lastFrameRef.current = performance.now(); + maxQRef.current = 0; + commit(next); + }, [commit]); + + useEffect(() => { + rocketRef.current = rocket; + reset(); + }, [rocket, reset]); + + const toggle = useCallback(() => { + const current = stateRef.current; + if (current.phase === 'mission_complete') { + reset(); + return; + } + const launching = current.phase === 'ready'; + const next = { + ...current, + phase: launching ? 'stage1_burn' as FlightPhase : current.phase, + phaseStartedAt: launching ? current.time : current.phaseStartedAt, + isRunning: !current.isRunning, + events: launching + ? addEvent(current.events, 'liftoff', '点火起飞', current.time) + : current.events, + }; + lastFrameRef.current = performance.now(); + commit(next); + }, [commit, reset]); + + const setThrottle = useCallback((throttle: number) => { + commit({ ...stateRef.current, throttle: Math.max(0.4, Math.min(1, throttle)) }); + }, [commit]); + + useEffect(() => { + const tick = (timestamp: number) => { + const current = stateRef.current; + if (!current.isRunning) { + lastFrameRef.current = timestamp; + frameRef.current = requestAnimationFrame(tick); + return; + } + + const elapsed = Math.min((timestamp - lastFrameRef.current) / 1000, 0.25); + lastFrameRef.current = timestamp; + const steps = Math.max(1, Math.ceil(elapsed / 0.04)); + const dt = elapsed / steps; + const next = { ...current, events: [...current.events], history: [...current.history] }; + const config = rocketRef.current; + + for (let index = 0; index < steps; index += 1) { + const phaseElapsed = next.time - next.phaseStartedAt; + let activeStage = null; + + if (next.phase === 'stage1_burn') activeStage = config.stage_1; + if (next.phase === 'stage2_ignition' || next.phase === 'stage2_burn') activeStage = config.stage_2; + + if (next.phase === 'stage1_cutoff' && phaseElapsed >= 0.8) { + next.phase = 'separating'; + next.phaseStartedAt = next.time; + next.events = addEvent(next.events, 'separation', '一二级分离', next.time); + } else if (next.phase === 'separating' && phaseElapsed >= config.separation_delay_seconds) { + next.phase = 'stage2_ignition'; + next.phaseStartedAt = next.time; + next.events = addEvent(next.events, 'ses1', '二级发动机点火', next.time); + } else if ( + next.phase === 'stage2_ignition' && + phaseElapsed >= config.second_stage_ignition_delay_seconds + ) { + next.phase = 'stage2_burn'; + next.phaseStartedAt = next.time; + } else if (next.phase === 'orbit' && phaseElapsed >= 2) { + next.phase = 'payload_deploy'; + next.phaseStartedAt = next.time; + next.events = addEvent(next.events, 'deploy', '载荷分离与太阳翼展开', next.time); + } else if (next.phase === 'payload_deploy' && phaseElapsed >= 6) { + next.phase = 'mission_complete'; + next.isRunning = false; + next.events = addEvent(next.events, 'complete', '模拟任务完成', next.time); + } + + const stage1Attached = next.phase === 'stage1_burn' || next.phase === 'stage1_cutoff'; + const stage1Mass = stage1Attached ? config.stage_1.dry_mass_kg + next.stage1Fuel : 0; + const totalMass = Math.max( + 1, + stage1Mass + config.stage_2.dry_mass_kg + next.stage2Fuel + config.payload_mass_kg, + ); + + let thrust = 0; + if (activeStage) { + const ignitionRamp = next.phase === 'stage2_ignition' + ? Math.min(1, phaseElapsed / Math.max(0.25, config.second_stage_ignition_delay_seconds)) + : 1; + thrust = activeStage.max_thrust_n * next.throttle * ignitionRamp; + const burn = thrust / (activeStage.specific_impulse_s * G0) * dt; + if (activeStage === config.stage_1) { + next.stage1Fuel = Math.max(0, next.stage1Fuel - burn); + } else { + next.stage2Fuel = Math.max(0, next.stage2Fuel - burn); + } + } + + if (next.phase === 'stage1_burn' && next.stage1Fuel <= 0) { + next.phase = 'stage1_cutoff'; + next.phaseStartedAt = next.time; + next.events = addEvent(next.events, 'meco', '一级发动机关机', next.time); + thrust = 0; + } + + const targetAltitude = config.target_orbit_km * 1000; + const gravityTurnProgress = Math.sqrt( + Math.min(1, Math.max(0, next.altitude - 500) / Math.max(1, targetAltitude * 0.58)), + ); + next.pitch = next.altitude < 500 ? 90 : Math.max(3, 90 * (1 - gravityTurnProgress)); + + const velocity = Math.hypot(next.horizontalVelocity, next.verticalVelocity); + const density = next.altitude > 120_000 + ? 0 + : SEA_LEVEL_DENSITY * Math.exp(-next.altitude / SCALE_HEIGHT); + next.dynamicPressure = 0.5 * density * velocity * velocity; + + // MAX-Q: the moment aerodynamic pressure peaks and begins to fall on + // ascent. Track the running peak, then latch the event once q drops + // meaningfully below it (after a sensible threshold to avoid noise). + if (next.dynamicPressure > maxQRef.current) { + maxQRef.current = next.dynamicPressure; + } else if ( + maxQRef.current > 8000 && + next.dynamicPressure < maxQRef.current * 0.92 && + !next.events.some((event) => event.id === 'maxq') + ) { + next.events = addEvent(next.events, 'maxq', '最大动压 MAX-Q', next.time); + } + + const dragForce = next.dynamicPressure * config.drag_coefficient * config.reference_area_m2; + const pitchRadians = next.pitch * Math.PI / 180; + const gravity = G0 * Math.pow(EARTH_RADIUS / (EARTH_RADIUS + next.altitude), 2); + const dragX = velocity > 0 ? dragForce * next.horizontalVelocity / velocity : 0; + const dragY = velocity > 0 ? dragForce * next.verticalVelocity / velocity : 0; + const ax = (thrust * Math.cos(pitchRadians) - dragX) / totalMass; + const ay = (thrust * Math.sin(pitchRadians) - dragY) / totalMass - gravity; + + next.horizontalVelocity = Math.max(0, next.horizontalVelocity + ax * dt); + next.verticalVelocity += ay * dt; + next.downrange += next.horizontalVelocity * dt; + next.altitude = Math.max(0, next.altitude + next.verticalVelocity * dt); + next.velocity = Math.hypot(next.horizontalVelocity, next.verticalVelocity); + next.acceleration = Math.hypot(ax, ay); + next.time += dt; + + if ( + (next.phase === 'stage2_burn' && next.stage2Fuel <= 0) || + (next.altitude >= targetAltitude && next.horizontalVelocity >= config.target_velocity_mps) + ) { + next.phase = 'orbit'; + next.phaseStartedAt = next.time; + next.events = addEvent(next.events, 'seco', '二级发动机关机', next.time); + next.events = addEvent(next.events, 'orbit', '进入目标轨道', next.time); + } + } + + const lastPoint = next.history.at(-1); + if (!lastPoint || next.time - lastPoint.time >= 1) { + next.history = [...next.history.slice(-299), { + time: next.time, + altitude: next.altitude, + downrange: next.downrange, + velocity: next.velocity, + }]; + } + commit(next); + frameRef.current = requestAnimationFrame(tick); + }; + + frameRef.current = requestAnimationFrame(tick); + return () => cancelAnimationFrame(frameRef.current); + }, [commit]); + + return { state, toggle, reset, setThrottle }; +} diff --git a/frontend/src/hooks/useOptionalTexture.ts b/frontend/src/hooks/useOptionalTexture.ts new file mode 100644 index 0000000..3cb9822 --- /dev/null +++ b/frontend/src/hooks/useOptionalTexture.ts @@ -0,0 +1,54 @@ +import { useEffect, useState } from 'react'; +import * as THREE from 'three'; + +export function useOptionalTexture(path?: string | null): THREE.Texture | null { + const [loaded, setLoaded] = useState<{ path: string; texture: THREE.Texture } | null>(null); + + useEffect(() => { + if (!path) { + // Clearing the path: drop any previously loaded texture and free its GPU memory. + setLoaded((prev) => { + prev?.texture.dispose(); + return null; + }); + return; + } + + let active = true; + let localTexture: THREE.Texture | null = null; + + new THREE.TextureLoader().loadAsync(path) + .then((texture) => { + if (active) { + localTexture = texture; + texture.colorSpace = THREE.SRGBColorSpace; + texture.needsUpdate = true; + // Replace and dispose the previous texture to avoid leaking GPU memory. + setLoaded((prev) => { + if (prev && prev.texture !== texture) { + prev.texture.dispose(); + } + return { path, texture }; + }); + } else { + // Effect was torn down before load finished: dispose immediately. + texture.dispose(); + } + }) + .catch(() => { + if (import.meta.env.DEV) { + console.warn(`Texture unavailable, using fallback material: ${path}`); + } + }); + + return () => { + active = false; + // If the texture already resolved and belongs to this (now-stale) effect, dispose it. + if (localTexture) { + localTexture.dispose(); + } + }; + }, [path]); + + return loaded && loaded.path === path ? loaded.texture : null; +} diff --git a/frontend/src/pages/RocketSimulator.tsx b/frontend/src/pages/RocketSimulator.tsx new file mode 100644 index 0000000..9e8efb6 --- /dev/null +++ b/frontend/src/pages/RocketSimulator.tsx @@ -0,0 +1,247 @@ +import { useEffect, useState, type CSSProperties } from 'react'; +import { ArrowLeft, Camera, ChevronDown, Clock3, Orbit, Pause, Play, RotateCcw, Rocket, ZoomIn, ZoomOut } from 'lucide-react'; +import { useNavigate } from 'react-router-dom'; +import { fetchRocketConfigs } from '../features/rocket-simulator/api'; +import { PHASE_LABELS, type FlightPhase, type RocketConfig } from '../features/rocket-simulator/types'; +import { useRocketSimulation } from '../features/rocket-simulator/useRocketSimulation'; +import { RocketFlightScene, type CameraMode } from '../features/rocket-simulator/RocketFlightScene'; +import '../features/rocket-simulator/rocket-simulator.css'; + +/** + * Canonical flight milestones, in order. Each maps to an event id emitted by + * the physics loop. This single list is the SOLE source of truth for both the + * bottom milestone track and the phase status readout, so they can never + * disagree. + */ +const MILESTONES: Array<{ id: string; code: string; label: string }> = [ + { id: 'liftoff', code: 'LIFTOFF', label: '点火起飞' }, + { id: 'maxq', code: 'MAX-Q', label: '最大动压' }, + { id: 'meco', code: 'MECO', label: '一级关机' }, + { id: 'separation', code: 'SEP', label: '级间分离' }, + { id: 'ses1', code: 'SES-1', label: '二级点火' }, + { id: 'seco', code: 'SECO-1', label: '二级关机' }, + { id: 'orbit', code: 'ORBIT', label: '轨道注入' }, + { id: 'deploy', code: 'PAYLOAD', label: '载荷部署' }, +]; + +function formatTime(seconds: number) { + const sign = seconds < 0 ? '-' : '+'; + const abs = Math.abs(Math.floor(seconds)); + const h = Math.floor(abs / 3600); + const m = Math.floor((abs % 3600) / 60); + const s = abs % 60; + const pad = (n: number) => String(n).padStart(2, '0'); + return `T${sign}${h > 0 ? `${pad(h)}:` : ''}${pad(m)}:${pad(s)}`; +} + +function environmentAt(altitude: number, targetOrbitKm: number) { + if (altitude < 1_000) return { code: 'GROUND', label: '地面与近地层', detail: '对流层 · 稠密大气' }; + if (altitude < 12_000) return { code: 'TROPOSPHERE', label: '对流层', detail: '气动载荷区' }; + if (altitude < 50_000) return { code: 'STRATOSPHERE', label: '平流层', detail: '大气快速变稀' }; + if (altitude < 100_000) return { code: 'MESOSPHERE', label: '高层大气', detail: '接近卡门线' }; + if (altitude < targetOrbitKm * 950) return { code: 'SPACE', label: '近地太空', detail: '卡门线以上' }; + return { code: 'LEO', label: '低地球轨道', detail: `目标高度 ${targetOrbitKm.toFixed(0)} km` }; +} + +function ArcGauge({ label, value, unit, fill }: { label: string; value: string; unit: string; fill: number }) { + const progress = Math.max(0, Math.min(1, fill)); + const needleAngle = -90 + progress * 180; + return ( +
+ + {label} + {value} + {unit} +
+ ); +} + +function EngineGauge({ stage, total, active }: { stage: 1 | 2; total: number; active: number }) { + const outerCount = Math.max(0, total - 1); + return ( +
+
+ 0 ? 'active' : ''}`} /> + {Array.from({ length: outerCount }, (_, index) => ( + + ))} +
+ {stage === 1 ? '一级发动机' : '二级发动机'} +
+ ); +} + +function AttitudeGauge({ pitch }: { pitch: number }) { + const vehicleRotation = 45 - pitch; + return ( +
+
+ + +
+ +
+
+ PITCH + {pitch.toFixed(0)}° +
+ ); +} + +function RocketMission({ rockets }: { rockets: RocketConfig[] }) { + const navigate = useNavigate(); + const [selectedCode, setSelectedCode] = useState(rockets[0].code); + const [cameraMode, setCameraMode] = useState('follow'); + const [viewScale, setViewScale] = useState(100); + const [viewScaleResetTrigger, setViewScaleResetTrigger] = useState(0); + const rocket = rockets.find((item) => item.code === selectedCode) || rockets[0]; + const { state, toggle, reset } = useRocketSimulation(rocket); + const environment = environmentAt(state.altitude, rocket.target_orbit_km); + + const totalFuel = rocket.stage_1.fuel_mass_kg + rocket.stage_2.fuel_mass_kg; + const remainingFuel = state.stage1Fuel + state.stage2Fuel; + const stage1FuelPct = Math.max(0, state.stage1Fuel / rocket.stage_1.fuel_mass_kg * 100); + const stage2FuelPct = Math.max(0, state.stage2Fuel / rocket.stage_2.fuel_mass_kg * 100); + const totalFuelPct = Math.max(0, remainingFuel / totalFuel * 100); + const eventTime = (id: string) => state.events.find((event) => event.id === id)?.time ?? null; + const nextMilestone = MILESTONES.find((m) => eventTime(m.id) === null); + const stage: 1 | 2 = ['separating', 'stage2_ignition', 'stage2_burn', 'orbit', 'payload_deploy', 'mission_complete'].includes(state.phase) ? 2 : 1; + const stageConfig = stage === 1 ? rocket.stage_1 : rocket.stage_2; + const stageFiring = stage === 1 + ? state.phase === 'stage1_burn' + : state.phase === 'stage2_ignition' || state.phase === 'stage2_burn'; + const activeEngines = stageFiring ? stageConfig.engine_count : 0; + + const launchLabel = state.phase === 'mission_complete' + ? '重新模拟' + : state.isRunning + ? '暂停' + : state.phase === 'ready' + ? '执行点火' + : '继续'; + + return ( +
+ + + {/* Top bar: brand + mission clock + rocket selector + view controls */} +
+ +
COSMO LAUNCH{rocket.name_zh || rocket.name} · {rocket.name}
+ +
+ +
MISSION STATUS{PHASE_LABELS[state.phase as FlightPhase]}
+
+ +
+ +
+ + +
+ +
+
+ +
+ {environment.code} + {environment.label} + {rocket.launch_site_name} · {environment.detail} +
+ + {/* Minimal telemetry side panel */} + + + {/* Bottom: milestone track (single source of truth) + telemetry strip + controls */} +
+
+ {MILESTONES.map((m) => { + const time = eventTime(m.id); + const reached = time !== null; + const isNext = nextMilestone?.id === m.id && state.isRunning; + return ( +
+ + {m.code} + +
+ ); + })} +
+ +
+
+ + +
+ +
+
{formatTime(state.time)}
+
REAL TIME
+
+ + +
+
+ +
+ + +
+
+
+
+ ); +} + +export function RocketSimulator() { + const [rockets, setRockets] = useState([]); + const [error, setError] = useState(''); + + useEffect(() => { + fetchRocketConfigs().then(setRockets).catch(() => setError('火箭配置加载失败,请确认数据库升级脚本已执行。')); + }, []); + + if (error) return ; + if (rockets.length === 0) return
正在载入发射任务
; + return ; +} diff --git a/frontend/src/pages/admin/AdminLayout.tsx b/frontend/src/pages/admin/AdminLayout.tsx index 6023a04..ba0e6f8 100644 --- a/frontend/src/pages/admin/AdminLayout.tsx +++ b/frontend/src/pages/admin/AdminLayout.tsx @@ -13,7 +13,6 @@ import { UserOutlined, LogoutOutlined, RocketOutlined, - AppstoreOutlined, SettingOutlined, TeamOutlined, ControlOutlined, @@ -22,7 +21,7 @@ import { StarOutlined, } from '@ant-design/icons'; import type { MenuProps } from 'antd'; -import { authAPI, API_BASE_URL } from '../../utils/request'; +import { authAPI } from '../../utils/request'; import { auth } from '../../utils/auth'; import { useToast } from '../../contexts/ToastContext'; @@ -40,12 +39,12 @@ const iconMap: Record = { sliders: , profile: , star: , + rocket: , }; export function AdminLayout() { const [collapsed, setCollapsed] = useState(false); const [menus, setMenus] = useState([]); - const [loading, setLoading] = useState(true); const [user, setUser] = useState(auth.getUser()); const navigate = useNavigate(); const location = useLocation(); @@ -90,8 +89,6 @@ export function AdminLayout() { setMenus(data); } catch (error) { toast.error('加载菜单失败'); - } finally { - setLoading(false); } }; diff --git a/frontend/src/pages/admin/CelestialBodies.tsx b/frontend/src/pages/admin/CelestialBodies.tsx index 39ec123..ea5fc41 100644 --- a/frontend/src/pages/admin/CelestialBodies.tsx +++ b/frontend/src/pages/admin/CelestialBodies.tsx @@ -1,144 +1,104 @@ -import { useState, useEffect } from 'react'; -import { Modal, Form, Input, Select, Switch, InputNumber, Tag, Badge, Descriptions, Button, Space, Alert, Upload, Popconfirm, Row, Col, Tabs, Card, Tooltip } from 'antd'; -import { CheckCircleOutlined, CloseCircleOutlined, SearchOutlined, UploadOutlined, DeleteOutlined, StarOutlined } from '@ant-design/icons'; -import type { UploadFile } from 'antd/es/upload/interface'; +import { useEffect, useMemo, useState } from 'react'; +import { Badge, Button, Card, Form, Modal, Popconfirm, Select, Space, Tag, Tooltip } from 'antd'; +import { StarOutlined } from '@ant-design/icons'; import type { ColumnsType } from 'antd/es/table'; -import MdEditor from 'react-markdown-editor-lite'; -import MarkdownIt from 'markdown-it'; -import 'react-markdown-editor-lite/lib/index.css'; import { DataTable } from '../../components/admin/DataTable'; -import { request } from '../../utils/request'; import { useToast } from '../../contexts/ToastContext'; +import { request } from '../../utils/request'; +import { CelestialBodyModal } from './celestial-bodies/CelestialBodyModal'; +import type { CelestialBody, StarSystem } from './celestial-bodies/types'; -const MdEditorParser = new MarkdownIt(); +const bodyTypeLabels: Record = { + star: '恒星', + planet: '行星', + dwarf_planet: '矮行星', + satellite: '卫星', + comet: '彗星', + probe: '探测器', +}; -interface CelestialBody { - id: string; - name: string; - name_zh: string; - short_name?: string; // NASA SBDB API short name - type: string; - system_id?: number; - description: string; - details?: string; // Added details field - is_active: boolean; - extra_data?: { - orbit_period_days?: number; - orbit_color?: string; - [key: string]: any; // Allow other extra data - }; - resources?: { - [key: string]: Array<{ - id: number; - file_path: string; - file_size: number; - mime_type: string; - }>; - }; - has_resources?: boolean; - orbit_info?: { - num_points: number; - period_days?: number; - }; +function getErrorDetail(error: unknown, fallback: string) { + if (typeof error !== 'object' || error === null || !('response' in error)) return fallback; + const response = (error as { response?: { data?: { detail?: string } } }).response; + return response?.data?.detail || fallback; } -interface StarSystem { - id: number; - name: string; - name_zh: string; - planet_count: number; +function filterBodies(items: CelestialBody[], searchTerm: string) { + const normalized = searchTerm.toLowerCase(); + return items.filter((item) => + item.name.toLowerCase().includes(normalized) + || item.name_zh?.toLowerCase().includes(normalized) + || item.id.toLowerCase().includes(normalized) + ); } export function CelestialBodies() { const [loading, setLoading] = useState(false); const [data, setData] = useState([]); - const [filteredData, setFilteredData] = useState([]); + const [keyword, setKeyword] = useState(''); const [starSystems, setStarSystems] = useState([]); - const [selectedSystemId, setSelectedSystemId] = useState(1); // 默认选择太阳系 + const [selectedSystemId, setSelectedSystemId] = useState(1); const [isModalOpen, setIsModalOpen] = useState(false); const [editingRecord, setEditingRecord] = useState(null); - const [form] = Form.useForm(); const [searching, setSearching] = useState(false); const [searchQuery, setSearchQuery] = useState(''); const [uploading, setUploading] = useState(false); const [refreshResources, setRefreshResources] = useState(0); - const [activeTabKey, setActiveTabKey] = useState('basic'); // State for active tab + const [form] = Form.useForm(); const toast = useToast(); - // 加载恒星系统列表 + const filteredData = useMemo(() => filterBodies(data, keyword), [data, keyword]); + useEffect(() => { - loadStarSystems(); - }, []); + request.get('/star-systems', { params: { limit: 1000 } }) + .then(({ data: result }) => setStarSystems(result.systems || [])) + .catch(() => toast.error('加载恒星系统列表失败')); + }, [toast]); - // 当选择的恒星系改变时,重新加载天体数据 useEffect(() => { - if (selectedSystemId !== null) { - loadData(); - } - }, [selectedSystemId]); - - const loadStarSystems = async () => { - try { - const { data: result } = await request.get('/star-systems', { - params: { limit: 1000 } - }); - setStarSystems(result.systems || []); - } catch (error) { - toast.error('加载恒星系统列表失败'); - } - }; - - const loadData = async () => { if (selectedSystemId === null) { setData([]); - setFilteredData([]); return; } + setLoading(true); + request.get('/celestial/list', { params: { system_id: selectedSystemId } }) + .then(({ data: result }) => { + const bodies = result.bodies || []; + setData(bodies); + }) + .catch(() => toast.error('加载数据失败')) + .finally(() => setLoading(false)); + }, [selectedSystemId, toast]); + + const reloadData = async () => { + if (selectedSystemId === null) return; setLoading(true); try { - const { data: result } = await request.get('/celestial/list', { - params: { system_id: selectedSystemId } - }); - setData(result.bodies || []); - setFilteredData(result.bodies || []); - } catch (error) { + const { data: result } = await request.get('/celestial/list', { params: { system_id: selectedSystemId } }); + const bodies = result.bodies || []; + setData(bodies); + } catch { toast.error('加载数据失败'); } finally { setLoading(false); } }; - // Search handler - const handleSearch = (keyword: string) => { - const lowerKeyword = keyword.toLowerCase(); - const filtered = data.filter( - (item) => - item.name.toLowerCase().includes(lowerKeyword) || - item.name_zh?.toLowerCase().includes(lowerKeyword) || - item.id.includes(lowerKeyword) - ); - setFilteredData(filtered); + const handleSearch = (searchTerm: string) => { + setKeyword(searchTerm); }; - // Add handler const handleAdd = () => { setEditingRecord(null); - form.resetFields(); setSearchQuery(''); - setActiveTabKey('basic'); // Reset to basic tab - // Default values - form.setFieldsValue({ - is_active: true, - type: 'probe', - system_id: selectedSystemId // Auto-set to current selected system - }); + form.resetFields(); + form.setFieldsValue({ is_active: true, type: 'probe', system_id: selectedSystemId }); setIsModalOpen(true); }; - // Search NASA Horizons by name - const handleNASASearch = async () => { + const handleNasaSearch = async () => { if (!searchQuery.trim()) { toast.warning('请输入天体名称或ID'); return; @@ -146,365 +106,224 @@ export function CelestialBodies() { setSearching(true); try { - const { data: result } = await request.get('/celestial/search', { - params: { name: searchQuery } - }); - - if (result.success) { - // Check if this body already exists in our database - const existingBody = data.find(b => b.id === result.data.id); - - if (existingBody) { - Modal.warning({ - title: '天体已存在', - content: ( -
-

找到天体: {result.data.full_name}

-

ID: {result.data.id}

-

- ⚠️ 该天体已在数据库中,名称为: {existingBody.name} -

-

- 如需修改,请在列表中直接编辑该天体。 -

-
- ), - }); - return; - } - - // Auto-fill form with search results - form.setFieldsValue({ - id: result.data.id, - name: result.data.name, - }); - - // Check if ID looks like it might not be a proper numeric ID - const isNumericId = /^-?\d+$/.test(result.data.id); - - if (isNumericId) { - toast.success(`找到天体: ${result.data.full_name}`); - } else { - // Warn user that ID might need manual correction - Modal.warning({ - title: '找到天体,但请确认 ID', - content: ( -
- ), - }); - } - } else { + const { data: result } = await request.get('/celestial/search', { params: { name: searchQuery } }); + if (!result.success) { toast.error(result.error || '查询失败'); + return; } - } catch (error: any) { - toast.error(error.response?.data?.detail || '查询失败'); + + const existingBody = data.find((body) => body.id === result.data.id); + if (existingBody) { + Modal.warning({ + title: '天体已存在', + content: ( +
+

找到天体: {result.data.full_name}

+

ID: {result.data.id}

+

该天体已在数据库中,名称为: {existingBody.name}

+

如需修改,请在列表中直接编辑该天体。

+
+ ), + }); + return; + } + + form.setFieldsValue({ id: result.data.id, name: result.data.name }); + if (/^-?\d+$/.test(result.data.id)) { + toast.success(`找到天体: ${result.data.full_name}`); + } else { + Modal.warning({ + title: '找到天体,但请确认 ID', + content: ( +
+ ), + }); + } + } catch (error) { + toast.error(getErrorDetail(error, '查询失败')); } finally { setSearching(false); } }; - // Edit handler const handleEdit = async (record: CelestialBody) => { - form.resetFields(); // Clear previous form state + form.resetFields(); setEditingRecord(record); - // Parse extra_data if it's a string (from backend JSON field) let extraData = record.extra_data; if (typeof extraData === 'string') { try { extraData = JSON.parse(extraData); - } catch (e) { - console.error('Failed to parse extra_data:', e); + } catch { extraData = {}; } } - // Fetch orbit information if exists let orbitInfo = null; try { const { data: orbitData } = await request.get(`/celestial/orbits/${record.id}`); - if (orbitData) { - orbitInfo = { - num_points: orbitData.num_points, - period_days: orbitData.period_days - }; - console.log('Loaded orbit info for', record.id, orbitInfo); - } - } catch (e) { - // Orbit not found or error - this is fine, not all bodies have orbits - console.log('No orbit data for', record.id); + if (orbitData) orbitInfo = { num_points: orbitData.num_points, period_days: orbitData.period_days }; + } catch { + orbitInfo = null; } - // Properly set form values including nested extra_data and orbit info - const formValues = { - ...record, - extra_data: extraData || {}, // Ensure extra_data is an object - orbit_info: orbitInfo - }; - - form.setFieldsValue(formValues); - - setActiveTabKey('basic'); // Reset to basic tab + form.setFieldsValue({ ...record, extra_data: extraData || {}, orbit_info: orbitInfo }); setIsModalOpen(true); }; - // Delete handler const handleDelete = async (record: CelestialBody) => { try { await request.delete(`/celestial/${record.id}`); toast.success('删除成功'); - loadData(); - } catch (error) { + await reloadData(); + } catch { toast.error('删除失败'); } }; - // Status change handler const handleStatusChange = async (record: CelestialBody, checked: boolean) => { try { await request.put(`/celestial/${record.id}`, { is_active: checked }); - toast.success(`状态更新成功`); - // Update local state to avoid full reload - const newData = data.map(item => - item.id === record.id ? { ...item, is_active: checked } : item - ); - setData(newData); - setFilteredData(newData); // Should re-filter if needed, but simplistic here - } catch (error) { + const updated = data.map((item) => item.id === record.id ? { ...item, is_active: checked } : item); + setData(updated); + toast.success('状态更新成功'); + } catch { toast.error('状态更新失败'); } }; - // Form submit const handleModalOk = async () => { - let values: any; try { - values = await form.validateFields(); - + const values = await form.validateFields(); if (editingRecord) { - // Update await request.put(`/celestial/${editingRecord.id}`, values); toast.success('更新成功'); } else { - // Create await request.post('/celestial/', values); toast.success('创建成功'); } - setIsModalOpen(false); - loadData(); - } catch (error: any) { - console.error(error); - // Check for specific error messages - if (error.response?.status === 400) { - const detail = error.response?.data?.detail; - if (detail && detail.includes('already exists')) { - toast.error(`天体已存在: ${values?.id || ''}`); - } else { - toast.error(detail || '请检查表单数据是否完整'); - } - } else if (error.errorFields) { - // Validation error + await reloadData(); + } catch (error) { + if (typeof error === 'object' && error !== null && 'errorFields' in error) { toast.error('请填写所有必填字段'); } else { - toast.error(error.response?.data?.detail || '操作失败'); + toast.error(getErrorDetail(error, '操作失败')); } } }; - // Handle resource upload const handleResourceUpload = async (file: File, resourceType: string) => { - if (!editingRecord) { - toast.error('请先选择要编辑的天体'); - return false; - } - + if (!editingRecord) return false; setUploading(true); const formData = new FormData(); formData.append('file', file); - try { const response = await request.post( `/celestial/resources/upload?body_id=${editingRecord.id}&resource_type=${resourceType}`, formData, - { - headers: { - 'Content-Type': 'multipart/form-data', - }, - } + { headers: { 'Content-Type': 'multipart/form-data' } }, ); - - toast.success(`${response.data.message} (上传到 ${response.data.upload_directory} 目录)`); - // Trigger a refresh of resources - setRefreshResources(prev => prev + 1); - return false; // Prevent default upload behavior - } catch (error: any) { - toast.error(error.response?.data?.detail || '上传失败'); - return false; + toast.success(response.data.message); + setRefreshResources((value) => value + 1); + } catch (error) { + toast.error(getErrorDetail(error, '上传失败')); } finally { setUploading(false); } + return false; }; - // Generate orbit for a celestial body - const handleGenerateOrbit = async (record: CelestialBody) => { - if (!['planet', 'dwarf_planet'].includes(record.type)) { - toast.warning('只有行星和矮行星可以生成轨道'); - return; + const handleResourceDelete = async (resourceId: number) => { + try { + await request.delete(`/celestial/resources/${resourceId}`); + toast.success('删除成功'); + setRefreshResources((value) => value + 1); + } catch (error) { + toast.error(getErrorDetail(error, '删除失败')); } + }; + const handleGenerateOrbit = async (record: CelestialBody) => { + if (!['planet', 'dwarf_planet'].includes(record.type)) return; setLoading(true); try { - await request.post( - `/celestial/admin/orbits/generate?body_ids=${record.id}` - ); - - // 提示用户任务已启动 + await request.post(`/celestial/admin/orbits/generate?body_ids=${record.id}`); toast.success('轨道生成任务已启动,请前往"系统任务"查看进度', 5000); - } catch (error: any) { - toast.error(error.response?.data?.detail || '轨道生成任务启动失败'); + } catch (error) { + toast.error(getErrorDetail(error, '轨道生成任务启动失败')); } finally { setLoading(false); } }; - // Handle resource delete - const handleResourceDelete = async (resourceId: number) => { - try { - await request.delete(`/celestial/resources/${resourceId}`); - toast.success('删除成功'); - setRefreshResources(prev => prev + 1); // Trigger reload - } catch (error: any) { - toast.error(error.response?.data?.detail || '删除失败'); - } - }; - const columns: ColumnsType = [ - { - title: 'ID', - dataIndex: 'id', - key: 'id', - width: 100, - sorter: (a, b) => a.id.localeCompare(b.id), - }, - { - title: '英文名', - dataIndex: 'name', - key: 'name', - sorter: (a, b) => a.name.localeCompare(b.name), - }, - { - title: '中文名', - dataIndex: 'name_zh', - key: 'name_zh', - }, + { title: 'ID', dataIndex: 'id', key: 'id', width: 100, sorter: (a, b) => a.id.localeCompare(b.id) }, + { title: '英文名', dataIndex: 'name', key: 'name', sorter: (a, b) => a.name.localeCompare(b.name) }, + { title: '中文名', dataIndex: 'name_zh', key: 'name_zh' }, { title: '所属系统', dataIndex: 'system_id', key: 'system_id', width: 120, render: (systemId: number) => { - const system = starSystems.find(s => s.id === systemId); - return system ? ( - }> - {system.name_zh || system.name} - - ) : '-'; + const system = starSystems.find((item) => item.id === systemId); + return system ? }>{system.name_zh || system.name} : '-'; }, }, { title: '类型', dataIndex: 'type', key: 'type', - filters: [ - { text: '恒星', value: 'star' }, - { text: '行星', value: 'planet' }, - { text: '矮行星', value: 'dwarf_planet' }, - { text: '卫星', value: 'satellite' }, - { text: '彗星', value: 'comet' }, - { text: '探测器', value: 'probe' }, - ], + filters: Object.entries(bodyTypeLabels).map(([value, text]) => ({ text, value })), onFilter: (value, record) => record.type === value, - render: (type: string) => { - const typeMap: Record = { - star: '恒星', - planet: '行星', - dwarf_planet: '矮行星', - satellite: '卫星', - probe: '探测器', - comet: '彗星', - }; - return typeMap[type] || type; - }, - }, - { - title: '描述', - dataIndex: 'description', - key: 'description', - ellipsis: true, + render: (type: string) => bodyTypeLabels[type] || type, }, + { title: '描述', dataIndex: 'description', key: 'description', ellipsis: true }, { title: '资源配置', key: 'resources', width: 120, - render: (_, record) => { - if (record.has_resources) { - const resourceTypes = Object.keys(record.resources || {}); - return ( - - ); - } - return ; - }, + render: (_, record) => record.has_resources + ? + : , }, ]; + const selectedSystem = starSystems.find((system) => system.id === selectedSystemId); + return ( <> - {/* Star System Selector */} - - + + 选择恒星系统: - {selectedSystemId && ( - - 已选择:{starSystems.find(s => s.id === selectedSystemId)?.name_zh || starSystems.find(s => s.id === selectedSystemId)?.name} - - )} + /> + {selectedSystem && 已选择:{selectedSystem.name_zh || selectedSystem.name}} @@ -523,9 +342,7 @@ export function CelestialBodies() { rowKey="id" pageSize={10} customActions={(record) => { - // Show "Generate Orbit" button for all types, but disable for non-planets const canGenerateOrbit = ['planet', 'dwarf_planet'].includes(record.type); - return ( - - + + ); }} /> - setIsModalOpen(false)} - width={1000} - > -
- {editingRecord ? ( - // 编辑模式:显示双tab - - - - - - - - - - - - - - - - {/* Hidden system_id field - auto-set from selector */} - - - - - - - - - - - - - - - - - - - - - - - - - - - - {/* Physical Properties for Star, Planet, Dwarf Planet, Satellite */} - - prevValues.type !== currentValues.type - }> - {({ getFieldValue }) => { - const bodyType = getFieldValue('type'); - if (!['star', 'planet', 'dwarf_planet', 'satellite'].includes(bodyType)) { - return null; - } - - return ( - - - - `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} - parser={value => value!.replace(/\$\s?|(,*)/g, '')} - /> - - - - ); - }} - - - {/* Orbit parameters and info for planets and dwarf planets */} - - prevValues.type !== currentValues.type || prevValues.orbit_info !== currentValues.orbit_info - }> - {({ getFieldValue }) => { - const bodyType = getFieldValue('type'); - const orbitInfo = getFieldValue('orbit_info'); - - if (!['planet', 'dwarf_planet'].includes(bodyType)) { - return null; - } - - return ( - - {/* Editable orbit parameters */} - - - - - - - - - - - - - - {/* Display orbit info if exists (read-only) */} - {editingRecord && orbitInfo && orbitInfo.num_points && ( -
-
- 已生成的轨道数据: -
-
-
- 轨道点数: {orbitInfo.num_points?.toLocaleString()} 个点 -
- {orbitInfo.period_days && ( -
- 实际周期: {orbitInfo.period_days.toFixed(2)} 天 -
- )} -
-
- )} -
- } - type="info" - style={{ marginBottom: 16 }} - /> - ); - }} - - - {editingRecord && ( - - )} - - - - MdEditorParser.render(text)} - onChange={({ text }) => form.setFieldsValue({ details: text })} - /> - - - - ) : ( - // 新增模式:只显示基础信息 - <> - -

推荐使用 JPL Horizons 数字 ID 进行搜索,可获得最准确的结果。

-

- 示例:Hubble 的 ID 是 -48,Voyager 1 的 ID 是 -31 -

-

- 不知道 ID?可以先用名称搜索,系统会尽量提取 ID,或提示您手动确认。 -

-
- } - type="info" - showIcon - style={{ marginBottom: 16 }} - /> - - - - setSearchQuery(e.target.value)} - onPressEnter={handleNASASearch} - /> - - - - - - - - - - - - - - - - - - {/* Hidden system_id field - auto-set from selector */} - - - - - - - - - - - - - - - - - - - - - - - - - - - - )} - - + searchQuery={searchQuery} + onSearchQueryChange={setSearchQuery} + onNasaSearch={handleNasaSearch} + searching={searching} + uploading={uploading} + refreshResources={refreshResources} + onResourceUpload={handleResourceUpload} + onResourceDelete={handleResourceDelete} + toast={toast} + /> ); } - -// Resource Manager Component -function ResourceManager({ - bodyId, - bodyType, - resources, - hasResources, - onUpload, - onDelete, - uploading, - refreshTrigger, - toast, -}: { - bodyId: string; - bodyType: string; - resources?: any; - hasResources?: boolean; - onUpload: (file: File, resourceType: string) => Promise; - onDelete: (resourceId: number) => Promise; - uploading: boolean; - refreshTrigger: number; - toast: any; -}) { - const [currentResources, setCurrentResources] = useState(resources); - - // Load resources when modal opens - useEffect(() => { - request.get(`/celestial/resources/${bodyId}`) - .then(({ data }) => { - const grouped: any = {}; - data.resources.forEach((res: any) => { - if (!grouped[res.resource_type]) { - grouped[res.resource_type] = []; - } - grouped[res.resource_type].push(res); - }); - setCurrentResources(grouped); - }) - .catch(() => { - toast.error('加载资源列表失败'); - }); - }, [refreshTrigger, bodyId]); - - const resourceTypes = [ - { key: 'icon', label: '图标 (上传到 icon 目录)', type: 'image' }, - { key: 'texture', label: bodyType === 'probe' ? '纹理 (上传到 model 目录)' : '纹理 (上传到 texture 目录)', type: 'file' }, - { key: 'model', label: bodyType === 'probe' ? '模型 (上传到 model 目录)' : '模型 (上传到 texture 目录)', type: 'file' }, - ]; - - return ( - - - - {resourceTypes.map(({ key, label, type }) => ( -
-
{label}
- - {type === 'image' && currentResources?.[key] && currentResources[key].length > 0 ? ( - // Image preview for icon -
- Icon preview -
- onUpload(file, key)} - showUploadList={false} - disabled={uploading} - accept="image/*" - > - - -
- onDelete(currentResources[key][0].id)} - okText="删除" - cancelText="取消" - > - - -
-
- ({(currentResources[key][0].file_size / 1024).toFixed(2)} KB) -
-
-
- ) : type === 'image' ? ( - // No icon uploaded yet - onUpload(file, key)} - showUploadList={false} - disabled={uploading} - accept="image/*" - > - - - ) : ( - // File upload for texture/model - <> - onUpload(file, key)} - showUploadList={false} - disabled={uploading} - > - - - - {currentResources?.[key] && currentResources[key].length > 0 && ( -
- {currentResources[key].map((res: any) => ( -
-
- {res.file_path} - - ({(res.file_size / 1024).toFixed(2)} KB) - - onDelete(res.id)} - okText="删除" - cancelText="取消" - > - - -
- {key === 'model' && ( -
- - 显示缩放: - { - // Update scale in resource - const newScale = value || 1.0; - request.put(`/celestial/resources/${res.id}`, { - extra_data: { ...res.extra_data, scale: newScale } - }).then(() => { - toast.success('缩放参数已更新'); - }).catch(() => { - toast.error('更新失败'); - }); - }} - /> - - (推荐: Webb=0.3, 旅行者=1.5) - - -
- )} -
- ))} -
- )} - - )} -
- ))} -
-
- ); -} \ No newline at end of file diff --git a/frontend/src/pages/admin/NASADownload.tsx b/frontend/src/pages/admin/NASADownload.tsx index c392dd1..04ff114 100644 --- a/frontend/src/pages/admin/NASADownload.tsx +++ b/frontend/src/pages/admin/NASADownload.tsx @@ -1,189 +1,104 @@ -/** - * NASA Data Download Page - * Downloads position data for celestial bodies from NASA Horizons API - */ -import { useState, useEffect } from 'react'; -import { - Row, - Col, - Card, - Checkbox, - DatePicker, - Button, - Badge, - Spin, - Typography, - Collapse, - Space, - Progress, - Calendar, - Alert, - Tag, - Modal, - Table -} from 'antd'; -import { - DownloadOutlined, - CheckCircleOutlined, - CloseCircleOutlined, - LoadingOutlined, - DeleteOutlined -} from '@ant-design/icons'; -import type { CheckboxChangeEvent } from 'antd/es/checkbox'; +import { useCallback, useEffect, useState } from 'react'; +import { Badge, Modal } from 'antd'; import type { Dayjs } from 'dayjs'; import dayjs from 'dayjs'; import isBetween from 'dayjs/plugin/isBetween'; -import { request } from '../../utils/request'; + import { useToast } from '../../contexts/ToastContext'; import { useDataCutoffDate } from '../../hooks/useDataCutoffDate'; +import { request } from '../../utils/request'; +import { NasaDownloadView } from './nasa-download/NasaDownloadView'; +import type { CelestialBody, DateRange, GroupedBodies, PositionRow, ViewingDateData } from './nasa-download/types'; -// Extend dayjs with isBetween plugin dayjs.extend(isBetween); -const { Title, Text } = Typography; -const { RangePicker } = DatePicker; - -interface CelestialBody { - id: string; - name: string; - name_zh: string; - type: string; - is_active: boolean; - description: string; -} - -interface GroupedBodies { - [type: string]: CelestialBody[]; -} - export function NASADownload() { const [loading, setLoading] = useState(false); const [bodies, setBodies] = useState({}); const [selectedBodies, setSelectedBodies] = useState([]); - const [dateRange, setDateRange] = useState<[Dayjs, Dayjs]>([ - dayjs().startOf('month'), - dayjs().endOf('month') - ]); + const [dateRange, setDateRange] = useState([dayjs().startOf('month'), dayjs().endOf('month')]); const [availableDates, setAvailableDates] = useState>>(new Map()); const [loadingDates, setLoadingDates] = useState(false); const [downloading, setDownloading] = useState(false); const [deleting, setDeleting] = useState(false); const [downloadProgress, setDownloadProgress] = useState({ current: 0, total: 0 }); const [activeBodyForCalendar, setActiveBodyForCalendar] = useState(null); - const [viewingDateData, setViewingDateData] = useState<{date: string; bodies: any[]} | null>(null); + const [viewingDateData, setViewingDateData] = useState(null); const [loadingDateData, setLoadingDateData] = useState(false); const toast = useToast(); - - // Get data cutoff date const { cutoffDate } = useDataCutoffDate(); - // Type name mapping - const typeNames: Record = { - star: '恒星', - planet: '行星', - dwarf_planet: '矮行星', - satellite: '卫星', - comet: '彗星', - probe: '探测器', - }; - - const typeOrder = ['star', 'planet', 'dwarf_planet', 'satellite', 'comet', 'probe']; - - useEffect(() => { - loadBodies(); - }, []); - - useEffect(() => { - if (selectedBodies.length > 0) { - loadAvailableDates(); - // Set first selected body as active for calendar display - if (!activeBodyForCalendar || !selectedBodies.includes(activeBodyForCalendar)) { - setActiveBodyForCalendar(selectedBodies[0]); - } - } else { - setAvailableDates(new Map()); - setActiveBodyForCalendar(null); - } - }, [selectedBodies, dateRange]); - - const loadBodies = async () => { + const loadBodies = useCallback(async () => { setLoading(true); try { const { data } = await request.get('/celestial/positions/download/bodies'); - - // 只显示激活的天体 (is_active = true) const activeBodies: GroupedBodies = {}; Object.keys(data.bodies || {}).forEach((type) => { - const bodiesOfType = data.bodies[type].filter((body: CelestialBody) => body.is_active); - if (bodiesOfType.length > 0) { - activeBodies[type] = bodiesOfType; - } + const active = data.bodies[type].filter((body: CelestialBody) => body.is_active); + if (active.length > 0) activeBodies[type] = active; }); - setBodies(activeBodies); - } catch (error) { + } catch { toast.error('加载天体列表失败'); } finally { setLoading(false); } - }; + }, [toast]); - const loadAvailableDates = async () => { + const loadAvailableDates = useCallback(async () => { if (selectedBodies.length === 0) return; - setLoadingDates(true); try { - const newAvailableDates = new Map>(); - - // Load available dates for ALL selected bodies + const datesByBody = new Map>(); for (const bodyId of selectedBodies) { - const startDate = dateRange[0].format('YYYY-MM-DD'); - const endDate = dateRange[1].format('YYYY-MM-DD'); - const { data } = await request.get('/celestial/positions/download/status', { - params: { - body_id: bodyId, - start_date: startDate, - end_date: endDate - } + params: { body_id: bodyId, start_date: dateRange[0].format('YYYY-MM-DD'), end_date: dateRange[1].format('YYYY-MM-DD') }, }); - - const bodyDates = new Set(); - data.available_dates.forEach((date: string) => { - bodyDates.add(date); - }); - newAvailableDates.set(bodyId, bodyDates); + datesByBody.set(bodyId, new Set(data.available_dates)); } - - setAvailableDates(newAvailableDates); - } catch (error) { + setAvailableDates(datesByBody); + } catch { toast.error('加载数据状态失败'); } finally { setLoadingDates(false); } - }; + }, [dateRange, selectedBodies, toast]); + + useEffect(() => { + void loadBodies(); + }, [loadBodies]); + + useEffect(() => { + if (selectedBodies.length === 0) { + setAvailableDates(new Map()); + setActiveBodyForCalendar(null); + return; + } + void loadAvailableDates(); + if (!activeBodyForCalendar || !selectedBodies.includes(activeBodyForCalendar)) setActiveBodyForCalendar(selectedBodies[0]); + }, [activeBodyForCalendar, dateRange, loadAvailableDates, selectedBodies]); const handleBodySelect = (bodyId: string, checked: boolean) => { - setSelectedBodies(prev => - checked ? [...prev, bodyId] : prev.filter(id => id !== bodyId) - ); + setSelectedBodies((current) => checked ? [...current, bodyId] : current.filter((id) => id !== bodyId)); }; const handleTypeSelectAll = (type: string, checked: boolean) => { - const typeBodyIds = bodies[type].map(b => b.id); - setSelectedBodies(prev => { - if (checked) { - return [...new Set([...prev, ...typeBodyIds])]; - } else { - return prev.filter(id => !typeBodyIds.includes(id)); - } - }); + const bodyIds = bodies[type].map((body) => body.id); + setSelectedBodies((current) => checked ? [...new Set([...current, ...bodyIds])] : current.filter((id) => !bodyIds.includes(id))); }; - const handleDateRangeChange = (dates: any) => { - if (dates && dates[0] && dates[1]) { - setDateRange([dates[0], dates[1]]); + const handleDateRangeChange = (dates: [Dayjs | null, Dayjs | null] | null) => { + if (dates?.[0] && dates[1]) setDateRange([dates[0], dates[1]]); + }; + + const getDatesInRange = (excludeFuture: boolean) => { + const result: string[] = []; + let current = dateRange[0]; + while (current.isBefore(dateRange[1]) || current.isSame(dateRange[1], 'day')) { + if (!excludeFuture || !current.isAfter(dayjs(), 'day')) result.push(current.format('YYYY-MM-DD')); + current = current.add(1, 'day'); } + return result; }; const handleDownload = async (selectedDate?: Dayjs) => { @@ -191,65 +106,34 @@ export function NASADownload() { toast.warning('请先选择至少一个天体'); return; } + if (selectedDate?.isAfter(dayjs(), 'day')) { + toast.warning('不能下载未来日期的数据'); + return; + } - let datesToDownload: string[] = []; - const today = dayjs(); - - if (selectedDate) { - // Download single date - check if it's not in the future - if (selectedDate.isAfter(today, 'day')) { - toast.warning('不能下载未来日期的数据'); - return; - } - datesToDownload = [selectedDate.format('YYYY-MM-DD')]; - } else { - // Download all dates in range - exclude future dates - const start = dateRange[0]; - const end = dateRange[1]; - let current = start; - - while (current.isBefore(end) || current.isSame(end, 'day')) { - // Only include dates up to today - if (!current.isAfter(today, 'day')) { - datesToDownload.push(current.format('YYYY-MM-DD')); - } - current = current.add(1, 'day'); - } - - if (datesToDownload.length === 0) { - toast.warning('所选日期范围内没有可下载的数据(不能下载未来日期)'); - return; - } + const dates = selectedDate ? [selectedDate.format('YYYY-MM-DD')] : getDatesInRange(true); + if (dates.length === 0) { + toast.warning('所选日期范围内没有可下载的数据'); + return; } setDownloading(true); - setDownloadProgress({ current: 0, total: datesToDownload.length }); - + setDownloadProgress({ current: 0, total: dates.length }); try { if (selectedDate) { - // Sync download for single date - const { data } = await request.post('/celestial/positions/download', { - body_ids: selectedBodies, - dates: datesToDownload - }); - - setDownloadProgress({ current: datesToDownload.length, total: datesToDownload.length }); - + const { data } = await request.post('/celestial/positions/download', { body_ids: selectedBodies, dates }); + setDownloadProgress({ current: dates.length, total: dates.length }); if (data.total_success > 0) { toast.success(`成功下载 ${data.total_success} 条数据${data.total_failed > 0 ? `,${data.total_failed} 条失败` : ''}`); - loadAvailableDates(); + await loadAvailableDates(); } else { toast.error('下载失败'); } } else { - // Async download for range - await request.post('/celestial/positions/download-async', { - body_ids: selectedBodies, - dates: datesToDownload - }); + await request.post('/celestial/positions/download-async', { body_ids: selectedBodies, dates }); toast.success('批量下载任务已启动,请前往“系统任务”查看进度'); } - } catch (error) { + } catch { toast.error('请求失败'); } finally { setDownloading(false); @@ -257,423 +141,103 @@ export function NASADownload() { } }; - const handleDelete = async () => { + const handleDelete = () => { if (selectedBodies.length === 0) { toast.warning('请先选择至少一个天体'); return; } - - const start = dateRange[0]; - const end = dateRange[1]; - const datesToDelete: string[] = []; - let current = start; - - // Build list of all dates in range (including future dates) - while (current.isBefore(end) || current.isSame(end, 'day')) { - datesToDelete.push(current.format('YYYY-MM-DD')); - current = current.add(1, 'day'); - } - - if (datesToDelete.length === 0) { - return; - } + const dates = getDatesInRange(false); + if (dates.length === 0) return; Modal.confirm({ title: '确认删除', - content: `确定要删除 ${selectedBodies.length} 个天体在 ${datesToDelete.length} 天内的所有位置数据吗?此操作不可恢复。`, + content: `确定要删除 ${selectedBodies.length} 个天体在 ${dates.length} 天内的所有位置数据吗?此操作不可恢复。`, okText: '确认删除', okType: 'danger', cancelText: '取消', onOk: async () => { setDeleting(true); try { - const { data } = await request.post('/celestial/positions/delete', { - body_ids: selectedBodies, - dates: datesToDelete - }); - + const { data } = await request.post('/celestial/positions/delete', { body_ids: selectedBodies, dates }); toast.success(data.message || '数据已删除'); - loadAvailableDates(); // Refresh status - } catch (error) { + await loadAvailableDates(); + } catch { toast.error('删除失败'); } finally { setDeleting(false); } - } + }, }); }; - // Custom calendar cell renderer const dateCellRender = (value: Dayjs) => { - const dateStr = value.format('YYYY-MM-DD'); - const inRange = value.isBetween(dateRange[0], dateRange[1], 'day', '[]'); - - if (!inRange || !activeBodyForCalendar) return null; - - const bodyDates = availableDates.get(activeBodyForCalendar); - const hasData = bodyDates?.has(dateStr) || false; - - return ( -
- {hasData ? ( - - ) : ( - - )} -
- ); + if (!activeBodyForCalendar || !value.isBetween(dateRange[0], dateRange[1], 'day', '[]')) return null; + return
; }; - const disabledDate = (current: Dayjs) => { - // Cannot select dates in the future - return current && current.isAfter(dayjs(), 'day'); - }; - - const handleCalendarDateClick = async (date: Dayjs) => { - const dateStr = date.format('YYYY-MM-DD'); - const inRange = date.isBetween(dateRange[0], dateRange[1], 'day', '[]'); - - if (!inRange) { - toast.warning('请选择在日期范围内的日期'); - return; - } - - if (date.isAfter(dayjs(), 'day')) { - toast.warning('不能下载未来日期的数据'); - return; - } - - if (!activeBodyForCalendar) { - toast.warning('请先选择天体'); - return; - } - - const bodyDates = availableDates.get(activeBodyForCalendar); - const hasData = bodyDates?.has(dateStr) || false; - - if (hasData) { - // Load and display data for this date - await loadDateData(dateStr); - return; - } - - if (selectedBodies.length === 0) { - toast.warning('请先选择天体'); - return; - } - - handleDownload(date); - }; - - const loadDateData = async (dateStr: string) => { + const loadDateData = async (date: string) => { setLoadingDateData(true); try { - // Query all selected bodies at once (comma-separated) - const bodyIdsToQuery = selectedBodies.filter(bodyId => { - const bodyDates = availableDates.get(bodyId); - return bodyDates?.has(dateStr); - }); - - if (bodyIdsToQuery.length === 0) { - setViewingDateData({ date: dateStr, bodies: [] }); - setLoadingDateData(false); + const bodyIds = selectedBodies.filter((bodyId) => availableDates.get(bodyId)?.has(date)); + if (bodyIds.length === 0) { + setViewingDateData({ date, bodies: [] }); return; } - try { - // Query all bodies in one request - const { data } = await request.get('/celestial/positions', { - params: { - body_ids: bodyIdsToQuery.join(','), - start_time: `${dateStr}T00:00:00Z`, - end_time: `${dateStr}T00:00:00Z` - } - }); - - console.log(`Response for bodies ${bodyIdsToQuery.join(',')}:`, data); - - const bodiesData = []; - const allBodies = Object.values(bodies).flat(); - - // Process each body in the response - if (data.bodies && data.bodies.length > 0) { - for (const bodyData of data.bodies) { - if (bodyData.positions && bodyData.positions.length > 0) { - const body = allBodies.find(b => b.id === bodyData.id); - const pos = bodyData.positions[0]; - bodiesData.push({ - id: bodyData.id, - name: body?.name_zh || body?.name || bodyData.name || bodyData.id, - x: pos.x, - y: pos.y, - z: pos.z, - vx: pos.vx, - vy: pos.vy, - vz: pos.vz, - time: pos.time - }); - } - } - } - - console.log('Processed bodies data:', bodiesData); - setViewingDateData({ date: dateStr, bodies: bodiesData }); - } catch (error) { - console.error(`Failed to load data:`, error); - toast.error('加载数据失败'); - } + const { data } = await request.get('/celestial/positions', { + params: { body_ids: bodyIds.join(','), start_time: `${date}T00:00:00Z`, end_time: `${date}T00:00:00Z` }, + }); + const allBodies = Object.values(bodies).flat(); + const rows: PositionRow[] = []; + data.bodies?.forEach((bodyData: { id: string; name?: string; positions?: PositionRow[] }) => { + const position = bodyData.positions?.[0]; + if (!position) return; + const body = allBodies.find((item) => item.id === bodyData.id); + rows.push({ ...position, id: bodyData.id, name: body?.name_zh || body?.name || bodyData.name || bodyData.id }); + }); + setViewingDateData({ date, bodies: rows }); + } catch { + toast.error('加载数据失败'); } finally { setLoadingDateData(false); } }; + const handleCalendarDateClick = async (date: Dayjs) => { + if (!date.isBetween(dateRange[0], dateRange[1], 'day', '[]')) { + toast.warning('请选择在日期范围内的日期'); + return; + } + if (date.isAfter(dayjs(), 'day') || !activeBodyForCalendar) return; + const dateString = date.format('YYYY-MM-DD'); + if (availableDates.get(activeBodyForCalendar)?.has(dateString)) await loadDateData(dateString); + else await handleDownload(date); + }; + return ( -
- {/* Data Cutoff Date Display */} - {cutoffDate && ( - - )} - - - {/* Left: Body Selection */} - - - 已选择: {selectedBodies.length} - - } - > - bodies[type] && bodies[type].length > 0) - .map((type) => { - const typeBodies = bodies[type]; - return { - key: type, - label: ( -
- {typeNames[type] || type} - selectedBodies.includes(b.id))} - indeterminate={ - typeBodies.some(b => selectedBodies.includes(b.id)) && - !typeBodies.every(b => selectedBodies.includes(b.id)) - } - onChange={(e) => { - e.stopPropagation(); - handleTypeSelectAll(type, e.target.checked); - }} - > - 全选 - -
- ), - children: ( - - {typeBodies.map((body) => ( - handleBodySelect(body.id, e.target.checked)} - > - {body.name_zh || body.name} ({body.id}) - {!body.is_active && } - - ))} - - ), - }; - })} - /> -
- - - {/* Right: Date Selection and Calendar */} - - - - - - - } - > - }> - {/* Body selector for calendar view when multiple bodies selected */} - {selectedBodies.length > 1 && ( -
- 天体列表: - - {selectedBodies.map(bodyId => { - const allBodies = Object.values(bodies).flat(); - const body = allBodies.find(b => b.id === bodyId); - return ( - setActiveBodyForCalendar(bodyId)} - > - {body?.name_zh || body?.name || bodyId} ({bodyId}) - - ); - })} - -
- 点击标签切换查看不同天体的数据状态 -
-
- )} - - {selectedBodies.length === 1 && activeBodyForCalendar && ( -
- 当前天体: - - {(() => { - const allBodies = Object.values(bodies).flat(); - const body = allBodies.find(b => b.id === activeBodyForCalendar); - return `${body?.name_zh || body?.name || activeBodyForCalendar} (${activeBodyForCalendar})`; - })()} - -
- )} - -
- - - - -
- - {downloading && ( -
- - - 正在下载: {downloadProgress.current} / {downloadProgress.total} - -
- )} - - -
-
- -
- - {/* Data Viewer Modal */} - setViewingDateData(null)} - footer={null} - width={900} - > - {viewingDateData && ( - - val?.toFixed(6) || '-' - }, - { - title: 'Y (AU)', - dataIndex: 'y', - key: 'y', - render: (val: number) => val?.toFixed(6) || '-' - }, - { - title: 'Z (AU)', - dataIndex: 'z', - key: 'z', - render: (val: number) => val?.toFixed(6) || '-' - }, - { - title: 'VX (AU/day)', - dataIndex: 'vx', - key: 'vx', - render: (val: number) => val?.toFixed(8) || '-' - }, - { - title: 'VY (AU/day)', - dataIndex: 'vy', - key: 'vy', - render: (val: number) => val?.toFixed(8) || '-' - }, - { - title: 'VZ (AU/day)', - dataIndex: 'vz', - key: 'vz', - render: (val: number) => val?.toFixed(8) || '-' - } - ]} - /> - {viewingDateData.bodies.length === 0 && ( -
- 该日期暂无数据 -
- )} - - )} - - + void handleDownload()} + onActiveBodyChange={setActiveBodyForCalendar} + onCalendarDateClick={(date) => void handleCalendarDateClick(date)} + onDateCellRender={dateCellRender} + onCloseDateData={() => setViewingDateData(null)} + disabledDate={(date) => date.isAfter(dayjs(), 'day')} + /> ); } diff --git a/frontend/src/pages/admin/Rockets.tsx b/frontend/src/pages/admin/Rockets.tsx new file mode 100644 index 0000000..0e4eef1 --- /dev/null +++ b/frontend/src/pages/admin/Rockets.tsx @@ -0,0 +1,125 @@ +import { useEffect, useState } from 'react'; +import { Button, Col, Form, Input, InputNumber, Modal, Row, Switch, Tabs, Tag } from 'antd'; +import type { ColumnsType } from 'antd/es/table'; +import { DataTable } from '../../components/admin/DataTable'; +import type { RocketConfig } from '../../features/rocket-simulator/types'; +import { request } from '../../utils/request'; +import { useToast } from '../../contexts/ToastContext'; + +const defaultStage1 = { name: '一级推进器', dry_mass_kg: 25000, fuel_mass_kg: 400000, max_thrust_n: 7500000, specific_impulse_s: 285, engine_count: 9, length_ratio: 0.65 }; +const defaultStage2 = { name: '二级推进器', dry_mass_kg: 4000, fuel_mass_kg: 100000, max_thrust_n: 1000000, specific_impulse_s: 350, engine_count: 1, length_ratio: 0.35 }; +const createDefaults = { color: '#f8fafc', launch_site_name: '发射场', launch_latitude_deg: 0, launch_longitude_deg: 0, payload_mass_kg: 15000, drag_coefficient: 0.4, target_orbit_km: 200, target_velocity_mps: 7800, separation_delay_seconds: 2, second_stage_ignition_delay_seconds: 1, is_active: true, sort_order: 0, stage_1: defaultStage1, stage_2: defaultStage2 }; + +function NumberField({ name, label, suffix, min = 0, max, step }: { name: string | (string | number)[]; label: string; suffix?: string; min?: number; max?: number; step?: number }) { + return ; +} + +function StageFields({ index }: { index: 1 | 2 }) { + const prefix = `stage_${index}`; + return ( + + + + + + + + + + ); +} + +export function Rockets() { + const [data, setData] = useState([]); + const [loading, setLoading] = useState(false); + const [total, setTotal] = useState(0); + const [page, setPage] = useState(1); + const [pageSize, setPageSize] = useState(20); + const [search, setSearch] = useState(''); + const [open, setOpen] = useState(false); + const [editing, setEditing] = useState(null); + const [form] = Form.useForm(); + const toast = useToast(); + + const load = async () => { + setLoading(true); + try { + const response = await request.get('/rockets/admin', { params: { skip: (page - 1) * pageSize, limit: pageSize, search: search || undefined } }); + setData(response.data.rockets); + setTotal(response.data.total); + } catch { + toast.error('加载火箭配置失败'); + } finally { + setLoading(false); + } + }; + + useEffect(() => { void load(); }, [page, pageSize, search]); + + const syncFormValues = (visible: boolean) => { + if (!visible) return; + form.resetFields(); + form.setFieldsValue(editing ?? createDefaults); + }; + + const showCreate = () => { + setEditing(null); + setOpen(true); + }; + + const showEdit = (record: RocketConfig) => { + setEditing(record); + setOpen(true); + }; + + const save = async () => { + try { + const values = await form.validateFields(); + if (editing) await request.put(`/rockets/admin/${editing.id}`, values); + else await request.post('/rockets/admin', values); + toast.success(editing ? '火箭配置已更新' : '火箭配置已创建'); + setOpen(false); + void load(); + } catch (error: any) { + if (!error.errorFields) toast.error(error.response?.data?.detail || '保存失败'); + } + }; + + const remove = async (record: RocketConfig) => { + try { + await request.delete(`/rockets/admin/${record.id}`); + toast.success('删除成功'); + void load(); + } catch (error: any) { + toast.error(error.response?.data?.detail || '删除失败'); + } + }; + + const columns: ColumnsType = [ + { title: '排序', dataIndex: 'sort_order', width: 70 }, + { title: '火箭', key: 'name', width: 210, render: (_, record) =>
{record.name_zh || record.name}
{record.name} · {record.code}
}, + { title: '制造方', dataIndex: 'manufacturer', width: 180, render: (value) => value || '-' }, + { title: '发射场', key: 'launch_site', width: 180, render: (_, record) =>
{record.launch_site_name}
{record.launch_latitude_deg.toFixed(4)}, {record.launch_longitude_deg.toFixed(4)}
}, + { title: '总体尺寸', key: 'size', width: 130, render: (_, record) => {record.height_m} m × {record.diameter_m} m }, + { title: '一级', key: 'stage1', width: 170, render: (_, record) => {record.stage_1.engine_count} 台 / {(record.stage_1.max_thrust_n / 1_000_000).toFixed(2)} MN }, + { title: '二级', key: 'stage2', width: 170, render: (_, record) => {record.stage_2.engine_count} 台 / {(record.stage_2.max_thrust_n / 1_000_000).toFixed(2)} MN }, + { title: '目标轨道', dataIndex: 'target_orbit_km', width: 110, render: (value) => `${value} km` }, + { title: '状态', dataIndex: 'is_active', width: 90, render: (value) => {value ? '启用' : '停用'} }, + ]; + + return ( + <> + { setPage(nextPage); setPageSize(nextSize); }} onSearch={(value) => { setSearch(value); setPage(1); }} onAdd={showCreate} onEdit={showEdit} onDelete={remove} /> + setOpen(false)} afterOpenChange={syncFormValues} width={820} footer={[, ]} destroyOnHidden> +
+
}, + { key: 'mission', label: '发射与任务', children: }, + { key: 'stage1', label: '一级参数', children: }, + { key: 'stage2', label: '二级参数', children: }, + ]} /> + + + + ); +} diff --git a/frontend/src/pages/admin/ScheduledJobs.tsx b/frontend/src/pages/admin/ScheduledJobs.tsx index 8cec58d..645c09e 100644 --- a/frontend/src/pages/admin/ScheduledJobs.tsx +++ b/frontend/src/pages/admin/ScheduledJobs.tsx @@ -1,48 +1,26 @@ -/** - * Scheduled Jobs Management Page - */ -import { useState, useEffect } from 'react'; -import { Modal, Form, Input, Switch, Button, Space, Popconfirm, Tag, Tooltip, Badge, Tabs, Select, Row, Col, Card, Alert } from 'antd'; -import { PlayCircleOutlined, EditOutlined, DeleteOutlined, QuestionCircleOutlined, InfoCircleOutlined } from '@ant-design/icons'; +import { useCallback, useEffect, useMemo, useState } from 'react'; +import { Badge, Button, Form, Popconfirm, Space, Tag, Tooltip } from 'antd'; +import { DeleteOutlined, EditOutlined, PlayCircleOutlined } from '@ant-design/icons'; import type { ColumnsType } from 'antd/es/table'; + import { DataTable } from '../../components/admin/DataTable'; -import { request } from '../../utils/request'; import { useToast } from '../../contexts/ToastContext'; +import { request } from '../../utils/request'; +import { ScheduledJobModal } from './scheduled-jobs/ScheduledJobModal'; +import type { AvailableTask, ScheduledJob } from './scheduled-jobs/types'; -interface ScheduledJob { - id: number; - name: string; - job_type: 'predefined' | 'custom_code'; - predefined_function?: string; - function_params?: Record; - cron_expression: string; - python_code?: string; - is_active: boolean; - description: string; - last_run_at: string | null; - last_run_status: 'success' | 'failed' | null; - next_run_at: string | null; - created_at: string; - updated_at: string; -} - -interface AvailableTask { - name: string; - description: string; - category: string; - parameters: Array<{ - name: string; - type: string; - description: string; - required: boolean; - default: any; - }>; +function getErrorMessage(error: unknown) { + if (typeof error !== 'object' || error === null || !('response' in error)) return null; + const detail = (error as { response?: { data?: { detail?: unknown } } }).response?.data?.detail; + if (typeof detail === 'string') return detail; + if (typeof detail === 'object' && detail !== null && 'message' in detail) return String(detail.message); + return null; } export function ScheduledJobs() { const [loading, setLoading] = useState(false); const [data, setData] = useState([]); - const [filteredData, setFilteredData] = useState([]); + const [keyword, setKeyword] = useState(''); const [isModalOpen, setIsModalOpen] = useState(false); const [editingRecord, setEditingRecord] = useState(null); const [activeTabKey, setActiveTabKey] = useState('basic'); @@ -51,89 +29,68 @@ export function ScheduledJobs() { const [form] = Form.useForm(); const toast = useToast(); - const jobType = Form.useWatch('job_type', form); - const predefinedFunction = Form.useWatch('predefined_function', form); + const jobType = Form.useWatch('job_type', form); + const predefinedFunction = Form.useWatch('predefined_function', form); + const filteredData = useMemo(() => { + const normalized = keyword.toLowerCase(); + return data.filter((item) => item.name.toLowerCase().includes(normalized) || item.description?.toLowerCase().includes(normalized)); + }, [data, keyword]); - useEffect(() => { - loadData(); - loadAvailableTasks(); - }, []); - - useEffect(() => { - // When predefined function changes, update selected task - if (predefinedFunction && availableTasks.length > 0) { - const task = availableTasks.find(t => t.name === predefinedFunction); - setSelectedTask(task || null); - - // Set default parameter values only if not editing - if (task && !editingRecord) { - const defaultParams: Record = {}; - task.parameters.forEach(param => { - if (param.default !== null && param.default !== undefined) { - defaultParams[param.name] = param.default; - } - }); - form.setFieldsValue({ function_params: defaultParams }); - } else if (task && editingRecord) { - // When editing, just set the selected task, don't override params - setSelectedTask(task); - } - } else { - setSelectedTask(null); - } - }, [predefinedFunction, availableTasks]); - - const loadData = async () => { + const loadData = useCallback(async () => { setLoading(true); try { const { data: result } = await request.get('/scheduled-jobs'); setData(result || []); - setFilteredData(result || []); - } catch (error) { + } catch { toast.error('加载数据失败'); } finally { setLoading(false); } - }; + }, [toast]); - const loadAvailableTasks = async () => { + const loadAvailableTasks = useCallback(async () => { try { const { data: result } = await request.get('/scheduled-jobs/available-tasks'); setAvailableTasks(result || []); - } catch (error) { + } catch { toast.error('加载可用任务列表失败'); } - }; + }, [toast]); - const handleSearch = (keyword: string) => { - const lowerKeyword = keyword.toLowerCase(); - const filtered = data.filter( - (item) => - item.name.toLowerCase().includes(lowerKeyword) || - item.description?.toLowerCase().includes(lowerKeyword) - ); - setFilteredData(filtered); - }; + useEffect(() => { + void loadData(); + void loadAvailableTasks(); + }, [loadAvailableTasks, loadData]); + + useEffect(() => { + if (!predefinedFunction || availableTasks.length === 0) { + setSelectedTask(null); + return; + } + + const task = availableTasks.find((item) => item.name === predefinedFunction) || null; + setSelectedTask(task); + if (task && !editingRecord) { + const defaults: Record = {}; + task.parameters.forEach((parameter) => { + if (parameter.default !== null && parameter.default !== undefined) defaults[parameter.name] = parameter.default; + }); + form.setFieldsValue({ function_params: defaults }); + } + }, [availableTasks, editingRecord, form, predefinedFunction]); const handleAdd = () => { setEditingRecord(null); setSelectedTask(null); form.resetFields(); - form.setFieldsValue({ - job_type: 'predefined', - is_active: true, - function_params: {} - }); + form.setFieldsValue({ job_type: 'predefined', is_active: true, function_params: {} }); setActiveTabKey('basic'); setIsModalOpen(true); }; const handleEdit = (record: ScheduledJob) => { setEditingRecord(record); - form.setFieldsValue({ - ...record, - function_params: record.function_params || {} - }); + form.setFieldsValue({ ...record, function_params: record.function_params || {} }); setActiveTabKey('basic'); setIsModalOpen(true); }; @@ -142,8 +99,8 @@ export function ScheduledJobs() { try { await request.delete(`/scheduled-jobs/${record.id}`); toast.success('删除成功'); - loadData(); - } catch (error) { + await loadData(); + } catch { toast.error('删除失败'); } }; @@ -152,8 +109,8 @@ export function ScheduledJobs() { try { await request.post(`/scheduled-jobs/${record.id}/run`); toast.success('定时任务已触发,请前往"系统任务"中查看进度'); - setTimeout(loadData, 1000); - } catch (error) { + window.setTimeout(() => void loadData(), 1000); + } catch { toast.error('触发失败'); } }; @@ -161,8 +118,6 @@ export function ScheduledJobs() { const handleModalOk = async () => { try { const values = await form.validateFields(); - - // Clean up data based on job_type if (values.job_type === 'predefined') { delete values.python_code; } else { @@ -177,124 +132,44 @@ export function ScheduledJobs() { await request.post('/scheduled-jobs', values); toast.success('创建成功'); } - setIsModalOpen(false); - loadData(); - } catch (error: any) { - if (error.response?.data?.detail) { - const detail = error.response.data.detail; - if (typeof detail === 'object' && detail.message) { - toast.error(detail.message); - } else { - toast.error(detail); - } - } + await loadData(); + } catch (error) { + const message = getErrorMessage(error); + if (message) toast.error(message); } }; const columns: ColumnsType = [ + { title: 'ID', dataIndex: 'id', width: 60 }, { - title: 'ID', - dataIndex: 'id', - width: 60, + title: '任务名称', dataIndex: 'name', width: 200, + render: (text, record) =>
{text}
{record.description &&
{record.description}
}
, }, { - title: '任务名称', - dataIndex: 'name', - width: 200, - render: (text, record) => ( -
-
{text}
- {record.description && ( -
{record.description}
- )} -
- ), + title: '类型', dataIndex: 'job_type', width: 120, + render: (type) => {type === 'predefined' ? '内置任务' : '自定义代码'}, }, { - title: '类型', - dataIndex: 'job_type', - width: 120, - render: (type) => ( - - {type === 'predefined' ? '内置任务' : '自定义代码'} - - ), + title: '任务函数', dataIndex: 'predefined_function', width: 200, + render: (func, record) => record.job_type === 'predefined' ? {func} : -, + }, + { title: 'Cron 表达式', dataIndex: 'cron_expression', width: 130, render: (text) => {text} }, + { title: '状态', dataIndex: 'is_active', width: 80, render: (active) => }, + { + title: '上次执行', width: 200, + render: (_, record) => record.last_run_at ? ( +
{new Date(record.last_run_at).toLocaleString()}
{record.last_run_status === 'success' ? '成功' : '失败'}
+ ) : 从未执行, }, { - title: '任务函数', - dataIndex: 'predefined_function', - width: 200, - render: (func, record) => { - if (record.job_type === 'predefined') { - return {func}; - } - return -; - }, - }, - { - title: 'Cron 表达式', - dataIndex: 'cron_expression', - width: 130, - render: (text) => {text}, - }, - { - title: '状态', - dataIndex: 'is_active', - width: 80, - render: (active) => ( - - ), - }, - { - title: '上次执行', - width: 200, - render: (_, record) => ( -
- {record.last_run_at ? ( - <> -
{new Date(record.last_run_at).toLocaleString()}
- - {record.last_run_status === 'success' ? '成功' : '失败'} - - - ) : ( - 从未执行 - )} -
- ), - }, - { - title: '操作', - key: 'action', - width: 150, + title: '操作', key: 'action', width: 150, render: (_, record) => ( - -
- - - - - - - - - - - - - - - - - - - - - - - {/* 内置任务配置 */} - {jobType === 'predefined' && ( - <> - - - ) : param.type === 'boolean' ? ( - - ) : param.type === 'array' ? ( - - )} - - ))} - - )} - - )} - - - {/* Python 代码 Tab - 仅在自定义代码模式下显示 */} - {jobType === 'custom_code' && ( - - -

可用变量:

-
    -
  • db: AsyncSession - 数据库会话
  • -
  • logger: Logger - 日志记录器
  • -
  • task_id: int - 任务ID
  • -
  • asyncio: 异步IO模块
  • -
-

- ⚠️ 注意:代码在异步环境中执行,可以使用 await -

- - } - type="info" - showIcon - style={{ marginBottom: 16 }} - /> - - - - -
- )} - - - + activeTab={activeTabKey} + onActiveTabChange={setActiveTabKey} + jobType={jobType} + availableTasks={availableTasks} + selectedTask={selectedTask} + onClearSelectedTask={() => setSelectedTask(null)} + /> ); } - -// Simple Code Editor with Line Numbers -const CodeEditor = ({ - value = '', - onChange, - placeholder = '' -}: { - value?: string; - onChange?: (e: any) => void; - placeholder?: string; -}) => { - const displayValue = value || placeholder; - const lineCount = displayValue.split('\n').length; - const lineNumbers = Array.from({ length: lineCount }, (_, i) => i + 1).join('\n'); - - return ( -
-
- {lineNumbers} -
- -
- ); -}; diff --git a/frontend/src/pages/admin/StarSystems.tsx b/frontend/src/pages/admin/StarSystems.tsx index 10ff8f7..f059adf 100644 --- a/frontend/src/pages/admin/StarSystems.tsx +++ b/frontend/src/pages/admin/StarSystems.tsx @@ -1,47 +1,19 @@ -import { useState, useEffect } from 'react'; -import { Modal, Form, Input, InputNumber, Select, Button, Space, Popconfirm, Tag, Descriptions, Tabs } from 'antd'; -import { PlusOutlined, EditOutlined, DeleteOutlined, EyeOutlined } from '@ant-design/icons'; +import { useCallback, useEffect, useState } from 'react'; +import { Button, Form, Popconfirm, Space, Tag } from 'antd'; +import { DeleteOutlined, EditOutlined, EyeOutlined } from '@ant-design/icons'; import type { ColumnsType } from 'antd/es/table'; -import MdEditor from 'react-markdown-editor-lite'; -import MarkdownIt from 'markdown-it'; -import 'react-markdown-editor-lite/lib/index.css'; import { DataTable } from '../../components/admin/DataTable'; -import { request } from '../../utils/request'; import { useToast } from '../../contexts/ToastContext'; +import { request } from '../../utils/request'; +import { StarSystemDetailsModal } from './star-systems/StarSystemDetailsModal'; +import { StarSystemModal } from './star-systems/StarSystemModal'; +import type { StarSystem, StarSystemWithBodies } from './star-systems/types'; -const MdEditorParser = new MarkdownIt(); - -interface StarSystem { - id: number; - name: string; - name_zh: string; - host_star_name: string; - distance_pc: number | null; - distance_ly: number | null; - ra: number | null; - dec: number | null; - position_x: number | null; - position_y: number | null; - position_z: number | null; - spectral_type: string | null; - radius_solar: number | null; - mass_solar: number | null; - temperature_k: number | null; - magnitude: number | null; - luminosity_solar: number | null; - color: string | null; - planet_count: number; - star_count: number; // 恒星数量 - description: string | null; - details: string | null; - created_at: string; - updated_at: string; -} - -interface StarSystemWithBodies extends StarSystem { - bodies: any[]; - body_count: number; +function getErrorDetail(error: unknown, fallback: string) { + if (typeof error !== 'object' || error === null || !('response' in error)) return fallback; + const detail = (error as { response?: { data?: { detail?: unknown } } }).response?.data?.detail; + return typeof detail === 'string' ? detail : fallback; } export function StarSystems() { @@ -55,49 +27,38 @@ export function StarSystems() { const [isDetailModalOpen, setIsDetailModalOpen] = useState(false); const [editingRecord, setEditingRecord] = useState(null); const [detailData, setDetailData] = useState(null); - const [activeTabKey, setActiveTabKey] = useState('basic'); // 添加tab状态 const [form] = Form.useForm(); const toast = useToast(); - useEffect(() => { - loadData(); - }, [currentPage, pageSize, searchKeyword]); - - const loadData = async () => { + const loadData = useCallback(async () => { setLoading(true); try { const { data: result } = await request.get('/star-systems', { - params: { - skip: (currentPage - 1) * pageSize, - limit: pageSize, - search: searchKeyword || undefined, - exclude_solar: false, - }, + params: { skip: (currentPage - 1) * pageSize, limit: pageSize, search: searchKeyword || undefined, exclude_solar: false }, }); setData(result.systems || []); setTotal(result.total || 0); - } catch (error) { + } catch { toast.error('加载恒星系统数据失败'); } finally { setLoading(false); } - }; + }, [currentPage, pageSize, searchKeyword, toast]); + + useEffect(() => { + void loadData(); + }, [loadData]); const handleAdd = () => { setEditingRecord(null); form.resetFields(); - form.setFieldsValue({ - color: '#FFFFFF', - planet_count: 0, - }); - setActiveTabKey('basic'); // 重置到基础信息tab + form.setFieldsValue({ color: '#FFFFFF', planet_count: 0 }); setIsModalOpen(true); }; const handleEdit = (record: StarSystem) => { setEditingRecord(record); form.setFieldsValue(record); - setActiveTabKey('basic'); // 重置到基础信息tab setIsModalOpen(true); }; @@ -106,7 +67,7 @@ export function StarSystems() { const { data: result } = await request.get(`/star-systems/${record.id}/bodies`); setDetailData(result); setIsDetailModalOpen(true); - } catch (error) { + } catch { toast.error('加载恒星系统详情失败'); } }; @@ -116,161 +77,60 @@ export function StarSystems() { toast.error('不能删除太阳系'); return; } - try { await request.delete(`/star-systems/${id}`); toast.success('删除成功'); - loadData(); - } catch (error: any) { - toast.error(error.response?.data?.detail || '删除失败'); + await loadData(); + } catch (error) { + toast.error(getErrorDetail(error, '删除失败')); } }; const handleSubmit = async () => { try { const values = await form.validateFields(); - if (editingRecord) { - // Update await request.put(`/star-systems/${editingRecord.id}`, values); toast.success('更新成功'); } else { - // Create await request.post('/star-systems', values); toast.success('创建成功'); } - setIsModalOpen(false); - loadData(); - } catch (error: any) { - if (error.errorFields) { + await loadData(); + } catch (error) { + if (typeof error === 'object' && error !== null && 'errorFields' in error) { toast.error('请填写必填字段'); } else { - toast.error(error.response?.data?.detail || '操作失败'); + toast.error(getErrorDetail(error, '操作失败')); } } }; - const handleSearch = (value: string) => { - setSearchKeyword(value); - setCurrentPage(1); - }; - const columns: ColumnsType = [ + { title: 'ID', dataIndex: 'id', key: 'id', width: 60 }, { - title: 'ID', - dataIndex: 'id', - key: 'id', - width: 60, + title: '系统名称', dataIndex: 'name', key: 'name', width: 200, + render: (text, record) =>
{text}
{record.name_zh &&
{record.name_zh}
}
, }, + { title: '主恒星', dataIndex: 'host_star_name', key: 'host_star_name', width: 150 }, { - title: '系统名称', - dataIndex: 'name', - key: 'name', - width: 200, - render: (text, record) => ( -
-
{text}
- {record.name_zh &&
{record.name_zh}
} -
- ), + title: '距离', dataIndex: 'distance_pc', key: 'distance', width: 120, + render: (pc, record) => pc ?
{pc.toFixed(2)} pc
{(record.distance_ly || pc * 3.26).toFixed(2)} ly
: '-', }, + { title: '光谱类型', dataIndex: 'spectral_type', key: 'spectral_type', width: 100, render: (text) => text || '-' }, { - title: '主恒星', - dataIndex: 'host_star_name', - key: 'host_star_name', - width: 150, + title: '恒星参数', key: 'stellar_params', width: 150, + render: (_, record) =>
{record.radius_solar &&
R: {record.radius_solar.toFixed(2)} R☉
}{record.mass_solar &&
M: {record.mass_solar.toFixed(2)} M☉
}{record.temperature_k &&
T: {record.temperature_k.toFixed(0)} K
}
, }, + { title: '恒星数量', dataIndex: 'star_count', key: 'star_count', width: 100, render: (count) => 1 ? 'gold' : 'default'}>{count}颗 }, { - title: '距离', - dataIndex: 'distance_pc', - key: 'distance', - width: 120, - render: (pc, record) => { - if (!pc) return '-'; - const ly = record.distance_ly || pc * 3.26; - return ( -
-
{pc.toFixed(2)} pc
-
{ly.toFixed(2)} ly
-
- ); - }, - }, - { - title: '光谱类型', - dataIndex: 'spectral_type', - key: 'spectral_type', - width: 100, - render: (text) => text || '-', - }, - { - title: '恒星参数', - key: 'stellar_params', - width: 150, - render: (_, record) => ( -
- {record.radius_solar &&
R: {record.radius_solar.toFixed(2)} R☉
} - {record.mass_solar &&
M: {record.mass_solar.toFixed(2)} M☉
} - {record.temperature_k &&
T: {record.temperature_k.toFixed(0)} K
} -
- ), - }, - { - title: '恒星数量', - dataIndex: 'star_count', - key: 'star_count', - width: 100, - render: (count) => ( - 1 ? 'gold' : 'default'}> - {count}颗 - - ), - }, - { - title: '操作', - key: 'actions', - fixed: 'right', - width: 180, - render: (_, record) => ( - - - - {record.id !== 1 && ( - handleDelete(record.id)} - okText="删除" - cancelText="取消" - okButtonProps={{ danger: true }} - > - - - )} - - ), + title: '操作', key: 'actions', fixed: 'right', width: 180, + render: (_, record) => + + + {record.id !== 1 && handleDelete(record.id)} okText="删除" cancelText="取消" okButtonProps={{ danger: true }}>} + , }, ]; @@ -285,301 +145,20 @@ export function StarSystems() { total={total} currentPage={currentPage} pageSize={pageSize} - onPageChange={(page, size) => { - setCurrentPage(page); - setPageSize(size); - }} + onPageChange={(page, size) => { setCurrentPage(page); setPageSize(size); }} onAdd={handleAdd} - onSearch={handleSearch} + onSearch={(value) => { setSearchKeyword(value); setCurrentPage(1); }} searchPlaceholder="搜索恒星系统名称..." /> - - {/* 创建/编辑 Modal */} - setIsModalOpen(false)} - width={1200} - okText="保存" - cancelText="取消" - > -
- {editingRecord ? ( - // 编辑模式:双tab - - - {/* 第一行:系统名称、中文名称、主恒星名称 */} -
- - - - - - - - - - - -
- - {/* 第二行:距离、赤经、赤纬 */} -
- - - - - - - - - - - -
- - {/* 第三行:X/Y/Z坐标 */} -
- - - - - - - - - - - -
- - {/* 第四行:光谱类型、恒星半径、恒星质量 */} -
- - - - - - - - - - - -
- - {/* 第五行:表面温度、视星等、光度 */} -
- - - - - - - - - - - -
- - {/* 第六行:距离(ly)、显示颜色 */} -
- - - - - - - -
- - {/* 描述(全宽) */} - - - -
- - - - MdEditorParser.render(text)} - onChange={({ text }) => form.setFieldValue('details', text)} - /> - - -
- ) : ( - // 新增模式:只显示基础信息 - <> - {/* 第一行:系统名称、中文名称、主恒星名称 */} -
- - - - - - - - - - - -
- - {/* 第二行:距离、赤经、赤纬 */} -
- - - - - - - - - - - -
- - {/* 第三行:X/Y/Z坐标 */} -
- - - - - - - - - - - -
- - {/* 第四行:光谱类型、恒星半径、恒星质量 */} -
- - - - - - - - - - - -
- - {/* 第五行:表面温度、视星等、光度 */} -
- - - - - - - - - - - -
- - {/* 第六行:距离(ly)、显示颜色 */} -
- - - - - - - -
- - {/* 描述(全宽) */} - - - - - )} - -
- - {/* 详情 Modal */} - setIsDetailModalOpen(false)} - footer={null} - width={900} - > - {detailData && ( -
- - {detailData.id} - {detailData.host_star_name} - - {detailData.distance_pc ? `${detailData.distance_pc.toFixed(2)} pc (~${(detailData.distance_ly || detailData.distance_pc * 3.26).toFixed(2)} ly)` : '-'} - - {detailData.spectral_type || '-'} - {detailData.radius_solar ? `${detailData.radius_solar.toFixed(2)} R☉` : '-'} - {detailData.mass_solar ? `${detailData.mass_solar.toFixed(2)} M☉` : '-'} - {detailData.temperature_k ? `${detailData.temperature_k.toFixed(0)} K` : '-'} - {detailData.body_count} - - - {detailData.bodies && detailData.bodies.length > 0 && ( -
-

天体列表

-
- {detailData.bodies.map((body: any) => ( -
-
-
-
{body.name_zh || body.name}
-
{body.id}
-
- {body.type} -
- {body.description && ( -
{body.description}
- )} - {body.extra_data && ( -
- {body.extra_data.semi_major_axis_au &&
半长轴: {body.extra_data.semi_major_axis_au.toFixed(4)} AU
} - {body.extra_data.period_days &&
周期: {body.extra_data.period_days.toFixed(2)} 天
} - {body.extra_data.radius_earth &&
半径: {body.extra_data.radius_earth.toFixed(2)} R⊕
} -
- )} -
- ))} -
-
- )} -
- )} -
+ /> + setIsDetailModalOpen(false)} /> ); } diff --git a/frontend/src/pages/admin/SystemSettings.tsx b/frontend/src/pages/admin/SystemSettings.tsx index 83b7251..db903f7 100644 --- a/frontend/src/pages/admin/SystemSettings.tsx +++ b/frontend/src/pages/admin/SystemSettings.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react'; -import { Modal, Form, Input, InputNumber, Switch, Select, Button, Card, Descriptions, Badge, Space, Popconfirm, Alert, Divider } from 'antd'; -import { ReloadOutlined, ClearOutlined, WarningOutlined, SyncOutlined } from '@ant-design/icons'; +import { Modal, Form, Input, InputNumber, Switch, Select, Button, Card, Badge, Space, Popconfirm, Alert, Divider } from 'antd'; +import { ClearOutlined, SyncOutlined } from '@ant-design/icons'; import type { ColumnsType } from 'antd/es/table'; import { DataTable } from '../../components/admin/DataTable'; import { request } from '../../utils/request'; diff --git a/frontend/src/pages/admin/Tasks.tsx b/frontend/src/pages/admin/Tasks.tsx index 2fead02..8ef4d13 100644 --- a/frontend/src/pages/admin/Tasks.tsx +++ b/frontend/src/pages/admin/Tasks.tsx @@ -1,6 +1,6 @@ import { useState, useEffect, useRef } from 'react'; -import { Tag, Progress, Button, Modal, Descriptions, Badge, Typography, Space } from 'antd'; -import { ReloadOutlined, EyeOutlined } from '@ant-design/icons'; +import { Tag, Progress, Button, Modal, Descriptions, Badge, Typography } from 'antd'; +import { EyeOutlined } from '@ant-design/icons'; import type { ColumnsType } from 'antd/es/table'; import { DataTable } from '../../components/admin/DataTable'; import { request } from '../../utils/request'; diff --git a/frontend/src/pages/admin/UserProfile.tsx b/frontend/src/pages/admin/UserProfile.tsx index 22000ee..11cc29f 100644 --- a/frontend/src/pages/admin/UserProfile.tsx +++ b/frontend/src/pages/admin/UserProfile.tsx @@ -3,9 +3,9 @@ * 个人信息页面 */ import { useState, useEffect } from 'react'; -import { Form, Input, Button, Card, Avatar, Space, Descriptions, Row, Col, Upload, message } from 'antd'; +import { Form, Input, Button, Card, Avatar, Descriptions, Row, Col, Upload } from 'antd'; import { UserOutlined, MailOutlined, IdcardOutlined, UploadOutlined } from '@ant-design/icons'; -import { request, API_BASE_URL } from '../../utils/request'; +import { request } from '../../utils/request'; import { auth } from '../../utils/auth'; import { useToast } from '../../contexts/ToastContext'; diff --git a/frontend/src/pages/admin/celestial-bodies/CelestialBodyModal.tsx b/frontend/src/pages/admin/celestial-bodies/CelestialBodyModal.tsx new file mode 100644 index 0000000..5b956c2 --- /dev/null +++ b/frontend/src/pages/admin/celestial-bodies/CelestialBodyModal.tsx @@ -0,0 +1,259 @@ +import { useState } from 'react'; +import { Alert, Button, Col, Form, Input, InputNumber, Modal, Row, Select, Space, Tabs } from 'antd'; +import { SearchOutlined } from '@ant-design/icons'; +import type { FormInstance } from 'antd'; +import MarkdownIt from 'markdown-it'; +import MdEditor from 'react-markdown-editor-lite'; +import 'react-markdown-editor-lite/lib/index.css'; + +import type { ToastContextValue } from '../../../contexts/ToastContext'; +import { ResourceManager } from './ResourceManager'; +import type { CelestialBody } from './types'; + +const markdownParser = new MarkdownIt(); + +interface CelestialBodyModalProps { + form: FormInstance; + record: CelestialBody | null; + open: boolean; + onOk: () => Promise; + onCancel: () => void; + searchQuery: string; + onSearchQueryChange: (value: string) => void; + onNasaSearch: () => Promise; + searching: boolean; + uploading: boolean; + refreshResources: number; + onResourceUpload: (file: File, resourceType: string) => Promise; + onResourceDelete: (resourceId: number) => Promise; + toast: ToastContextValue; +} + +const bodyTypeOptions = [ + { value: 'star', label: '恒星' }, + { value: 'planet', label: '行星' }, + { value: 'dwarf_planet', label: '矮行星' }, + { value: 'satellite', label: '卫星' }, + { value: 'comet', label: '彗星' }, + { value: 'probe', label: '探测器' }, +]; + +function BasicFields({ editing }: { editing: boolean }) { + return ( + <> + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} + +function PhysicalAndOrbitFields() { + return ( + <> + previous.type !== current.type}> + {({ getFieldValue }) => { + const bodyType = getFieldValue('type'); + if (!['star', 'planet', 'dwarf_planet', 'satellite'].includes(bodyType)) return null; + + return ( + + + + + style={{ width: '100%' }} + min={0} + placeholder="例如:6371 (地球)" + formatter={(value) => `${value ?? ''}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} + parser={(value) => Number(value?.replace(/,/g, '')) || 0} + /> + + + + ); + }} + + + previous.type !== current.type || previous.orbit_info !== current.orbit_info} + > + {({ getFieldValue }) => { + const bodyType = getFieldValue('type'); + const orbitInfo = getFieldValue('orbit_info'); + if (!['planet', 'dwarf_planet'].includes(bodyType)) return null; + + return ( + + + + + + + + + + + + + + + {orbitInfo?.num_points && ( +
+
已生成的轨道数据:
+
+
轨道点数: {orbitInfo.num_points.toLocaleString()} 个点
+ {orbitInfo.period_days &&
实际周期: {orbitInfo.period_days.toFixed(2)} 天
} +
+
+ )} + + )} + type="info" + style={{ marginBottom: 16 }} + /> + ); + }} + + + ); +} + +export function CelestialBodyModal({ + form, + record, + open, + onOk, + onCancel, + searchQuery, + onSearchQueryChange, + onNasaSearch, + searching, + uploading, + refreshResources, + onResourceUpload, + onResourceDelete, + toast, +}: CelestialBodyModalProps) { + const [activeTab, setActiveTab] = useState('basic'); + + const basicContent = record ? ( + <> + + + + + ) : ( + <> + +

推荐使用 JPL Horizons 数字 ID 进行搜索,可获得最准确的结果。

+

示例:Hubble 的 ID 是 -48,Voyager 1 的 ID 是 -31

+

不知道 ID?可以先用名称搜索,系统会尽量提取 ID,或提示您手动确认。

+ + )} + type="info" + showIcon + style={{ marginBottom: 16 }} + /> + + + onSearchQueryChange(event.target.value)} + onPressEnter={onNasaSearch} + /> + + + + + + ); + + return ( + +
+ {record ? ( + + markdownParser.render(text)} + onChange={({ text }) => form.setFieldsValue({ details: text })} + /> + + ), + }, + ]} + /> + ) : basicContent} + +
+ ); +} diff --git a/frontend/src/pages/admin/celestial-bodies/ResourceManager.tsx b/frontend/src/pages/admin/celestial-bodies/ResourceManager.tsx new file mode 100644 index 0000000..887dd33 --- /dev/null +++ b/frontend/src/pages/admin/celestial-bodies/ResourceManager.tsx @@ -0,0 +1,153 @@ +import { useEffect, useState } from 'react'; +import { Button, Form, InputNumber, Popconfirm, Space, Tag, Upload } from 'antd'; +import { DeleteOutlined, UploadOutlined } from '@ant-design/icons'; + +import type { ToastContextValue } from '../../../contexts/ToastContext'; +import { request } from '../../../utils/request'; +import type { CelestialResource } from './types'; + +type ResourceGroups = Record; + +interface ResourceManagerProps { + bodyId: string; + bodyType: string; + resources?: ResourceGroups; + onUpload: (file: File, resourceType: string) => Promise; + onDelete: (resourceId: number) => Promise; + uploading: boolean; + refreshTrigger: number; + toast: ToastContextValue; +} + +export function ResourceManager({ + bodyId, + bodyType, + resources, + onUpload, + onDelete, + uploading, + refreshTrigger, + toast, +}: ResourceManagerProps) { + const [currentResources, setCurrentResources] = useState(resources); + + useEffect(() => { + request.get(`/celestial/resources/${bodyId}`) + .then(({ data }) => { + const grouped: ResourceGroups = {}; + data.resources.forEach((resource: CelestialResource) => { + const resourceType = resource.resource_type; + if (!resourceType) return; + grouped[resourceType] ??= []; + grouped[resourceType].push(resource); + }); + setCurrentResources(grouped); + }) + .catch(() => toast.error('加载资源列表失败')); + }, [bodyId, refreshTrigger, toast]); + + const resourceTypes = [ + { key: 'icon', label: '图标 (上传到 icon 目录)', type: 'image' }, + { key: 'texture', label: bodyType === 'probe' ? '纹理 (上传到 model 目录)' : '纹理 (上传到 texture 目录)', type: 'file' }, + { key: 'model', label: bodyType === 'probe' ? '模型 (上传到 model 目录)' : '模型 (上传到 texture 目录)', type: 'file' }, + ]; + + return ( + + + {resourceTypes.map(({ key, label, type }) => { + const items = currentResources?.[key] ?? []; + const icon = items[0]; + + return ( +
+
{label}
+ + {type === 'image' && icon ? ( +
+ Icon preview +
+ onUpload(file, key)} showUploadList={false} disabled={uploading} accept="image/*"> + + +
+ onDelete(icon.id)} okText="删除" cancelText="取消"> + + +
+
+ ({(icon.file_size / 1024).toFixed(2)} KB) +
+
+
+ ) : type === 'image' ? ( + onUpload(file, key)} showUploadList={false} disabled={uploading} accept="image/*"> + + + ) : ( + <> + onUpload(file, key)} showUploadList={false} disabled={uploading}> + + + + {items.length > 0 && ( +
+ {items.map((resource) => ( +
+
+ {resource.file_path} + + ({(resource.file_size / 1024).toFixed(2)} KB) + + onDelete(resource.id)} okText="删除" cancelText="取消"> + + +
+ {key === 'model' && ( +
+ + 显示缩放: + { + request.put(`/celestial/resources/${resource.id}`, { + extra_data: { ...resource.extra_data, scale: value || 1 }, + }) + .then(() => toast.success('缩放参数已更新')) + .catch(() => toast.error('更新失败')); + }} + /> + (推荐: Webb=0.3, 旅行者=1.5) + +
+ )} +
+ ))} +
+ )} + + )} +
+ ); + })} +
+
+ ); +} diff --git a/frontend/src/pages/admin/celestial-bodies/types.ts b/frontend/src/pages/admin/celestial-bodies/types.ts new file mode 100644 index 0000000..8869182 --- /dev/null +++ b/frontend/src/pages/admin/celestial-bodies/types.ts @@ -0,0 +1,42 @@ +export interface CelestialResource { + id: number; + file_path: string; + file_size: number; + mime_type: string; + resource_type?: string; + extra_data?: { + scale?: number; + [key: string]: unknown; + }; +} + +export interface CelestialBody { + id: string; + name: string; + name_zh: string; + short_name?: string; + type: string; + system_id?: number; + description: string; + details?: string; + is_active: boolean; + extra_data?: { + orbit_period_days?: number; + orbit_color?: string; + real_radius?: number; + [key: string]: unknown; + }; + resources?: Record; + has_resources?: boolean; + orbit_info?: { + num_points: number; + period_days?: number; + }; +} + +export interface StarSystem { + id: number; + name: string; + name_zh: string; + planet_count: number; +} diff --git a/frontend/src/pages/admin/nasa-download/NasaDownloadView.tsx b/frontend/src/pages/admin/nasa-download/NasaDownloadView.tsx new file mode 100644 index 0000000..0364e2d --- /dev/null +++ b/frontend/src/pages/admin/nasa-download/NasaDownloadView.tsx @@ -0,0 +1,137 @@ +import { Alert, Badge, Button, Card, Calendar, Checkbox, Col, Collapse, DatePicker, Modal, Progress, Row, Space, Spin, Table, Tag, Typography } from 'antd'; +import { DeleteOutlined, DownloadOutlined, LoadingOutlined } from '@ant-design/icons'; +import type { Dayjs } from 'dayjs'; + +import type { DateRange, GroupedBodies, ViewingDateData } from './types'; + +const { Text } = Typography; +const { RangePicker } = DatePicker; +const typeNames: Record = { star: '恒星', planet: '行星', dwarf_planet: '矮行星', satellite: '卫星', comet: '彗星', probe: '探测器' }; +const typeOrder = ['star', 'planet', 'dwarf_planet', 'satellite', 'comet', 'probe']; + +interface NasaDownloadViewProps { + cutoffDate: Date | null; + loading: boolean; + bodies: GroupedBodies; + selectedBodies: string[]; + dateRange: DateRange; + loadingDates: boolean; + downloading: boolean; + deleting: boolean; + downloadProgress: { current: number; total: number }; + activeBodyForCalendar: string | null; + viewingDateData: ViewingDateData | null; + loadingDateData: boolean; + onBodySelect: (bodyId: string, checked: boolean) => void; + onTypeSelectAll: (type: string, checked: boolean) => void; + onDateRangeChange: (dates: [Dayjs | null, Dayjs | null] | null) => void; + onDelete: () => void; + onDownload: () => void; + onActiveBodyChange: (bodyId: string) => void; + onCalendarDateClick: (date: Dayjs) => void; + onDateCellRender: (value: Dayjs) => React.ReactNode; + onCloseDateData: () => void; + disabledDate: (current: Dayjs) => boolean; +} + +export function NasaDownloadView({ + cutoffDate, loading, bodies, selectedBodies, dateRange, loadingDates, downloading, deleting, + downloadProgress, activeBodyForCalendar, viewingDateData, loadingDateData, onBodySelect, onTypeSelectAll, + onDateRangeChange, onDelete, onDownload, onActiveBodyChange, onCalendarDateClick, + onDateCellRender, onCloseDateData, disabledDate, +}: NasaDownloadViewProps) { + const allBodies = Object.values(bodies).flat(); + const getBodyLabel = (bodyId: string) => { + const body = allBodies.find((item) => item.id === bodyId); + return `${body?.name_zh || body?.name || bodyId} (${bodyId})`; + }; + + return ( +
+ {cutoffDate && ( + + )} + + +
+ 已选择: {selectedBodies.length}}> + bodies[type]?.length).map((type) => { + const typeBodies = bodies[type]; + return { + key: type, + label: ( +
+ {typeNames[type] || type} + selectedBodies.includes(body.id))} + indeterminate={typeBodies.some((body) => selectedBodies.includes(body.id)) && !typeBodies.every((body) => selectedBodies.includes(body.id))} + onChange={(event) => { event.stopPropagation(); onTypeSelectAll(type, event.target.checked); }} + >全选 +
+ ), + children: ( + + {typeBodies.map((body) => ( + onBodySelect(body.id, event.target.checked)}> + {body.name_zh || body.name} ({body.id}) + {!body.is_active && } + + ))} + + ), + }; + })} + /> +
+ + + + + + + + + )} + > + }> + {selectedBodies.length > 1 && ( +
+ 天体列表: + {selectedBodies.map((bodyId) => onActiveBodyChange(bodyId)}>{getBodyLabel(bodyId)})} +
点击标签切换查看不同天体的数据状态
+
+ )} + {selectedBodies.length === 1 && activeBodyForCalendar &&
当前天体:{getBodyLabel(activeBodyForCalendar)}
} +
+ {downloading &&
正在下载: {downloadProgress.current} / {downloadProgress.total}
} + +
+
+ + + + + {viewingDateData && (
value?.toFixed(6) || '-' }, + { title: 'Y (AU)', dataIndex: 'y', key: 'y', render: (value?: number) => value?.toFixed(6) || '-' }, + { title: 'Z (AU)', dataIndex: 'z', key: 'z', render: (value?: number) => value?.toFixed(6) || '-' }, + { title: 'VX (AU/day)', dataIndex: 'vx', key: 'vx', render: (value?: number) => value?.toFixed(8) || '-' }, + { title: 'VY (AU/day)', dataIndex: 'vy', key: 'vy', render: (value?: number) => value?.toFixed(8) || '-' }, + { title: 'VZ (AU/day)', dataIndex: 'vz', key: 'vz', render: (value?: number) => value?.toFixed(8) || '-' }, + ]} /> {viewingDateData.bodies.length === 0 &&
该日期暂无数据
})} + + + ); +} diff --git a/frontend/src/pages/admin/nasa-download/types.ts b/frontend/src/pages/admin/nasa-download/types.ts new file mode 100644 index 0000000..f85feea --- /dev/null +++ b/frontend/src/pages/admin/nasa-download/types.ts @@ -0,0 +1,31 @@ +import type { Dayjs } from 'dayjs'; + +export interface CelestialBody { + id: string; + name: string; + name_zh: string; + type: string; + is_active: boolean; + description: string; +} + +export type GroupedBodies = Record; + +export interface PositionRow { + id: string; + name: string; + x?: number; + y?: number; + z?: number; + vx?: number; + vy?: number; + vz?: number; + time?: string; +} + +export interface ViewingDateData { + date: string; + bodies: PositionRow[]; +} + +export type DateRange = [Dayjs, Dayjs]; diff --git a/frontend/src/pages/admin/scheduled-jobs/ScheduledJobModal.tsx b/frontend/src/pages/admin/scheduled-jobs/ScheduledJobModal.tsx new file mode 100644 index 0000000..24c5f66 --- /dev/null +++ b/frontend/src/pages/admin/scheduled-jobs/ScheduledJobModal.tsx @@ -0,0 +1,195 @@ +import { Alert, Card, Col, Form, Input, Modal, Row, Select, Space, Switch, Tabs, Tag, Tooltip } from 'antd'; +import { InfoCircleOutlined, QuestionCircleOutlined } from '@ant-design/icons'; +import type { ChangeEvent } from 'react'; +import type { FormInstance } from 'antd'; + +import type { AvailableTask, ScheduledJob } from './types'; + +interface ScheduledJobModalProps { + form: FormInstance; + record: ScheduledJob | null; + open: boolean; + onOk: () => Promise; + onCancel: () => void; + activeTab: string; + onActiveTabChange: (key: string) => void; + jobType?: ScheduledJob['job_type']; + availableTasks: AvailableTask[]; + selectedTask: AvailableTask | null; + onClearSelectedTask: () => void; +} + +function CodeEditor({ + value = '', + onChange, + placeholder = '', +}: { + value?: string; + onChange?: (event: ChangeEvent) => void; + placeholder?: string; +}) { + const lineCount = (value || placeholder).split('\n').length; + const lineNumbers = Array.from({ length: lineCount }, (_, index) => index + 1).join('\n'); + + return ( +
+
+ {lineNumbers} +
+ +
+ ); +} + +export function ScheduledJobModal({ + form, + record, + open, + onOk, + onCancel, + activeTab, + onActiveTabChange, + jobType, + availableTasks, + selectedTask, + onClearSelectedTask, +}: ScheduledJobModalProps) { + const basicTab = ( + <> + +
+ + + + + + + + + + + + + + + + + + + + + {jobType === 'predefined' && ( + <> + + + ) : parameter.type === 'boolean' ? ( + + ) : parameter.type === 'array' ? ( + + )} + + ))} + + )} + + )} + + ); + + const codeTab = ( + <> + +

可用变量:

+
    +
  • db: AsyncSession - 数据库会话
  • +
  • logger: Logger - 日志记录器
  • +
  • task_id: int - 任务ID
  • +
  • asyncio: 异步IO模块
  • +
+

注意:代码在异步环境中执行,可以使用 await

+ + )} + type="info" + showIcon + style={{ marginBottom: 16 }} + /> + + + + + ); + + return ( + +
+ + +
+ ); +} diff --git a/frontend/src/pages/admin/scheduled-jobs/types.ts b/frontend/src/pages/admin/scheduled-jobs/types.ts new file mode 100644 index 0000000..47a04cd --- /dev/null +++ b/frontend/src/pages/admin/scheduled-jobs/types.ts @@ -0,0 +1,29 @@ +export interface ScheduledJob { + id: number; + name: string; + job_type: 'predefined' | 'custom_code'; + predefined_function?: string; + function_params?: Record; + cron_expression: string; + python_code?: string; + is_active: boolean; + description: string; + last_run_at: string | null; + last_run_status: 'success' | 'failed' | null; + next_run_at: string | null; + created_at: string; + updated_at: string; +} + +export interface AvailableTask { + name: string; + description: string; + category: string; + parameters: Array<{ + name: string; + type: string; + description: string; + required: boolean; + default: unknown; + }>; +} diff --git a/frontend/src/pages/admin/star-systems/StarSystemDetailsModal.tsx b/frontend/src/pages/admin/star-systems/StarSystemDetailsModal.tsx new file mode 100644 index 0000000..e31b791 --- /dev/null +++ b/frontend/src/pages/admin/star-systems/StarSystemDetailsModal.tsx @@ -0,0 +1,45 @@ +import { Descriptions, Modal, Tag } from 'antd'; +import type { StarSystemWithBodies } from './types'; + +export function StarSystemDetailsModal({ record, open, onClose }: { record: StarSystemWithBodies | null; open: boolean; onClose: () => void }) { + return ( + + {record && ( +
+ + {record.id} + {record.host_star_name} + {record.distance_pc ? `${record.distance_pc.toFixed(2)} pc (~${(record.distance_ly || record.distance_pc * 3.26).toFixed(2)} ly)` : '-'} + {record.spectral_type || '-'} + {record.radius_solar ? `${record.radius_solar.toFixed(2)} R☉` : '-'} + {record.mass_solar ? `${record.mass_solar.toFixed(2)} M☉` : '-'} + {record.temperature_k ? `${record.temperature_k.toFixed(0)} K` : '-'} + {record.body_count} + + + {record.bodies.length > 0 && ( +
+

天体列表

+
+ {record.bodies.map((body) => ( +
+
+
{body.name_zh || body.name}
{body.id}
+ {body.type} +
+ {body.description &&
{body.description}
} + {body.extra_data &&
+ {body.extra_data.semi_major_axis_au &&
半长轴: {body.extra_data.semi_major_axis_au.toFixed(4)} AU
} + {body.extra_data.period_days &&
周期: {body.extra_data.period_days.toFixed(2)} 天
} + {body.extra_data.radius_earth &&
半径: {body.extra_data.radius_earth.toFixed(2)} R⊕
} +
} +
+ ))} +
+
+ )} +
+ )} +
+ ); +} diff --git a/frontend/src/pages/admin/star-systems/StarSystemModal.tsx b/frontend/src/pages/admin/star-systems/StarSystemModal.tsx new file mode 100644 index 0000000..81bd4b2 --- /dev/null +++ b/frontend/src/pages/admin/star-systems/StarSystemModal.tsx @@ -0,0 +1,89 @@ +import { useState } from 'react'; +import { Form, Input, InputNumber, Modal, Tabs } from 'antd'; +import type { FormInstance } from 'antd'; +import MdEditor from 'react-markdown-editor-lite'; +import MarkdownIt from 'markdown-it'; +import 'react-markdown-editor-lite/lib/index.css'; + +import type { StarSystem } from './types'; + +const markdownParser = new MarkdownIt(); + +interface StarSystemModalProps { + form: FormInstance; + record: StarSystem | null; + open: boolean; + onOk: () => Promise; + onCancel: () => void; +} + +function StarSystemFields() { + return ( + <> +
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + +
+ + + ); +} + +export function StarSystemModal({ form, record, open, onOk, onCancel }: StarSystemModalProps) { + const [activeTab, setActiveTab] = useState('basic'); + + return ( + +
+ {record ? ( + }, + { + key: 'details', + label: '详细信息', + children: ( + + markdownParser.render(text)} + onChange={({ text }) => form.setFieldValue('details', text)} + /> + + ), + }, + ]} + /> + ) : } + +
+ ); +} diff --git a/frontend/src/pages/admin/star-systems/types.ts b/frontend/src/pages/admin/star-systems/types.ts new file mode 100644 index 0000000..cbb02da --- /dev/null +++ b/frontend/src/pages/admin/star-systems/types.ts @@ -0,0 +1,44 @@ +export interface StarSystem { + id: number; + name: string; + name_zh: string; + host_star_name: string; + distance_pc: number | null; + distance_ly: number | null; + ra: number | null; + dec: number | null; + position_x: number | null; + position_y: number | null; + position_z: number | null; + spectral_type: string | null; + radius_solar: number | null; + mass_solar: number | null; + temperature_k: number | null; + magnitude: number | null; + luminosity_solar: number | null; + color: string | null; + planet_count: number; + star_count: number; + description: string | null; + details: string | null; + created_at: string; + updated_at: string; +} + +export interface StarSystemBody { + id: string; + name: string; + name_zh?: string; + type: string; + description?: string; + extra_data?: { + semi_major_axis_au?: number; + period_days?: number; + radius_earth?: number; + }; +} + +export interface StarSystemWithBodies extends StarSystem { + bodies: StarSystemBody[]; + body_count: number; +} diff --git a/frontend/src/types/markdown-it.d.ts b/frontend/src/types/markdown-it.d.ts new file mode 100644 index 0000000..809297d --- /dev/null +++ b/frontend/src/types/markdown-it.d.ts @@ -0,0 +1,5 @@ +declare module 'markdown-it' { + export default class MarkdownIt { + render(source: string): string; + } +} diff --git a/frontend/src/utils/auth.ts b/frontend/src/utils/auth.ts index 797519d..cdff7a7 100644 --- a/frontend/src/utils/auth.ts +++ b/frontend/src/utils/auth.ts @@ -5,6 +5,14 @@ const TOKEN_KEY = 'cosmo_token'; const USER_KEY = 'cosmo_user'; +export interface AuthUser { + username?: string; + full_name?: string; + email?: string; + avatar_url?: string; + [key: string]: unknown; +} + export const auth = { // Get token from localStorage getToken(): string | null { @@ -27,13 +35,13 @@ export const auth = { }, // Get user info from localStorage - getUser(): any { + getUser(): AuthUser | null { const userStr = localStorage.getItem(USER_KEY); - return userStr ? JSON.parse(userStr) : null; + return userStr ? JSON.parse(userStr) as AuthUser : null; }, // Save user info to localStorage - setUser(user: any): void { + setUser(user: AuthUser): void { const userStr = JSON.stringify(user); localStorage.setItem(USER_KEY, userStr); diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 66e5efc..730e1b3 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -6,7 +6,7 @@ export default defineConfig({ plugins: [react()], server: { host: '0.0.0.0', // Listen on all network interfaces - port: 5173, + port: Number(process.env.PORT) || 5173, proxy: { // Proxy API requests to backend '/api': { diff --git a/frontend/yarn.lock b/frontend/yarn.lock index e0d4cfa..d96b760 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1497,10 +1497,10 @@ base64-js@^1.3.1, base64-js@^1.5.1: resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -baseline-browser-mapping@^2.8.25: - version "2.8.31" - resolved "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz#16c0f1814638257932e0486dbfdbb3348d0a5710" - integrity sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw== +baseline-browser-mapping@^2.8.25, baseline-browser-mapping@^2.10.43: + version "2.10.43" + resolved "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.43.tgz#7b5d11590ce5acdbe4859443e3c940e81ce8c02d" + integrity sha512-AjYpR78kDWAY3Efj+cDTFH9t9SCoL7OoTp1BOb0mQV7S+6CiLwnWM3FyxhJtdPufDFKzmCSFoUncKjWgJEZTCQ== bidi-js@^1.0.2: version "1.0.3" @@ -1579,9 +1579,9 @@ camera-controls@^3.1.0: integrity sha512-xkxfpG2ECZ6Ww5/9+kf4mfg1VEYAoe9aDSY+IwF0UEs7qEzwy0aVRfs2grImIECs/PoBtWFrh7RXsQkwG922JA== caniuse-lite@^1.0.30001754: - version "1.0.30001757" - resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz#a46ff91449c69522a462996c6aac4ef95d7ccc5e" - integrity sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ== + version "1.0.30001806" + resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz#1bc8e502b723fa393455dfbedd5ccec0c29bb74e" + integrity sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw== ccount@^2.0.0: version "2.0.1" diff --git a/terminal/.DS_Store b/terminal/.DS_Store deleted file mode 100644 index eca49584637d1e645e8dd12ffbb9ce37af4308a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 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 z 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 z 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 z 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 OJmSNuN{Yt%!2bbKyCP=* literal 0 HcmV?d00001 diff --git a/backend/upload/texture/vesta_8K.jpeg b/backend/upload/texture/vesta_8K.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fd7d731e9994e6a44d7082d9915d513b6fc300c6 GIT binary patch literal 226426 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 *TI-^=p2{*2V=2PL8UUS6 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